๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • A space that records me :)

์ „์ฒด ๊ธ€78

[๊ฒฐํ˜ผ์ค€๋น„] ์›จ๋”ฉ๋ฐด๋“œ ๐Ÿค์•„ํฌ๋ ˆ๋„ ์ž ์‹ค ์—๋น„๋‰ด์—˜์ ๐Ÿค ๊ณ„์•ฝ ํ›„๊ธฐ ์•ˆ๋…•ํ•˜์„ธ์š”~!๋‚ด๋…„ 2์›” ์˜ˆ์‹, ์˜ฌํ•ด 9์›” ์›จ๋”ฉ์ดฌ์˜์„ ์•ž๋‘๊ณ  ์žˆ๋Š” ์˜ˆ๋น„์‹ ๋ถ€์ž…๋‹ˆ๋‹ค.์›จ๋”ฉ์ดฌ์˜๋•Œ ์›จ๋”ฉ๋ฐด๋“œ๋กœ ์‚ฌ์ง„์„ ์ฐ๊ณ  ์‹ถ์–ด์„œ์ผ์ฐ ๋งž์ถ”๋Ÿฌ ๊ฐ”์–ด์š”~!โ€‹๊นŒ๋ฅด๋ ์—, ๋ถˆ๊ฐ€๋ฆฌ ๋“ฑ ๋ช…ํ’ˆ ๋ธŒ๋žœ๋“œ๋„ ์ƒ๊ฐํ•ด๋ดค๊ณ ์˜ˆ๋ฌผ์ƒต์—์„œ ํ• ๊นŒ๋„ ํ–ˆ์ง€๋งŒ,๋ช…ํ’ˆ ๋ธŒ๋žœ๋“œ๋Š” ๋„ˆ๋ฌด ๋น„์‹ธ๊ณ  ๋ชจ๋‘๊ฐ€ ๊ฐ™์€ ๋””์ž์ธ์ด๊ณ ์˜ˆ๋ฌผ์ƒต์€ ๋˜ ๋„ˆ๋ฌด ํ™”๋ คํ•œ ๋Š๋‚Œ์ด ๊ฐ•ํ•œ ๊ฒƒ ๊ฐ™์•„์„œ๊ณ ๋ฏผํ•˜๋˜ ์ฐฐ๋‚˜์— ์•„ํฌ๋ ˆ๋„๋ผ๋Š” ๊ณณ์„ ์•Œ๊ฒŒ๋˜์—ˆ์–ด์š”~!โ€‹์šฐ์„  ๊ฐ€๊ฒฉ๋Œ€๊ฐ€ ์ €ํฌ ์˜ˆ์‚ฐ์— ์•Œ๋งž์•˜๊ณ ๋””์ž์ธ๋„ ๋‹ค์–‘ํ•˜๊ฒŒ ๋งŽ์•˜์„ ๋ฟ๋”๋Ÿฌ์‹ฌ์ง€์–ด ์ƒ‰์ƒ/์‚ฌ์ด์ฆˆ/๋‘๊ป˜/๋””์ž์ธ ๋“ฑ ์—ฌ๋Ÿฌ๋ฐฉ๋ฉด์œผ๋กœ ์ปค์Šคํ…€์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์—์„œ์•„ํฌ๋ ˆ๋„ ์ž ์‹ค ์—๋น„๋‰ด์—˜์ ์œผ๋กœ ๋ฐ”๋กœ ์งํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค!!โ€‹์›จ๋”ฉ๋ฐด๋“œ๋Š” ์‹ค๋ฒ„!๋ผ๋Š” ๋กœ๋ง์— ์‹ค๋ฒ„์œ„์ฃผ๋กœ ๊ปด๋ดค์ง€๋งŒ์•„๋‹ˆ ์„ธ์ƒ์—!! ์•ˆ์–ด์šธ๋ฆฌ๋”๋ผ๊ณ ์š”!!โ€‹์ƒ๋‹ดํ•ด์ฃผ์‹  ๋งค๋‹ˆ์ €๋‹˜์˜ ์ถ”์ฒœ์œผ๋กœ์•„ํฌ๋ ˆ๋„๋งŒ์˜ ์ƒ‰์ƒ์ธ ๊ณจ๋“œ ๋ฒ ์ด์ง€ ์ƒ‰์ƒ์„ ๊ปด๋ดค๋Š”๋ฐ์™„์ „ ์ฐฐ๋–ก์ด.. 2024. 6. 23.
[๊ฒฐํ˜ผ์ค€๋น„] ์•„์ดํฐ์Šค๋ƒ… ๐Ÿ’› ์–ผ์›จ์ด์ฆˆ ์Šค๋ƒ… ๐Ÿ’› ๊ณ„์•ฝํ›„๊ธฐ ๋ณธ์‹ ๋•Œ ์•„์ดํฐ ์Šค๋ƒ…์„ ์ถ”๊ฐ€๋กœ ํ• ์ง€ ๋ง์ง€ ์˜ค๋žœ ๊ณ ๋ฏผ ๋์—'์–ผ์›จ์ด์ฆˆ ์Šค๋ƒ…(always snap)' ์—…์ฒด๋กœ ๊ณ„์•ฝ์„ ํ–ˆ์–ด์š”! โ€‹https://www.instagram.com/always_snap_?igsh=MWV3dmQ5YzA4eTY0cA%3D%3D  ๋งŽ์€ ์•„์ดํฐ์Šค๋ƒ… ์—…์ฒด ์ค‘์—์„œ ์–ผ์›จ์ด์ฆˆ๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋œ ์ด์œ ๋Š”์•„๋ž˜ 3๊ฐ€์ง€๊ฐ€ ๊ฐ€์žฅ ํฝ๋‹ˆ๋‹ค~!์ •์‹ ์‚ฌ์—…์ž ๋“ฑ๋ก ํ•œ ์—…์ฒด๋กœ ์‹ ๋ขฐ์„ฑ์ด ๋†’๋‹ค.๊ฐ€์„ฑ๋น„ ์žˆ๋Š” ์—…์ฒด๋กœ 10๋งŒ ์›๋Œ€๋กœ ๊ฐ€๋Šฅํ•˜๋‹ค.์ „์ฒด์ ์ธ ๋ณธ์‹ ๋ถ„์œ„๊ธฐ๋ฅผ ๋‹ด์•„ ์ค€๋‹ค. ์ฒ˜์Œ์—๋Š” ๊ฐ€๊ฒฉ์ด ์ €๋ ดํ•ด์„œ ๋ˆˆ๊ธธ์ด ๊ฐ”๋Š”๋ฐ,์ธ์Šคํƒ€๋ฅผ ๋‘˜๋Ÿฌ๋ณด๋ฉด์„œ์ž์—ฐ์Šค๋Ÿฌ์šด ๊ตฌ๋„์™€ ์„ ๋ช…ํ•œ ์ƒ‰๊ฐ์ด ๋„ˆ๋ฌด ๋งˆ์Œ์— ๋“ค์—ˆ์–ด์š”ใ…Žใ…Ž   ๊ทธ๋ž˜์„œ ๋ฐ”๋กœ ์นด์นด์˜คํ†ก์œผ๋กœ ๋ฐ”๋กœ ๋ฌธ์˜๋ฅผ ๋“œ๋ ธ์–ด์š”ใ…Žใ…Ž2024๋…„์— ์ƒ๊ธด ์‹ ์ƒ ์—…์ฒด์ด์ง€๋งŒ๊ฝค ์ธ๊ธฐ ์žˆ์–ด์„œ ์ด๋ฏธ ๋งˆ๊ฐ๋์„ ๊นŒ๋ด ๊ฑฑ์ •ํ–ˆ๋Š”๋ฐ๋‹คํ–‰ํžˆ ์˜ˆ์•ฝ ์„ฑ.. 2024. 6. 23.
[Spring] Spring boot ๋™์ž‘ ์›๋ฆฌ Spring boot๋กœ ๊ฐœ๋ฐœ์„ ํ•œ์ง€ ๋ฒŒ์จ 3๋…„์ด ๋๋‹ค.ํ•˜์ง€๋งŒ Spring boot๋Š” Request์„ ๋ฐ›์•˜์„ ๋•Œ ์–ด๋–ค ๊ณผ์ •์„ ๊ฑฐ์ณ Responseํ•˜๋Š”์ง€ ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ๋ชจ๋ฅธ๋‹ค.๊ทธ๋ž˜์„œ ํ•œ๋ฒˆ ๊ฐ„๋žตํžˆ ์•Œ์•„๋ณด์•˜๋‹ค!๋จผ์ € ์•Œ์•„์•ผํ•˜๋Š” ์ง€์‹์ด ์žˆ๋‹ค.1.  ์‚ฌ์ „ ์ง€์‹๋”๋ณด๊ธฐweb.xmlContextLoaderListerServlet & Servlet ContainerFrontControllerRequestDispatcherDispatcherServletApplicationContextMessageConverterViewResolverweb.xmlSpring framework ๋™์ž‘์„ ์œ„ํ•œ ๋ชจ๋“  ์ดˆ๊ธฐ ์„ค์ •๋“ค์ด ๋“ค์–ด์žˆ๋‹ค.  ๋Œ€ํ‘œ์ ์ธ ์„ค์ •์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.ServletContext์˜ ์ดˆ๊ธฐ ํŒŒ๋ผ๋ฏธํ„ฐSession ์œ ํšจ์‹œ๊ฐ„ ์ •๋ณดMi.. 2024. 4. 26.
[Spring] ์ œ์–ด์˜ ์—ญ์ „ - IoC(Inversion of Control) IoC๋ž€? IoC : Inversion of Control (์ œ์–ด์˜ ์—ญ์ „) IoC๋Š” ์˜์กด์„ฑ ์ฃผ์ž… (DI)๋กœ ์•Œ๋ ค์ ธ์žˆ๋‹ค. Spring์€ Bean์„ ์ƒ์„ฑํ•˜๊ณ  ์˜์กด์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ณ , ๊ฐœ๋ฐœ์ž ๋Œ€์‹  ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊ด€๋ฆฌํ•œ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐœ๋ฐœ์—๋งŒ ๋ชฐ๋‘ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋Œ€์‹  ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์š”์•ฝํ•˜์ž๋ฉด, Spring์ด ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์™€ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. 1. IoC Container๋ž€? Spring์—๋Š” IoC๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์žˆ๋‹ค. Spring์ด ๊ด€๋ฆฌํ•˜๋Š” Bean ์ƒ์„ฑ ๋ฐ ์„ค์ •๋ฐฉ๋ฒ• ๋“ฑ์„ ๋‹ค๋ฃจ๋Š” Configuration Metadata๊ฐ€ ์กด์žฌํ•œ๋‹ค. IoC Container๋ฅผ Spring Container๋ผ๊ณ ๋„ ํ•œ๋‹ค. Spring IoC Container์—์„œ ๊ด€๋ฆฌ๋˜๋Š” ๊ฐ์ฒด๋ฅผ Bean์ด๋ผ๊ณ  ํ•œ๋‹ค.. 2024. 3. 10.
Spring๊ณผ Spring Boot๋ž€? Java ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•จ๊ป˜ ๊ณต๋ถ€ํ•ด์•ผ ํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋Š” Spring๊ณผ Spring Boot์ด๋‹ค. ๊ฐ™์€ ๊ฒƒ ๊ฐ™์œผ๋ฉด์„œ๋„ ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณธ๋‹ค. ๊ฒฐ๋ก ๋ถ€ํ„ฐ ์ ์–ด๋ณด์ž๋ฉด Spring์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ(ํ‹€)์„ ์ œ๊ณตํ•ด ์ฃผ๋Š” ๊ฒƒ์ด๊ณ  Spring Boot๋Š” Spring์˜ ๋‹จ์ ์„ ๋ณด์•ˆํ•ด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฑฐ๋‹ค. ์—ฌ๊ธฐ์„œ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ Spring Boot์—๋Š” Spring์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 1. Spring์˜ ๋“ฑ์žฅ ์†Œํ”„ํŠธ์›จ์–ด ๋ถ„์•ผ๊ฐ€ ๋ฐœ์ „ํ•˜๋ฉด์„œ ์—”ํŠธ๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ ์  ๋ณต์žกํ•ด์กŒ๊ณ  ๊ฐœ๋ฐœ์ž๋“ค์€ ์ ์  ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๋“ฑ์˜ ์„œ๋น„์Šค ์•ˆ์ •์„ฑ, ๋ณด์•ˆ, ์„ฑ๋Šฅ ๋“ฑ์„ ๊ณ ๋ คํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ ์ฐจ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•˜๊ธฐ ํž˜๋“ค์–ด์กŒ๊ณ  ์ด๋•Œ.. 2024. 3. 10.
[Spring boot] warning: unknown enum constant When.MAYBE ๋”๋ณด๊ธฐ ํ™˜๊ฒฝ spring boot v3 gradle java 17 ๐Ÿšซ ํ˜„์ƒ ์–ด๋Š๋‚  ๋ถ€ํ„ฐ ๋นŒ๋“œํ• ๋•Œ ์•„๋ž˜ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๊ฐ€ ๊ณ„์† ์˜ฌ๋ผ์™”๋‹ค.. ์—๋Ÿฌ๋Š” ์•„๋‹ˆ์ง€๋งŒ ๋งค์šฐ ๊ฑฐ์Šฌ๋ฆฐ๋‹ค. warning: unknown enum constant When.MAYBE reason: class file for javax.annotation.meta.When not found โœ๏ธ ์›์ธ @Nullable ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋กœ ์ด ๊ฒฝ๊ณ ๋Š” javax.annotation.meta.When ํ”„๋กœ์ ํŠธ ๋Ÿฐํƒ€์ž„์—์„œ ์—ด๊ฑฐํ˜•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๐Ÿ› ๏ธ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ ์ด๋ฅผ ์ˆ˜์ •ํ•˜๋ ค๋ฉด Google์˜ JSR305๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค. build.gradle์— ์˜์กด์„ฑ ์ถ”๊ฐ€ dependencies { implementation.. 2023. 10. 13.
[PostgresSQL] ์™ธ๋ถ€์ ‘์† ํ—ˆ์šฉ (Linux CentOS7) 1. ์‚ฌ์ „ ์ž‘์—… ๋ฐ ํ™•์ธ PostgresSQL ์„ค์น˜ PGDATA ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ ํ™•์ธ CentOS default : /var/lib/pgsql/{version}/data 2. postgresql.conf ์„ค์ • postgresql.conf์—์„œ listen_addresses='localhost' ์ฃผ์„ ์ œ๊ฑฐ ํ›„ '*'๋กœ ๊ฐ’์„ ๋ฐ”๊พธ๊ณ  port=5432 ๋ผ์ธ ์ฃผ์„ํ•ด์ œ ํ•œ๋‹ค. vi /var/lib/pgsql/{version}/data/postgresql.conf listen_address='*' port=5432 3. pg_hba.conf ์„ค์ • ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ pg_hba.conf์— ์ ‘์† ํ—ˆ์šฉ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•œ๋‹ค. echo "host all all 0.0.0.0/0 md5" >> /var/lib/pgsql/{ve.. 2023. 9. 27.
[Spring boot] Generating equals/hashCode implementation but without a call to superclass โ„น๏ธ Development Environment Spring boot v3.0.1 Gradle v7.6 Java v17 Lombok ๐Ÿšซ ํ˜„์ƒ Spring boot gradle build์‹œ ์•„๋ž˜ warning์„ ๋งค ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค ์ž์ฃผ ๋งŒ๋‚œ๋‹ค. warning์ด๊ธฐ์— ๋นŒ๋“œ์‹œ ๋ฌธ์ œ๋Š” ์—†์ง€๋งŒ, ํ•ด์†Œํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๊ณ„์† ๊นŒ๋จน๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋กํ•œ๋‹ค.. warning: Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. If this is intentional, add '@EqualsAndHashCode(callSuper=false)' t.. 2023. 9. 26.
[Keycloak] Keycloak์ด๋ž€? & ๊ฐ„๋‹จํ•œ ์„ค์น˜ ๋ฐ ํ…Œ์ŠคํŠธ ๊ณต์‹ ์‚ฌ์ดํŠธ : https://www.keycloak.org/ 1๏ธโƒฃ (What) Keycloak์ด๋ž€? Keycloak์€ RedHat ์‚ฐํ•˜ IAM ์†”๋ฃจ์…˜์ด๋‹ค. โ“ IAM ์†”๋ฃจ์…˜ (Identity and ACcess Management Soluthion) ํšŒ์›๊ฐ€์ž…, ๋กœ๊ทธ์ธ ์ธ์ฆ, ์ธ๊ฐ€, ๋กœ๊ทธ์ธ ์ด๋ ฅ๊ด€๋ฆฌ, ํšŒ์› ์ •๋ณด ์ˆ˜์ •, ํƒˆํ‡ด ๋“ฑ.. ์ธ์ฆ/์ธ๊ฐ€ ๊ธฐ๋Šฅ๋“ค์ด ๋ฏธ๋ฆฌ ๋‹ค ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” ์†”๋ฃจ์…˜์„ ๋งํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ Keycloak, AWS Cognito๊ฐ™์€ ์„œ๋น„์Šค๊ฐ€ ์žˆ๋‹ค. 1. ํŠน์ง• SSO (Single-sign-on)๋ฅผ ์ œ๊ณตํ•œ๋‹ค. Restful API ์ง€์› ๋ฐ Custom API๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. Java๋กœ ๊ฐœ๋ฐœ๋œ ์˜คํ”ˆ์†Œ์Šค์ด๋‹ค. https://github.com/keycloak/keycloak\ 2. ์ œ๊ณต ๊ธฐ๋Šฅ .. 2023. 9. 11.