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

ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€18

Baeldung ํ•ด์„ The Difference Between Collection.stream().forEach() and Collection.forEach() 1. Overview์ž๋ฐ”์—์„œ ์ปฌ๋ ‰์…˜์„ ๋ฐ˜๋ณตํ•˜๋Š” ์˜ต์…˜์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” 2๊ฐ€์ง€ ๋น„์Šทํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ดํŽด๋ณธ๋‹ค.๋Œ€๋ถ€๋ถ„ ๋‘˜๋‹ค ๋™์ผํ•œ ๊ฒฝ๊ณผ๋ฅผ ๋ณด์ด์ง€๋งŒ, ๋ช‡ ๊ฐ€์ง€ ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด์ ์„ ๋ณผ ์˜ˆ์ •์ด๋‹ค.2. Simple Lista. ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ ํ–ฅ์ƒ for๋ฌธ์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. for(String s : list) { // do something with s } b. ๋žŒ๋‹ค์‹์œผ๋กœ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค(Funtional-style) Consumer consumer = s -> { System.out::println }; list.forEach(consumer);.. 2024. 11. 21.
[JPA] ddl-auto ์˜ต์…˜ Spring JPA๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ์„ค์ •ํŒŒ์ผ(application.yml ๋˜๋Š” application.properties)์˜ ์„ค์ • ์ค‘ ํ•˜๋‚˜์ด๋‹ค.ddl-auto ์˜ต์…˜์—๋Š” create, update, validate, create-drop, none์ด ์žˆ๋‹ค. ๐Ÿ“Œ none- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๊ด€๋ จํ•˜์—ฌ ์•„๋ฌด ์ž‘์—…๋„ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๐Ÿ“Œ validate- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹œ์ž‘๋  ๋•Œ, ์—”ํ‹ฐํ‹ฐ ๋งตํ•‘์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ๊ฒ€์ฆ๋งŒ ํ•œ๋‹ค.- ๋ถˆ์ผ์น˜ํ•  ๊ฒฝ์šฐ, javax.persistence.PersistenceException์ด ๋ฐœ์ƒํ•˜๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘์ด ์‹คํŒจํ•œ๋‹ค. ๐Ÿ“Œ update-์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹œ์ž‘๋  ๋•Œ, ์—”ํ‹ฐํ‹ฐ ๋งตํ•‘๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋ฅผ ๋น„๊ตํ•œ๋‹ค. ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ์Šคํ‚ค๋งˆ๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.-์ฆ‰, ์ƒˆ๋กœ์šด.. 2024. 11. 19.
์Œฉ๊ตฌํ˜„ํ–ˆ๋˜ ๊ตฌ๊ธ€ OAuth ์ธ์ฆ ํ”„๋กœ์ ํŠธ์— Spring Security ์ ์šฉํ•˜๊ธฐ ์–ด์ œ ํ•˜๋ฃจ๋™์•ˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋„์›€ ์—†์ด, ์—ฌ๋Ÿฌ ์š”์ฒญ์ด ์™”๋‹ค๊ฐ”๋‹ค ํ•˜๋Š” ๊ณผ์ •์„ ์Œฉ์œผ๋กœ ๊ตฌํ˜„ํ•ด์„œ๊ตฌ๊ธ€ OAuth ๊ฐ„ํŽธ ํšŒ์›๊ฐ€์ž…์„ ๊ตฌํ˜„ํ•ด๋ณด์•˜์—ˆ๋‹ค.๐Ÿ“„ Spring Security, OAuth2 Client ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์“ฐ์ง€ ์•Š๊ณ  ๊ตฌ๊ธ€ OAuth ํšŒ์›๊ฐ€์ž… ๊ตฌํ˜„ํ•˜๊ธฐ ์ด๋ฒˆ์—๋Š” Spring Security์™€ OAuth2 Client ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ”๊ฟ”๋ณด์•˜๋‹ค. ์ด ๊ณผ์ •์—์„œ ์ƒ๊ฐ๋ณด๋‹ค ๊ณ ์ƒํ–ˆ๋‹ค.์ด์œ ๋Š” Spring Security ๋ฒ„์ „์ด ๋ฌด๋ ค 6.2.7์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ 6 ๋ฒ„์ „ ์ด์ƒ์€ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ฐ•์˜๋‚˜ ๊ต์žฌ๊ฐ€ ๊ฑฐ์˜ ์—†์—ˆ๊ณ ,๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋’ค์ ธ๋ด๋„ ์ž˜ ๋ชป์ฐพ๊ฒ ์–ด์„œ ๊ณ ์ƒํ•ด๊ฐ€๋ฉด์„œ ๊ฒจ์šฐ๊ฒจ์šฐ ์„ค์ •ํ–ˆ๋‹ค. ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€, ์Šคํ”„๋ง ํ•„ํ„ฐ ์ฒด์ธ์— ์‹œํ๋ฆฌํ‹ฐ ํ•„ํ„ฐ๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•์ด์—ˆ๋‹ค.์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ 5.7.x .. 2024. 11. 18.
[TIL] Spring Security, OAuth2 Client ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์“ฐ์ง€ ์•Š๊ณ  ๊ตฌ๊ธ€ OAuth ํšŒ์›๊ฐ€์ž… ๊ตฌํ˜„ํ•˜๊ธฐ โœ… ๊ฐœ๋ฐœํ™˜๊ฒฝSpringBoot 3.2.11, GradleJDK 17 ์ตœ๊ทผ ๋ฉฐ์น ๊ฐ„ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉด์„œ Spring Security์™€ OAuth2 Client ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•ด ๊ตฌ๊ธ€, ํŽ˜์ด์Šค๋ถ, ๋„ค์ด๋ฒ„ OAuth ํšŒ์›๊ฐ€์ž…๊ณผ ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•˜๋Š” ์—ฐ์Šต์„ ํ•ด๋ณด์•˜๋‹ค.๋งˆ์นจ ์š”์ฆ˜ ์ง„ํ–‰์ค‘์ธ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ด์ œ ๋ง‰ ๊ตฌํ˜„ ๋‹จ๊ณ„์— ์ง„์ž…ํ•ด์„œ, ์—ฌ๊ธฐ์— ๊ตฌ๊ธ€ OAuth ๋กœ๊ทธ์ธ๊ณผ ํšŒ์›๊ฐ€์ž…๋งŒ ์ ์šฉํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์„œ ๋‚ด๊ฐ€ ํ•œ ๋ฒˆ ์ ์šฉํ•ด๋ณด๊ฒ ๋‹ค๊ณ  ํ–ˆ๋‹ค. โœ… ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๋Š” ๊ฐ•์˜ ์† ํ”„๋กœ์ ํŠธ์™€๋Š” ๊ตฌ์กฐ์ ์ธ ์ฐจ์ด๊ฐ€ ์žˆ์—ˆ๋‹ค.๊ฐ•์˜ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋กœ๊ทธ์ธ๊ณผ ํšŒ์›๊ฐ€์ž…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๊ฐ€ ๋”ฐ๋กœ ์žˆ์ง€ ์•Š๊ณ ,ํ”„๋ก ํŠธ ์„œ๋ฒ„ ํ•˜๋‚˜๋ฅผ ๋‘๊ณ  Spring Security๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธ๊ณผ ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๋Š” ํ”„๋ก ํŠธ ์„œ๋ฒ„์™€ ๋ฐฑ .. 2024. 11. 17.
MYSQL์— ํ•œ๊ธ€ csv ํŒŒ์ผ importํ•˜๊ธฐ (์ „์ฒ˜๋ฆฌ ์—†์ด!) ์•„์นด๋ฐ๋ฏธ ์ˆ˜์—…์‹œ๊ฐ„์— https://jumin.mois.go.kr/ ์—์„œ ๋‹ค์šด๋ฐ›์€ csv ํŒŒ์ผ์„ Mysql์— import  ํ•ด์•ผํ•˜๋Š” ์‹ค์Šต์ด ์žˆ์—ˆ๋‹ค.Datagrip์œผ๋กœ ํŽธํ•˜๊ฒŒ ์ƒฅ ๋„ฃ์–ด๋ฒ„๋ฆฌ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐcsv ํŒŒ์ผ ์ปฌ๋Ÿผ๋ช…์ด ํ•œ๊ธ€์ด์–ด์„œ ๊ธ€์ž๊ฐ€ ๋‹ค ๊นจ์ง€๊ณ  ๋‚œ๋ฆฌ๊ฐ€ ๋‚ฌ๋‹ค. ๊ทธ์™€์ค‘์— Mysql Workbench๋กœ ์ž‘์—…ํ•˜๋Š” ํ•™์ƒ๋ถ„๊ป˜์„œ ์งˆ๋ฌธ์„ ํ•˜์…”์„œDatagrip๊ฐ™์€ ํˆด์˜ ๋„์›€ ์—†์ด ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด๋งŒ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ์ด๊ฒƒ์ €๊ฒƒ ์ฐพ์•„๋ณด์•˜๋‹ค. 1๏ธโƒฃ ํŒŒ์ผ๋ช…๊ณผ ํŒŒ์ผ ์ธ์ฝ”๋”ฉ ์„ค์ •์šฐ์„  ํŒŒ์ผ ์ด๋ฆ„๋ถ€ํ„ฐ ํ•œ๊ธ€ํŒŒ์ผ์ด๋ผ์„œ ํ„ฐ๋ฏธ๋„์—์„œ ํŒŒ์ผ๋ช…์„ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‰ฝ์ง€ ์•Š์•˜๋‹ค. ใ…Žใ…Ž ๊ทธ๋ž˜์„œ ๋‹ค์šด๋ฐ›์€ ํŒŒ์ผ ์ด๋ฆ„์„ ์˜์–ด(population_202410_1.csv)๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ , ํ˜น์‹œ ๋ชฐ๋ผ์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ํŒŒ์ผ ์ž์ฒด์˜ ์ธ์ฝ”๋”ฉ ๋˜ํ•œ utf-8๋กœ ๋ฐ”๊ฟ”์ฃผ์—ˆ๋‹ค.icon.. 2024. 11. 14.
[๋ฐฑ์ค€] 2xn ํƒ€์ผ๋ง 1, 2 https://www.acmicpc.net/problem/11726 https://www.acmicpc.net/problem/11727 ์„ธํŠธ์ฒ˜๋Ÿผ ์ƒ๊ธด ๋‘ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์•˜๋‹ค.์‰ฌ์šด DP ๋ฌธ์ œ๋ผ๊ณ  ํ•ด์„œ ๋ค๋ณ๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ๋นจ๋ฆฌ ๋ชปํ’€์—ˆ๋‹ค. ๋‘๋ฌธ์ œ ๋‹ค ๋‚ด๊ฐ€ ๋ช‡๋…„์ „์— ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ํ’€์—ˆ๋˜๊ธฐ ๊ธฐ๋ก์ด ์žˆ๋˜๋ฐ๊ทธ๋• ์–ด๋–ป๊ฒŒ ํ’€์—ˆ๋‚˜ ๋ชจ๋ฅด๊ฒ ๋‹ค ใ…Žใ…Ž ์šฐ์„  ๋‘ ๋ฌธ์ œ ๋ชจ๋‘, ๋ฌธ์ œ ํ’€์ด ๋ฐฉ๋ฒ•์€ ๋ชปํ’€๊ณ  ๊ณ ๋ฏผํ–ˆ๋˜ ์‹œ๊ฐ„์ด ์•„๊นŒ์šธ ์ •๋„๋กœ ์•„์ฃผ ๊ฐ„๋‹จํ–ˆ๋‹ค. n=1์ผ ๋•Œ๋ถ€ํ„ฐ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ฐ์ ธ๋ณด๊ณ  ์ ํ™”์‹์„ ์„ธ์šฐ๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. 2xn ํƒ€์ผ๋ง์˜ ๊ฒฝ์šฐ,๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋”ฐ์ ธ๋ณด๋ฉด ์ด๋ ‡๋‹ค.n=1 : 1๊ฐ€์ง€n=2 : 2๊ฐ€์ง€n=3 : 3๊ฐ€์ง€ (= 1 + 2)n=4 : 5๊ฐ€์ง€ (= 2 + 3)n=5 : 8๊ฐ€์ง€ (= 3 + 5)...ํ”ผ๋ณด๋‚˜์น˜์™€ ๋™์ผํ•œ ๊ทœ์น™์ด๋‹ค... 2024. 11. 13.
728x90