til(69)
-
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 -
TIL28 | Many-to-Many관계, Django의 ManyToManyField
Many-to-Many 관계 M : N 의 관계 (고객과 제품, 학생과 강의, 팔로우와 팔로워) Django에서는 ManyToManyField를 지원한다. ManyToManyField ManyToManyField(RelatedField) ManyToManyField를 사용할 경우 자동으로 중간 테이블을 설정해준다. 정참조와 역참조 객체 호출 정참조의 경우 : 속성으로 접근 역참조의 경우 : _set 또는 related_name 으로 접근 from django.db import models class Article(models.Model): headline = models.CharField(max_length=100) publications = models.ManyToManyField('Public..
2021.10.20 -
TIL27 | Django C.R.U.D : URLconf, Model, View
Django C.R.U.D 과제 목표 URLconf, View를 활용하여 리스트를 표출하는 엔드포인트 작성하기 엔드포인트의 결과로 return 할 JSON data 만들기 httpie를 이용해 GET/POST 요청 보내기 Modeling 주인과 강아지 URLconf 설정 최상위 urls.py 파일에 app 경로를 추가 master/urls.py from django.urls import path, include urlpatterns = [ path('', include('owners.urls')), ] owners app에 urls.py 생성 app의 urls.py 파일에 view class 경로 추가 owners/urls.py from django.urls import pa..
2021.10.20