๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ199

[์—๋Ÿฌ] For queries with named parameters you need to use provide names for method parameters ๋ฌธ์ œ ์ƒํ™ฉ Like column์˜ enum ํƒ€์ž… column์—์„œ ํ•ด๋‹น ์—๋Ÿฌ ๋ฐœ์ƒ ๋ฐœ์ƒ ์›์ธ ํ•ด๋‹น ์—๋Ÿฌ๋Š”@Param() ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…์‹œ์ ์œผ๋กœ name ์ง€์ •์„ ํ•ด์ฃผ์ง€ ์•Š์•„ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. (ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์žˆ๋Š” update, delete ๋“ฑ์˜ query์˜ ๊ฒฝ์šฐ, ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ name์„ ์ œ๊ณตํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.) ํ•˜์ง€๋งŒ ๋‚˜์˜ ๊ฒฝ์šฐ์—๋Š” ์ด๋ฏธ ํ•ด๋‹น ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•ด ๋ช…์‹œํ•ด์ค€ ์ƒํƒœ์˜€๋Š”๋ฐ๋„ ์ž๊พธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• Java 8๋ฒ„์ „ ์ดํ›„๋ถ€ํ„ฐ๋Š” "Preferences(Command + ,) > Build, Execution, Deployment > Compiler > Java Compiler" ์—์„œ Additional command line parameters ๋ถ€๋ถ„์— -parameters ๋ฅผ .. 2023. 10. 5.
[์—๋Ÿฌ] MySQL Data truncated for column ๋ฌธ์ œ ์ƒํ™ฉ Like column์˜ enum ํƒ€์ž… column์—์„œ ํ•ด๋‹น ์—๋Ÿฌ ๋ฐœ์ƒ ๋ฐœ์ƒ ์›์ธ ํ•ด๋‹น ์—๋Ÿฌ๋Š” db์— ์žˆ๋Š” column๊ณผ ์ž๋ฃŒํ˜•์ด ์ผ์น˜ํ•˜์ง€ ์•Š์•„์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค ํ•˜์ง€๋งŒ ๋‚˜์˜ ๊ฒฝ์šฐ์—๋Š” db์™€ ์ฝ”๋“œ ๋ชจ๋‘ enum์œผ๋กœ ์ž˜ ์„ค์ •์ด ๋˜์–ด ์žˆ์—ˆ๋‹ค public class UserLikes { ... @Enumerated(EnumType.STRING) // Enum ํƒ€์ž…์œผ๋กœ ์ €์žฅ๋˜๋„๋ก ์„ค์ • @Column(nullable = false) private LikeEnum likeType; // Enum ํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝ ... } LikeEnum์˜ ๊ฐ’์ด ๋‹ฌ๋ผ์„œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ์˜€๋‹ค. ๊ธฐ๋Šฅ ์ถ”๊ฐ€๋ฅผ ์œ„ํ•ด Enum์— company๋ฅผ ๋จผ์ € ์ถ”๊ฐ€ํ•ด์„œ ์˜ฌ๋ ธ๋Š”๋ฐ, DB์˜ enum์—๋Š” company๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ๊ณ  ๋‚ด ๋กœ์ปฌ enumty.. 2023. 10. 4.
[Github Actions] PR open ์‹œ ๋ผ๋ฒจ ์ถ”๊ฐ€ํ•˜๊ณ  closed ์‹œ ์‚ญ์ œํ•˜๊ธฐ ํ˜„์žฌ ์ƒํ™ฉ PR ๋ฆฌ๋ทฐ ๊ด€๋ จ ๋ผ๋ฒจ์„ ๋งŒ๋“ค์–ด์„œ ๋ฆฌ๋ทฐ ์ƒํ™ฉ ๋ฐ ๋ฐ˜์˜ ์ƒํ™ฉ์„ ํŠธ๋ž˜ํ‚นํ•˜๊ณ  ์žˆ์—ˆ๋‹ค ํ๋ฆ„์€ ๋Œ€๋žต ์•„๋ž˜์™€ ๊ฐ™๋‹ค 1. PR open : ๋ฆฌ๋ทฐ ํ•„์š” ๋ผ๋ฒจ ์ถ”๊ฐ€ - ๋ฆฌ๋ทฐ์ค‘ : ๋ฆฌ๋ทฐ์–ด๊ฐ€ ๋ฆฌ๋ทฐ ์ค‘์ธ ๊ฒฝ์šฐ - ๋‹ต๋ณ€ ํ•„์š” : ๋ฆฌ๋ทฐ ๊ณผ์ • ์ค‘์— ์งˆ๋ฌธ์ด ์ƒ๊ฒจ PR ๋‹ด๋‹น์ž์˜ ๋‹ต๋ณ€์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ - ์ˆ˜์ • ์š”์ฒญ : request changes์ธ ๊ฒฝ์šฐ - ์ˆ˜์ • ๋ฐ˜์˜ ์ค‘ : ์š”์ฒญ๋œ ์ˆ˜์ • ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ - ๋จธ์ง€ ๊ฐ€๋Šฅ : ๋ฆฌ๋ทฐ์–ด๊ฐ€ ๋ฆฌ๋ทฐ ์™„๋ฃŒํ•˜๊ณ  ๋ฌธ์ œ ์—†๋Š” ๊ฒฝ์šฐ 2. PR close : ๋จธ์ง€ ๊ฐ€๋Šฅ ๋ผ๋ฒจ ์‚ญ์ œ ํ•˜์ง€๋งŒ ๋งค๋ฒˆ PR์„ ์˜ฌ๋ฆด ๋•Œ๋งˆ๋‹ค ๋ผ๋ฒจ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ๋„ ๊ท€์ฐฎ์•˜๋‹ค ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์‹ซ์—ˆ๋˜ ๊ฒƒ์€ PR์„ ๋จธ์ง€ํ•œ ์ดํ›„์— ๋‚จ๋Š” ์ง„ํ–‰๊ณผ์ • ๋ผ๋ฒจ๋“ค์ด์—ˆ๋‹ค!! ์ง€๊ธˆ๊นŒ์ง€๋Š” ์ˆ˜๋™์œผ๋กœ ๋จธ์ง€ ์‹œ ํ•ด๋‹น ๋ผ๋ฒจ์„ ์ œ๊ฑฐํ•˜๊ณ  ์žˆ์—ˆ์ง€๋งŒ PR ๊ฐœ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚จ.. 2023. 8. 15.
[์„ค๊ณ„] Image ์ „์†ก๊ณผ ๋ฐ์ดํ„ฐ ์ „์†ก API ๋ถ„๋ฆฌ ํ˜„์žฌ ์ƒํ™ฉ ๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ๋ฐ์ดํ„ฐ JSON๊ณผ ์ด๋ฏธ์ง€(form-data)๋ฅผ ํ•˜๋‚˜์˜ API๋ฅผ ํ†ตํ•ด ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ์  ๋ณดํ†ต ์ด๋ฏธ์ง€์™€ JSON๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๊ป˜ ๋ณด๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. API๋ฅผ ์ „์†กํ•  ๋•Œ๋Š” ๋ณดํ†ต content/type์„ application/json์œผ๋กœ ์ „์†กํ•˜๋Š”๋ฐ ์ด๊ฒƒ์€ multipart/formdata ๋ฐฉ์‹์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์ด์— ๋”ฐ๋ผ, ๋ฐฉ๋ฒ•์€ 2๊ฐ€์ง€ ์ธ๋ฐ ๋ถ„๋ฆฌํ•ด์„œ ์š”์ฒญํ•˜๊ธฐ ์„œ๋ฒ„๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ €์žฅํ•˜๊ณ , ์ €์žฅ๋œ ์ด๋ฏธ์ง€์˜ id(๋˜๋Š” ํŒŒ์ผ๋ช…)๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์ด๋ฏธ์ง€์˜ id์™€ ์ „์†กํ•  ๋ฐ์ดํ„ฐ๋ฅผ application/json์œผ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. base64 ์ธ์ฝ”๋”ฉ ์ด๋ฏธ์ง€๋ฅผ base64๋กœ ์ธ์ฝ”๋”ฉํ•ด์„œ application/json์œผ๋กœ ์ „์†กํ•  ๋ฐ์ดํ„ฐ์™€ base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์ด๋ฏธ์ง€๋ฅผ ํ•จ๊ป˜.. 2023. 8. 13.