GitHub Actions๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CI/CD ํŒŒ์ดํ”„๋ผ์ธ yml ํŒŒ์ผ
ยท
study
GitHub Actions๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CI/CD(์ง€์†์  ํ†ตํ•ฉ ๋ฐ ์ง€์†์  ๋ฐฐํฌ) ํŒŒ์ดํ”„๋ผ์ธ์„ ์„ค์ •ํ•˜๋Š” ์›Œํฌํ”Œ๋กœ์šฐ# ์›Œํฌํ”Œ๋กœ์˜ ์ด๋ฆ„ ์ง€์ •name: CI/CD#์›Œํฌ ํ”Œ๋กœ๊ฐ€ ์‹œ์ž‘๋  ์กฐ๊ฑด ์ง€์ •on: push: branches: [ main ]jobs: build: runs-on: ubuntu-latest #์‹คํ–‰ํ™˜๊ฒฝ ์ง€์ • #์‹คํ–‰ ์Šคํ… ์ง€์ • steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 with: distribution: 'corretto' java-version: '17' # ์‹คํ–‰ ๊ถŒํ•œ ๋ถ€์—ฌ - name: Grant execute permissio..
์–ธ๋ฆฌ์–ผ ํŽ˜์ŠคํŠธ 2024 ์ฐธ์—ฌ ํ›„๊ธฐ
ยท
study
https://epiclounge.co.kr/unrealfest24.php?utm_source=griff_db&utm_medium=click_newsletter&utm_campaign=egk_unreal_fest_2024_seoul&utm_content=register&utm_term=808 UNREAL FEST 2024 | SEOUL์–ธ๋ฆฌ์–ผ ํŽ˜์ŠคํŠธ(UNREAL FEST)๋Š” '์–ธ๋ฆฌ์–ผ ์„œ๋ฐ‹'์˜ ์ƒˆ๋กœ์šด ๊ธ€๋กœ๋ฒŒ ๋ธŒ๋žœ๋“œ์ž…๋‹ˆ๋‹ค.epiclounge.co.kr ์ตœ๊ทผ ๋น„๊ต์  ์‹œ๊ฐ„์  ์—ฌ์œ ๊ฐ€ ์ƒ๊ฒจ, ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ๋ถ„์•ผ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋˜ ์ค‘ ์ข‹์€ ๊ธฐํšŒ๋กœ ์–ธ๋ฆฌ์–ผ ํŽ˜์ŠคํŠธ์— ์ฐธ๊ฐ€ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.์˜จ๋ผ์ธ์œผ๋กœ ๋ฌด๋ฃŒ๋กœ ์‹œ์ฒญํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ์ง์ ‘ ํ˜„์žฅ์˜ ๋ถ„์œ„๊ธฐ๋ฅผ ๋Š๋ผ๊ณ  ์‹ถ์–ด์„œ ์˜คํ”„๋ผ์ธ ํ–‰์‚ฌ์— ์ฐธ์„ํ•ด ๋ณด์•˜๋‹ค.์–ธ๋ฆฌ์–ผ ํŽ˜์ŠคํŠธ๋Š” ์–ธ๋ฆฌ์–ผ ์—”์ง„๊ณผ ์—ํ”ฝ๊ฒŒ์ž„์ฆˆ์˜..
๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ์ฝ˜์†”์—์„œ OAuth2 ๋“ฑ๋กํ•˜๊ธฐ
ยท
study
OAuth๋ž€?OAuth๋ž€ Open Authorization์˜ ์ค„์ž„๋ง์œผ๋กœ, ์ •๋ณด์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐฉํ˜• ํ‘œ์ค€OAuth ์šฉ์–ด ์ •๋ฆฌ๋ฆฌ์†Œ์Šค ์˜ค๋„ˆ (resource owner)์ธ์ฆ ์„œ๋ฒ„์— ์ž์‹ ์˜ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ—ˆ๊ฐ€ํ•˜๋Š” ์ฃผ์ฒด. ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ฆฌ์†Œ์Šค ์˜ค๋„ˆ์— ํ•ด๋‹น๋ฆฌ์†Œ์Šค ์„œ๋ฒ„ (resource server)๋ฆฌ์†Œ์„œ ์˜ค๋„ˆ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๋ฆฌ์†Œ์Šค ์˜ค๋„ˆ์˜ ์ •๋ณด๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ์ฃผ์ฒด๋ฅผ ์˜๋ฏธ. ๋„ค์ด๋ฒ„, ๊ตฌ๊ธ€, ํŽ˜์ด์Šค๋ถ์ด ๋ฆฌ์†Œ์Šค ์„œ๋ฒ„์— ํ•ด๋‹น์ธ์ฆ ์„œ๋ฒ„ (authoriazation server)ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฆฌ์†Œ์Šค ์˜ค๋„ˆ์˜ ์ •๋ณด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ (client application)์ธ์ฆ ์„œ๋ฒ„์—๊ฒŒ ์ธ์ฆ์„ ๋ฐ›๊ณ  ๋ฆฌ์†Œ์Šค ์˜ค๋„ˆ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์ฒด๋ฅผ ์˜..
vue vite + spring boot ํ†ตํ•ฉ์œผ๋กœ ์—ฐ๊ฒฐํ•˜๊ธฐ
ยท
study
ํ”„๋กœ์ ํŠธ ๋™์ž‘ ๊ณผ์ •:1. Spring Boot ํ”„๋กœ์ ํŠธ์˜ `static` ๋””๋ ‰ํ† ๋ฆฌ์— Vue.js ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•œ ๊ฒฐ๊ณผ๋ฌผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.2. ์‚ฌ์šฉ์ž๊ฐ€ ์›น ํŽ˜์ด์ง€์— ์ ‘์†ํ•˜๋ฉด, Spring Boot ํ”„๋กœ์ ํŠธ ๋‚ด์˜ `static` ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” Vue.js ๋นŒ๋“œ ๊ฒฐ๊ณผ๋ฌผ์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.  ์กฐ๊ฑด:Spring ํ”„๋กœ์ ํŠธ์™€ Vue ํ”„๋กœ์ ํŠธ๋Š” ๊ฐ™์€ ํด๋” ์•ˆ์— ์œ„์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ:projectโ”œโ”€โ”€ springโ””โ”€โ”€ vue  vuevite.config.js build: {// ๋นŒ๋“œ ๊ฒฐ๊ณผ๋ฌผ์ด ์ƒ์„ฑ๋˜๋Š” ๊ฒฝ๋กœ outDir: '../spring/src/main/resources/resources/static' }, server: { proxy: { '/api':..
Vue js ์„ค์น˜ vue cli
ยท
study
vue/cli ์„ค์น˜ํ•˜๊ธฐ $ npm install -g @vue/cli $ vue --version โ‰ ๋ฌธ์ œ์‚ฌํ•ญ ๋ฌธ์ œ - vue ๋ฅผ ์„ค์น˜ํ–ˆ์ง€๋งŒ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๊ณ  ํ•จ. ํ™•์ธ $ npm list -g @vue/cli /Users/desktop/.npm-global/lib โ”œโ”€โ”€ @vue/cli@5.0.8 โ””โ”€โ”ฌ clear@ -> ./ โ””โ”€โ”€ @vue/cli@5.0.8 deduped vue cli ์„ค์น˜๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•ด์ค€๋‹ค. ์„ค์น˜๊ฒฝ๋กœ๋ฅผ ํ™•์ธ ํ›„ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ๋“ฑ๋กํ•ด์ค€๋‹ค ํ•ด๊ฒฐ - ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋“ฑ๋กํ•ด์ฃผ๊ธฐ $ vi ~/.zshrc # ์ถ”๊ฐ€ export PATH="/Users/desktop/.npm-global/bin:$PATH" $ source ~/.zshrc ๋‹ค์‹œ ๋ทฐ๋ฒ„์ „์„ ํ™•์ธํ•˜์—ฌ ํ™˜๊ฒฝ๋ณ€์ˆ˜๊ฐ€ ๋“ฑ๋ก์ด ๋˜์—ˆ๋Š”์ง€ ํ˜ธ์ถœ์ด ๋˜์—ˆ๋Š”์ง€ ํ™•์ธ..
git. pull request ๊ทธ๋ฆฌ๊ณ  ์•„ํŒŒ์น˜
ยท
study
ํ’€๋ฆฌํ€˜์ŠคํŠธ๋ผ๋Š” ๊ธฐ๋Šฅ์€ ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ ํ™œ์šฉํ•ด์„œ ๊ฐœ์ธ์ด๋‚˜ ํŒ€ ์—…๋ฌด์— ์ง„ํ–‰ํ•ด๋ณธ ๊ฒฝํ—˜์ด ์—†์–ด ์•„์‰ฌ์šด ์ฐฐ๋‚˜ ์ด๋ ‡๊ฒŒ ๋ฐฐ์šฐ๋ฉด์„œ ํ™œ์šฉํ•ด๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๊ฐ€ ์ƒ๊ฒจ ๊ธฐ์˜๊ฒŒ ์ˆ˜์—…์„ ๋“ฃ๊ณ  ์žˆ๋‹ค.   ํ’€๋ฆฌํ€˜์ŠคํŠธ์™€ ๊ด€๋ จํ•˜์—ฌ ์„ ์ƒ๋‹˜๊ป˜์„œ ํ•œ๋ถ„์˜ ์ผํ™”๋ฅผ ์ด์•ผ๊ธฐํ•ด์ฃผ์…จ๋‹ค.์ด์•ผ๊ธฐ๋ฅผ ๋“ฃ๊ณ ๋‚˜๋‹ˆ ์„ฑ์‹คํ•จ, ๋ฆฌ์•ก์…˜, ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋“ฑ์˜ ์ค‘์š”์„ฑ์„ ๋Š๊ผˆ๋‹ค. ๊ฐœ๋ฐœ์€ ํ˜ผ์žํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ํŒ€๊ณผ์˜ ์†Œํ†ต, ํ˜‘์—…์„ ๋‹ค์‹œ๊ธˆ ๊นจ๋‹ซ๋Š” ๊ณ„๊ธฐ์˜€๋‹ค. ๋งž์ง€๋งž์ง€.     ๊ทธ๋ ‡๊ธฐ์— ๋‚˜๋„ ๋”ฐ๋ผ์„œ ์•„ํŒŒ์น˜ ๋ ˆํฌ๋ฅผ ์ฐพ์•„๋ณด์•˜๋‹ค.์ด์ „์— ์ž๋ฐ” ์ˆ˜์—…ํ•˜๋ฉด์„œ ๋“ค์–ด๋ณธ maven ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ฐฉ๋ฌธํ–ˆ๋‹ค.  https://github.com/apache/maven/pulls GitHub - apache/maven: Apache Maven coreApache Maven core. Contribute to ap..
์›นํŽ˜์ด์ง€ ์†๋„ ์ธก์ • ํ•ด๋ณด๊ณ  ๊ฐœ์„ ํ•˜์ž, ๊ตฌ๊ธ€ ์›นํŽ˜์ด์ง€ ์†๋„ ์ธก์ • ์ตœ์ ํ™”ํ•˜๊ธฐ
ยท
study
Intro ํŽ˜์ด์ง€ ๋ฆฌ๋‰ด์–ผ์„ ๋‹ด๋‹น์œผ๋กœ ์ง„ํ–‰ํ•˜์˜€๋‹ค. ์˜คํ”ˆ ํ›„์—๋Š” ๊ตฌ๊ธ€ ์›นํŽ˜์ด์ง€ ์†๋„ ์ธก์ • ๋„๊ตฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ํŽ˜์ด์ง€ ์„ฑ๋Šฅ์„ ๊ฒ€์ฆํ•ด๋ณด์•˜๋‹ค. ๊ฒ€์ฆ ๊ฒฐ๊ณผ๋ฅผ ํ† ๋Œ€๋กœ ๊ฐœ์„ ์ด ํ•„์š”ํ•œ ์‚ฌํ•ญ๋“ค์„ ํŒŒ์•…๊ณผ ํ•ด๊ฒฐ ํ›„ ๊ธฐ๋ก Google Page Speed Insights ๋ฐ์Šคํฌํ†ฑ ๋ฐ ๋ชจ๋ฐ”์ผ์—์„œ ์›นํŽ˜์ด์ง€ ์‚ฌ์ดํŠธ ์„ฑ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ ๐Ÿ“Œ ๋ฌธ์ œ์  ์ด๋ฏธ์ง€ ๋กœ๋“œ๊ฐ€ ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ํ™•์ธ๋˜์—ˆ๋‹ค. ํ˜„์žฌ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ์ด๋ฏธ์ง€๋Š” png ํŒŒ์ผํ˜•์‹์œผ๋กœ ํฌ๊ธฐ๋„ ๊ฝค ํฐ ํŽธ์ด์˜€๋‹ค. ๋ถˆํ•„์š”ํ•œ ํŒŒ์ผ ์†Œ์Šค๋“ค์ด ๋งŽ๋‹ค๋Š” ์ ๋„ ๋ฌธ์ œ๊ฐ€ ๋˜์—ˆ๋‹ค. โœ” ๊ฐœ์„ ์‚ฌํ•ญ ์ฒดํฌํ•˜๊ธฐ ๋ฌธ์ œ๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด jpg, png ์ด๋ฏธ์ง€๋“ค์„ .webp ์ด๋ฏธ์ง€๋กœ ๊ต์ฒดํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. .webp๋ž€ ์ด๋ฏธ์ง€ ํ’ˆ์งˆ์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ๋‹ค๋ฅธ ํŒŒ์ผํ˜•์‹๊ณผ ๋น„๊ตํ•˜์—ฌ ๋” ๋‚ฎ์ถฐ์„œ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์— ์ ๊ทน์ ..
next.js ์‚ดํฌ์‹œ ์ฐ๋จน ์ •๋„ ํ•ด๋ณด๊ธฐ
ยท
study
์ฝ”๋”ฉ์• ํ”Œ next js ๊ฐ•์˜ ๋“ค์œผ๋ฉด์„œ ๊ธฐ๋กํ•จ ๐Ÿ‘€ Next js ํ’€์Šคํƒ ํ”„๋ ˆ์ž„ ์›Œํฌ (ํ”„๋ก ํŠธ + ๋ฐฑ) ๋ฆฌ์•กํŠธ ๋ฌธ๋ฒ•์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•จ ์ตœ์‹ ๋ฒ„์ „์—์„œ๋Š” ํŒŒ์ผ๊ณผ ํด๋”๋ฅผ ๋งŒ๋“ค๋ฉด ์ž๋™์œผ๋กœ html ํŽ˜์ด์ง€ ์ƒ์„ฑ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง ๊ธฐ๋Šฅ ๊ฐ€๋Šฅ ์ด๋ฏธ์ง€ ์ตœ์ ํ™” ํฐํŠธ ๋“ฑ๋“ฑ ํ›จ์”ฌ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ but ํฐ ํ”„๋กœ์ ํŠธ ์‹œ ๋ณต์žกํ•œ ํด๋”ํŒŒ์ผ๋“ค ์ปดํฌ๋„ŒํŠธ๋“ค์ด ์—„์ฒญ ๋งŽ์•„์ง ๊ทธ๋ƒฅ html๋ Œ๋”๋ง๋งŒ ์ž˜ํ•˜๋Š” ๐Ÿ“Œ์„ค์น˜ํ•˜๊ธฐ next.js 13.2.4 ๋ฒ„์ „ node js LTS ์„ค์น˜ 18 ๋ฒ„์ „ ์ด์ƒ npx create-next-app@latest --experimental-app ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์„ ์ •ํ•œ ํ›„ TypeScript/ESLint/Tailwind/src ๋””๋ ‰ํ† ๋ฆฌ ๋“ฑ ์‚ฌ์šฉ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•œ๋‹ค. (๋‚˜๋Š” ๋ชจ๋‘ no) โœ” next 13.2.4 ๋กœ ์ง„ํ–‰ npm r..
๋ž˜๋‹ˆ
'study' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก