전체보기 (46) 썸네일형 리스트형 CPU 스케줄링 CPU 스케줄링 알고리즘? cpu가 하나의 프로세스 작업이 끝나면 다음프로세스 작업을 수행해야 하는데, 이때 어떤 프로세스를 다음에 처리할 지 선택하는 알고리즘 Preemptive(선점) 프로세스가 CPU를 점유하고 있는 동안 I/O인터럽트가 발생하지 않았음에도 다른 프로세스가 해당 CPU를 강제로 점유할 수 있다 Non-Preemptive(비선점) 한 프로세스가 CPU를 점유했다면 I/O나 인터럽트 발생 또는 프로세스가 종료될 때까지 다른 프로세스가 CPU를 점유하지 못한다 선점형 스케줄링 SRT (Shortest Remaining Time) 스케줄링 짧은 시간 순서대로 프로세스를 수행 현재 CPU에서 실행 중인 프로세스의 남은 CPU 버스트 시간보다 더 짧은 CPU 버스트 시간을 가지는 프로세스가 도.. INDEX (인덱스) Index 추가적인 쓰기작업과 저장공간을 활용하여 DB테이블의 검색시키기 위한 자료구조 - 책의 맨앞 색인(index)와 같은 원리 - 해당 Table의 컬럼을 색인화(따로 파일로 저장)하여 검색시 해당 Table의 레코드를 full scan하는게 아니라 색인화 되어있는 INDEX 파일을 검색하여 검색 속도를 빠르게 한다 - 일반적으로 B+Tree를 사용 DBMS는 index를 항상 최신의 정렬된 상태로 유지해야 원하는 값을 빠르게 탐색할 수 있다. 그렇기 때문에 인덱스가 적용된 컬럼에 INSERT, UPDATE, DELETE가 수행된다면 각각 다음과 같은 연산을 추가적으로 해주어야 하며 그에 따른 오버헤드가 발생한다. INSERT: 새로운 데이터에 대한 인덱스를 추가 DELETE: 삭제하는 데이터의 인.. naver.com을 치면 일어나는 일 naver.com을 치면 일어나는 일을 알기 전에 IP와 도메인에 대한 지식이 필요하다. - IP주소 컴퓨터들이 인터넷 상에서 서로를 인식하기 위해 지정받은 식별용 번호 현재는 IPv4 버전(32비트) 로 구성되어 있지만 시간이 갈수록 주소 부족으로 IPv6(128비트)가 생겨났다 - 도메인 네임 12자리의 IP주소를 문자로 표현한 주소 도메인을 컴퓨터가 이해할 수 있는 IP주소로 변환하는 작업이 필요하다 이때, 사용할 수 있도록 미리 도메인 네임과 함께 해당하는 IP 주소값을 한 쌍으로 저장하고 있는 데이터베이스를 DNS(Domain Name System) 이라고 부른다 도메인 네임으로 입력하면 DNS를 이용해 IP주소를 받아 찾아갈 수 있다 사용자가 브라우저에 도메인 네임 (naver.com) 을 입.. OSIV OSIV (Open Session In View) 영속성 컨텍스트를 뷰까지 열어두겠다는 의미 OSIV는 하이버네이트에서 사용하는 용어로, JPA에서는 OEIV(Open EntityManager In View) 라고 하지만 다들 OSIV로 부른다 ▶발전 과정 과거 OSIV - 요청 당 트랜잭션 OSIV의 가장 단순한 구현 방법은 클라이언트 요청이 들어오자마자 서블릿 필터 혹은 스프링 인터셉터에서 트랜잭션을 시작하고 요청이 끝날 때 트랜잭션도 끝내는 것 문제점 - 컨트롤러나 뷰 같은 프리젠테이션 계층이 엔티티를 변경할 수 있다 고객의 정보를 제공하는 기능을 만들었고, 화면상에는 보안을 위해 고객의 이름을 "XXX"처럼 변경해서 보여주어야 한다고 가정 Member member = memberService.ge.. 캐시 캐시 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소 저장 공간이 작지만 성능이 빠르다 빠른 접근 자주 쓰이는 데이터를 메모리에 저장했다가 사용 하는 것 - 웹서버 기준 캐싱처리 웹에 요청 호출시 웹 브라우저로부터 하드 디스크의 파일 시스템에 있는 정적 리소스를 제공하는 웹 서버로 전달 웹 서버로 첫 요청시, 하드 디스크는 캐시를 확인하고 “캐시 미스(Cache miss)”를 발생 추후 다시 요청받을 수 있다고 하면 캐시를 하드디스크에 저장 이후 요청부터는 캐시를 사용할 수 있는 경우 “캐시 히트(Cache hit)”를 발생 미스가 발생하기 전까지 버퍼에서 캐시가 제공 Database 캐싱과 같은 경우 데이터베이스 쿼리는 데이터베이스 서버에서 수행되기 때문에 사용자가 급격히 증가함에 따라 속도가.. 쿠키 세션 토큰 쿠키 (Cookie) 크롬이나 사파리같은 브라우저에 저장되는 작은 텍스트 조각 즉, 사용자가 가지고 있는 정보 사용자는 쿠키를 확인하고 수정, 삭제 가능 제 3자가 조회하는 것도 가능 남에게 탈취되거나 사용자에 의해 조작되어도 문제되지 않을 정보만 저장 ex) 자주보는 웹툰 목록, 웹 페이지 다크모드 설정 여부 로그인 시 “아이디와 비밀번호를 저장하시겠습니까? 쇼핑몰 장바구니 자동로그인 팝업에서 “오늘 더 이상 이 창을 보지 않음" 체크 Key:Value의 형태 유효시간 명시 가능 유효시간이 남아 있다면 브라우저 종료 시에도 남아 있음 구성 요소 이름 : 각각의 쿠키를 구별하는 데 사용되는 이름 값 : 쿠키의 이름과 관련된 값 유효시간 : 쿠키의 유지시간 도메인 : 쿠키를 전송할 도메인 경로 : 쿠키를 .. JWT JWT의 구조 마침표(.)로 구분되어 세 부분으로 나뉨 Header Payload Signature Header alg : signing 알고리즘 typ : token의 타입 (JWT) 아래와 같이 구성 위 구조가 그대로 base64로 인코딩 Payload claim들로 구성 claim은 entity(일반적으로 user)의 상태와 추가적인 데이터 3가지 타입의 claim 존재(registered, public, private) registered claims 필수는 아니지만 유용하고 상호 호환되는 claim set을 제공하기 위해 추천되는 사전 정의된 claim set이 있음 iss(issuer) exp(expiration time) sub(subject) aud(audience) 등등(https://t.. URI URL URN URI (Uniform Resource Identifier) 통합 자원 식별자 인터넷 상에서의 리소스를 고유하게 식별하고, 위치를 지정하는 문자열 URL 과 URN으로 나뉜다 URL (Uniform Resource Locator) 통합 자원 지시자 특정 하나의 리소스 위치를 구체적으로 서술하는 문자열 웹 사이트 주소뿐만 아니라 컴퓨터 네트워크상의 자원을 모두 나타내는 표기법 만약 URL이 없었다면? - FTP 서버에 올린 파일을 친구에게 전달하기 위해 우선 FTP 서버 주소를 알려주고, 사용자 이름과 패스워드를 입력하라고 한 뒤, 이동할 디렉토리를 알려주고, 파일명을 알려준 뒤 다운로드하라고 해야할 것 즉, URL은 애플리케이션에게 특정 리소스에 접근하는 방법과 위치를 알려주는 수단 scheme : 통신.. 이전 1 2 3 4 ··· 6 다음