전체 글

웹개발 및 프로젝트에서 배운것들을 정리하고, 공부하는 블로그입니다.
· 네트워크
1. 공통점 및 차이점 두 토큰 모두 JWT 기반이다 Access Token은 API요청을 할 때 검증용 토큰으로 사용된다. 즉, 인증이 필요한 APi를 사용할때는 꼭 Access Token을 Header에 넣어서 보내야한다. ex) 유저 정보 수정, 회사 채용 공고 지원 인원 확인 등 Refresh Token은 Access Token을 추가로 발급할 때 사용된다. Access Token을 새로고침(Refresh)하는 기능이 있기 때문에 Refresh Token 이라고 부른다. Access Token은 유효기간이 짧고, Refresh Token은 유효기간이 길다. 자주 노출되는 Access Token은 유효기간을 짧게 해서 Token이 탈취돼도 해커가 오래 사용하지 못하도록 방지할 수 있다. 상대적으로 ..
· 네트워크
1. Session이란? 유저의 정보를 데이터베이스에 저장하고 상태를 유지하는 도구 Session의 특징 session은 특수한 ID 값으로 구성되어있다. Session은 서버에서 생성되며 클라이언트에서 쿠키를 퉁해 저장된다. 클라이언트에서 요청을 보낼 때 Session ID를 같이 보내면 현재 요청을 보내는 사용자가 누구인지 서버에서 알 수 있다(요청마다 매번 아이디와 비밀번호를 물어볼 필요 없음)→ JWT토큰도 마찬가지 Session ID는 데이터베이스에 저장되기때문에 요청이 있을때마다 매번 데이터베이스를 확이해야한다 서버에서 데이터가 저장되기때문에 클라이언트에 사용자 정보가 노출될 위험이 없다.→session ID는 아무런 의미 없는 string이기 때문! 데이터 베이스에 Session을 저장해야하..
· 운영체제
1. 가상메모리의 주요 구성 요소와 메커니즘 가상 주소 공간(Virtual Address Space) 가상 주소 공간은 프로그램이 메모리를 접근할 때 사용하는 주소의 집합입니다. 이 공간은 실제 물리 메모리의 크기와 독립적이며, 운영체제에 의해 관리됩니다. 프로그램은 이 가상 주소 공간을 실제 메모리처럼 사용할 수 있으며, 실제 물리 메모리의 위치를 신경 쓰지 않아도 됩니다. 가상메모리는 OS에서 사용되는 메모리 관리 기법의 하나로 컴퓨터가 실제로 이용 가능한 메모리 자원(실제주소, physical address)을 추상화하여 이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 만드는 것을 말합니다. 메모리 관리 단위(Memory Management Unit, MMU) MMU는 CPU 내부에 있는 하드웨..
· 운영체제
1. 메모리 계층(memory hierachy)이란? 메모리 계층(memory hierarchy)은 컴퓨터 시스템에서 데이터를 저장하고 접근하는 다양한 수준의 메모리 구조를 의미합니다. 이 계층 구조는 레지스터, 캐시 메모리, 주기억장치(RAM), 그리고 보조기억장치로 구분됩니다. 각 계층은 속도, 용량, 비용에서 서로 다른 특징을 가지며, 이러한 차이를 효율적으로 활용하여 컴퓨터의 성능을 최적화합니다. 2. 메모리 계층의 구성 레지스터: CPU 내부에 위치한 매우 빠른 메모리로, CPU가 현재 처리 중인 명령어와 데이터를 임시로 저장합니다. 레지스터는 매우 빠른 접근 속도를 가지지만, 그 용량은 매우 제한적입니다. 캐시 메모리: CPU와 주기억장치 사이에 위치하여 자주 사용되는 데이터와 명령어를 저장합..
· 운영체제
1. 시스템 콜이란? 시스템 콜이란 운영체제가 커널에 접근하기 위한 인터페이스이며 유저 프로그램이 운영체제의 서비스를 받기 위해 커널 함수를 호출할 때 시스템 콜을 거쳐서 호출하다록 설계되어 있습니다. 프로세스 관리(생성, 삭제 등), 파일 관리, 디바이스 관리, 시간 및 날짜 관련 시스템, 프로세스 간 통신 때 이를 통해 커널 함수를 호출합니다. ex. 프로세스를 종료하는 kill()이라는 함수-> 이 함수를 발동시키면 시스템 콜을 거쳐서 커널 함수가 호출됨 1) 과정 유저 프로그램이 I/O요청을 위한 트랩(소프트웨어 인터럽트)을 발동했다고 해보면, 유저 프로그램이 I/O 요청 트랩을 발동 올바른 I/O 요청인지 확인 유저모드(modebit=1, 권한 제한)가 시스템콜을 통해 커널모드(modebit=0..
· 운영체제
1. 인터럽트란?? 인터럽트는 컴퓨터의 CPU가 현재 실행 중인 프로세스를 일시 중단시키고, 특정 이벤트(예: 입/출력 요청, 오류 발생 등)를 처리하기 위해 다른 작업(인터럽트 서비스 루틴, ISR)으로 제어를 전환하는 메커니즘입니다. 인터럽트가 처리된 후, CPU는 중단되었던 작업을 재개합니다. 인터럽트가 발생하는 원인 오류: 0으로 숫자를 나누는 산술 연산 오류, 프로세스 오류 등 IO디바이스를 사용할 때의 인터럽트: 키보드, 마우스 등 우선순위가 높은 프로세스의 발생 CPU는 메모리에 있는 명령어(instruction)을 순차적으로 실행하는데 인터럽트가 발생하게 되면 점프해서 언터럽트 핸들러 함수가 모여 있는 인터럽트 벡터로 가서 인터럽트 핸들러 함수(인터럽트 서비스 루틴, ISR)가 실행되며 특..
· 운영체제
ahwhew프로젝트를 진행하면서 힙 메모리 에러 등 여러가지 cs적인 트러블 슈팅이 있었는데요,, 이런 에러들이 있을 때 마다 cs지식의 중요성을 느낍니다..! 그래서 이번에는 운영체제에 대해 공부하고 그 내용을 정리해보도록 하겠습니다! 학교에서도 배우긴 했지만 여기에서는 실질적으로 필요한 지식들을 간략하게 써보고 다음에 학교에서 배운 지식들을 좀 더 깊게 다뤄보면서 직접 cpu를 설계했던걸 가져와서 한번 해보도록 하겠습니다 ㅎㅎ 1. 운영체제의 종류 운영체제는 앞단의 어떤 인터페이스를 두느냐에 따라 GUI와 CUI로 나눌 수 있습니다. 1) GUI(Graphical User Interface) 그래픽을 사용하여 컴퓨터와 상호작용하는 인터페이스입니다! windowOS, macOS등 현대의 OS가 이를 대..
SsenDev
0210