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

์ „์ฒด ๊ธ€61

[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.
[Android Build failed] Keystore file ... not found for signing config 'debug'. (MAC) ๋”๋ณด๊ธฐ ํ™˜๊ฒฝ mac react native android yarn build ๐Ÿšซ ์—๋Ÿฌ ๋ฐœ์ƒ ์ƒํ™ฉ React-native Android ๋นŒ๋“œ Failed Keystore file '.../ํŒŒ์ผ๋ช….keystore' not found for signing config 'debug'. BUILD FAILED in 22s error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8.. 2023. 9. 7.
[์บก์‚ฌ์ด์‹  ํ™”์ƒ] ์ฒญ์–‘๊ณ ์ถ” ํ™”์ƒ ํ›„๊ธฐ & ๊ณผ์ • ์ฒญ์–‘๊ณ ์ถ” ํ™”์ƒ์— ๊ฑธ๋ ธ๋‹ค..๐ŸŒถ๏ธ 2023.09.02 ์ฒญ์–‘๊ณ ์ถ” ํ™”์ƒ์— ๊ฑธ๋ ธ๋‹ค.. ์ฒญ์˜๊ณ ์ถ” ํ™”์ƒ์ด๋ž€.. ์บก์‚ฌ์ด์‹  ํ™”์ƒ์ด๋ผ๊ณ  ํ•˜๋ฉฐ ๊ฐ•ํ•œ ์ž๊ทน๋ฌผ์งˆ์ธ ์บก์‚ฌ์ด์‹ ,์•Œ๋ฆฌ์‹ ,ํ”ผํŽ˜๋ฆฐ ๋“ฑ๊ณผ ๊ฐ™์€ ์„ฑ๋ถ„์ด ํ”ผ๋ถ€์— ๋‹ฟ๊ฒŒ ๋˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ํ™”ํ•™์  ํ™”์ƒ์ด๋‹ค. ๊ณ ์ถ”๋ƒ‰์ด, ๊ฒจ์ž, ๋งˆ๋Š˜, ์ฒญ์–‘๊ณ ์ถ”, ํ›„์ถ” ๋“ฑ์œผ๋กœ ๋ฐœ์ƒํ•˜๋ฉฐ ์บก์‚ฌ์ด์‹  ํ™”์ƒ์˜ ์ฆ์ƒ์œผ๋กœ๋Š” ๋…ธ์ถœ๋œ ํ”ผ๋ถ€์—์„œ ์—ด๊ฐ, ํ™”๋ˆ๊ฑฐ๋ฆผ, ํ†ต์ฆ๊ณผ ๊ฐ€๋ ค์›€์ฆ์ด ์žˆ๋‹ค. ์งง๊ฒŒ๋Š” ๋ช‡์‹œ๊ฐ„, ๊ธธ๊ฒŒ๋Š” 1~2์ผ ์ •๋„ ์ง€์†๋  ์ˆ˜ ์žˆ๋‹ค. ์บก์‚ฌ์ด์‹  ํ™”์ƒ์€ ์‹ค์ œ ํ™”์ƒ์ด ์•„๋‹Œ ํ™”ํ•™์  ๋ฐ˜์‘์œผ๋กœ ์ธํ•œ ํ†ต์ฆ์ด ๋‡Œ์— ์ „๋‹ฌ๋˜๋ฉด์„œ ๋‡Œ๊ฐ€ ํ™”์ƒ์ž…์€ ๊ฒƒ๊ณผ ๊ฐ™์€ ํ†ต์ฆ์œผ๋กœ ์ธ์‹ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์บก์‚ฌ์ด์‹  ํ™”์ƒ์— ๋Œ€ํ•ด ๋ชฐ๋ž๋˜ ๋‚˜๋Š” ๊ฒ์—†์ด ๋งจ์†์œผ๋กœ ์ฒญ์–‘๊ณ ์ถ” 10๊ฐœ๋ฅผ ์—ด์‹ฌํžˆ ๋‹ค๋“ฌ์—ˆ๊ณ  ๊ผฌ๋ฐ• 24์‹œ๊ฐ„์„ ๊ฝ‰ ์ฑ„์›Œ ์ง€์˜ฅ์—์„œ ๋ณด๋ƒˆ๋‹ค. ์ด ๊ณผ์ •์„ ์žŠ์„ ์ˆ˜๊ฐ€ ์—†์–ด์„œ... 2023. 9. 4.