전체 글 (37) 썸네일형 리스트형 인증 & 인가, 로깅 인증(Authentication) : 제대로 된 사용자인지 확인하는 과정 인가(Authorization) : 해당 요청에 대해 허가된 접근인지 확인하는 과정 인증 방식 | 👨🏻💻 Tech Interview 인증 방식 API Key 서비스들이 거대해짐에 따라 기능들을 분리하기 시작하였는데 이를위해 Module이나 Application들간의 공유와 독립성을 보장하기 위한 기능들이 등장하기 시작했다. 그 중 제일 먼 gyoogle.dev 인증 방식 API Key OAuth2.0 JWT(토큰 기반 인증) 정보가 서버에 저장되지 않기 때문에 서버 메모리 부담이나 멀티 디바이스 환경에 대한 부담이 없음 상대적으로 손상의 위험이 있고, XSS 공격에 취약해 가능한 민감 정보는 포함시키지 않을 필요가 있음 세션 기반.. Web Server & WAS Web Server : 정적인 페이지(바뀌지 않는 페이지)를 반환함 WAS : 동적인 페이지(인자에 따라 바뀌는 페이지)를 반환함 Web Server와 WAS의 차이 | 👨🏻💻 Tech Interview Web Server와 WAS의 차이 웹 서버와 was의 차이점은 무엇일까? 서버 개발에 있어서 기초적인 개념이다. 먼저, 정적 페이지와 동적 페이지를 알아보자 Static Pages 바뀌지 않는 페이지 웹 서버는 파일 경 gyoogle.dev Web Server란 무엇인가? Http 프로토콜을 기반으로, 클라이언트의 요청을 서비스하는 역할 정적 컨텐츠 제공 : WAS를 거치지 않고 바로 자원 응답 동적 컨텐츠 제공을 위한 요청 전달 : WAS로 요청 전달 후 WAS에서 처리한 결과를 응답 WAS란 무엇.. REST API REST : REpresentational State Transfer, 웹(HTTP)의 장점을 활용한 아키텍쳐 REST의 개념과 구성, RESTful하게 API를 설계하는 방법과 그 장점을 이해한다. REST API | 👨🏻💻 Tech Interview REST API REST : 웹 (HTTP) 의 장점을 활용한 아키텍쳐 1. REST (REpresentational State Transfer) 기본 REST의 요소 Method Method 의미 Idempotent POST Create No GET Select Yes PUT Update Yes DELETE Delete Yes Idempotent : 한 번 수행하냐 gyoogle.dev REST 메소드 4가지 설명 GET : select, 정보를 조회.. 쿠키&세션, Http Status code 1. 쿠키, 세션, 브라우저 캐시의 차이와 역할 이해 2. Http 상태 코드마다 무슨 의미를 갖는지 이해 Cookie & Session | 👨🏻💻 Tech Interview 최종 수정 : 12/24/2020, 11:41:27 AM gyoogle.dev HTTP status code | 👨🏻💻 Tech Interview HTTP status code 클라우드 환경에서 HTTP API를 통해 통신하는 것이 대부분임 이때, 응답 상태 코드를 통해 성공/실패 여부를 확인할 수 있으므로 API 문서를 작성할 때 꼭 알아야 할 것이 HTTP status code gyoogle.dev 쿠키와 세션을 사용하는 이유? 둘의 차이는? 클라이언트의 정보를 저장하기 위해 사용 쿠키는 클라이언트 단에 저장되며, 도메인 당.. 브라우저 동작 브라우저 주소창에 url이 입력되었을 때 어떤 과정을 거쳐서 화면이 출력되는지 과정 이해 브라우저 동작 방법 | 👨🏻💻 Tech Interview 브라우저 동작 방법 "브라우저가 어떻게 동작하는지 아세요?" 웹 서핑하다보면 우리는 여러 url을 통해 사이트를 돌아다닌다. 이 url이 입력되었을 때 어떤 과정을 거쳐서 출력되는걸까? web의 기 gyoogle.dev 브라우저 동작 과정 주소창에 url을 입력하면, DNS로 IP주소를 찾아 내 해당 서버로 자원을 요청 기본적인 html파일과 css, image 파일 등을 응답받게 되면 렌더링 엔진이 html파싱을 수행하며 dom트리를 구성하고, 이어서 css 파싱을 통해 렌더링 트리를 만듦 마지막으로 UI 백엔드에서 해당 정보를 가지고 화면에 ui를 그림 .. 프로그래머스_60062_외벽점검 문제 링크 조건 n : 외벽의 길이, 1~200 이하 자연수 weak : 외벽의 취약지점 배열, 길이 1~15 dist : 각 친구마다 1시간 동안 이동할 수 있는 거리, 길이 1~8 외벽의 모든 취약지점을 전부 점검하기 위해 최소로 필요한 친구 수 리턴, 불가능하면 -1 리턴 접근 방법 dist배열 내림차순 정렬 => 1시간 동안 많이 이동할 수 있는 친구 순으로 정렬 친구마다 각 weak지점에서 출발할 때 점검할 수 있는 지점을 저장=>BitMask 활용 친구의 점검 범위를 미리 저장하지 않고 permutation(점검하러 갈 친구들의 점검 시작 위치 순열)을 구할 때마다 매번 점검 범위를 체크해주면 테스트케이스 1개 시간초과(13번) 점검에 필요한 친구 수를 1명부터 늘려가며 permutation .. 프로그래머스_전화번호목록_42577 문제 링크 조건 phone_book : 전화번호 목록, string배열 길이 1~1000000 각 전화번호 길이 1~20 이하 접근 방법 일반 정렬 후 탐색 Arrays.sort()로 문자열 오름차순 정렬 i+1번째 번호의 접두사가 i인지 확인 O(NlogN) + O(N) : 정렬 + 전체 탐색 정확성 시간 0.15~0.3ms / 효율성 시간 17~20ms 해시 사용 HashMap 사용해서 접두사 저장 => 데이터 탐색 시 O(1) 시간복잡도 map 길이만큼 중첩for문으로 i번째 번호가 나머지 번호와 접두사 관계에 있는지 확인 정확성 시간 0.03~0.05ms / 효율성 시간 3ms 더보기 ※ Hash ※ Hash의 경우 hash function을 이용해 데이터마다 고유의 hash code를 만들고, .. 프로그래머스_멀쩡한사각형_62048 문제 링크 조건 W : 가로 길이, 1억 이하 자연수 H : 세로 길이, 1억 이하 자연수 접근 방법 세로 길이를 기준으로 1cm씩 늘어날 때, 가로 길이는 어디서부터 어디까지 전진하는 지 확인 ex. 세로가 2일 때, 가로는 0.6 ~ 1.3만큼 전진함 => Math.floor(0.6) ~ Math.ceil(1.3) 까지의 범위만큼 격자가 잘려나감 가로가 전진한 끝 지점(x)과 Math.ceil(x) 값이 같다면 정수로 나누어 떨어진다는 뜻 => 이후로는 같은 패턴 반복 ※ 주의 할 점 ※ - 사칙 연산 순서 => '(double)w * i / h' 와 '(double)w / h * i'의 결과가 다를 수 있음, w/h 과정에서 분수값이 double형 소수로 바뀌면서 데이터 손실..? 발생할 수 있음 .. 이전 1 2 3 4 5 다음