Wecode(46)
-
TIL34 | HTTP Status Code
Status Code Grouped in Five classes 1XX : informational 2XX : Successful 3XX : Redirection 4XX : Client Error 5XX : Server Error Request method GETㅤㅤㅤㅤ------ 200 POSTㅤㅤㅤ ------ 201 PUTㅤㅤㅤㅤ------ 200 204 DELETEㅤㅤ------ 204 PATCHㅤㅤ ------ 200 204 HEADㅤㅤㅤ------ 200 OPTIONSㅤ------ 200 TRACEㅤㅤ ------ 200 1XX 100 : Continue 102 : Processing 요청받은 거 처리 중 2XX 200 : OK 가장 자주 보게되는 Status Code 문제없이 요청에 대한 처..
2021.10.27 -
TIL33 | 인가(Authorization)와 JWT
📃️ 인가 Authorization 사용자가 서버에 로그인하면 해당 사용자가 맞는지 확인하는 과정 유저가 요청하는 request를 실행할 수 있는 권한이 있는 유저인가를 확인하는 절차 해당 유저는 고객정보는 볼 수 있지만 수정 할 수 없다 등 JSON Web Token(JWT) 을 통해서 Authorization을 구현할 수 있다. access toekn을 통해 해당 유저 정보를 얻을 수 있음으로 해당 유저가 가지고 있는 권한(permission)도 확인 할 수 있다. 인가(Authorization) 절차 인증(Authentication) 절차를 통해 access token을 생성한다. access token에는 유저 정보를 확인할 수 있는 user id같은 정보가 들어가 있어야 한다. 유저가 reque..
2021.10.26 -
TIL32 | 인증(Authentication)과 bcrypt
🗝️ 인증 Authentication Authentication은 유저의 identification을 확인하는 절차이다. (유저의 아이디와 비번을 확인하는 절차) 인증이 필요한 이유 누가 우리 서비스를 쓰는지, 어떻게 사용하는지 추적이 가능하도록 하기 위해 인증에 필요한 것 아이디, 이메일 주소, 비밀번호 사용자 비밀번호 암호화 절대 비밀번호 그대로 DB에 저장하지 않는다. 외부의 해킹 또는 내부 개발자나 인력이 유저들의 비밀번호를 볼 수 있다. 사용자 비밀번호는 반드시 암호화해서 저장한다. 일반적으로 비밀번호 암호에는 단방향 해쉬 함수(one-way hash function)가 일반적으로 쓰인다. 비밀번호는 국가에서 권고하는 상용 암호화 알고리즘을 이용해 암호화하도록 법적으로 요구하고 있다. (법규상의..
2021.10.26 -
TIL31 | CodeKata 로마자에서 숫자로 바꾸기
CodeKata Week 2 문제 1 로마자에서 숫자로 바꾸기 1~3999 사이의 로마자 s를 인자로 주면 그에 해당하는 숫자를 반환해주세요. 로마 숫자를 숫자로 표기하면 다음과 같습니다. Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 로마자를 숫자로 읽는 방법은 로마자를 왼쪽부터 차례대로 더하면 됩니다. III = 3 XII = 12 XXVII = 27입니다. 그런데 4를 표현할 때는 IIII가 아니라 IV 입니다. 뒤의 숫자에서 앞의 숫자를 빼주면 됩니다. 9는 IX입니다. I는 V와 X앞에 와서 4, 9 X는 L, C앞에 와서 40, 90 C는 D, M앞에 와서 400, 900 def roman_to_num(s): # 구현 input s = 'III..
2021.10.25 -
TIL30 | CodeKata 중복되지 않은 알파벳 중 제일 긴 단어, 뒤집은 모양이 같은 숫자 찾기, ⭐️공통된 시작 단어 찾기
CodeKata Week 1 문제 3 String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요. str: 텍스트 return: 중복되지 않은 알파벳 길이 (숫자 반환) def get_len_of_str(s): # 구현 input str = "abcabcabc"output 3 나의 풀이 def get_len_of_str(s): str = [] length = 0 for i in range(len(s)): if s[i] not in str: str.append(s[i]) else: str = [s[i]] print(str) length = max(length, len(str)) return length 문제 4 숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 n..
2021.10.22 -
TIL29 | Django C.R.U.D : Wrap up 정리
정리되지 않은 개인적인 기록용 글입니다. 내용이 정확하지 않을 수 있습니다. 1. Django에서 App은 기능별로 생성한다. 보통 model들은 core app에 관리 2. 클래스 참조는 string으로 할 것을 권장한다. 순환참조 문제가 발생할 수 있다. 순환 참조 문제를 사전에 방지하기 위해서 string으로 클래스를 참조하자. Django에서 의존성 관리를 해주기 때문에 어떻게 방지가 되는지 모르지만 어쨌든 string으로 참조하면 순환참조 문제는 발생하지 않는다. Django에서도 string 참조를 권장한다. ForeignKey('Owner', on_delete=cascade) 3. import convention # python built-in module import json # 외부 mo..
2021.10.20