전체 글
-
Delivery Together - JWT 인증방식의 로그인(2)Projects/Problem & Solution 2021. 12. 24. 15:16
사용자 정보 생성 User 클래스 생성 @Data public class User implements UserDetails { private String username; // 사용자 계정 private String birthdate; // 사용자 생일 private String country; // 사용자 국적 private String gender; // 사용자 성별 private String password; // 사용자 비밀번호 private String role; // 사용자 권한 @Override public Collection
-
프로그래머스 (Level 1) - 숫자 문자열과 영단어Coding Test/Coding Test 문제 풀이 2021. 12. 24. 11:19
문제 설명 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 풀이 문제의 요구사항은 입력받은 문자열 내 영단어를 숫자로 변경시켜주는 것이다. String[] numbers = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }; String[] alphabets = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; 우선, 영단어와 숫자를 문자열 형태의 배열로 ..
-
Delivery Together - JWT 인증방식의 로그인(1)Projects/Problem & Solution 2021. 12. 23. 23:50
JWT의 사용 이유 HTTP 프로토콜의 문제점 REST API가 있고 권한이 있는 사용자에게만 액세스를 제한하려고 한다는 상황을 가정해 보겠다. 가장 단순한 접근 방식은 API가 사용자 이름과 비밀번호를 요청하는 것이다. 그리고 해당 정보가 실제로 존재하는지를 데이터베이스에서 검색해 인증을 확인한다. 마지막으로 인증된 사용자에게 해당 요청을 수행할 권한이 있는지 확인한다. 두 검사 모두 통과하면 실제 API가 실행되는 것이다. 하지만 문제점이 있다. HTTP 프로토콜은 Stateless로 동작한다. 위 그림과 같이 새 요청(GET/order/42)은 이전 요청에 대해 아무것도 알지 못하기 때문에 새 요청마다 다시 인증을 해야 하는 절차가 추가된다. 즉, 새로운 요청이 있을 때마다 리소스가 소모된다는 뜻이..
-
Computer Architecture - 중앙처리장치(CPU)의 작동 원리Computer Science/Computer Architecture 2021. 12. 20. 16:38
중앙처리장치(CPU) 중앙처리장치란? ㆍ CPU는 컴퓨터에서 가장 핵심적인 역할을 수행하며, 인간의 두뇌에 해당한다. ㆍ 크게 연산장치, 제어장치, 레지스터 3가지로 구성된다. 연산 장치 ㆍ 산술 연산과 논리 연산을 수행하며, 산술 논리 연산장치라고도 불린다. ㆍ 연산에 필요한 데이터를 레지스터에서 가져오고, 연산 결과를 다시 레지스터로 보낸다. 제어 장치 ㆍ 명령어를 순서대로 실행할 수 있도록 제어하는 장치이다. ㆍ 주기억장치에서 프로그램 명령어를 꺼내 해독하고, 그 결과에 따라 명령어 실행에 필요한 제어 신호를 기억장치, 연산장치, 입출력 장치로 보내는 역할을 한다. ㆍ 또한, 이들 장치가 보낸 신호를 받아 다음에 수행할 동작을 결정한다. 레지스터 ㆍ 명령어 주소, 코드, 연산에 필요한 데이터 및 연..
-
Computer Architecture - 컴퓨터의 구성Computer Science/Computer Architecture 2021. 12. 20. 15:26
개요 ㆍ 컴퓨터 시스템은 크게 하드웨어와 소프트웨어로 나누어진다. 1. 하드웨어 : 컴퓨터를 구성하는 기계적 장치 2. 소프트웨어 : 하드웨어의 동작을 지시하고 제어하는 명령어 집합 하드웨어 ㆍ 중앙처리장치(CPU) ㆍ 기억장치 : RAM, HDD ㆍ 입출력 장치 : 마우스, 프린터 소프트웨어 ㆍ 시스템 소프트웨어 : 운영체제, 컴파일러 등 ㆍ 응용 소프트웨어 : 워드프로세서, 스프레드시트 등 하드웨어 하드웨어의 구성요소 ㆍ 하드웨어는 중앙처리장치(CPU), 기억장치, 입출력 장치로 구성되어 있다. ㆍ 이들은 시스템 버스로 연결되어 있으며, 시스템 버스는 데이터와 명령 제어 신호를 각 장치로 실어 나르는 역할을 한다. 중앙처리장치(CPU) ㆍ 인간과 비교하면 두뇌에 해당하는 부분이다. ㆍ 주기억장치에서 ..
-
Web - GET & POSTWeb/Web 2021. 12. 15. 16:25
GET GET이란? ㆍ GET 방식은 클라이언트에서 서버로부터 어떠한 정보를 요청하기 위해 사용이 되는 방식이다. ㆍ 정보 요청에 필요한 데이터를 URL 주소 끝에 파라미터로 포함되어 전송이 되며, 이 부분을 쿼리 스트링(Query String)이라고 부른다. GET 방식의 예 : www.example.com/show?name01=value01&name02=value02 ㆍ 서버에서는 name01과 name02라는 파라미터 명으로 각각 value01과 value02의 값을 전달받을 수 있다. GET의 특징 ㆍ GET 요청은 불필요한 요청을 제한하기 위해 요청이 캐시 될 수 있다. ㆍ 파리미터에 내용이 노출되기 때문에 민감한 데이터를 다룰 때는 GET 요청을 사용해서는 안된다. ㆍ GET 요청은 브라우저 ..