Skip to content

Commit 5051bb2

Browse files
authored
Merge pull request #23 from sojung0628/main
5주차 - 쏘/김소정 워크북 과제 제출
2 parents 337c35b + ac0f9a9 commit 5051bb2

2 files changed

Lines changed: 146 additions & 0 deletions

File tree

week05/keyword/keyword.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
- 환경 변수
2+
3+
**정의**
4+
5+
환경 변수는 프로그램이 실행될 때 외부에서 설정하는 값으로, 코드 내부에 직접 입력하지 않고도 설정할 수 있습니다.
6+
7+
**속성**
8+
9+
- **보안성**: 비밀번호나 API 키와 같은 민감한 정보를 코드에 직접 입력하지 않고 환경 변수로 관리합니다.
10+
- **유연성**: 개발, 테스트, 운영 환경에 따라 다른 설정을 적용할 수 있습니다.
11+
12+
**장점**
13+
14+
- **보안 강화**: 민감한 정보를 코드에 직접 입력하지 않아 노출 위험이 줄어듭니다.
15+
- **환경별 설정 용이**: 다양한 환경에 맞게 설정을 쉽게 변경할 수 있습니다.
16+
17+
**단점**
18+
19+
- **관리 복잡성**: 환경 변수가 많아지면 관리가 어려워질 수 있습니다.
20+
- **의존성 문제**: 환경 변수가 설정되지 않으면 애플리케이션이 제대로 작동하지 않을 수 있습니다.
21+
- CORS
22+
23+
**정의**
24+
25+
CORS는 웹 브라우저에서 다른 도메인의 리소스에 접근할 수 있도록 허용하는 보안 기능입니다.
26+
27+
**속성**
28+
29+
- **보안 정책**: 기본적으로 브라우저는 다른 도메인의 리소스 요청을 차단합니다.
30+
- **서버 설정 필요**: 서버에서 특정 도메인에 대한 접근을 허용하도록 설정해야 합니다.
31+
32+
**장점**
33+
34+
- **리소스 공유 가능**: 다른 도메인 간에 리소스를 공유할 수 있습니다.
35+
- **유연한 API 사용**: 외부 API를 사용할 때 유용합니다.
36+
37+
**단점**
38+
39+
- **보안 위험**: 잘못된 설정은 보안 취약점을 초래할 수 있습니다.
40+
- **설정 복잡성**: 정확한 설정이 필요하며, 실수로 인해 문제가 발생할 수 있습니다.
41+
- DB Connection, DB Connection Pool
42+
43+
**정의**
44+
45+
- **DB 연결**: 애플리케이션이 데이터베이스와 통신하기 위해 연결을 설정하는 것.
46+
- **연결 풀**: 미리 여러 개의 DB 연결을 만들어두고, 필요할 때마다 재사용하는 기술.
47+
48+
**속성**
49+
50+
- **성능 향상**: 연결을 재사용하여 성능을 높입니다.
51+
- **자원 관리**: DB 연결 수를 제한하여 자원을 효율적으로 사용합니다.
52+
53+
**장점**
54+
55+
- **빠른 응답**: 새로운 연결을 생성하는 시간 절약.
56+
- **자원 절약**: 불필요한 연결 생성을 방지.
57+
58+
**단점**
59+
60+
- **복잡성 증가**: 연결 풀 관리가 필요합니다.
61+
- **잠재적 오류**: 풀에 문제가 생기면 전체 애플리케이션에 영향.
62+
- 비동기 (async, await)
63+
- **정의**
64+
65+
비동기 처리란 작업이 완료될 때까지 기다리지 않고 다음 작업을 수행하는 방식입니다. `async`와 `await`는 비동기 코드를 동기처럼 작성할 수 있게 도와줍니다.
66+
67+
**속성**
68+
69+
- **`async` 함수**: 항상 `Promise`를 반환합니다.
70+
- **`await` 키워드**`Promise`가 해결될 때까지 기다립니다.
71+
72+
**장점**
73+
74+
- **가독성 향상**: 코드가 더 직관적이고 읽기 쉬워집니다.
75+
- **에러 처리 용이**`try/catch`를 사용하여 에러를 쉽게 처리할 수 있습니다.
76+
77+
**단점**
78+
79+
- **호환성 문제**: 구형 환경에서는 지원되지 않을 수 있습니다.
80+
- **복잡한 흐름**: 복잡한 비동기 로직에서는 흐름을 이해하기 어려울 수 있습니다.
81+
- try/catch/finally
82+
83+
**정의**
84+
85+
`try/catch/finally`는 코드에서 발생할 수 있는 에러를 처리하기 위한 구조입니다.
86+
87+
**속성**
88+
89+
- **`try` 블록**: 에러가 발생할 수 있는 코드를 작성합니다.
90+
- **`catch` 블록**: 에러가 발생했을 때 실행되는 코드입니다.
91+
- **`finally` 블록**: 에러 발생 여부와 상관없이 항상 실행되는 코드입니다.
92+
93+
**장점**
94+
95+
- **에러 처리**: 예외 상황을 적절히 처리하여 프로그램의 안정성을 높입니다.
96+
- **자원 정리**`finally`를 사용하여 자원을 정리할 수 있습니다.
97+
98+
**단점**
99+
100+
- **과도한 사용**: 불필요하게 사용하면 코드가 복잡해질 수 있습니다.
101+
- **비동기 코드 제한**: 비동기 코드에서는 `try/catch`가 예상대로 작동하지 않을 수 있습니다.

week05/mission/mission.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
**1. 특정 지역에 가게 추가하기 API**
2+
3+
![Image](https://private-user-images.githubusercontent.com/156819279/438709786-a136bd68-2c70-4161-9d0d-28dfde3518f7.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjE4ODkzMDksIm5iZiI6MTc2MTg4OTAwOSwicGF0aCI6Ii8xNTY4MTkyNzkvNDM4NzA5Nzg2LWExMzZiZDY4LTJjNzAtNDE2MS05ZDBkLTI4ZGZkZTM1MThmNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUxMDMxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MTAzMVQwNTM2NDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02OTMzNDUzNDcwYjcyMjFkZjUwNDY1MDZhNmI3YzlmNTQzZWEyZTEyYWIzNmY4OTRjODM3MjFiMGViNTY0ZTllJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.k-3AxYEXRj5Ve20n-HmXlvQs4hYj3V6CSaZynOhLBJM)
4+
5+
| **항목** | **** |
6+
| --- | --- |
7+
| Method | POST |
8+
| URL | http://localhost:3000/stores |
9+
| Headers | [Key] Content-Type [Value] application/json |
10+
| Headers | [Key] Authorization [Value] Bearer testtoken |
11+
| Body | {"name": "김밥천국 강남점","address": "서울시 강남구 어딘가","regionId": 3} |
12+
13+
**2. 가게에 리뷰 추가하기 API**
14+
15+
![Image](https://private-user-images.githubusercontent.com/156819279/438709282-7a4de01e-c03e-4dce-aea7-6096dc830d80.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjE4ODkzMDksIm5iZiI6MTc2MTg4OTAwOSwicGF0aCI6Ii8xNTY4MTkyNzkvNDM4NzA5MjgyLTdhNGRlMDFlLWMwM2UtNGRjZS1hZWE3LTYwOTZkYzgzMGQ4MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUxMDMxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MTAzMVQwNTM2NDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01ZDVhYTRmMWFjYTBmOGQ5ODI5MGE2ZjRhMGI1NDVlMjE0NWUwODBjNjZjZGRjOThjZjYyM2QwMzg3MGRkOTlhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.fHpFwHTjUDOWuPw18nMPYfAhFRzhbfZT2kPA4wOM-5E)
16+
17+
| **항목** | **** |
18+
| --- | --- |
19+
| Method | POST |
20+
| URL | http://localhost:3000/reviews |
21+
| Body | {"memberId": 3,"storeId": 10,"body": "음식이 정말 맛있었어요!","score": 5} |
22+
23+
**3. 가게에 미션 추가하기 API**
24+
25+
![Image](https://private-user-images.githubusercontent.com/156819279/438710701-a7a13961-8b0f-471f-9a8f-bfeba5ad0510.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjE4ODkzMDksIm5iZiI6MTc2MTg4OTAwOSwicGF0aCI6Ii8xNTY4MTkyNzkvNDM4NzEwNzAxLWE3YTEzOTYxLThiMGYtNDcxZi05YThmLWJmZWJhNWFkMDUxMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUxMDMxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MTAzMVQwNTM2NDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04MjE0OTgwOTYxMDAwZjkwZGUzOTYwNmZhNmJlNTBmZTEzOTQ4MGE1YzE3YWU0YTNhM2NiNTJkMWE1Njk4MGJkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.emuyU-Lng5DI--zx9D8P-J_CXwRC8tdJwUf1zNvhf2k)
26+
27+
| **항목** | **** |
28+
| --- | --- |
29+
| Method | POST |
30+
| URL | http://localhost:3000/stores/10/missions |
31+
| Headers | [Key] Content-Type [Value] application/json |
32+
| Headers | [Key] Authorization [Value] Bearer testtoken |
33+
| Body | {"title": "10,000원 이상 주문하기","category": "한식","reward": "500 포인트"} |
34+
35+
**4. 가게의 미션을 도전 중인 미션에 추가(미션 도전하기) API**
36+
37+
![Image](https://private-user-images.githubusercontent.com/156819279/438711467-622b1eb8-224b-464e-8c9f-a653f215098b.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjE4ODkzMDksIm5iZiI6MTc2MTg4OTAwOSwicGF0aCI6Ii8xNTY4MTkyNzkvNDM4NzExNDY3LTYyMmIxZWI4LTIyNGItNDY0ZS04YzlmLWE2NTNmMjE1MDk4Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUxMDMxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MTAzMVQwNTM2NDlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04NTQ4OGJjMGU0NWFiNWI5Y2E0NTVmMjEyN2Y1YjZmMDRlNTQ0MTAwNGE0MWQyODAxYTk0ZjVhYjFjOGI5MjlkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.6AW95pnwwhKfBX0hagEr0b8atXrRnti-xR0TmqHrLS0)
38+
39+
| **항목** | **** |
40+
| --- | --- |
41+
| Method | POST |
42+
| URL | http://localhost:3000/member-missions |
43+
| Headers | [Key] Content-Type [Value] application/json |
44+
| Headers | [Key] Authorization [Value] Bearer testtoken |
45+
| Body | {"memberId": 3,"missionId": 7} |

0 commit comments

Comments
 (0)