zerobase/CS(8)
-
RESTful API
RESTful API란? REST는 Representational State Transfer로 자원의 상태를 주고 받는 것을 의미 하고, API는 Application Programming Interface로 프로그램을 사용하는 방법을 의미한다. 거기에 -ful이 붙어 충분한, 가득한, 완전한의 의미를 갖추었다. RESTful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스다. 안전하고 신뢰할 수 있으며 효율적인 소프트웨어 통신 표준을 따르므로 이러한 정보 교환을 지원한다. RESTful API의 이점? 확장성 REST API를 구현하는 시스템은 REST가 클라이언트-서버 상호 작용을 최적화하기 때문에 효율적으로 크기 조정을 할 수 있다. 무상태는 서버가 과거..
2023.05.01 -
HTTP와 HTTPS의 차이
HTTPS란? 기존 HTTP의 보안 버전으로, 데이터를 암호화하고 인증서를 사용하여 데이터의 무결성과 보안을 강화한다. HTTPS를 사용하면 브라우저와 웹 서버 간의 통신이 암호화되어 데이터를 볼 수 없기도 하고 3자가 데이터를 조작할 수 없도록 보호한다. HTTP와의 차이점? HTTP는 데이터를 암호화하지 않기 때문에 데이터가 제3자에게 노출될 위험이 있다. 반면 HTTPS는 데이터를 암호화하여 제3자가 데이터를 가로채더라도 해독할 수 없도록 보호해준다. HTTP와 HTTPS의 차이점은 보안성이다. SSL인증서란? HTTPS를 사용하기 위해 필요한 디지털 인증서다. 공식인증기관에서 발급되어 웹사이트의 신원과 보안성을 보장하기 위한 역할을 해준다. SSL인증서는 웹사이트와 브라우저 간의 통신을 보호하기 ..
2023.04.29 -
Cross Browsing(크로스 브라우징)
크로스 브라우징이란? 웹 페이지 제작 시 모든 브라우저에서 깨지지 않고 의도한 대로 올바르게 나오게 하는 작업을 말한다. html5, css3, javascript 작성시 W3C의 웹 규격에 맞는 코딩을 함으로써 어느 브라우저로 접속하던 어느 기기로 접속하던 사이트가 의도한 대로 보여지고 작동되는 기법이다. 크로스 브라우징을 고려하지 않는다면 html, css, js등 코드가 원하는대로 적용이 안될 수 있으며 그러한 이유로 브라우저마다 렌더링 엔진이 다르기에 전부 적용이 되게끔 설정해둬야 한다. 렌더링 엔진이란? 페이지를 렌더할 때 실질적으로 페이지를 작업해주는 브라우저의 엔진들을 의미한다. 엔진의 종류로는 트라이던트, 게코, 웹킷, 프레스토, 블링크, 듀얼 엔진 등 다양하다. 각 엔진은 사용되는 브라우..
2023.03.30 -
운영체제(3)
프로세스 구조 이해 ● 프로세스 구조 ○ 프로세스 (process) 는 일반적으로 어떻게 구성되어 있을까? - text(CODE): 코드 - data: 변수/초기화된 데이터 - stack: 임시 데이터(함수 호출, 로컬 변수등) - heap: 코드에서 동적으로 만들어지는 데이터 ○ 프로세스와 컴퓨터 구조 - PC(Pqrogram Counter) + SP(Stack Pointer) - PC: 다음 실행할 코드 주소 - SP: 스택 최상단 주소 ○ 임베디드 시스템등에서 동작하는 C 프로그램등은 디버깅시 PC 와 SP 를 캡쳐해서 확인 ○ 파이썬에서 재귀함수 호출이 일정 횟수 이상이면 에러가 나는 이유 - 고정된 스택 공간 때문임 힙과 컨텍스트위칭 이해 ● Heap 이란? ○ 얼마나 많은 공간이 필요할지 모르..
2023.03.15 -
운영체제(2)
운영체제 스케줄링 기본 ● 배치 처리 시스템 ○ 여러 프로그램을 순차적으로 실행시킬 수 있도록 해야함 - 어떤 프로그램은 실행이 너무 시간이 많이 걸려서, 다른 프로그램이 실행하는데 시간을 많이 기다 려야 한다. ● 시분할 시스템 ○ 시분할 시스템: 다중 사용자 지원을 위해 컴퓨터 응답 시간을 최소화하는 시스템 - 여러 사용자가 동시에 하나의 컴퓨터를 쓰려면 어떻게 해야 하나요? (다중 사용자 지원) ● 멀티 태스킹 ○ 멀티 태스킹: 단일 CPU에서, 여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템 - 나는 MP3 음악을 들으며, 문서 작성을 한다. ○ 10 ~ 20 ms 단위로도 실행 응용 프로그램이 바뀜 ● 멀티 프로그래밍 ○ 최대한 CPU를 많이 활용하도록 하는 시스템 - 응용 프..
2023.03.15 -
운영체제(1)
운영체제 ● OS(Operating System) ● 주요 운영체제: 윈도우, UNIX 계열 OS(리눅스), MacOS ● OS는 더 정확히는 커널(kernal)을 의미함 ○ 일반적으로는 커널에 여러가지가 추가된 상태를, OS라고 통칭함 커널과 쉘 이해 ● 쉘(Shell) ○ 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 프로그램 ○ 쉘은 터미널 환경(CLI)과, GUI 환경 두 종류로 분류 ○ 유명한 쉘: 리눅스 bash ● 시스템 콜(System Call) ○ 시스템 콜 또는 시스템 호출 인터페이스 ○ 운영체제가 운영체제 각 기능을 사용할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공 ● API(Application Programming Interface) ○ 모호한 용..
2023.03.15