일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- backend
- c
- 웹해킹
- ChatGPT
- 러닝 스칼라
- 백엔드
- hacking
- hackerschool
- 딥러닝
- 인공지능
- BOF 원정대
- deep learning
- webhacking
- mysql
- 경제
- 챗GPT
- php
- Shellcode
- Linux
- 리눅스
- Scala
- flask
- 러닝스칼라
- hackthissite
- Javascript
- Web
- Python
- c++
- 파이썬
- BOF
- Today
- Total
목록IT Book Study (18)
jam 블로그
해당 챕터는 책과 좀 다르게 intellij로 환경 설정 하는 방법으로 적겠습니다. 1.1. 설치하기 Intellij를 처음 설치 후 첫 실행 시 아래와 같은 화면에서 설치 할 수 있습니다. 새 프로젝트를 만들 시 다음과 같이 선택 할 수 있습니다. Use library에 버전이 없을 경우 Create를 누릅니다. 이미 Scala를 따로 깔으셨다면 자동으로 잡힐꺼라 생각됩니다. Use library에 버전이 없을 때 Create 버튼을 누르면 아래와 같이 나옵니다. 다운 받을 버전 선택 설치가 완료 되면 Use library에 버전이 들어가서 보여집니다. 참조 : https://wingnim.tistory.com/71 1.1.1. 번외 Intellij 첫 실행 시에 scala를 깔지 않았다면 2가지 방법..
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에 들어갈 데이터는 ..