log

    AWS S3๋กœ CRA ๋ฐฐํฌ + GitHub Actions๋กœ ์ž๋™ํ™” (2)

    AWS S3๋กœ CRA ๋ฐฐํฌ + GitHub Actions๋กœ ์ž๋™ํ™” (2)

    ๐Ÿ GitHub Actions๋กœ ๋ฐฐํฌ ์ž๋™ํ™” ํ”„๋กœ์ ํŠธ์— CICD.yml ํŒŒ์ผ ์ƒ์„ฑ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ์— .github/workflows ํด๋”๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ํ•ด๋‹น ๊ฒฝ๋กœ์— CICD.yml ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์›๊ฒฉ์— ์—…๋กœ๋“œํ•œ๋‹ค. name: CI/CD on: push: branches: - main workflow_dispatch: jobs: cicd: runs-on: ubuntu-latest steps: - uses: actions/checkout@main - run: npm ci - run: npm run build - name: deploy to s3 uses: jakejarvis/s3-sync-action@master with: args: --delete env: AWS_S3_BUCKET: ${{ secrets.A..

    AWS S3๋กœ CRA ๋ฐฐํฌ + GitHub Actions๋กœ ์ž๋™ํ™” (1)

    AWS S3๋กœ CRA ๋ฐฐํฌ + GitHub Actions๋กœ ์ž๋™ํ™” (1)

    ๐Ÿ ์ •์  ์›น ์‚ฌ์ดํŠธ ๋ฐฐํฌ AWS ์ฝ˜์†”์—์„œ S3 ์„œ๋น„์Šค ์‚ฌ์šฉ AWS ์ฝ˜์†”๋กœ ์ด๋™ํ•œ๋‹ค. https://us-east-1.console.aws.amazon.com/console/home https://us-east-1.console.aws.amazon.com/console/home us-east-1.console.aws.amazon.com ๊ฒ€์ƒ‰์„ ํ†ตํ•ด S3 ์„œ๋น„์Šค๋กœ ์ด๋™ํ•œ๋‹ค. ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ ์ขŒ์ธก ๋ฉ”๋‰ด์—์„œ ๋ฒ„ํ‚ท ํƒญ์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฒ„ํ‚ท์€ ํ•˜๋‚˜์˜ ์ €์žฅ์†Œ ๊ตฌํš์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ๋ฅผ ํ†ตํ•ด ๋ฒ„ํ‚ท์„ ์ƒ์„ฑํ•œ๋‹ค. ๋ฒ„ํ‚ท ์ด๋ฆ„์™€ AWS ๋ฆฌ์ „ ์„ธํŒ…ํ•œ๋‹ค. ๊ฐ์ฒด ์†Œ์œ ๊ถŒ์€ ๊ถŒ์žฅํ•˜๋Š” ์„ธํŒ…์ธ ACL ๋น„ํ™œ์„ฑ์œผ๋กœ ๋‘”๋‹ค. ๋ฒ„ํ‚ท์˜ ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ ์„ค์ •์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด ์ฐจ๋‹จ์„ ํ•ด์ œํ•œ๋‹ค. ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ๋ฅผ ํ†ตํ•ด ..

    [์ผ๋Ÿฌ์ŠคํŠธ๋ ˆ์ดํ„ฐ] PSD ํŒŒ์ผ SVG๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ + ํ…์ŠคํŠธ ํŒจ์Šคํ™”

    [์ผ๋Ÿฌ์ŠคํŠธ๋ ˆ์ดํ„ฐ] PSD ํŒŒ์ผ SVG๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ + ํ…์ŠคํŠธ ํŒจ์Šคํ™”

    PSD ํŒŒ์ผ SVG๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ + ํ…์ŠคํŠธ ํŒจ์Šคํ™” 1. ์ผ๋Ÿฌ์ŠคํŠธ๋ ˆ์ดํ„ฐ์—์„œ [ํŒŒ์ผ - ์—ด๊ธฐ] ๋˜๋Š” ctrl + O๋กœ PSD ํŒŒ์ผ์„ ์—ด์–ด์ค€๋‹ค. 2. ์›ํ•˜๋Š” ์˜ต์…˜์— ์ฒดํฌํ•˜๊ณ  ํ™•์ธ์„ ํด๋ฆญํ•œ๋‹ค. (ํฌํ† ์ƒต์—์„œ ์ž‘์—…ํ•œ ๋ ˆ์ด์–ด๋ฅผ ๋ณด์กดํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด '๋ ˆ์ด์–ด๋ฅผ ์˜ค๋ธŒ์ ํŠธ๋กœ ๋ณ€ํ™˜' ์˜ต์…˜์„ ์„ ํƒํ•˜๊ณ  ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๊ณ  ์‹ถ๋‹ค๋ฉด '๋ ˆ์ด์–ด๋ฅผ ๋‹จ์ผ ์ด๋ฏธ์ง€๋กœ ๋ณ‘ํ•ฉ'์„ ์„ ํƒ) 3. SVG์—์„œ ํ…์ŠคํŠธ๋ฅผ ํŒจ์Šค๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์ผ๋Ÿฌ์ŠคํŠธ๋ ˆ์ดํŠธ ๋‚ด์—์„œ ์˜ค๋ธŒ์ ํŠธํ™”ํ•ด์ฃผ๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ•œ๋‹ค. ์„ ํƒ ๋„๊ตฌ(v)๋กœ ๋ณ€ํ™˜ํ•  ์š”์†Œ๋ฅผ ์„ ํƒํ•ด์ค€๋‹ค. 3. [๋ฌธ์ž - ์œค๊ณฝ์„  ๋งŒ๋“ค๊ธฐ] ๋˜๋Š” shift + ctrl + O๋กœ ์š”์†Œ๋ฅผ ํŒจ์Šค๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. 4. [ํŒŒ์ผ - ๋‚ด๋ณด๋‚ด๊ธฐ - ๋‚ด๋ณด๋‚ด๊ธฐ ํ˜•์‹] ํด๋ฆญ ํ›„ ํŒŒ์ผ ํ˜•์‹์„ SVG๋กœ ์„ธํŒ…ํ•ด์„œ PSD๋ฅผ SVG๋กœ ์ €์žฅํ•œ๋‹ค. 5. ์ฝ”๋“œ ์—๋””ํ„ฐ๋กœ SV..

    Three.js๋กœ 3D ํšŒ์ „๋ชฉ๋งˆ ๊ตฌํ˜„ํ•˜๊ธฐ

    Three.js๋กœ 3D ํšŒ์ „๋ชฉ๋งˆ ๊ตฌํ˜„ํ•˜๊ธฐ

    3D ํšŒ์ „๋ชฉ๋งˆ ๊ตฌํ˜„ Three.js๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ์›นํŽ˜์ด์ง€์— 3D ์˜ค๋ธŒ์ ํŠธ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์œ„์˜ ์ด๋ฏธ์ง€๋„ Three.js๋กœ ํšŒ์ „๋ชฉ๋งˆ๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฒƒ์ธ๋ฐ, ๊ทธ ๊ณผ์ •์„ ๊ธฐ๋กํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.๐ŸŽŠ ๋””์ž์ธ ๋ ˆํผ๋Ÿฐ์Šค๋กœ๋Š” ์•„๋ž˜ ์ฝ”๋“œํŽœ์„ ์ฐธ๊ณ ํ–ˆ๋‹ค. See the Pen Responsive Houdini 3D Carousel ๐Ÿด by Jhey (@jh3y) on CodePen. Three.js ํ™˜๊ฒฝ ๊ตฌ์„ฑ ์•„๋ž˜๋Š” Three.js ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค์ด๋‹ค. ์ด๋ฒˆ์—๋Š” ์ง์ ‘ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์•„์„œ ์ž„ํฌํŠธํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค. npm ํŒจํ‚ค์ง€๋กœ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ• # three.js npm install --save three # vite npm install --s..

    [JS] ์‹œ๊ฐ„ ํฌ๋งคํŒ… (์š”์ผ, ์‹œ๊ฐ„, AM/PM)

    See the Pen Untitled by 23651 (@23651) on CodePen. function getDate() { const week = new Array('SUNDAY', 'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY'); const today = new Date(); const dayName = week[today.getDay()]; const hours = today.getHours() % 12 ? today.getHours() % 12 : 12; const minutes = today.getMinutes() < 10 ? '0' + today.getMinutes() : today.getMinutes(); const..

    [Chrome] ํฌ๋กฌ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋กœ์ปฌ ์›น ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ

    [Chrome] ํฌ๋กฌ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋กœ์ปฌ ์›น ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ

    Github ๋ฐ๋ชจ๋‚˜ ์›นํŽ˜์ด์ง€๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์„๋•Œ ํฌ๋กฌ์˜ Web Server for Chrome ์•ฑ์œผ๋กœ ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑ ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. 1. ์„ค์น˜ ํฌ๋กฌ ์›น ์Šคํ† ์–ด์—์„œ Web Server for Chrome์„ ์„ค์น˜ํ•œ๋‹ค. https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb Web Server for Chrome A Web Server for Chrome, serves web pages from a local folder over the network, using HTTP. Runs offline. chrome.google.com 2. ์•ฑ ์‹คํ–‰ chrome://apps/ ์— ์ ‘์† ..

    [CSS] ํ˜•๊ด‘ํŽœ ๋ฐ‘์ค„ ํšจ๊ณผ

    [CSS] ํ˜•๊ด‘ํŽœ ๋ฐ‘์ค„ ํšจ๊ณผ

    html HIGHLIGHT TEXT css ๋ฐฉ๋ฒ• 1 : box-shadow span { /* inset | offset-x | offset-y | color */ box-shadow: inset 0 -20px 0 #bfffa1; } ๋ฐฉ๋ฒ• 2 : background span { background: linear-gradient(to top, #bfffa1 40%, transparent 40%); } ๋ฐฉ๋ฒ• 3 : pseudo element span { position: relative; } span:after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 40%; background-color: #bfffa1; z-in..

    [ํฌํ† ์ƒต] ๊ณฑํ•˜๊ธฐ ๋ธ”๋ Œ๋”ฉ ๋ชจ๋“œ ๋ ˆ์ด์–ด๋ฅผ PNG๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•

    [ํฌํ† ์ƒต] ๊ณฑํ•˜๊ธฐ ๋ธ”๋ Œ๋”ฉ ๋ชจ๋“œ ๋ ˆ์ด์–ด๋ฅผ PNG๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•

    โ€ป multiply ๋ธ”๋ Œ๋”ฉ ๋ชจ๋“œ ๋ ˆ์ด์–ด์™€ ์™„๋ฒฝํ•˜๊ฒŒ ๋˜‘๊ฐ™์€ ์ด๋ฏธ์ง€๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋‹™๋‹ˆ๋‹ค. ํˆฌ๋ช…๋„ ๋“ฑ์„ ์ ์šฉํ•ด์„œ ์ตœ๋Œ€ํ•œ ๋น„์Šทํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์ž๊ฐ™์€ ๊ฐ„๋‹จํ•œ ํ…์Šค์ฒ˜๋ฅผ ๋‹จ๋…์œผ๋กœ ๊ฐ€์ ธ์™€์•ผ ํ•  ๋•Œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1. multiply๊ฐ€ ์ ์šฉ๋œ ๋ ˆ์ด์–ด๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. (ctrl + a, ctrl + c) 2. ์ƒˆ ๋ ˆ์ด์–ด๋ฅผ ์ถ”๊ฐ€ ํ•œ ํ›„ ๊ฒ€์ •์ƒ‰์œผ๋กœ ์ฑ„์›Œ์ค๋‹ˆ๋‹ค. (ctrl + shift + n, alt + delete) 3. ๋ ˆ์ด์–ด ๋งˆ์Šคํฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. (๋ ˆ์ด์–ด ํŒจ๋„์—์„œ ์„ ํƒ) 4. ๋ ˆ์ด์–ด ๋งˆ์Šคํฌ๋ฅผ ์„ ํƒํ•œ ํ›„ multiply ์ด๋ฏธ์ง€๋ฅผ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค. (alt + ํด๋ฆญ, ctrl + v) 5. ์ด๋ฏธ์ง€๋ฅผ ๋ฐ˜์ „์‹œ์ผœ์ค๋‹ˆ๋‹ค. (ctrl + i) 6. ๋ ˆ์ด์–ด์˜ ๋ถˆํˆฌ๋ช…๋„๋ฅผ ์กฐ์ ˆํ•˜์—ฌ multiply ์ด๋ฏธ์ง€์™€ ๋น„์Šทํ•˜..

    [Excel] ์—‘์…€์—์„œ &nbsp(๊ณต๋ฐฑ ํŠน์ˆ˜๋ฌธ์ž) ์ œ๊ฑฐํ•˜๊ธฐ

    [Excel] ์—‘์…€์—์„œ &nbsp(๊ณต๋ฐฑ ํŠน์ˆ˜๋ฌธ์ž) ์ œ๊ฑฐํ•˜๊ธฐ

    ์—‘์…€ ๋‚ด๋ถ€ ์ปจํ…์ธ ๋ฅผ ๋ณต์‚ฌํ•ด์„œ ์—๋””ํ„ฐ๋กœ ๋ถ™์—ฌ๋„ฃ๊ธฐํ•˜๋ฉด ์†Œ์Šค์—์„œ๋Š” ๋ณด์ด์ง€๋Š” ์•Š์ง€๋งŒ &nbsp๊ฐ€ ์ˆจ๊ฒจ์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ↓ ์—‘์…€ ๋‚ด๋ถ€ ์ปจํ…์ธ ๋ฅผ ๋ณต์‚ฌํ•˜๊ธฐ ์ „์— ์ปจํ…์ธ  ๋‚ด &nbsp๋ฅผ ์‚ญ์ œํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. 1. Ctrl + H 2. ์ฐพ์„ ๋‚ด์šฉ : Alt + 160 3. ๋ฐ”๊ฟ€ ๋‚ด์šฉ : ๋„์–ด์“ฐ๊ธฐ 4. ๋ชจ๋‘ ๋ฐ”๊พธ๊ธฐ

    [VSCode] ํƒญ ํ‚ค๊ฐ€ ์•ˆ ๋  ๋•Œ ํ•ด๊ฒฐ๋ฒ•

    [VSCode] ํƒญ ํ‚ค๊ฐ€ ์•ˆ ๋  ๋•Œ ํ•ด๊ฒฐ๋ฒ•

    ํ•˜๋‹จ ์ƒํƒœ๋ฐ”์— 'tab์œผ๋กœ ํฌ์ปค์Šค ์ด๋™'์ด ํ™œ์„ฑํ™” ๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธ ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ๋‹ค๋ฉด, Ctrl + M ์œผ๋กœ ํ•ด์ œ