๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€ 293

[JavaScript] DOM ์ ‘๊ทผ์„ ํ†ตํ•ด CSS Module์˜ className ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ• (react.js, next.js)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” DOM ์ ‘๊ทผ์„ ํ†ตํ•ด CSS Module์˜ classname์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค . How to solve the problem ์ €๋Š” next.js ์—์„œ ํŠน์ • className ์„ ๊ฐ€์ ธ์™€์„œ ์ œ๊ฑฐํ•ด์ค˜์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. CSS Module์„ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ ์ปดํฌ๋„ŒํŠธ๋งˆ๋‹ค ์•„๋ž˜์˜ ํ˜•์‹์œผ๋กœ styles์„ ๊ฐ€์ ธ์™€์„œ ์Šคํƒ€์ผ์„ ์ ์šฉํ•ด์คฌ์Šต๋‹ˆ๋‹ค. import styles from './styles.module.css' ์ฐธ๊ณ ๋กœ css module ๋‚ด๋ถ€ ํ”„๋กœ์„ธ์Šค๋Š” css ํด๋ž˜์Šค๋‚˜ css ํŒŒ์ผ์„ ํ†ตํ•ด ๊ทธ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์„ ๊ณ ์œ ํ•˜๊ฒŒ ๋ฐ”๊ฟ”์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ importํ•˜๋Š” ๋ชจ๋“  css ํŒŒ์ผ์„ ๊ณ ์œ ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค์€ ์ด ๊ธ€ [React ..

[Python] ์žฅ๊ณ  (Django) Error: That port is already in use ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Intro ptyhon API Server ์‚ฌ์šฉ ์ค‘ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. Error: That port is already in use. Why? 1. ์ด๋ฏธ ๋„์–ด๋†“์€ ์„œ๋ฒ„๊ฐ€ ์ข…๋ฃŒ๋˜์ง€ ์•Š์•„์„œ ๊ฐ™์€ ํฌํŠธ์— ๋„์–ด ๋†“์„ ์ˆ˜ ์—†์„ ๋•Œ ํ•ด๋‹น ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. 2. ๋™์ผํ•œ ํฌํŠธ๋กœ ๋‹ค๋ฅธ ์„œ๋น„์Šค๊ฐ€ ์‚ฌ์šฉ ์ค‘์ผ ๋•Œ ํ•ด๋‹น ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. How to solve the problem ์ €์˜ ๊ฒฝ์šฐ 1๋ฒˆ ์ผ€์ด์Šค์˜€๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ ์ค‘์ด์˜€๋˜ 8000 ํฌํŠธ์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ๋‹ค์‹œ ์‹คํ–‰์‹œ์ผœ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์‹œ๋ฉด ํ•ด๋‹น ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค :) sudo lsof -t -i tcp:8000 | xargs kill -9

Programming/Python 2023.02.13

[Kotlin] ์ฝ”ํ‹€๋ฆฐ ํ˜„์žฌ ๋‚ ์งœ DateTime ์—์„œ ์‹œ๊ฐ„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ฝ”ํ‹€๋ฆฐ์—์„œ ํ˜„์žฌ ๋‚ ์งœ DateTime ์—์„œ ์‹œ๊ฐ„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to implement ์šฐ์„  LocalDateTime ์„ ํ†ตํ•ด ํ˜„์žฌ ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„์„ ๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ดํ›„ plusHours ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ๊ฐ’๋งŒํผ ์‹œ๊ฐ„์„ ๋”ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. import java.time.LocalDate import java.time.LocalDateTime fun main(args: Array) { val todayDateTime: LocalDateTime = LocalDateTime.now() println("Current date and time: $todayDateTime") println("Add 9 Hour date and time: ${today..

Programming/Kotlin 2023.02.13

[๊ตฌ๊ธ€ ์• ๋“œ์„ผ์Šค] ํ‹ฐ์Šคํ† ๋ฆฌ ๊ตฌ๊ธ€ ์• ๋“œ์„ผ์Šค(google adsense) 3๋ฒˆ ์‹œ๋„ ํ›„์— ์Šน์ธ ๋ฐ›์€ ํ›„๊ธฐ

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ๋“œ๋””์–ด ์ €๋„ ๊ตฌ๊ธ€ ์• ๋“œ์„ผ์Šค๋ฅผ ์Šน์ธ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค :-) ์ €๋Š” ํ‹ฐ์Šคํ† ๋ฆฌ ํ”Œ๋žซํผ์„ ์ด์šฉํ•˜์—ฌ ๊ตฌ๊ธ€ ์• ๋“œ์„ผ์Šค๋ฅผ ์‹ ์ฒญํ–ˆ๊ณ , 3๋ฒˆ์˜ ์‹œ๋„ ํ›„ ์Šน์ธ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Process ์šฐ์„  ์ œ ๋ธ”๋กœ๊ทธ๋Š” ๊ฐœ๋ฐœ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ๋‹ด์€ ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค. ์ˆ˜์ตํ˜• ๋ธ”๋กœ๊ทธ๋กœ๋„ ํ‚ค์šฐ๊ณ  ์‹ถ๊ณ , ๋™์‹œ์— ๊ทธ๋‚  ๋ฐฐ์› ๋˜ IT ๊ฐœ๋ฐœ ์ •๋ณด๋“ค์„ ์ •๋ฆฌํ•˜๊ณ  ์‹ถ์€ ๋งˆ์Œ์— ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ๋ฅผ ์‹œ์ž‘ํ–ˆ์–ด์š”. ์‚ฌ์‹ค ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ๋กœ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์„ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•ด ์™”๋Š”๋ฐ์š”, ์ˆ˜์ต์„ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์—†๋Š” ํ”Œ๋žซํผ์ด์–ด์„œ ์ฐธ ์•„์‰ฝ๋”๋ผ๊ณ ์š”. ์ด๋ฏธ ์จ๋†“์€ ํฌ์ŠคํŒ…๊ธ€์ด ์•„๊น๊ธด ํ–ˆ์ง€๋งŒ, ์ƒˆ๋กœ ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ๋ฅผ ์‹œ์ž‘ํ•ด ๋ณด๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. 2022๋…„ 8์›” ์ฒ˜์Œ ํ‹ฐ์Šคํ† ๋ฆฌ ๋ธ”๋กœ๊ทธ๋ฅผ ๊ฐœ์„คํ–ˆ๊ณ , 2022๋…„ 10์›”๊นŒ์ง€๋Š” ํฌ์ŠคํŒ…์„ ์—ด์‹ฌํžˆ ํ•˜์ง„ ์•Š์•˜์Šต๋‹ˆ๋‹ค. 11์›”๋ถ€ํ„ฐ 1์ผ 1 ํฌ์ŠคํŒ…..

[SpringBoot] ์Šคํ”„๋ง JPA limit pagesize ์ตœ๋Œ€๊ฐ’(maxSize) ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” ์Šคํ”„๋ง JPA์—์„œ pageSize ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ๋ฅผ ์ตœ๋Œ€๊ฐ’์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to set to maxSize @PageableDefault ์–ด๋…ธํ…Œ์ด์…˜์„ ํ™œ์šฉํ•˜์—ฌ, size๋ฅผ Integer.MAX_VALUE๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. size๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด, 2000์œผ๋กœ ์„ค์ •๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. public SomeResponseObject getSomething( @PageableDefault(size = Integer.MAX_VALUE) Pageable page ) { return someService.getSomething(page); } https://stackoverflow.com/questions/23751193/spring-data-..

[Springboot] ํŽ˜์ด์ง€๋„ค์ด์…˜ Pageable ๊ฐ์ฒด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์Šคํ”„๋ง๋ถ€ํŠธ์˜ Pageable ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ฐ์ฒด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ Task๋ฅผ ์ง„ํ–‰ํ•˜๋˜ ๋„์ค‘ ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š” ์š”๊ตฌ์‚ฌํ•ญ์ด ๋“ค์–ด์˜ธ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๋„ค์ด์…˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ์š”, ๊ทธ์ค‘์—์„œ๋„ ์ €๋Š” Spring Data JPA๋ฅผ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. Spring Data JPA๋ฅผ ์ด์šฉํ•˜๋ฉด Pageable ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€๋„ค์ด์…˜(pagination) ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. JPA Query ๋ฉ”์„œ๋“œ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ Pageable์„ ๋„˜๊ฒจ์„œ DB์— ์ฟผ๋ฆฌ๋ฅผ ๋‚ ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์•Œ์•„์„œ ์ž˜ ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค :-) Pageable Pageable๋Š” Pagination ์š”์ฒญ ์ •๋ณด๋“ค์„ ๋‹ด๊ธฐ ์œ„ํ•œ ์ถ”์ƒ ์ธ..

[Springboot] ์Šคํ”„๋ง๋ถ€ํŠธ + ๋ชฝ๊ณ (mongo)์—์„œ OR ์ฟผ๋ฆฌ query ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• (+ Criteria)

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์Šคํ”„๋ง๋ถ€ํŠธ + ๋ชฝ๊ณ (mongo)์—์„œ OR ์ฟผ๋ฆฌ query ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. How to do Criteria API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. Criteria criteria = new Criteria(); criteria.orOperator(Criteria.where("A").is(10),Criteria.where("B").is(20)); Query query = new Query(criteria); mongoOps.find(query, .class, "collectionName"); +) ์ฐธ๊ณ ๋กœ Criteria ์€ ๊ธฐ์ค€๊ฐ’์ด๋ผ๋Š” ์˜๋ฏธํž™๋‹ˆ๋‹ค. find ๋ฉ”์†Œ๋“œ ์•ˆ์—์„œ { age: { $gt: 18 } } ์™€ ๊ฐ™์€ ์กฐ๊ฑด๋ฌธ์„ ์ž…๋ ฅํ•˜๋Š” ๋ถ€๋ถ„..

[MongoDB] ๊ฒŒ์‹œ๊ธ€ ์ฝ์Œ(read)/์•ˆ์ฝ์Œ(unread) ํ‘œ์‹œ ์ƒํƒœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” MongoDB ๋ชฝ๊ณ ๋””๋น„์—์„œ ๊ฒŒ์‹œ๊ธ€ ์ฝ์Œ(read)/์•ˆ์ฝ์Œ(unread) ํ‘œ์‹œ์ƒํƒœ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. How to do ์šฐ์„  ์ œ ์ƒํ™ฉ์˜ ๊ฒฝ์šฐ ๊ณต์ง€์‚ฌํ•ญ Collection(๊ฒŒ์‹œ๊ธ€ Collection๋ผ๊ณ  ๋ด๋„ ๋ฌด๋ฐฉ), ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ์ž Collection์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. User user collection์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. _id, userId, userName ํ•„๋“œ๋ฅผ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. { _id: user_uniqueId, userId: senderId, userName: userName } Notice notice collection์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. _id, noticeId, title, contents ํ•„๋“œ๋ฅผ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. { _id: us..

Database/monogodb 2023.02.11

[React] ๊ธฐ์กด ๋ฐ์ดํ„ฐ์—์„œ API Fetching ํ›„(๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ ํ›„) ์ƒˆ๋กœ ๋ถˆ๋Ÿฌ์˜จ ๋ฐ์ดํ„ฐ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ• / ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ํŽ˜์ด์ง€๋„ค์ด์…˜

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” React์—์„œ ๊ธฐ์กด ๋ฐ์ดํ„ฐ์—์„œ ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ ํ›„ ์ƒˆ๋กœ ๋ถˆ๋Ÿฌ์˜จ ๋ฐ์ดํ„ฐ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ณต์ง€์‚ฌํ•ญ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋˜ ๋„์ค‘ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋งŽ์•„์งˆ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„ ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ UI๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ API๋Š” ์Šคํ”„๋ง๋ถ€ํŠธ์˜ Pageable ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ๊ธฐ์กด ๋ฐ์ดํ„ฐ์—์„œ ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ UI๋ฅผ ํด๋ฆญํ•  ๋•Œ๋งˆ๋‹ค page ๊ฐ€ +1 ์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ์ƒˆ๋กœ ๋ถˆ๋Ÿฌ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ํ™”๋ฉด์— ๋ณด์—ฌ์ค˜์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. How to implement ์•„๋ž˜์™€ ๊ฐ™์ด NoticeList ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. fetchNotice๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ๋งˆ๋‹ค, ๊ธฐ์กด ๋ฐ์ดํ„ฐ์— ์ƒˆ๋กœ ๋ถˆ๋ ค์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์œ„ ์ฝ”๋“œ์—์„œ๋Š” ์ƒˆ๋กœ ๋ถˆ๋ ค์ง„ ๋ฐ์ดํ„ฐ๋งŒ์„ setN..

Framework/React 2023.02.11

[Springboot] JPA Projection ํ”„๋กœ์ ์…˜ ํ•˜๋Š” ๋ฐฉ๋ฒ•

Intro ์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Springboot ์Šคํ”„๋ง๋ถ€ํŠธ JPA์—์„œ ํ”„๋กœ์ ์…˜ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Projection? ๋จผ์ € ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ”„๋กœ์ ์…˜์— ๋Œ€ํ•œ ์˜๋ฏธ๋ฅผ ์‚ดํŽด๋ณผ๊ฒŒ์š”. ํ”„๋กœ์ ์…˜์€ ์—”ํ‹ฐํ‹ฐ์˜ ์†์„ฑ์ด ๋งŽ์„ ๋•Œ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์ด ๊ถ๊ธˆํ•˜์‹œ๋ฉด ์ผ์ „์— ์ œ๊ฐ€ ์ •๋ฆฌํ•ด๋†“์€ ํฌ์ŠคํŒ… ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค :) [MongoDB] ํ”„๋กœ์ ์…˜ (Projection) ์ด๋ž€? projection query ์‚ฌ์šฉ๋ฒ• How to do ์•„๋ž˜์˜ User domain ๊ฐ์ฒด๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์„ค๋ช…ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. @Document(collection = "user") class User( val userId: String?, val userName: String?, val user..

๋ฐ˜์‘ํ˜•