Hello! ๐
โ Web Backend Developer happyhsryu
๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํ๊ณ ๊ณต์ ํ๋ ๊ธฐ์ ๋ธ๋ก๊ทธ์ ๋๋ค.
๋ด์ฉ์ด ๋ถ์กฑํ๊ฑฐ๋ ์๋ชป๋ ๋ถ๋ถ์ด ์์ ์ ์์ผ๋ ๋๋ฅธ ์ํด ๋ถํ๋๋ฆฝ๋๋ค.
โ Web Backend Developer happyhsryu
๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํ๊ณ ๊ณต์ ํ๋ ๊ธฐ์ ๋ธ๋ก๊ทธ์ ๋๋ค.
๋ด์ฉ์ด ๋ถ์กฑํ๊ฑฐ๋ ์๋ชป๋ ๋ถ๋ถ์ด ์์ ์ ์์ผ๋ ๋๋ฅธ ์ํด ๋ถํ๋๋ฆฝ๋๋ค.
โ email : happyhsryu@gmail.com
Spring์ Cache ์ถ์ํ๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด, ๋์ ์ผ๋ก ๋ณํ์ง ์๋๋ฐ, ์์ฃผ ํ์ํ ๋ฐ์ดํฐ๋ค์ ์กฐํํ๋ API๋ฅผ ํธ์ถํ ์ผ์ด ์ข ์ข ์๋ค. ๊ฐ๋จํ ์์๋ก ์๋์ ๊ฐ์ ์ํฉ์ด ์์ ์ ์๋ค.Frontend์์ select-box์ ๊ฐ์ ์ฑ์ฐ๊ธฐ ์ํ data List ์กฐํ์ธ๋ถ API์์ ํน์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋๋ฐ, ์ธ๋ถ API์์ ์ ๊ณตํ๋ ๋ฐ์ดํฐ์ ๊ฐฑ์ ์ฃผ๊ธฐ๊ฐ ๊ธธ ๋์์ฃผ ํธ์ถ๋๋ ๋ฐ์ดํฐ์ด์ง๋ง, ์ค์๊ฐ์ผ๋ก ๋ณํ๋ ๊ฐ์ด ์๋ ๋Spring์ ์์ฃผ ํธ์ถ๋๋ ๋ฉ์๋์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์บ์์ ์ ์ฅํ๊ณ , ์ดํ ๋์ผํ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ์บ์ ๋ ๊ฐ์ ๋ฐํํ์ฌ ์๋ต ์๋๋ฅผ ๋์ด๊ณ ์์คํ ๋ถํ๋ฅผ ์ค์ผ ์ ์๋๋ก ์บ์ฑ ๊ธฐ๋ฅ์ ์ถ์ํํ์ฌ ์ ๊ณตํ๋ค.์บ์ ๊ตฌํ์ฒด์ ๋ฌด๊ดํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก @Cacheable, @CacheEvict, ..
๋ณตํฉํค(Composite key)๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ณตํฉํค(Composite Key)๋, ๋ ๊ฐ ์ด์์ ์ปฌ๋ผ์ ์กฐํฉํ์ฌ ํ๋์ ๊ธฐ๋ณธ ํค(Primary Key)๋ก ์ฌ์ฉํ๋ ๊ฒ์ ์๋ฏธํ๋ค. ๋จ์ผ ์ปฌ๋ผ๋ง์ผ๋ก๋ ๋ฐ์ดํฐ์ ๊ณ ์ ์ฑ์ ๋ณด์ฅํ ์ ์์ ๋, ์ฌ๋ฌ ์ปฌ๋ผ์ ๋ฌถ์ด ํ๋์ ํค๋ก ์ฌ์ฉํ๋ ๋ฐฉ์์ด๋ค. ์๋ ํ ์ด๋ธ์ฒ๋ผ, ์ฃผ๋ฌธ๋ฒํธ์ ์ํ๋ฒํธ ๋๊ฐ๋ฅผ ๋ฌถ์ด์ผ ํ๋์ ๊ณ ์ ํ key๊ฐ ๋๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค.์ด๋ฐ ๊ฒฝ์ฐ์ JPA์์ ๋จ์ผํค๋ฅผ ์ฌ์ฉํ ๋๋ณด๋ค ๋ณต์กํ๊ณ , ๊ท์ฐฎ์ ์์ ์ด ํ์ํ๋ค. ๋ณตํฉํค๊ฐ ๊ผญ ํ์ํ์ง ์๋ค๋ฉด, ๋จ์ผํค ์ ๋ต์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ซ๋ค๊ณ ์๊ฐํ์ง๋ง,์ด๋ฏธ ์กด์ฌํ๋ ํ ์ด๋ธ์ ์ํฐํฐ ๋งคํ ํด์ผํ ๋๊ฐ ์์๊ฒ์ด๋ค.๋ณตํฉํค ๋งคํ ์ ํน์งkey class์ Serializable์ ๊ตฌํํด์ผ๋๋ค.key class์ equ..
NuxtLink ๊ฐ์๋ Vue Router์ ์ html์ ํ๊ทธ๋ฅผ ๋ชจ๋ ๋์ฒดํ๋ Nuxt3์ ๋ด์ฅ ์ปดํฌ๋ํธ์ด๋ค.๋ด๋ถ ๋งํฌ์ ์ธ๋ถ ๋งํฌ๋ฅผ ์๋์ผ๋ก ๊ตฌ๋ถํ๊ณ , ์ต์ ํ๋ฅผ ์ฌ์ฉํ์ฌ ๋งํฌ๋ฅผ ๋ ๋๋ง ํ๋ค.NuxtLink๋ ๋ด๋ถ ๋งํฌ์ธ์ง ์ธ๋ถ ๋งํฌ์ธ์ง ์๋์ผ๋ก ๊ฐ์งํ๊ณ ์ ์ ํ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.๋ด๋ถ ๋งํฌ (/main ๊ฐ์ ๊ฒฝ๋ก)๋ Vue Router๋ฅผ ์ฌ์ฉํด ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ด๋น๊ฒ์ด์ ์ ์ํํฉ๋๋ค.์ธ๋ถ ๋งํฌ (https://example.com)๋ ์ผ๋ฐ์ ์ธ ํ๊ทธ๋ก ๋ ๋๋ง ๋ฉ๋๋ค.๋ด๋ถ ๋ผ์ฐํ ์ด๋ ๊ฒ ๋ด๋ถ ๊ฒฝ๋ก์ /main์ผ๋ก ์ค์ ๋์ด ์๋ ๊ฒฝ์ฐ, ๋ด๋ถ์ ๋ค๋ฅธ ํ์ด์ง์ ์ฐ๊ฒฐํ๋ค. Main Page ์ธ๋ถ ๋ผ์ฐํ ์ด๋ ๊ฒ ์ธ๋ถ ๊ฒฝ๋ก url์ด ์ค์ ๋์ด์๋ ๊ฒฝ์ฐ, ์ธ๋ถ ์น์ฌ์ดํธ์ ์ฐ๊ฒฐํ๋ค. Nuxt Doc..
definePageMeta()pages/ ๋๋ ํฐ๋ฆฌ์ ์๋ ํ์ด์ง ์ปดํฌ๋ํธ์ ๋ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ค์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ปดํ์ผ๋ฌ ๋งคํฌ๋ก ํจ์์ด๋ค. ์ฃผ์ ์์๋ค์ ์๋์ ๊ฐ๋ค.definePageMeta๋ก ์ ์ํ ๋ฉํ๋ฐ์ดํฐ์ ์ฃผ์ ์์ โข alias์ฌ๋ฌ URL์ ๋์ผํ ํ์ด์ง๋ก ์ฐ๊ฒฐํ ์ ์๋๋ก ๋ณ์นญ์ ์ง์ ํฉ๋๋ค. โข keepaliveํ์ด์ง๋ฅผ ๋ก ๊ฐ์ธ ์ํ๋ฅผ ์ ์งํ๋๋ก ์ค์ ํฉ๋๋ค. โข key์ ๋ ๋๋ง์ ์ ์ดํ๊ธฐ ์ํ ํค ๊ฐ์ ์ค์ ํฉ๋๋ค. โข layoutํ์ด์ง์ ์ฌ์ฉํ ๋ ์ด์์์ ์ง์ ํฉ๋๋ค. false๋ก ์ค์ ํ๋ฉด ๋ ์ด์์์ ๋นํ์ฑํํ ์ ์์ต๋๋ค. โข layoutTransition / pageTransitionํ์ด์ง ๋ฐ ๋ ์ด์์ ๋ณ๊ฒฝ ์ ์ฌ์ฉํ ์ ํ ํจ๊ณผ๋ฅผ ์ค์ ํฉ๋๋ค. โข middlewareํ์ด์ง๋ฅผ ๋ก๋ํ๊ธฐ..
1. (๊ตฌ)Nuxt 2 Props ์ ์ธ props: { title: { type: String, default: '', }, seq: { type: Number, default: 1, }, },2. Nuxt3 Props ์ ์ธtitle ๋ค์ ? ๊ฐ ๋ถ์ด์๋ ๊ฒ์ ๋ณผ ์ ์๋ค.?๊ฐ ์์ ๊ฒฝ์ฐ undefined๋ ํ ๋นํ ์ ์๊ณ , ?๊ฐ ์์ ๊ฒฝ์ฐ ์ค์ง string๋ง ๊ฐ๋ฅํ๋ค.interface Props { title?: string; seq?: number;}defineProps(); 3. default๊ฐ ์ค์ interface Props { title: string; seq: number;}withDefaults(defineProps(), ..
Nuxt 3 ๊ณต์ ๋ฌธ์https://nuxt.com/docs/getting-started/installation Installation ยท Get Started with NuxtGet started with Nuxt quickly with our online starters or start locally with your terminal.nuxt.com0. node version# node versionnvm install 20nvm use 20npm -v1. create nuxt๋น ํด๋ ํ๋๋ฅผ ๋ง๋ค๊ณ , ํฐ๋ฏธ๋์์ pnpm์ผ๋ก ์ค์นํ๋ค.npx nuxi@latest init nuxt3_lecture 2. package manager ์ ํnpm ์ ํ 3. package.json ์์ (nuxi)nuxt3๋ถํฐ..
QueryDSL์ JPA์ ํจ๊ป ์ฌ์ฉํ์ฌ, ๋ณต์กํ ๋์ ์ฟผ๋ฆฌ, Join ์ฟผ๋ฆฌ ๋ฑ์ ์ต์ ํํด ์ค๋ค.์ด์ค BooleanExpression์ ์ฃผ๋ก ์ฌ์ฉํ์ฌ where ์กฐ๊ฑด์ ์ ์ธํ ํ๋ค.์ด ๊ธ์ Boolean expression์ ์ฌ์ฉํ๋ ์ฌ๋ฌ ์ํฉ์ ์ ๋ฆฌํ๊ณ , BooleanExpression์ด ์ ๊ณตํ๋ ๋ฉ์๋๋ฅผ ์ดํด๋ณธ๋ค.Version# versionspring-boot: 3.4.3JPA: 3.1.0querydsl: 5.0.0# build.gradledependencies { implementation "com.querydsl:querydsl-jpa:5.0.0:jakarta" annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta" annot..
์ผ๋ง ์ ์ ๋ดค๋ ์ธ์ ๊น์ ๊ธ์ ๋ด์ฉ์ ์๊ฐํ๊ณ ์ ํฉ๋๋ค. ์ผ๋ง ์ ์ ์ปค๋ฆฌ์ด๋ฆฌ๋ผ๋ ์ปค๋ฎค๋ํฐ์์ ํ ์๋์ด ๊ฐ๋ฐ์ ๋ถ์ด ์ด "์ฝ๋ ๊ฐ๋ ์ฑ๊ณผ ๋นผ๊ธฐ์ ๋ฏธํ"์ด๋ผ๋ ์ ๋ชฉ์ ๊ธ์ ๋ดค๋ค.์ฌ์ค ๋ด์ฉ์ ์ด๋์ ๋ ์๊ณ ์๋ ๋ด์ฉ์ด์๊ณ , ์ฌ๊ธฐ์ ๊ฐ์ฅ ํฐ ์ํ์ "์ฝ๋ฉ ์ฃผ์ง์"๋ผ๋ ์ฌ๋ฐ๋ ๋จ์ด๋ฅผ ์๊ฒ ๋ ๊ฒ์ด๋ค.์์ฝํ์๋ฉด "์ฝ๋ฉ ์ฃผ์ง์"ํ์ง ๋ง๊ณ ์ฝ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ผ๋ ๊ฒ์ด๋ค.๊ตฌ๊ธ ์ฝ๋ฉ ๊ฐ์ด๋๋ผ์ธ์ ๋ณด๋ฉด, ์ฝ๋ ๊ฐ๋ ์ฑ(Readability)๋ฅผ ๊ฐ์กฐํ๋ค๊ณ ํ๋ค. ์ฝ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํด์ผ, ๋ณธ์ธ์ด ๋์ค์ ๋ณธ์ธ์ ์ฝ๋๋ฅผ ๋ณผ ๋๋ ๋์์ด ๋๊ณ , ํ์ธ์ด ๋ณผ ๋๋ ๋์์ด ๋์ด ์ ์ง๋ณด์์ฑ ํฅ์์ ๋์์ด ๋๋ค๋ ๊ฒ์ด๋ค. ํ์ฌ์์ ์ ์ ์ผ๋ก ์ ์ฌ ํ ์๋์ด๋ถ๊ป ์ฒ์ ์ฃผ์ ๋ฐ์ ๊ฐ๋ ์ค ํ๋๋ "์ฝ๋ฉ ์ฃผ์ง์ ํ์ง ๋ง๋ผ"์ ๋น์ทํ ๋ด์ฉ์..
Github: RestApiServicehttps://github.com/HSRyuuu/Playground/tree/master/src/main/java/com/example/playground/spring/restapi Playground/src/main/java/com/example/playground/spring/restapi at master ยท HSRyuuu/PlaygroundContribute to HSRyuuu/Playground development by creating an account on GitHub.github.com ์ด ์ฝ๋๋ Lombok์ ์์กดํฉ๋๋ค. ์ฐธ๊ณ ํ์ธ์. ์ฌ์ฉ๋ฒ RestApiService restApiService = new RestApiService();..
Java ํ๋ก์ ํธ๋ฅผ ์ปดํ์ผํ๋ ค๋ฉด jdk๊ฐ ํ์ํ๋ค.์ปดํจํฐ๊ฐ java๋ฅผ ์ปดํ์ผ ํ๊ธฐ ์ํ javac๋ฅผ ์ฐพ์ ์ ์๋๋ก ํ๊ฒฝ๋ณ์๋ฅผ ์ค์ ํด์ jdk์ ์์น๋ฅผ ์ง์ ํด์ค์ผ ํ๋ค.์ปดํจํฐํํ jdk ์์น๋ฅผ ์๋ ค์ฃผ๋ ๊ณผ์ ..๊ฐ๋จํ์ง๋ง ์์๋๋ฉด ์์ผ๋ก ์์ฃผ ์ธ ๊ฒ ๊ฐ์์ ๊ธฐ๋กํด ๋๋ค.์ด ๊ธ์ 2024๋ 10์ 14์ผ, Windows 11 ๋ฒ์ ์ ์ฌ์ฉํ๋ ํ๊ฒฝ์์ ์์ฑํ๋ค.0. jdk ์ค์น์ฐ์ jdk๋ฅผ ์ค์นํด์ผ ํ๋ค.์ฌ๊ธฐ์ C:\dev_files\jdk\openjdk-1.8์ ์์นํ๋ค๋ ๊ฒ์ ๊ฐ์ ํ๊ณ ์ค๋ช ํ๋ค.1. ์์คํ ํ๊ฒฝ๋ณ์ ๊ฒ์ํด์ "์์คํ ํ๊ฒฝ๋ณ์ ํธ์ง"์ผ๋ก ๋ค์ด๊ฐ๋ ๋๊ณ ,์ ์ดํ - ์์คํ - ๊ณ ๊ธ ์์คํ ์ค์ (์์คํ ์์ฑ) - ํ๊ฒฝ๋ณ์๋ก ๋ค์ด๊ฐ๋ ๋๋ค.2-1. ์์คํ ๋ณ์ ์ค์ ์ค์ํ ๊ฒ์ jdk ์์น์ด๋ค.๊ทธ๋ฐ๋ฐ..
Kakao Developers์ด๋ฏธ์ง ์ค๋ช ์ ๊ฐ ์ด๋ฏธ์ง ๋ด์ฉ์ ๋ํ ์์น(๊ฒฝ๋ก) ์ ์ด๋์ผ๋ ์ฐธ๊ณ ํด ์ฃผ์ธ์. 1. KakaoDevelopers ์ ์https://developers.kakao.com/ Kakao Developers์นด์นด์ค API๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํด๋ณด์ธ์. ์นด์นด์ค ๋ก๊ทธ์ธ, ๋ฉ์์ง ๋ณด๋ด๊ธฐ, ์น๊ตฌ API, ์ธ๊ณต์ง๋ฅ API ๋ฑ์ ์ ๊ณตํฉ๋๋ค.developers.kakao.com 2. ์ ํ๋ฆฌ์ผ์ด์ ์ถ๊ฐํ๊ธฐ 3. ์ ํ๋ฆฌ์ผ์ด์ ์ถ๊ฐ 4.Rest API ํค ํ์ธ 5. Web ํ๋ซํผ ๋ฑ๋ก 6. ์ฌ์ดํธ ๋๋ฉ์ธ ์ค์ 7. ์นด์นด์ค ๋ก๊ทธ์ธ ํ์ฑํ, Redirect URI ๋ฑ๋ก 8. ๋์ ํญ๋ชฉ ์ค์ ์ฌ์ฉํ๋ ค๋ ๊ฐ์ธ ์ ๋ณด ๋์ ์ค์ ( email, nickname ์ ๋ณด ) 9. (์ถ๊ฐ) ์นด์นด์ค ๋ก๊ทธ์ธ ๋ฒ..
์๋ํ๋ธ๋?์๋ํ๋ธ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ๋ฒ๊ทธ, ์ฝ๋ ์ค๋ฉ, ๋ณด์ ์ทจ์ฝ์ ๋ฑ์ ๋ฐ๊ฒฌํ๊ธฐ ์ํ ์ ์ ์ฝ๋ ๋ถ์ ํด์ด๋ค. ์ค์น / ์ธํ 1. ์๋ํ๋ธ ์ค์นhttps://www.sonarsource.com/products/sonarqube/downloads/ Download | SonarQubeGet the latest LTS and version of SonarQube the leading product for Code Quality and Security from the official download page.www.sonarsource.com 2. ์๋ํ๋ธ ์คํ๋ค์ด๋ก๋ ํ์ผ ์์ถ ํ๊ธฐ์๋ํ๋ธ ์คํWindow: /bin/windows-x86-64/StartSonar.bat ์คํLinux: /bin/linu..
๋ฐฉํ๋ฒฝ์ด๋?๋ฐฉํ๋ฒฝ(Firewall)์ ๋คํธ์ํฌ ๋ณด์ ์์คํ ์ด๋ค. ๋ฏธ๋ฆฌ ์ ์๋ ๋ณด์ ๊ท์น์ ๋ฐ๋ผ ๋ค์ด์ค๊ณ ๋๊ฐ๋ ๋คํธ์ํฌ ํธ๋ํฝ์ ๋ชจ๋ํฐ๋งํ๊ณ ์ ์ดํ๋ ์ฅ์น ๋๋ ์ํํธ์จ์ด์ด๋ค. ๋ถ๋ฒ ์ ๊ทผ, ์ ์์ ์ ๊ทผ, ํธ๋ํฝ ๋ญ๋น ๋ฑ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค. ๋ฐฉํ๋ฒฝ์ ํธ๋ํฝ ํํฐ๋ง, ๋คํธ์ํฌ ์ธ๋ถํ, ๊ฐ์ ๋ฐ ๋ก๊น , ์ธ์ฆ, ํ๋ผ์ด๋ฒ์ ๋ณดํธ ๋ฑ์ ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ๋ฅ์ ํ๋ค.์ด์ค ์ธ๋ฐ์ด๋ ๊ท์น, ์์๋ฐ์ด๋ ๊ท์น์ ํธ๋ํฝ ํํฐ๋ง ๊ธฐ๋ฅ์ ํฌํจ๋๋ค. ํธ๋ํฝ ํํฐ๋ง(์ ๊ทผ ์ ์ด)ํธ๋ํฝ ํํฐ๋ง์ด๋ ๋ฐฉํ๋ฒฝ์ด ๋คํธ์ํฌ๋ฅผ ํตํด ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ ํจํท์ ๊ฒ์ฌํ๊ณ ์ ์ดํ๋ ๊ฒ์ ๋งํ๋ค.๋ฐฉํ๋ฒฝ์ด ํ์ฉํ ํธ๋ํฝ๋ง ๋คํธ์ํฌ๋ก ๋ค์ด์ค๊ฑฐ๋ ๋๊ฐ ์ ์๋๋ก ํ๋ค.ํธ๋ํฝ ํํฐ๋ง ๋ฐฉ์ ์ค ํจํท ํํฐ๋ง ๋ฐฉ์์ ๋ฐ์ดํฐ ํจํท์ ํค๋ ์ ๋ณด๋ฅผ ๋ถ์ํ์ฌ ํธ๋ํฝ์ ํ์ฉ/..
MyBatis๋?MyBatis๋ JdbcTemplate์ด ์ ๊ณตํ๋ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ๊ทธ๋ฌ๋ JdbcTemplate์ ๋ฌธ์ ์ ์ค ํ๋์ธ ์ฌ๋ฌ ์ค์ String ํ sql์ ์์ฑํด์ผ ํ๋ค๋ ์ ์ MyBatis๋ฅผ ์ด์ฉํ์ฌ ํด๊ฒฐํ ์ ์๋ค.MyBatis๋ SQL์ xml์ ํธ๋ฆฌํ๊ฒ ์์ฑํ ์ ์๊ณ , xml ๋ด์์ ๋์ ์ฟผ๋ฆฌ๋ฅผ ๋งค์ฐ ํธ๋ฆฌํ๊ฒ ์์ฑํ ์ ์๋ค. JdbcTemplate์ ์คํ๋ง์ ๋ด์ฅ๋ ๊ธฐ๋ฅ์ด๊ณ , ๋ณ๋์ ์ค์ ์์ด ์ฌ์ฉํ ์ ์์ง๋ง, MyBatis๋ ์ฝ๊ฐ์ ์ค์ ์ด ํ์ํ๋ค. ๋ฐ๋ผ์ ๋์ ์ฟผ๋ฆฌ์ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ MyBatis๋ฅผ ์ฌ์ฉํ๊ณ , ๋จ์ํ ์ฟผ๋ฆฌ๋ค์ด ๋ง๋ค๋ฉด JdbcTemplate์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ ๊ฒ์ด๋ค. 2024.07.31 ์ถ๊ฐ๋จ์ํ ๋๋ฉ์ธ ๊ด๋ จ ์ํฐํฐ๋ฅผ ๋ถ๋ฌ์ค๋..
POSIX๋?POSIX : Portable Operating System Interface + UniX-> ์ด์ ๊ฐ๋ฅํ ์ด์ ์ฒด์ ์ธํฐํ์ด์ค + ์ ๋์ค ํธํ ์ด์์ฒด์ ์ ๋ณดํต X๊ฐ ๋ถ๋ ๊ฒ์์ ์ ๋ํ๋ค.
INSERT INTO : ๋ฐ์ดํฐ ์ถ๊ฐ id, name, loginId, password์ attribute๋ฅผ ๊ฐ๊ณ ์๋ MEMBER table์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋ ์์ ์ด๋ค. TABLE์ ์กด์ฌํ๋ ์ฌ๋ฌ๊ฐ์ง constraints๋ค์ ๋ง๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํด์ผํ๋ค. ๋ฐฉ๋ฒ 1 : ๋ชจ๋ ์์ฑ ์ ํ table์ ์กด์ฌํ๋ attribute์ ์์๋๋ก ๊ฐ์ ๋ฃ์ด์ค์ผ ํ๋ค. table์ ์กด์ฌํ๋ ๋ชจ๋ attribute์ ๊ฐ์ ๋ฃ์ด์ค์ผ ํ๋ค. (null์ด๋ผ๋ ๋ฃ์ด์ผํจ) insert into member values(3, 'Lee', 'Lee1', 'pwLee'); ๋ฐฉ๋ฒ 2 : column ์ง์ ์๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด, attribute ์์๋ฅผ ๋ง์ถ์ง ์์๋ ๋๋ค. (์์๋ฅผ ์ง์ ํด์ค๋ค.) ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋ชจ๋ attribut..
์ด์ ๊ธ์์ S3 bucket๊ณผ IAM์ ์์ฑํ๊ณ SpringBoot project์์ S3 ์ ๊ทผ์ ์ฌ์ฉํ accessKey์ secretKey๋ฅผ ์ป๋ ๊ฒ๊น์ง ๋ค๋ค๋ค. 2024.01.21 - [DevOps] - [AWS/S3] Spring boot project ์ด๋ฏธ์ง ์ ๋ก๋๋ฅผ ์ํด S3 ๋ฒ์ผ ๋ง๋ค๊ธฐ [AWS/S3] Spring boot project ์ด๋ฏธ์ง ์ ๋ก๋๋ฅผ ์ํด S3 ๋ฒ์ผ ๋ง๋ค๊ธฐ Amazon S3 ๋ฒํท ๋ง๋ค๊ธฐ IAM ๋ง๋ค๊ธฐ ์์ฑ ์๋ฃ IAM accessKey, secretKey ์ป๊ธฐ IAM - ์ฌ์ฉ์ - ๋ณด์ ์๊ฒฉ ์ฆ๋ช ์ก์ธ์ค ํค ๋ง๋ค๊ธฐ CLI ์ ํ accessKey, secretKey ์ ์ฅ ์ ๋ ๊ฐ์ง Key๋ฅผ ์ ์ฅํด ๋๋ค๊ฐ spring properties์ ๋ฑ innovation123.ti..
IntelliJ๋ก ์๋ฐ ํ๋ก์ ํธ ์ค, ํ๊ธ ๊นจ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์ด๋ VM, ์๋ฒ(Tomcat), ํ์ผ(JSP ๋ฑ), DB ์์ ๊ฐ๊ฐ ์ฌ์ฉํ๋ ์ธ์ฝ๋ฉ ๋ฐฉ์์ด ๋ฌ๋ผ์ ๋ฐ์ํ๋ค. ๋ฐ๋ผ์ ์ฌ์ฉํ๋ ๋ชจ๋ ๊ฒ๋ค์ ์ธ์ฝ๋ฉ์ ๊ฐ์ฅ ๋ฒ์ฉ์ ์ธ UTF-8๋ก ์ง์ ์ค์ ์ ํด์ค์ผ ํ๋ค. IntelliJ์์ ๊ฐ๋จํ๊ฒ VM, Tomcat, File์์ UTF-8 ์ธ์ฝ๋ฉ ์ค์ ์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. 1. IntelliJ VM Encoding ์ค์ 1) Help -> Edit Custom VM Options... 2) -Dfile.encoding=UTF-8 ์ถ๊ฐ 2. Tomcat Encoding ์ค์ 1) Run -> Edit Configurations ... 2) VM options -> -Dfile.encoding=U..
Apache POIApache POI๋ ์ํ์น ์ํํธ์จ์ด ์ฌ๋จ์์ ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.MS Office ํ์ผ ํฌ๋งท์ ์์ Java ์ธ์ด๋ก ์ฝ๊ณ ์ฐ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.https://poi.apache.org/ Apache POIโข - the Java API for Microsoft Documents Project News 2 July 2024 - POI 5.3.0 available The Apache POI team is pleased" data-og-host="poi.apache.org" data-og-source-url="https://poi.apache.org/" data-og-url="https://poi.apache.org/" data-og-image=""> Apache POIโข - the..
@PathVariable ๊ฒฝ๋ก๋ณ์ PathVariable์ ์ฌ์ฉํ๋ฉด ๋ฆฌ์์ค ๊ฒฝ๋ก์ ์๋ณ์๋ฅผ ๋ฃ์ด์ ๋์ ์ผ๋ก URL์ ์ ๋ณด๋ฅผ ๋ด์ ์ ์๋ค. URL ๊ฒฝ๋ก์ ์ค๊ดํธ { } ์์ชฝ์ ๋ณ์๋ฅผ ๋ด๊ณ , ๊ทธ ๋ณ์๋ฅผ @PathVariable(" ")๋ก ๋ฐ์์ ์ฌ์ฉํ ์ ์๋ค. 1. ๊ธฐ๋ณธ URL์{postId}์ ๋งค๊ฐ๋ณ์ long orderId์ ์ด๋ฆ์ ๋ง์ถฐ์ค๋ค. @GetMapping ("/order/{orderId}") public String getOrder(@PathVariable String orderId){ log.info("orderId : {}", orderId); return "orderId:"+ orderId; } ์์ฒญ : http://localhost:8080/order/123 ์๋ต : orderId:1..