Skip to content

๐Ÿงฑ ๋ถ€์ฑ„ โ€‹

๊ธฐ์ˆ ๊ธ€ โ€‹

๊ธ€๊ฐ โ€‹

Vue.js Google Tag Manager, Google Analytics, UserID ์ ์šฉ โ€‹

์นดํ†ก ์ธ๋„ค์ผ, ์„ค๋ช… ์ ์šฉํ•˜๊ธฐ โ€‹

Vue.js use both inline and external SVGs โ€‹

useEffect ํ›…์—์„œ async await ๋ฌธ๋ฒ•์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• โ€‹

iOS React Native Webview์—์„œ ์บ์‹œ ๊ฐฑ์‹ ์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ โ€‹

@media print๋กœ ํŽ˜์ด์ง€๋ฅผ ํ”„๋ฆฐํŠธ์— ์ ํ•ฉํ•˜๋„๋ก ํ•˜๊ธฐ โ€‹

Vue.js + prettier์—์„œ ์˜๋„์น˜ ์•Š๊ฒŒ ์ƒ์„ฑ๋˜๋Š” ๊ณต๋ฐฑ ์ œ๊ฑฐํ•˜๊ธฐ (WhitespaceSensitivity) โ€‹

heroku + node.js app + google chart๋กœ Vuepress ๋ธ”๋กœ๊ทธ์— ์‹ค์‹œ๊ฐ„ ์ฃผ์‹ ์ฐจํŠธ ๊ทธ๋ฆฌ๊ธฐ โ€‹

Promise, async await๋“ฑ ES6์ด์ƒ ๋ฌธ๋ฒ•๋“ค์˜ ES5 polyfill๊ณผ ์„ฑ๋Šฅ ์ธก์ • โ€‹

git alias๋ฅผ ์ด์šฉํ•œ ๋น ๋ฅธ ํ•ซํ”ฝ์Šค ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ ๋ฐ package.json, package-lock.json ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ โ€‹

[alias]

hf = "!function hf(){ git checkout master && v=$(cat package.json | grep -m 1 version | sed 's/[^0-9.]//g'); p=${v##*.}; uP=$((p+1)); mV=${v%.*}.$uP; sed -i '' 's/\"version\": \"'$v'\"/\"version\": \"'$mV'\"/g' package*.json; git checkout -b hotfix/$mV;}; hf"

  • ์‚ฌ๋‚ด์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” hotfix ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ ๋ฐ package.json ๋ฒ„์ „ ์ˆ˜์ •์„ ์Šคํฌ๋ฆฝํŠธํ™”
์ฐธ๊ณ  โ€‹

vite + vue github pages์— ๋ฐฐํฌํ•˜๊ธฐ โ€‹

multiline truncate + with more text โ€‹

์ˆ˜๋Ÿ‰ ์ž…๋ ฅ input Vue ์ปดํฌ๋„ŒํŠธ ๋งŒ๋“ค๊ธฐ โ€‹

  • input event ํ™œ์šฉ
  • DOM์— ์ง์ ‘ ์ ‘๊ทผ, ๊ฐ’์ด ๋ณ€๊ฒฝ๋œ ํ›„ ๋ฐœ์ƒํ•˜๋Š” input ์ด๋ฒคํŠธ์—์„œ ๋ณ€๊ฒฝ๋œ ๊ฐ’์„ ๋ฎ์–ด์ฃผ๋Š” ๋ฐฉ์‹
  • ์‹ค์ œ ๋ฐ์ดํ„ฐ, ๋ณด์—ฌ์ง€๋Š” ๊ฐ’ 2๊ฐ€์ง€ ์ƒํƒœ๋ฅผ ์ •์˜

checklist โ€‹

  • [ ] ์ž…๋ ฅ๋˜์–ด ์žˆ๋Š” ๊ฐ’์„ ์ง€์šธ ์ˆ˜ ์žˆ๋‹ค.
  • [ ] 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š” ์ˆซ์ž, ๋นˆ ๊ฐ’๋งŒ ์ž…๋ ฅ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • [ ] ๋ณ€๊ฒฝ ์ค‘์—๋Š” ๋ฐ์ดํ„ฐ์— ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š”๋‹ค.
  • [ ] focus๊ฐ€ ๋ฒ—์–ด๋‚  ๋•Œ ๋ฐ์ดํ„ฐ์— ๋ฐ˜์˜๋œ๋‹ค.
  • [ ] ์ตœ๋Œ€ ๊ตฌ๋งค ์ˆ˜๋Ÿ‰์„ ์ดˆ๊ณผํ•œ ๊ฒฝ์šฐ, ์ตœ์†Œ ๊ตฌ๋งค ์ˆ˜๋Ÿ‰ ๋ฏธ๋งŒ์ธ ๊ฒฝ์šฐ tooltip message ๋ฅผ ๋„์šฐ๋„๋ก ํ•œ๋‹ค.
  • [ ] ์ตœ๋Œ€ ๊ตฌ๋งค ์ˆ˜๋Ÿ‰์„ ์ดˆ๊ณผํ•œ ๊ฒฝ์šฐ focus๋ฅผ ๋ฒ—์–ด๋‚  ๋•Œ ์ตœ๋Œ€ ๊ตฌ๋งค ์ˆ˜๋Ÿ‰์œผ๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค.
  • [ ] ์ตœ์†Œ ๊ตฌ๋งค ์ˆ˜๋Ÿ‰ ๋ฏธ๋งŒ์ธ ๊ฒฝ์šฐ focus๋ฅผ ๋ฒ—์–ด๋‚  ๋•Œ ์ตœ์†Œ ๊ตฌ๋งค ์ˆ˜๋Ÿ‰์œผ๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค.

์ฐธ๊ณ  โ€‹

strapi aws์— ๊ตฌ์„ฑํ•˜๊ธฐ โ€‹

ec2, postgres rds, s3 bucket

mix-blend-mode ์†์„ฑ ์‚ฌ์šฉํ•˜๊ธฐ โ€‹

svg์— gradient ์ƒ‰์ƒ ์ ์šฉํ•˜๊ธฐ โ€‹

Vue 3 ํ”„๋กœ๋•์…˜ ์ ์šฉ๊ธฐ โ€‹

AWS Lambda + Puppteeer (with Serverless Framework)๋กœ ์ฃผ๊ธฐ์ ์ธ Scrapingํ•˜๊ธฐ โ€‹

How to deploy fastify server to fly.io (fly.io์— fastify ์„œ๋ฒ„ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•) โ€‹

follow the instructions โ€‹

  1. install flyctl

https://fly.io/docs/hands-on/install-flyctl/

bash
curl -L https://fly.io/install.sh | sh

or (Mac OS)

bash
brew install flyctl
  1. create or login to fly.io account

https://fly.io/docs/speedrun/

bash
fly auth signup

or

bash
fly auth login
  1. launch
bash
flyctl launch

you can choose app name, region.

bash
? Choose an app name (leave blank to generate one): [your-app-name]
automatically selected personal organization: [your-username]
? Choose a region for deployment:  [Use arrows to move, type to filter]
  Ashburn, Virginia (US) (iad)
  Johannesburg, South Africa (jnb)
  Los Angeles, California (US) (lax)
  London, United Kingdom (lhr)
  Chennai (Madras), India (maa)
  Madrid, Spain (mad)
  Miami, Florida (US) (mia)
> Tokyo, Japan (nrt)
  Chicago, Illinois (US) (ord)
  Bucharest, Romania (otp)
? Would you like to set up a Postgresql database now? No
? Would you like to set up an Upstash Redis database now? No
? Would you like to deploy now? No

โœจ ready to deploy

deploy โ€‹

  1. (optional) define node version in fly.toml

https://fly.io/docs/laravel/the-basics/php-node-version/

toml
[build]
  [build.args]
    PHP_VERSION = "8.1"
    NODE_VERSION = "14"
  1. check host and port

https://fly.io/docs/getting-started/troubleshooting/#host-checking

The problem is that no one else can talk to the localhost so although the app may have the right port, it's on the wrong network interface. The Rule of thumb to fix this is to get the app to open up port 8080 on the IP address 0.0.0.0. That's anyone outside the system

js
...
const start = async () => {
  try {
    await fastify.listen(8080,"0.0.0.0")
...
  1. ๐ŸŽ‰ deploy
flyctl deploy

์ฑ… โ€‹