본문 바로가기

프로그래밍38

[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.
[프로세스 & 프로그래밍 언어] 프로세스와 프로그래밍 언어란? 프로그램이란 개발자들이 짠 코드들이 컴퓨터가 이해할 수 있는 코드들로 컴파일된 것을 의미한다. 프로그램을 실행하면 프로세스가 생성된다.■ 프로세스프로세스는 실행되고 있는 프로그램을 뜻한다. 프로그램(카톡, 엑셀 등)을 실행하게 되면 메모리 위에 올라가게 되고 이를 운영체제가 중재한다. 실제로 프로그램 자체는 코드(명령어)로 구성되어있다. 그리고 코드를 바탕으로 프로그램을 실행시킨다는 것은 프로세스가 생성되는 것을 의미한다. 그 프로세스는 프로그램 실행 정보, 프로그래머가 짠 코드 그리고 실행되면서 쓰이는 데이터들로 구성되어있다. 즉, 프로그램이 실행되면 이 프로그램의 명령어들과 데이터가 메모리에 적재되고 이것이 프로세스가 된다.- Text Code : 프로세스의 프로그래밍 코드, 기계어로 번역되어 적재-.. 2024. 6. 22.
[운영체제 & 하드웨어] OS & HW ■ 운영체제 정의운영체제의 정의를 설명하는건 굉장히 까다로운데, 컴퓨터 자원을 효율적으로 관리하기 위한 시스템, 공통된 소프트웨어 플랫폼, 컴퓨터 응용 프로그램 관리자 등으로 다양하다. 즉, 운영체제(OS)는 프로그램들을 실행하는 메인 프로그램이다. 프로그램들을 실행시키기 위해 CPU, 메모리 등 하드웨어의 자원이 필요하다. 운영체재는 하드웨어의 자원들을 이용해서 응용 프로그램을 관리한다. 이 외에도 운영체제는 네트워크 통신, 입출력 장치 관리 등 우리가 컴퓨터 사용에 필요한 모든 것을 관리한다.​운영체제의 가장 주된 목적은 컴퓨터의 하드웨어를 관리하는 것이다. 컴퓨터에는 CPU, 메모리, 디스크, 키보드, 마우스, 모니터, 네트워크 등의 하드웨어가 있으며 이를 잘 관리해주어야 컴퓨터를 효율적으로 사용할.. 2024. 6. 22.