Web

API란 무엇인가요

이번에 팀 프로젝트로 웹 서비스를 개발하면서, API에 대한 지식이 필요하다고 느껴 공부해본 바를 적고,실제 팀 프로젝트에서 어떻게 활용했는지 기록함API의 정의API는 Application Programming Interface의 줄임말로, 두 어플리케이션의 구성 요소가 서로 통신할 수 있게 하는 메커니즘.인터페이스는 두 어플리케이션 간의 서비스 계약이라고 보면됨.즉, 두 어플리케이션이 서로 통신하는 방법을 정의하고, API문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 있다.클라이언트와 서버API는 일반적으로 클라이언트와 서버 측면에서 설명됨.요청을 보내는 쪽을 Client, 응답을 보내는 쪽을 Server라고 한다.REST APIAPI의 4가지 작동 방식 중 하나이다.Repres..

똥글

3학년 1학기 후기

개강한지 엊그제 같은데, 벌써 종강, 그리고 거진 2주가 흘렀다.. 2학년 2학기 학점 4점대를 맞고, 자신감이 넘쳤는데ㅋ.ㅋ 이번 학기 학점은 처참하다. 그래도 좋아하는 과목, OS, Linux System Programming은 뭐 괜찮다. 방학 동안 할게 참 많은데 다 할 수 있을지 의문이다. 매 학기, 방학마다 할 것들을 적어놓고 벌써부터 무언가를 이룬듯 설레발치지만 결국 똑같다. 너무 게으르다 그래서 애초에 목표를 낮게 잡기로 정했다. 공학경진대회 준비, C++(코테준비), 시스템프로그래밍 복습 정도? (아마 자료구조 전부 구현해보기도 해야할 듯..) 이것도 많은가? 공학경진대회를 준비하며, 요즘 React JS를 공부중 인데(의도치 않게 front end를 맡게됨..) 어떻게 프로젝트를 구조화..

컴퓨터 공학(Computer Science)

정적 링킹(Static Link), 동적 링킹(Dynamic Link), 그리고 컴파일

컴파일 과정프로그래머가 코드를 작성하면 컴파일러는 .exe(실행파일)을 만들어 낸다.그 과정은 이렇다.코드 작성 : 프로그래머가 c코드를 작성.전처리(Preprocessing) : 전처리기 처리컴파일(Complie) : C컴파일러가 작동하여, C코드를 어셈블리어로 변환어셈블(Assembling) : 어셈블러가 .obj(목적파일)을 생성링킹(Linking) : 링커가 라이브러리의 .obj(목적파일)을 다른 .obj파일과 결합해 실행파일 생성여기서 볼 구간은 링킹구간이다.예를 들어, 다음과 같은 간단한 C코드가 있다고 가정해보자.#include int main(void){ printf("hello world!\n"); return 0;}이 코드에서 stdio.h라는 헤더 파일을 전처리 한다(헤더파..

OS

OS와 인터럽트

OS와 인터럽트 Interrupt 인터럽트만 장치들이 어떤 상황이 발생했음을 CPU에게 알리는 하드웨어적 방법. 인터럽트 발생시 하던 작업을 멈춤 돌아올 주소를 저장 해당되는 ISR()을 실행 ISR()끝나면, 하던 작업을 마저함 인터럽트 종류 하드웨어적 : 입출력 장치들이 전기적 신호를 CPU에게 보냄 소프트웨어적 : 프로그램 내에서 CPU기계명령으로 인터럽트 과정 진행 인터럽트 제어기 인터럽트가 처리되려면, CPU와 인터럽트 제어기들의 하드웨어가 협력해야함. CPU와 입출력 장치 사이에 APIC(인터럽트 제어기)가 사용되며 APIC는 입출력 장치로부터 직접 인터럽트 신호를 받는 I/O APIC장치와 I/O APIC로부터 인터럽트 정보를 받아 CPU핀에 직접 인터럽트 신호 발생시키는 Local APIC..

OS

Kernel의 실체

Kernel의 실체 커널은 컴파일된 바이너리 형태로 스토리지에 있다가 컴퓨터 부팅 시에 메모리에 load된다. 커널 코드는 함수들의 집합 커널 코드는 함수들의 집합이다. 실행 중인 응용 프로그램(메모리에 적재된)을 프로세스라 부른다. 하지만 커널은 프로세스가 아니다. 만약, app2의 실행중에 System Call을 유발시키고 커널이 동작한다고 가정해보자. 그러면 User mode에서 실행중이다가 kernel mode로 바뀌고 kernel code를 실행한다. 여기서 kernel이 프로세스가 되는게 아닌, app2가 프로세스이다. 커널은 프로세스가 아니다. Kernel이 실행중? kernel은 단지 응용 프로그램에 의해 System Call, interrupt가 발생하여 커널 코드가 실행되고 있을 뿐 K..

Jminu
뇌 구조가 바이너리