From 2404cee7621e9c9e90cb489b7184bc7359f1b1e6 Mon Sep 17 00:00:00 2001 From: yeonjinJoo <102257328+yeonjinJoo@users.noreply.github.com> Date: Thu, 2 Nov 2023 07:17:57 +0900 Subject: [PATCH 01/11] =?UTF-8?q?[add]=205=EC=A3=BC=EC=B0=A8=20=EC=A3=BC?= =?UTF-8?q?=EC=97=B0=EC=A7=84=20=EA=B3=BC=EC=A0=9C=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Unit5/unit5.md | 97 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 83 insertions(+), 14 deletions(-) diff --git a/Unit5/unit5.md b/Unit5/unit5.md index 9533b55..6c41842 100644 --- a/Unit5/unit5.md +++ b/Unit5/unit5.md @@ -3,43 +3,112 @@ ## ❗️ 강의 수강 여부 수강한 강의에 체크표시 해주세요~ -- [ ] 데이터베이스 실습 -- [ ] 데이터베이스 실습 2 -- [ ] SQL +- [x] 데이터베이스 실습 +- [x] 데이터베이스 실습 2 +- [x] SQL
## ❗️ notion에 키워드 정리 완료 여부 내가 notion에 키워드를 정리를 완료한 경우 체크표시 해주세요~ -- [ ] 키워드 정리 완료 +- [x] 키워드 정리 완료
## ❗️ 5주차 과제 1. ERD export해서 구축된 RDS에 반영하기 (완료된 내용 켬쳐본 올리기) + ![스크린샷 2023-11-02 06 21 20](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/0391857d-fc16-40b1-b1f9-1bae2e6d177b) + + 어려움을 겪은 부분 1: CREATE database db_test;를 하려했으나 내가 로그인한 jooyj0529에는 그런 권한이 없다는 에러를 마주했다. + + 해결 과정 : + 1. root의 모든 권한을 jooyj0529에게 주겠다고 query를 했으나 여전히 jooyj0529에게 database를 만들 권한이 없다고 뜸. + -> 그렇다면 root에서 database를 생성하고, 그 database에 대한 모든 권한을 jooyj0529에게 설정해 주면 어떨까? + + 2. root 사용자로 mysql 로그인하여 database db_test 생성 & 제대로 생성되었는지 확인 + ![스크린샷 2023-11-02 06 32 29](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/6f4cd2dc-7e00-42c1-b730-5e3dd272de70) + + 3. root 사용자에서 GRANT 이용해서 joyj0529에게 db_test에 대한 모든 권한을 부여하고, FLUSH 이용해 변경사항 저장 & 제대로 저장되었는지 확인 + ![스크린샷 2023-11-02 06 34 56](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/eeb42d28-c48b-418d-9dbc-71f7f347ac67) + + 4. 해결완료! 이제 jooyj0529로 로그인하여 db_test에 table을 생성하고 삭제할 수 있다. + + + 참고 블로그 + - https://velog.io/@leesomyoung/Datagrip을-사용하여-외부에서-MySQL에-접속하기 + + + 어려움을 겪은 부분 2: userId에 AUTO_INCREMENT 설정을 해 주었더니 ( 한 유저 생성될 때마다 자동으로 id 1씩 올라가면 좋기 때문 ), Table이 CREATE 되지 않았다. 에러메시지에 AUTO_INCREMENT 되는 것은 Primary key여야 하고, auto column은 한개여야 한다고 되어있었는데 둘 다 만족을 하는데도 생성이 되지 않았다. + + 해결 방법 : + ![스크린샷 2023-11-02 06 44 31](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/0ec863a2-530a-4891-b6ad-1cd117e8bf71) + ![스크린샷 2023-11-02 06 46 16](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/1fdf1a1b-71c1-46f2-8fd3-690f0efdeb56) + + Export한 Query를 살펴보니, 위와같이 Table을 CREATE 한 뒤 밑에서 Primary key를 설정해주고 있었다. + -> CREATE 할 때 AUTO_INCREMENT 되는 것이 primary key가 아니라서 문제가 발생하므로, CREATE 내부에서 userId를 primary key로 지정해주자. + + ![스크린샷 2023-11-02 06 48 42](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/0b1ed476-2e30-447c-ae12-a7b74b31c5d8) + + 위와같이 primary key(userId)를 추가하여 해결하였다. + +
2. 데이터그립을 통해서 RDS에 접근하기 - (완료된 내용 켬쳐본 올리기) + ![스크린샷 2023-11-02 03 48 51](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/47210491-4553-4830-9d11-cda350f54f35) -
+ 어려움을 겪은 부분 : Host를 RDS의 endpoint로 설정하고, 보안그룹 인바인드 규칙도 추가하고, User와 password도 문제가 없었는데 계속 Communication failure이 일어났다 ( 혹시 몰라 password도 바꿔보았는데 효과 X ). + + 해결 방법 : Driver를 mysql에서 Amazon aurora mysql로 변경하였더니 해결할 수 있었다. ( mysql -> mysql 5.1 버젼으로 바꾸어도 해결된다 ) + + 참고 블로그 + - https://bba-jin.tistory.com/55 + - https://7942yongdae.tistory.com/187 -3. 접근된 RDS에 쿼리 작성하기 - (완료된 내용 켬쳐본 올리기)
-4. RDS에 더미데이터 반영하기 - (완료된 내용 켬쳐본 올리기) - +3. 접근된 RDS에 쿼리 작성하기 & 4. RDS에 더미데이터 반영하기 & 화면 최소 3개 이상 쿼리 작성하기 + + 1. USER에 3명 추가하고 여러 방법으로 확인하기 + + ![스크린샷 2023-11-02 05 34 13](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/1abddffb-641d-44bf-9251-c8ffa4b1e222) + + ![스크린샷 2023-11-02 05 34 25](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/b403b01b-6ea8-4b37-bb16-0ea7c1b5a9c1) + + ![스크린샷 2023-11-02 05 34 40](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/73b4c01f-4454-4bb4-99d2-8bd9bcf975ca) + + + 2. FOLLWER에 follower, userId( 팔로워가 팔로우 하는 사람 ) 조합 3개 추가 뒤 확인 + + ![스크린샷 2023-11-02 07 01 56](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/a36648a2-294d-43f8-8e31-caf929204fe2) + + 3. UserId = 1을 팔로우하는 사람들의 이름은 뭘까? 를 확인해보자 + - USER table과 FOLLWER table을 JOIN 해보기 + ![스크린샷 2023-11-02 06 08 53](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/0ebe8f04-1038-425c-a8ea-cabe621fb4a8) + + from USER as U라고 쓴 것은 줄임말을 생성한 것이다. USER의 userId 값을 지칭하고 싶으면 U.userId로 표현 가능하다. JOIN 해보니 userId = 1을 팔로우하는 사람들의 이름을 알기 위해선 F.userId = 1 이고 F.userId = U.userId로 조건을 걸어줘야겠다는 생각이 들었다. + + - 이름을 가져오겠다고 선언하고, WHERE 사용해 조건 걸기 + ![스크린샷 2023-11-02 06 09 31](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/dcff10f9-1a38-41f6-945f-d9aff27d34c8) + + select U.name으로 이름이 궁금하다고 선언하고, WHERE을 사용해 조건을 걸었더니 userId = 1 ( yeonjin ) 을 팔로우하는 사람들이 누구인지 확인할 수 있었다. ( inner join이라 WHERE이나 ON을 둘 중 아무거나 사용해도 상관 없었다 ) + + + WHERE : join 후에 조건 필터링 + ON : join 전에 조건 필터링 + + inner join을 사용할 때는 똑같이 작동하지만, outer join을 할 경우 ON으로 해야 원하는 결과를 얻을 수 있다. + + 관련 블로그 + - https://velog.io/@crosstar1228/SQL-join할때-on-과-where의-차이 + - https://codingdog.tistory.com/entry/mysql-on절-vs-where절-언제-어떻게-필터링-되는가 // 자세히 설명되어 있다. + -
-5. 화면 최소 3개 이상 쿼리 작성하기 - (완료된 내용 켬쳐본 올리기)
From edcd342d3597c4ea2d816a954edc03b2c6c9e99c Mon Sep 17 00:00:00 2001 From: yeonjinJoo <102257328+yeonjinJoo@users.noreply.github.com> Date: Thu, 2 Nov 2023 07:20:36 +0900 Subject: [PATCH 02/11] =?UTF-8?q?[fix]=205=EC=A3=BC=EC=B0=A8=20=EC=A3=BC?= =?UTF-8?q?=EC=97=B0=EC=A7=84=20=EA=B3=BC=EC=A0=9C=20=EC=9D=BC=EB=B6=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Unit5/unit5.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Unit5/unit5.md b/Unit5/unit5.md index 6c41842..496fb70 100644 --- a/Unit5/unit5.md +++ b/Unit5/unit5.md @@ -28,9 +28,11 @@ -> 그렇다면 root에서 database를 생성하고, 그 database에 대한 모든 권한을 jooyj0529에게 설정해 주면 어떨까? 2. root 사용자로 mysql 로그인하여 database db_test 생성 & 제대로 생성되었는지 확인 + ![스크린샷 2023-11-02 06 32 29](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/6f4cd2dc-7e00-42c1-b730-5e3dd272de70) 3. root 사용자에서 GRANT 이용해서 joyj0529에게 db_test에 대한 모든 권한을 부여하고, FLUSH 이용해 변경사항 저장 & 제대로 저장되었는지 확인 + ![스크린샷 2023-11-02 06 34 56](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/eeb42d28-c48b-418d-9dbc-71f7f347ac67) 4. 해결완료! 이제 jooyj0529로 로그인하여 db_test에 table을 생성하고 삭제할 수 있다. @@ -44,8 +46,10 @@ 해결 방법 : ![스크린샷 2023-11-02 06 44 31](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/0ec863a2-530a-4891-b6ad-1cd117e8bf71) + ![스크린샷 2023-11-02 06 46 16](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/1fdf1a1b-71c1-46f2-8fd3-690f0efdeb56) + Export한 Query를 살펴보니, 위와같이 Table을 CREATE 한 뒤 밑에서 Primary key를 설정해주고 있었다. -> CREATE 할 때 AUTO_INCREMENT 되는 것이 primary key가 아니라서 문제가 발생하므로, CREATE 내부에서 userId를 primary key로 지정해주자. @@ -58,6 +62,7 @@
2. 데이터그립을 통해서 RDS에 접근하기 + ![스크린샷 2023-11-02 03 48 51](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/47210491-4553-4830-9d11-cda350f54f35) 어려움을 겪은 부분 : Host를 RDS의 endpoint로 설정하고, 보안그룹 인바인드 규칙도 추가하고, User와 password도 문제가 없었는데 계속 Communication failure이 일어났다 ( 혹시 몰라 password도 바꿔보았는데 효과 X ). @@ -88,11 +93,13 @@ 3. UserId = 1을 팔로우하는 사람들의 이름은 뭘까? 를 확인해보자 - USER table과 FOLLWER table을 JOIN 해보기 + ![스크린샷 2023-11-02 06 08 53](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/0ebe8f04-1038-425c-a8ea-cabe621fb4a8) from USER as U라고 쓴 것은 줄임말을 생성한 것이다. USER의 userId 값을 지칭하고 싶으면 U.userId로 표현 가능하다. JOIN 해보니 userId = 1을 팔로우하는 사람들의 이름을 알기 위해선 F.userId = 1 이고 F.userId = U.userId로 조건을 걸어줘야겠다는 생각이 들었다. - 이름을 가져오겠다고 선언하고, WHERE 사용해 조건 걸기 + ![스크린샷 2023-11-02 06 09 31](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/dcff10f9-1a38-41f6-945f-d9aff27d34c8) select U.name으로 이름이 궁금하다고 선언하고, WHERE을 사용해 조건을 걸었더니 userId = 1 ( yeonjin ) 을 팔로우하는 사람들이 누구인지 확인할 수 있었다. ( inner join이라 WHERE이나 ON을 둘 중 아무거나 사용해도 상관 없었다 ) From c73c1ff812cd2a26edc910f5e091e62d8b1b531e Mon Sep 17 00:00:00 2001 From: yeonjinJoo <102257328+yeonjinJoo@users.noreply.github.com> Date: Thu, 2 Nov 2023 07:21:43 +0900 Subject: [PATCH 03/11] =?UTF-8?q?[fix]=205=EC=A3=BC=EC=B0=A8=20=EC=A3=BC?= =?UTF-8?q?=EC=97=B0=EC=A7=84=20=EA=B3=BC=EC=A0=9C=20=EC=9D=BC=EB=B6=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=952?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Unit5/unit5.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Unit5/unit5.md b/Unit5/unit5.md index 496fb70..1f72739 100644 --- a/Unit5/unit5.md +++ b/Unit5/unit5.md @@ -45,6 +45,7 @@ 어려움을 겪은 부분 2: userId에 AUTO_INCREMENT 설정을 해 주었더니 ( 한 유저 생성될 때마다 자동으로 id 1씩 올라가면 좋기 때문 ), Table이 CREATE 되지 않았다. 에러메시지에 AUTO_INCREMENT 되는 것은 Primary key여야 하고, auto column은 한개여야 한다고 되어있었는데 둘 다 만족을 하는데도 생성이 되지 않았다. 해결 방법 : + ![스크린샷 2023-11-02 06 44 31](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/0ec863a2-530a-4891-b6ad-1cd117e8bf71) ![스크린샷 2023-11-02 06 46 16](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/1fdf1a1b-71c1-46f2-8fd3-690f0efdeb56) From 08222310e7a986bc5d82992441ccdef3b4d30cf6 Mon Sep 17 00:00:00 2001 From: yeonjinJoo <102257328+yeonjinJoo@users.noreply.github.com> Date: Thu, 2 Nov 2023 07:22:37 +0900 Subject: [PATCH 04/11] [fix --- Unit5/unit5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Unit5/unit5.md b/Unit5/unit5.md index 1f72739..c47d610 100644 --- a/Unit5/unit5.md +++ b/Unit5/unit5.md @@ -88,7 +88,7 @@ ![스크린샷 2023-11-02 05 34 40](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/73b4c01f-4454-4bb4-99d2-8bd9bcf975ca) - 2. FOLLWER에 follower, userId( 팔로워가 팔로우 하는 사람 ) 조합 3개 추가 뒤 확인 + 2. FOLLWER에 follower, userId( 팔로워가 팔로우 하는 사람 ) 조합 2개 추가 뒤 확인 ![스크린샷 2023-11-02 07 01 56](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/a36648a2-294d-43f8-8e31-caf929204fe2) From 00426e5b8f1103b29a1596cbf0fc8d06309e836e Mon Sep 17 00:00:00 2001 From: yeonjinJoo <102257328+yeonjinJoo@users.noreply.github.com> Date: Thu, 9 Nov 2023 05:36:12 +0900 Subject: [PATCH 05/11] Create Unit6 --- Unit6 | 1 + 1 file changed, 1 insertion(+) create mode 100644 Unit6 diff --git a/Unit6 b/Unit6 new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Unit6 @@ -0,0 +1 @@ + From 9974bfe9db4af3c16a485d6c3e84694a76de21ce Mon Sep 17 00:00:00 2001 From: yeonjinJoo <102257328+yeonjinJoo@users.noreply.github.com> Date: Thu, 9 Nov 2023 05:38:38 +0900 Subject: [PATCH 06/11] Update Unit6 --- Unit6 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Unit6 b/Unit6 index 8b13789..9daeafb 100644 --- a/Unit6 +++ b/Unit6 @@ -1 +1 @@ - +test From e41d0609e8e280a310fbeba70fbd71b99158e31f Mon Sep 17 00:00:00 2001 From: yeonjinJoo <102257328+yeonjinJoo@users.noreply.github.com> Date: Thu, 9 Nov 2023 05:39:47 +0900 Subject: [PATCH 07/11] Delete Unit6 --- Unit6 | 1 - 1 file changed, 1 deletion(-) delete mode 100644 Unit6 diff --git a/Unit6 b/Unit6 deleted file mode 100644 index 9daeafb..0000000 --- a/Unit6 +++ /dev/null @@ -1 +0,0 @@ -test From 1c7806a95f504cc2b3ca6a522a66b8786872e901 Mon Sep 17 00:00:00 2001 From: yeonjinJoo <102257328+yeonjinJoo@users.noreply.github.com> Date: Thu, 9 Nov 2023 06:10:26 +0900 Subject: [PATCH 08/11] =?UTF-8?q?[add]=206=EC=A3=BC=EC=B0=A8=20=EC=A3=BC?= =?UTF-8?q?=EC=97=B0=EC=A7=84=20=EA=B3=BC=EC=A0=9C=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Unit6/unit6.md | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 Unit6/unit6.md diff --git a/Unit6/unit6.md b/Unit6/unit6.md new file mode 100644 index 0000000..c011345 --- /dev/null +++ b/Unit6/unit6.md @@ -0,0 +1,53 @@ +### ⭐️ 6주차 과제 제출 ⭐️ + +## ❗️ 강의 수강 여부 +수강한 강의에 체크표시 해주세요~ + +- [x] HTTP 통신 +- [x] API +- [x] 데이터 포맷 - CSV, JSON, XML + +
+ +## ❗️ 6주차 과제 +1. 개발환경 구축하기 - nodejs 설치 및 사전에 올려둔 템플릿 적용하기 + + ![스크린샷 2023-11-09 04 42 23](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/982000c0-6401-435c-820c-b772050be544) + + 갑작스럽게 ssh 접속이 connection time out이 일어났으나, vs-code에서 Remote-SSH: Kill VS Code Server on Host를 통해 갑작스럽게 해결되었다. + 참고한 사이트 : + https://5bluewhale.tistory.com/25 +
+ +3. 자신이 설계한 DB와 연동해서 API설계 (CRUD) + + ![스크린샷 2023-11-09 05 29 31](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/7578e97c-9856-42db-9c54-47b91d374cc0) + + 고민되는 점 : + 1. API 설계 할 때, user 2의 팔로워에 변동을 주고 싶으면 /user/2/follower 이렇게 작성해야 할지, /follower 로 작성하고 query로 userId = 2를 주는게 맞는지 헷갈린다. + 2. 항상 /user/{userId}로 접근해야 하나? 아니면 /{userId} 이렇게 바로 접근 가능할까? + - 네이버웹툰, 인스타그램 api들을 확인해봤는데도 아직 감이 잘 안잡힌다. + - 인스타그램에서는 /유저이름/following 이런 식으로 following과 follower를 확인한다. 그에 반면, 네이버 블로그는 /AdminMain.naver로 설정하고 blogId = 유저이름 & Redirect = BuddyMe 이런식으로 설정해놓았다. + - 사이트마다 api 설계방식이 달라 아직 감이 잘 안잡힌다. 추가 공부가 필요할 것 같다. + +
+ +3. Postman으로 API 테스트 +4. + ![스크린샷 2023-11-09 04 29 48](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/741c5285-cbbb-44d4-953e-10a80f0d771f) + + ![스크린샷 2023-11-09 03 57 27](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/50ede8e8-0fa1-400c-9728-98cfa1e24ccd) + + +
+ +4. API Sheet 작성 + (완료된 내용 켬쳐본 올리기) + + ![스크린샷 2023-11-09 04 41 41](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/543eb813-8551-48be-a8bd-478c161dad4c) + + +
+ + + From f1010ef7cc787831dc29e6ce15b871f7362bbde8 Mon Sep 17 00:00:00 2001 From: yeonjinJoo <102257328+yeonjinJoo@users.noreply.github.com> Date: Thu, 23 Nov 2023 04:33:59 +0900 Subject: [PATCH 09/11] =?UTF-8?q?[add]=207=20&=208=EC=A3=BC=EC=B0=A8=20?= =?UTF-8?q?=EC=A3=BC=EC=97=B0=EC=A7=84=20=EA=B3=BC=EC=A0=9C=20=EC=A0=9C?= =?UTF-8?q?=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Unit7/unit7.md | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 Unit7/unit7.md diff --git a/Unit7/unit7.md b/Unit7/unit7.md new file mode 100644 index 0000000..4f880b6 --- /dev/null +++ b/Unit7/unit7.md @@ -0,0 +1,74 @@ +### ⭐️ 7주차 과제 제출 ⭐️ + +## ❗️ 강의 수강 여부 +수강한 강의에 체크표시 해주세요~ + +- [x] Restful API +- [x] Path Variable, Query Parameter + +
+ +## ❗️ notion에 키워드 정리 완료 여부 +내가 notion에 키워드를 정리를 완료한 경우 체크표시 해주세요~ + +- [x] 키워드 정리 완료 + +
+ +## ❗️ 7주차 과제 +1. GET 메소드 함수 작성 완료하기 + + index.js : 호출 시 가장 먼저 실행됨 + userRoute.js : API 지정해두는 곳 / index.js -> userRoute.js + userController.js : userRoute.js -> userController.js / 받은 값 형식 맞는지 등의 에러 체크 / Return = SUCCESS or ERROR + userService.js : Create, Update, Delete 비즈니스 로직 처리 / DB connection 후 userDao에 connection 전달 / Return = SUCCESS or ERROR + userProvider.js : 데이터베이스 다루는 애한테 이런거 너가해줘! 요청하기. GET 다룸 / DB connection 후 userDao에 connection 전달 / Return = DB 값 + userDao.js : 데이터베이스 직접 만지는 애 / Query 통해 DB 값 직접 변경 / Return = DB 값 + + baseResponseStatus.js : isSuccess인지, code는 무엇인지, 같이 전달할 message는 무엇인지 지정하는 곳 + ex ) SIGNUP_DESCRIPTION_LENGTH : {"isSuccess": false, "code": 2019, "message":"소개는 최대 45자리를 입력해주세요."} + + ![스크린샷 2023-11-23 04 17 14](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/253b080c-2fc4-40a2-9126-1562e751c52f) + + +
+ +2. GET 메소드 test 진행하기(postman 이용하기) + + ![스크린샷 2023-11-23 01 58 57](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/0a8957fb-17e1-4fd2-93ef-8b15bf21636a) + + ![스크린샷 2023-11-23 01 59 48](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/1fabeb7e-898b-45e5-88f2-d14a7e189dff) + + +
+ +3. SIGN UP POST 메소드 함수 작성 완료하기 + + userController.js의 postUsers 함수에 name, password, description이 제대로 형식에 맞는지 체크하였다. + + ![스크린샷 2023-11-23 04 20 10](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/10018439-b830-44c7-860d-28745c90332b) + + +4. SIGN UP POST 메소드 test 진행하기(postman 이용하기) + + ![스크린샷 2023-11-23 03 22 33](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/6a306a96-5aaf-4c2f-aee9-2d73f7e0dc3a) + + Post 실행 후, Datagrip을 통해 데이터가 제대로 add 되었는지, password가 hash처리가 잘 되었는지 확인하였다. + + ![스크린샷 2023-11-23 03 22 46](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/513be6fe-e099-49ae-afdd-28f81166da1f) + +5. Amazon ec2 ssh 연결 timeout 뜨는 이유 + - 다은 선배님이 알려주셔서 해결했던..!!! 기억해놓고 싶어서 적어놓게 되었습니당. + + - 이유 : Cpu 사용률이 Max를 찍으면서 강제로 연결을 끊어버린 것. 재부팅 하면 잠깐 동안은 해결되지만, 곧 다시 끊김. + t2.micro는 RAM이 1GB으로 적음 + + - 해결 방법 : SWAP 메모리를 지정한다. SWAP 메모리란 RAM이 부족할 경우가 있으므로 HDD의 일정공간을 마치 RAM처럼 사용하는 것이다. 이를 통해 반 강제적으로 RAM을 증설한 듯한 효과를 얻을 수 있다. + + - 참고 블로그 + 1. https://sundries-in-myidea.tistory.com/102 + 2. https://repost.aws/ko/knowledge-center/ec2-memory-swap-file + + + +
From 5694ed776d8ed625ff9360e91477728cd59a4071 Mon Sep 17 00:00:00 2001 From: yeonjinJoo <102257328+yeonjinJoo@users.noreply.github.com> Date: Thu, 23 Nov 2023 04:35:40 +0900 Subject: [PATCH 10/11] =?UTF-8?q?[fix]=207=20&=208=EC=A3=BC=EC=B0=A8=20?= =?UTF-8?q?=EC=A3=BC=EC=97=B0=EC=A7=84=20=EA=B3=BC=EC=A0=9C=20=EC=9D=BC?= =?UTF-8?q?=EB=B6=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Unit7/unit7.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Unit7/unit7.md b/Unit7/unit7.md index 4f880b6..d324e44 100644 --- a/Unit7/unit7.md +++ b/Unit7/unit7.md @@ -18,14 +18,14 @@ ## ❗️ 7주차 과제 1. GET 메소드 함수 작성 완료하기 - index.js : 호출 시 가장 먼저 실행됨 - userRoute.js : API 지정해두는 곳 / index.js -> userRoute.js - userController.js : userRoute.js -> userController.js / 받은 값 형식 맞는지 등의 에러 체크 / Return = SUCCESS or ERROR - userService.js : Create, Update, Delete 비즈니스 로직 처리 / DB connection 후 userDao에 connection 전달 / Return = SUCCESS or ERROR - userProvider.js : 데이터베이스 다루는 애한테 이런거 너가해줘! 요청하기. GET 다룸 / DB connection 후 userDao에 connection 전달 / Return = DB 값 - userDao.js : 데이터베이스 직접 만지는 애 / Query 통해 DB 값 직접 변경 / Return = DB 값 - - baseResponseStatus.js : isSuccess인지, code는 무엇인지, 같이 전달할 message는 무엇인지 지정하는 곳 + - index.js : 호출 시 가장 먼저 실행됨 + - userRoute.js : API 지정해두는 곳 / index.js -> userRoute.js + - userController.js : userRoute.js -> userController.js / 받은 값 형식 맞는지 등의 에러 체크 / Return = SUCCESS or ERROR + - userService.js : Create, Update, Delete 비즈니스 로직 처리 / DB connection 후 userDao에 connection 전달 / Return = SUCCESS or ERROR + - userProvider.js : 데이터베이스 다루는 애한테 이런거 너가해줘! 요청하기. GET 다룸 / DB connection 후 userDao에 connection 전달 / Return = DB 값 + - userDao.js : 데이터베이스 직접 만지는 애 / Query 통해 DB 값 직접 변경 / Return = DB 값 + + - baseResponseStatus.js : isSuccess인지, code는 무엇인지, 같이 전달할 message는 무엇인지 지정하는 곳 ex ) SIGNUP_DESCRIPTION_LENGTH : {"isSuccess": false, "code": 2019, "message":"소개는 최대 45자리를 입력해주세요."} ![스크린샷 2023-11-23 04 17 14](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/253b080c-2fc4-40a2-9126-1562e751c52f) From 20aefa9caccc921bcdb650e3bf8ee7bc36f0f4f2 Mon Sep 17 00:00:00 2001 From: yeonjinJoo <102257328+yeonjinJoo@users.noreply.github.com> Date: Thu, 23 Nov 2023 04:36:35 +0900 Subject: [PATCH 11/11] =?UTF-8?q?[fix]=207=20&=208=EC=A3=BC=EC=B0=A8=20?= =?UTF-8?q?=EC=A3=BC=EC=97=B0=EC=A7=84=20=EA=B3=BC=EC=A0=9C=20=EC=9D=BC?= =?UTF-8?q?=EB=B6=80=20=EC=88=98=EC=A0=952?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Unit7/unit7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Unit7/unit7.md b/Unit7/unit7.md index d324e44..1ac94bb 100644 --- a/Unit7/unit7.md +++ b/Unit7/unit7.md @@ -26,7 +26,7 @@ - userDao.js : 데이터베이스 직접 만지는 애 / Query 통해 DB 값 직접 변경 / Return = DB 값 - baseResponseStatus.js : isSuccess인지, code는 무엇인지, 같이 전달할 message는 무엇인지 지정하는 곳 - ex ) SIGNUP_DESCRIPTION_LENGTH : {"isSuccess": false, "code": 2019, "message":"소개는 최대 45자리를 입력해주세요."} + - ex ) SIGNUP_DESCRIPTION_LENGTH : {"isSuccess": false, "code": 2019, "message":"소개는 최대 45자리를 입력해주세요."} ![스크린샷 2023-11-23 04 17 14](https://github.com/yeonjinJoo/2023-Server-Study/assets/102257328/253b080c-2fc4-40a2-9126-1562e751c52f)