본문 바로가기

프로그래밍/IT지식28

[컴퓨터 구조] 기본 컴퓨터 구조 ■ 컴퓨터 구조■ 컴퓨터가 이해하는 정보 : 데이터 / 명령어데이터 : 숫자, 문자, 이미지, 동영상과 같은 정적인 정보, 컴퓨터와 주고받는 정보, 내부에 저장되는 정보명령어 : 컴퓨터를 실질적으로 움직이는 정보, 데이터는 명령어를 위한 일종의 재료​실제로 메모리에 저장된 명령어는 0과 1로 구성된 숫자의 형태를 가진다. 이러한 형태의 명령어들의 집합을 기계어라고 한다. 개발자들은 소스 코드를 작성해서 명령어로 변환하여 프로그램을 실행한다. 컴퓨터를 동작시키는 실질적인 명령어를 어셈블리어라고 한다.■ 컴퓨터의 네 가지 핵심 부품컴퓨터의 네 가지 핵심 부품은 CPU, 메모리(RAM), 보조기억장치, 입출력장치이다.​(1) CPU메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품이다. CPU 내.. 2024. 6. 23.
[인코딩] 문자 인코딩이란? ■ 문자 인코딩(Character Encoding)사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것을 문자 인코딩이라고 한다. ​컴퓨터는 모든 정보를 0과 1인 바이너리, 즉 숫자로 저장한다. 그러나 우리는 문서작업, 코딩, 메세지 등 컴퓨터에서 문자를 사용하여 입력하고 저장하며 처리하고 있다. ​컴퓨터는 우리가 입력한 한글 등을 컴퓨터가 이해할 수 있는 신호로 변환하는 인코딩을 통해 저장하며 처리한다. 여기서 컴퓨터가 이해할 수 있는 신호는 바이너리 데이터를 의미한다.​역으로, 디코딩이란 0과 1로 구성된 바이너리 데이터를 다시 문자로 복구하는 것이다.■ 문자 셋(Character Set, 코드표)바이너리 데이터로 변환하는 인코딩과 다시 문자로 변환하는 디코딩은 미리 정해진 규.. 2024. 6. 23.
[Git & Github] 깃, 깃허브 ■ gitgit은 소스코드의 버전을 관리하는 툴이다. 코드를 언제 누가 무엇을 변경했는지 서로 비교할 수 있고, 여러개의 코드를 합치고 버전을 옮길 수 있다. 하나의 절대적인 프로젝트를 기준으로 개발자들이 프로젝트 코드를 다운받아서 작업을 하게 된다. 그리고 작업이 끝나면 다시 프로젝트에 본인의 소스코드를 업로드하게 된다. 이러한 과정을 git이 도와준다. 개발자들은 자신이 짠 코드들을 git으로 업데이트하기 위해 준비한다. 이를 커밋(commit)이라고 한다. 이 커밋을 git에 푸시(push)하면 최종적으로 기존의 커밋들에 쌓이면서 자연스럽게 버전이 형성된다. 이렇게 개발자가 커밋을 쌓은 후, 다른 개발자는 마지막 커밋을 기준으로 해서 패치(Fetch)한 후 그 위에 본인의 코드를 작성한다. 여러 명.. 2024. 6. 23.
[API] 응용 프로그램 프로그래밍 인터페이스 API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다.출처 : 위키백과 즉, API(Application Programming Interface)는 "프로그램과 프로그램을 연결시켜주는 매개체"다.​보통 프로그램끼리 통신을 하기 위해선 프로그램을 만드는 개발자가 해당 프로그램이 잘 통신할 수 있도록 규칙들을 잘 설계하는 게 중요하다.​API가 프로그램과 프로그램 사이의 중개자 역할을 해준다. 쉽게 말해서 규칙들의 집합이다. API가 대신해주는 .. 2024. 6. 23.
[라이브러리 & 프레임워크] 라이브러리와 프레임워크란? ■ 라이브러리라이브러리는 프로그램의 특정 기능을 수행하도록 미리 짜여진 코드 집합이다. 즉 활용가능한 도구들의 집합을 의미한다. 개발자가 만든 클래스에서 호출하여 사용, 클래스들의 나열로 필요한 클래스를 불러서 사용하는 방식을 취한다. 집을 짓기 위한 과정을로 비유해보면, 라이브러리는 이케아에서 산 재료로 가구를 조립하는 것에 비유할 수 있다. 집에서 사용할 가구를 조립하거나 만들기 위해 벌목부터 시작해서 목공을 하고 가죽을 얻기위해 사냥을 하는 사람은 없다. 그래서 이케아에서 기본적인 재료를 사서 취향대로 조립하고 배치할 수 있다. 재료의 선택권이나 통제권은 사용자에게 있는 것이다.■ 프레임워크프레임워크는 코드의 큰 뼈대를 제공해줘서 그 뼈대에서 개발할 수 있도록 도와주는 역할을 한다. 라이브러리와 마.. 2024. 6. 22.
[네트워크] 네트워크란? ■ 네트워크네트워크는 컴퓨터와 컴퓨터간의 연결을 의미한다.네트워크를 통해 정보를 송수신하기 위해 랜선, 와이파이 공유기 등 송수신 수단이 필요하다. 컴퓨터에서 연결된 네트워크 장치를 이용하기 위해서는 랜카드가 사용된다.네트워크에서 정보를 요구해서 받는 쪽은 클라이언트(clinet)라고 하고, 정보를 제공해 주는 쪽은 서버(server)라고 한다.​네트워크 연결을 위해서는 프로토콜, IP주소, PORT를 필요로 한다. 어떤 방식으로(어떤 프로토콜), 어디 컴퓨터에(IP주소), 어떤 프로그램을(PORT)연결할 것인지를 정해야 한다.■ 프로토콜네트워크는 개인 혹은 단체가 소유하는 개념이 아니다. 네트워크 통신이 기본적으로 세계적으로 가능한 이유는 규격(규칙)이 존재하기 때문이다. 이 규격(규칙)을 통신 프로토.. 2024. 6. 22.