์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์ดํญ๊ณ์
- ๋ฐฑ์๋
- ChatGPT
- ์น๊ฐ๋ฐ
- ๋ฐฑ์คํ์ด
- ํ์ด์ฌ
- ๊ฐ๋ฐ์
- ์ฝ๋ฉํ ์คํธ
- ๋จ์ํ ์คํธ
- ๋ชจ๋ฐ์ผ์ฑํ๋ก๊ทธ๋๋ฐ
- ๋ฆฌ์กํธ๋ค์ดํฐ๋ธ
- ํ๋ก๊ทธ๋๋ฐ
- spring
- ๋ฐฑ์ค
- boj11653
- ๋ฆฌ์กํธ
- ์คํ๋ง
- ๊ทธ๋ฆฌ๋
- SSE
- ์ปดํจํฐ๊ณตํ
- ์ปด๊ณต
- ํ๋ก ํธ์ค๋
- ๋ฐฑ์ค1436
- ์๊ณ ๋ฆฌ์ฆ
- ์น๊ฐ๋ฐ๊ธฐ๋ก
- ์๋ฃ๊ตฌ์กฐ
- ์ฐ์ ์์ํ
- ์ฝ๋ฉ
- ์ปด๊ณต์
- ๊ทธ๋ฆฌ๋์๊ณ ๋ฆฌ์ฆ
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (72)
๐ป๐ญ๐ง๐
๋ชฉ๊ณผ ์คํ ๊ตฌ๋ถํ ์คํธ ๋์ญ ์ ํ๋ชฉ (๋ชฉ, ์คํ์ด)์ธ๋ถ ๋ก ๋๊ฐ๋ ์ํธ์์ฉ์ ๋ชจ๋ฐฉํ๊ณ ๊ฒ์ฌ์คํ (์คํ , ๋๋ฏธ, ํ์ดํฌ)๋ด๋ถ ๋ก ๋ค์ด์ค๋ ์ํธ ์์ฉ์ ๋ชจ๋ฐฉโญ๏ธ ๋ชฉ์ SUT ์ ๊ด๋ จ ์์กด์ฑ ๊ฐ์ ์ํธ ์์ฉ์ ๋ชจ๋ฐฉํ๊ณ ๊ฒ์ฌ. BUT! ์คํ ์ ๋ชจ๋ฐฉ๋ง ํจ์คํ ์ผ๋ก ์ํธ ์์ฉ์ ๊ฒ์ฆํ์ง ๋ง ๊ฒ์คํ ์ ์ธ๋ถ๋ก์ ํธ์ถ์ด ์ต์ข ๊ฒฐ๊ณผ๊ฐ ์๋๊ธฐ ๋๋ฌธ๊ณผ์๋ช ์ธ๊ฐ ํํ๊ฒ ๋ฐ์ํ ์ ์์๊ณผ์๋ช ์ธ : ์ต์ข ๊ฒฐ๊ณผ๊ฐ ์๋ ์ฌํญ์ ๊ฒ์ฆํ๋ ๊ดํ CQS (๋ช ๋ น ์กฐํ ๋ถ๋ฆฌ)์ ๋ชฉ & ์คํ ๋ช ๋ น : ์ฌ์ด๋ ์ดํํธ ์ด๋ → ๋ฐํ๊ฐ ์์ โก๏ธ ๋ชฉ์กฐํ : ์ฌ์ด๋ ์ดํํธ ์์ → ๊ฐ ๋ฐํ โก๏ธ ์คํ ์ด ๋์ ํผ์ฉํ๋ฉด ์๋จ๐๐ป CQS ์์น์ ํญ์ ๋ฐ๋ฅผ ์ ์๋ ๊ฒ์ ์๋์ง๋ง ์ต๋ํ ๋ฐ๋ฅด๋ ๊ฒ์ด ์ข์ ์๋ณํ ์ ์๋ ๋์๊ณผ ๊ตฌํ ์ธ๋ถ ์ฌํญ์๋ณํ ์ ์๋ ๋..
๋จ์ํ ์คํธ๋ ์ข์ ๋ถ์ ์งํ์ด์ง๋ง ๋์ ๊ธ์ ์งํ์ด๋ค ๊ณต์ ์์กด์ฑ : ํ ์คํธ ๊ฐ์ ๊ณต์ ๋๊ณ ์๋ก์ ๊ฒฐ๊ณผ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ ์๋จ์ ์ ๊ณตํ๋ ์์กด์ฑ ๋น๊ณต๊ฐ ์์กด์ฑ : ๊ณต์ ํ์ง ์๋ ์์กด์ฑ ํ๋ก์ธ์ค ์ธ๋ถ ์์กด์ฑ : ์ ํ๋ฆฌ์ผ์ด์ ์คํ ํ๋ก์ธ์ค ์ธ๋ถ์์ ์คํ๋๋ ์์กด์ฑโก๏ธ ํ๋ก์ธ์ค ์ธ๋ถ ์์กด์ฑ์ ๋๋ถ๋ถ ๊ณต์ ์์กด์ฑ์ ํด๋น but ๋ชจ๋ ๊ทธ๋ฐ ๊ฒ์ X โก๏ธ ์์ง ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ฐ์ดํฐ์ ๋ํ ํ๋ก์ ํ๋ฐ์ฑ ์์กด์ฑ : ๊ฐ๋ฐ์ ๋จธ์ ์ ๊ธฐ๋ณธ ์ค์น๋ ํ๊ฒฝ ์ธ์ ๋ฐํ์ ํ๊ฒฝ์ ์ค์ ๋ฐ ๊ตฌ์ฑ์ ์๊ตฌํจ or ๋น๊ฒฐ์ ์ ๋์์ ํฌํจํจ (e.g. ๋์ ์์ฑ๊ธฐ ๋๋ ํ์ฌ ๋ ์ง์ ์๊ฐ์ ๋ฐํํ๋ ํด๋์ค) ๋จ์ ํ ์คํธ์ ์ ์ ์์ ์ฝ๋ ์กฐ๊ฐ์ ๊ฒ์ฆํ๊ณ ๋น ๋ฅด๊ฒ ์ํํ๊ณ ๊ฒฉ๋ฆฌ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํจ ๐ก ํ ์คํธ๋ ์ฝ๋์ ๋จ์๊ฐ ์๋๋ผ ๋์์ ๋จ์๋ฅผ..
1. ์๊ฐ์ด๊ณผ ๋จ๋ฉด ๊ณ ๋ คํด๋ณด๊ธฐ.. import sys input=sys.stdin.readline 2. collections.Counter() ์์ ์ต๋น๊ฐ ๊ตฌํ๊ธฐ result = Counter๋ณ์์ด๋ฆ.most_common() → [(key, frequency), (key, frequency)] ์ด๋ฐ ์์ผ๋ก ๋์ค๋ฏ๋ก ์ต๋น๊ฐ์ ๊ฐ์ง๋ key ๊ฐ์ ์ป์ผ๋ ค๋ฉด result[0][0] ์ด๋ฐ ์์ผ๋ก ํ๋ฉด ๋จ SQL ๋ ์ง → TO_CHAR(์์ฑ, 'yyyy-mm-dd') ์ ๊ฐ์ด ๋ฌธ์์ด๋ก ๋ฐ๊ฟ์ ๋น๊ตํ๊ณ , ์ถ๋ ฅ๋ ํฌ๋งท์ ๋ง์ถฐ์ ํด์ผํจ. ์์ n ๊ฐ๋ง ์ถ๋ ฅํ๊ธฐ FETCH FIRST n ROWS ONLY ๋๋ --- where ์ ์ rownum

๊ธฐ์กด์ ๊ทธ๋ฅ ์์ฑ๋ ๋ต๋ณ์ผ๋ก ๋ฐ์๋ ChatGPT ์๋ต์ SSE(Serve-Sent-Event) ๋ฅผ ์ด์ฉํด ์ค์๊ฐ์ผ๋ก ์์ฑํ๋ ๊ฑธ๋ก ๋ณ๊ฒฝํ๊ฒ ๋์๋ค. ์ด๋ป๊ฒ ๋ฐ์์์ผํ ์ง ์ฌ๋ฌ ๋ฐฉ๋ฒ์ ์ฐพ์๋ณด๋๋ฐ SSE ํ์ค์ ์ ์ด์ POST ๋ฐฉ์์ ์ง์์ ํ์ง ์๋๋ค๊ณ ํ๋ค. (๊ทธ๋์ SSE๋ ๋ณดํต EventSource๋ฅผ ์ด์ฉํด ์๋ต์ ๋ฐ์ง๋ง ๋จ์ GET์ธ ๊ฒฝ์ฐ์๋ง ๊ฐ๋ฅํ๋ค.) ๊ทธ๋ฐ๋ฐ ๋๋ ๋ด๊ฐ ์์ฒญํ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ์ ๋ฐ์์ผํ๋ ๊ฒ์ด๋ฏ๋ก... ์์ฉ ๋ฐฉ์์ ์ฌ๋ฟ ์ฐพ์๋ณด์๋ค. ๊ทธ๋ฌ๋ ์ค ๋์ ์ํฉ์ ์์ฃผ ๋ฑ ๋ง๋ ์ ํ๋ฒ์ ์ค๋ช ๋ฑ์ฅ... ์ต๊ณ ์ธ์... https://www.youtube.com/watch?v=JxIQCOrsxxg ๋ฌผ๋ก ์ด ๋ถ์ ChatGPT ๊ธฐ๋ฅ์ ํ๋ก ํธ์๋์์ ๋ฐ๋ก ๊ตฌํํ๊ฑฐ๋ผ ์ฝ๊ฐ ์ฐจ์ด์ ์ด ์์๊ธฐ์ ์ด์..
์ด๋ฒ ํ๋ก์ ํธ ์ค์ ์ ค ๋งํ๋ ๋ฌธ์ ... ๋ฌธ์ ๊ฐ ์ด๋์ ๋ฐ์ํ๋.. ํ๋ฉด์ ์๋ ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ์ A to Z๋ฅผ ๋ฐฑ์๋์์ ๋ด๋นํ๋๋ก ๊ตฌํ์ ํ๋ค. ์ค๋๋ง์ ์ํ์ค ๋ค์ด์ด๊ทธ๋จ๋ ๊ทธ๋ ค๋ดค๋๋ฐ ์๋์ ๊ฐ๋ค. (draw. io ๋ ๊ทธ๋ฆฌ๊ธฐ๋ ์ฐธ ํธ๋ฆฌํ๋ฐ ์ ์ฅํ ๋ ํ์ง์ด ์กฐ๊ธ๋ง ๋ ๊ฐ์ ๋๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.. .ใ ..) ๋ก๊ทธ์ธ ์์ฒญ๋ถํฐ Authorization Code๋ฅผ ๋ฐ์ ์ฌ์ฉ์ ์ ๋ณด ์์ฒญํ๋ ๊ฒ๊น์ง ์๋ฒ์์ ์งํ์ ํ๊ณ ์ต์ข accessToken ๋๋ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ํด๋ผ์ด์ธํธ ์ธก์ผ๋ก ๋ฐํํ๋๋ก ๊ตฌํํ์๋ค. (ํ์์ด๋ฉด ์ธ์ฆ/์ธ๊ฐ๋ฅผ ์ํ accessToken๋ง, ๋นํ์์ด๋ผ๋ฉด ํ์๊ฐ์ ์ ๋ฐ๋ก ์งํํ ์ ์๋๋ก ์ฌ์ฉ์์ ๋ณด (name, email, picture) ์ ๋ด์๋ณด๋ธ๋ค. ๊ทผ๋ฐ ์ ๋ง ์์์น๋ ๋ชปํ๊ฒ ํ๋ก ํธ(Re..
์๊ตฌ์ฌํญ ๊ฒฝ๊ธฐ ์์ 30๋ถ ์ ๋ถํฐ ๊ฒฝ๊ธฐ ๋ฆฌ๋ ํ๋ฉด์์ QR ์ฝ๋๋ฅผ ๋์ธ ์ ์๋ค. ์ฐธ๊ฐ ์ธ์๋ค์ ์ด QR ์ฝ๋๋ฅผ ์ดฌ์ํ์ฌ ์ถ์ ์ฒดํฌ๋ฅผ ํ๋ค. ์คํ ์์ค์ธ zxing ์ ์ฌ์ฉํ์๋ค. ์ฝ๋๊ฐ ๊ฐ๊ฒฐํด์ ์ฌ์ฉํ๊ธฐ ์ฌ์ ๋ค! build.gradle ํ์ผ์ ์์กด์ฑ์ ์ถ๊ฐํด์ค๋ค. implementation group: 'com.google.zxing', name: 'javase', version: '3.5.0' implementation group: 'com.google.zxing', name: 'core', version: '3.5.0' createQr(User user, Long matchId) QR ์ฝ๋๋ฅผ ์์ฑํ์ฌ ๋ฐ์ดํธ ํ์์ผ๋ก ๋ฐํํ๋ ๋ฉ์๋ public ResponseEntity createQr(User u..

#mood ์๋ ๊ณํ์ aws ํ๋ฆฌํฐ์ด๋ ์ผ๋ง ์๋จ์์ํ ๋ฐ ๊ทธ๋ฅ ํ๋ก ํธ ์ชฝ์์ ์คํ๋ง application ๋ฐํด์ ์ฌ์ฉํ๋๊ฑธ๋ฃจ ํ์.. ํ๋๋ฐ ์ญ์๋ ์ฌ์ด ์ผ์ด ์๋์๋ค. ์ด์ฉ๋ฉด ๊ฑ ๋ฐฐํฌ ํ๋ฒ ๋ฑ ํด๋๋๊ฒ ์ค๋ซ๋์ ํ๋ค์ง ์์ ๊ฒ ๊ฐ๋ค...! ๊ทธ๋์ ๊ทธ๋ฅ ๋ฐฐํฌ๋ฅผ ํ๊ฒ ๋๋ค ํ๋ก ํธ์๋๋ก ๋ฆฌ์กํธ ์ฝ๋๋ ์ด๋ฏธ ec2์ ๋ฐฐํฌํด๋ณธ ๊ฒฝํ์ด ์์ผ๋ฏ๋ก ๋์ถฉ ๋น์ทํ๊ฒ ์ง ํ๊ณ ์์! ๊ทผ๋ฐ ๋ฐ๋ก ์ด์๊ฐ ๋ฐ์ํ๋ค. ๋ฆฌ์กํธ๋ก ๊ฐ๋ฐ์ ํ ๋ ๋ณด์ ์ค์ ์ด ๋ง์ด ์๋ค๋ณด๋ ๊ฑฐ์ ๋ค ๊นํ๋ธ์ ๋ฐ๋ก ํธ์๋ฅผ ํ์๊ณ gitignore ํ๋ node_modules ๋ง์ ๋ ๊ทธ๋ฅ npm installํ๋ฉด ๋ฐ๋ก ์์ฑ๋๋ ๊ฒ๋ค์ด์๋๋ฐ, ์คํ๋ง์ ์ผ๋จ gitignore ํด๋๊ฒ ๋ง์๊ณ ๊นํ๋ธ ํด๋ก ํด์ ์ ์ํ๋ก ๋ณต๊ตฌ์ํฌ ์๋ (npm install ์ฒ๋ผ..
์ฌ์ค ์ ๋ฉ์ธ ๊ธฐ๋ฅ์ธ ์ฐธ๊ฐ ์ ์ฒญ ๊ธฐ๋ฅ์ด๋ค. ์ฒ ์ ํ ๊ตฌ๋ถํด์ ๊ตฌํํ๋ ๊ธฐ๋ฅ๋ค์ด ์ด์ ๋ ์ด๊ฒ์ ๊ฒ ์์ด๊ธฐ ์์ํ๋๊น ์ด ๋ฉ์๋๋ ์ฌ๊ธฐ๋ค๊ฐ ๋๋๊ฒ ๋์๊น ์ ๊ธฐ๋ค๊ฐ ๋๋๊ฒ ๋์๊น.. ํ๋ ๊ณ ๋ฏผ์ด ์๊ธฐ๊ธฐ ์์ํ๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ ๋น์ฆ๋์ค ๋ก์ง ์ฐจ์์์ ๋ค๋ค์ผํ ์ ์ฝ ์กฐ๊ฑด๋ค์ด ์๊ธฐ๋ ์ ๋ฒ ์ฌ๋ฐ๋ค !! ๐ฅน๐ ๊ฒฝ๊ธฐ ์ฐธ๊ฐ ์ ์ฒญ ๊ธฐ๋ฅ์ ์กฐ๊ฑด์ ๋ค์๊ณผ ๊ฐ๋ค. โ user์ ์กฐ๊ฑด์ด ํด๋น ๋งค์น ํ๊ทธ๋ค์ ์กฐ๊ฑด๊ณผ ๋ถํฉํ์ง ์์ ๊ฒฝ์ฐ ์ฐธ๊ฐ ์ ์ฒญ ๋ถ๊ฐ โ match์ ํ์ฌ ์ฐธ๊ฐ ์ ์ฒญ ์ธ์์ด ์ ์ฒด ๋ชจ์ง ์ธ์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ, (์ฐธ๊ฐ ์ธ์์ ๋ชจ๋ ๋ชจ์งํ์ ๊ฒฝ์ฐ) ์ฐธ๊ฐ ์ ์ฒญ ๋ถ๊ฐ โ user ๊ฐ ์ด๋ฏธ ์ฐธ๊ฐ ์ ์ฒญํ ๋งค์น๋ค๊ณผ ์๊ฐ์ด ๊ฒน์น๋ฉด ์ฐธ๊ฐ ์ ์ฒญ ๋ถ๊ฐ โ ์ด์ธ๋ ์ฐธ๊ฐ ์ ์ฒญ ์๋ฃ ํ์ ํด๋น ๋งค์น์ ํ์ฌ ์ฐธ๊ฐ ์ ์ฒญ ์ธ์ ์ 1 ์ฆ๊ฐ ์ด ์กฐ๊ฑด..
์์ ๊ณผ ์ญ์ ๋ ์์๋๋ก ์ฌ์ ๋ค! ์๋ก์ด ํด๋์ค ์์ฑ์ด ์์ผ๋ฏ๋ก ํจํค์ง ๊ณ์ธต ๊ตฌ์กฐ๋ ๊ทธ๋๋ก๋ ์คํต! 1. ๋ชจ์ง๊ธ ์ญ์ public String deleteById(Long id){ try{ postRepository.deleteById(id); return "๋ชจ์ง๊ธ ์ญ์ ์๋ฃ"; }catch (Exception e){ return "๋ชจ์ง๊ธ ์ญ์ ์คํจ " + e; } } ์ Jpa๋ผ๋๊ฑฐ.. ์ ๋ง ๋ฌ๋ค ๋ชจ์ง๊ธ id๋ฅผ ์ ๋ฌ ์ธ์๋ก ๋ฐ์ JpaRepository ๋ฅผ ์์๋ฐ๋ PostRepository์ deleteById ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ํด๋น ๋ชจ์ง๊ธ์ ์ญ์ ํ๋ค. @DeleteMapping("/api/post/{id}") public ResponseEntity deletePostById(@PathVariable ..

๋ชจ์ง๊ธ์ ๋ฑ๋กํ ์ ์๋ api๋ฅผ ๊ตฌํํด๋ณธ๋ค. ๋ชจ์ง๊ธ์๋ ๊ธฐ๋ณธ์ ์ธ title, content , category, (๋ฑ๋กํ๋ ์ฌ์ฉ์์) userEmail (โก๏ธ ์ด๊ฑด ํ ํฐ์ ์ด์ฉํ ์ ์๊ฒ ๋๋ฉด ๋ณ๊ฒฝํ ์์ ์ด๋ค.) ์ด ํ์ํ๋ค. ์ถ๊ฐ์ ์ผ๋ก ๋ชจ์ง๊ธ ๋ฑ๋ก ์์ ํจ๊ป ์์ฑํด์ผ ํ Match ๊ฐ์ฒด์ ํ๋๋ค์ด ํ์ํ๊ณ ์ฑ๋ณ, ๋์ด๋, ๋์ด๋ ๋ฑ์ ํ๊ธฐํ ์ ์๋ Tag ๊ฐ์ฒด๊ฐ ๋ค์ด๊ฐ๋ค. (โ Match : ๊ฒฝ๊ธฐ ์ธ์ ์, ๊ฒฝ๊ธฐ ์ฅ์, ๊ฒฝ๊ธฐ ๋ ์ง๊ฐ ๋ค์ด๊ฐ๋ค.) ํ์ฌ๊น์ง์ ํจํค์ง ๊ณ์ธต ๊ตฌ์กฐ ๋๋ฆ๋๋ก ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌํ๋ ค๊ณ ๋ ธ๋ ฅ ์ค์ธ๋ฐ ์ํ๊ณ ์๋ ๋ชจ๋ฅด๊ฒ ๋ค..~ AddPostRequest.java ๋ชจ์ง๊ธ ๋ฑ๋ก ์ request body์ ๋ค์ด๊ฐ dto @NoArgsConstructor @AllArgsConstructor..