일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- deep learning
- 인공지능
- ChatGPT
- 딥러닝
- 웹해킹
- hacking
- hackerschool
- 러닝 스칼라
- c
- hackthissite
- Scala
- mysql
- Linux
- php
- backend
- 백엔드
- BOF 원정대
- 경제
- Shellcode
- c++
- 파이썬
- Web
- Python
- Javascript
- 러닝스칼라
- flask
- 챗GPT
- 리눅스
- BOF
- webhacking
- Today
- Total
목록IT Book Study/깔끔한 파이썬 탄탄한 백엔드 (7)
jam 블로그
8. Unit Test 기능을 개발하고 나서 제대로 돌아가는지 매번 수동으로 API를 쏠수 없으니 Unit Test를 하여 각 기능들이 제대로 돌아가는지 테스트를 해야합니다. UI test / End-to-End Test 웹브라우저를 통해서 웹사이트를 실제로 접속하고 UI에 직접 입력하고 클릭하는 등을 통해서 기능을 정상적으로 작동하고 화면이 정상적으로 작동하는지 테스트 해보는 방식 아래는 웹 UI test하는 툴입니다. Selenium Katalon Protractor CasperJS PhantomJS Integration test(통합 테스트) 각 기능(모듈)을 통합하는 과정에서 모듈간 호환성의 문제를 찾아내기 위해 수행되는 테스트 빅뱅 통합 : 전체 모듈을 모두 통합한 이후 통합 테스트를 수행하는 ..
7. 인증 인증은 private api와 같은 사용자를 제한해야하는 api에서 필요하며, public api와 같은 경우 사용 횟수 제한이나 남용 방지등을 위해 쓰입니다. 인증 흐름 인증을 생성 및 사용 방법은 대략적으로 아래와 같습니다. 회원 가입을 진행할때 api에 id/pw를 api에 보냅니다. 회원 가입 api에서 id/pw를 체크하고 별 문제 없으면 DB에 저장합니다. 이때 id는 그대로 저장하며 pw는 암호화해서 저장합니다. 회원 가입이 완료 되면 로그인 합니다. 이때 들어온 id와 pw를 DB에 저장된 값과 비교합니다. (pw는 암호화한 후 암호화로 저장된 DB와 비교합니다.) 로그인이 OK가 되면 이때 access token을 만들어서 front-end에 전송합니다. Front-end에서는..
6. 데이터 베이스 데이터를 저장 및 보존하는 시스템 데이터 베이스의 종류 관계형 데이터 베이스 시스템 (RDBMS, Relational Database Management System) 데이터들이 서로 상호관련성을 가진 형태로 표현한 데이터 대표적으로 MySQL, PostgresSQL 모든 데이터는 2차원 테이블로 표현 각 테이블은 칼럼(column), 로우(row)로 구성 각 로우는 고유 키(primary key)가 존재 테이블들의 상호 관련성 종류 one to one A테이블의 로우와 B테이블의 로우가 정확히 일대일 매칭일 경우 예시 : 국가에 수도 연결 one to many 테이블 A의 로우가 테이블 B의 여러 로우와 연결되는 관계 예시 : 한 유저가 여러 개의 게시물을 쓸수 있음 many to ..
5. 본격적으로 API 개발하기 여기서는 트위터를 줄인 미니터를 구축합니다. 핵심 기능 회원가입 로그인 트윗 다른 회원 팔로우 하기 다른 회원 언팔로우 하기 타임라인 회원가입 필요한 정보 id name email password profile 앞에서 만들었던 소스에 추가하여 개발합니다. POST method로 /sign-up 생성 request json body로 넘어온 값을 new_user에 저장 new_user에 id_count 추가 서버에서 생성한 users에 new_user 등록 new_user를 json 상태로 return 위 소스를 run 시키고 나서 postname으로 데이터를 보내보면 하단처럼 json으로 id와 함께 반환 됩니다. 300자 제한 트윗 글 올리기 body에 들어갈 데이터는 ..
4. 첫 API 개발 시작 해당 내용은 책의 3장에 해당됩니다. 이제 Flask를 사용하여 간단하게 개발하여 봅시다. 1줄 : flask를 불러옵니다. 3줄 : app이라는 변수에 Flask 모듈을 쓸수 있도록 만들어줍니다. 5, 9줄 : flask의 route 데코레이터를 사용하여 엔드포인트를 등록합니다. 6, 10줄 : 각 route에 대해 처리할 함수들입니다. 13~14줄 : flask run이 아닌 python으로 run 시키기 위해 작성합니다. host : 0.0.0.0으로 하면 모든 ip에 대해서 허용합니다. port : 80으로도 설정할 수 있지만 보안상 root가 필요하기에 여타 다른 port로 합니다. debug : true 일 경우 파이썬에서 발생한 모든 오류가 출력되므로 개발시에만 사..