기술 창고/정보 창고(11)
-
프로세스 (Process) / 스레드 (Thread)
프로세스 (Process) # 운영체제로부터 자원을 할당받은 작업의 단위 # 실행 중인 프로그램 # 메모리에 들어와 실행되고있는 프로그램의 인스턴스 # 스케줄링의 대상이 되는 작업(task)와 동일 의미 프로세스 내부에는 최소 하나의 스레드를 가지고 있다. 실제로는 스레드 단위로 스케줄링을 진행한다. 프로그램을 실행하게 되면 메모리 할당이 우선적으로 진행되고, 할당된 메모리 공간으로 바이너리 코드가 올라간다. 이때부터 프로세스라고 한다. 프로세스에 할당되는 시스템 자원 CPU 시간 필요 메모리 주소 공간 Code, Data, Stack, Heap 구조 메모리 영역 프로세스 특징 각 프로세스마다 독립된 Code, Data, Stack, Heap 메모리 영역을 할당받는다. 기본적으로 프로세스 당 최소 1개 ..
2023.01.23 -
Stateful / Stateless
개발을 하고 사이트를 구현하다보면 단순히 개발 지식만 알고있어야 하는게 아니라 그외의 부가적인 지식들도 알고있어야 한다. 네트워크가 그 중 하나라고 생각한다. 네트워크 개념 중 자주 언급되는 기본적인 개념인 Stateful 과 Stateless 에 대해서 정리해보자 Stateful 과 Stateless 는 클라이언트와 서버 간의 네트워크 통신이 어떻게 이루어지는지에 대한 개념이다. 네트워크 프로토콜이라고 봐도 무방하다. 해당 개념들을 정리하기에 앞서 우선 Session 에 대한 개념을 조금은 알 필요가 있다. Session이란 일정 시간동안 같은 사용자(정확하게 브라우저를 말한다)로 부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술. 즉, 방문자가 웹서버에 접속해 있는 ..
2023.01.09 -
사용자 패스워드 전송 및 보관 방법
보안은 개발자들이 가장 중요하게 생각하는 부분 중 하나이다. 현재 계정을 생성하고 이용하는 사이트들 중에서 보안을 중요하게 생각하지 않는 사이트는 거의 없을 것이다. 그중에서도 비밀번호에 대한 관리는 철저히 관리되어야 한다. 기본적으로 비밀번호를 관리하는 데에 있어서 가장 대표적인 방법은 암호화 / 복호화를 통해 관리하는 것이다. 다만, 암호화라는 것은 양방향성을 띄는 관리 기법이다. 즉, 암호화를 하게 된다면 반대로 복호화도 가능하다는 것이고, 이를 활용해서 해킹을 당할 수도 있는 것이다. 이러한 양방향성에 대한 문제점을 인식하고 보완하여 관리하는 방식이 단방향성의 해싱기법이다. 단방향 해싱 단반향 해싱은 원본 데이터를 입력하게 되면 완전히 다른 암호화된 데이터로 변환한다. 이 점은 기본적인 암호화방식..
2023.01.06 -
시간복잡도 / 공간복잡도
이름만 들으면 벌써부터 머리가 아파올 것이다. 시간, 공간이라는 단어가 주는 압박감에서부터 복잡도라는 키워드를 들으니 우선적으로 수학을 잘해야할 것 같은 느낌과 함께 어려운 개념이라는 느낌이 우선적으로 들기 때문이다. 차근차근 알아보자. 우선, 복잡도라는 개념은 개발자들이 구현한 알고리즘의 성능을 평가하기 위한 용도로써 기준이 되는 개념이라고 보면 될 것 같다. 그 중에서 중요하다고 생각되는 것이 시간복잡도, 공간복잡도이다. 복잡도라는 이름만 들어도 생각할 수 있는 것이 복잡도가 낮을 수록 좋은 알고리즘이라는 것이다. ※ 시간복잡도 시간복잡도는 특정 알고리즘이 수행되기까지 걸리는 시간 혹은 횟수를 의미한다. 같은 결과를 가지게 되는 여러 프로그래밍 코드에서도 작성 방법에 따라 걸리는 시간이 달라지며, 이..
2023.01.06 -
CORS (교차 출처 리소스 공유)
CORS(Cross-Origin Resource Sharing)는 교차 출처 리소스 공유 정책이라고 해석할 수 있다. 즉 다른 출처의 자원에 관한 공유 정책이라고 보면 될 것이다. [CORS 에러 예시] 🚨 Access to fetch at ‘https://myhompage.com’ from origin ‘http://localhost:3000’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. If an opaque response serves your needs, set the request’s mode to ‘no-cors’ to fetch the re..
2023.01.05