๐๏ธ์ํํธ์จ์ด
![[์๋ฐ์คํฌ๋ฆฝํธ] Math ํจ์ ์ด์ฉํ์ฌ ๋ก๋ ๋ฒํธ ์์ฑํ๊ธฐ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbazEsr%2FbtrQJI2lcUB%2FsD3AcaSZsC2zMmd3E7JN1k%2Fimg.jpg)
[์๋ฐ์คํฌ๋ฆฝํธ] Math ํจ์ ์ด์ฉํ์ฌ ๋ก๋ ๋ฒํธ ์์ฑํ๊ธฐ
๋๋ค ์ซ์๋ฅผ ์ด์ฉํ์ฌ, ๊ฐ๋ณ๊ฒ ๋ก๋ ๋ฒํธ๋ฅผ ๋ง๋๋ ค๊ณ ํ๋ค. ์กฐ๊ฑด์ 1. Math.random() ์ด์ฉํ๊ธฐ 2. ๋ฐ์ฌ๋ฆผ, ์ฌ๋ฆผ, ๋ด๋ฆผ์ ์ต์ 1๋ฒ ์ด์ ์ฌ์ฉํ๊ธฐ 3. switch ๋ฌธ 1๋ฒ ์ด์ ์ฌ์ฉํ๊ธฐ 4. ์ต๋, ์ต์๊ฐ์ ์ ๋ ฅ๊ฐ์ผ๋ก ๋ฐ๋ ํจ์ ์ฌ์ฉํ๊ธฐ 5. ํจ์๊ฐ์ ๊ฐ์ฒด ํ์ ์ผ๋ก ๋ฐํํ๊ธฐ 6. ๊ฒฐ๊ณผ๊ฐ์ ๋ฐฐ์ด๋ก ๋ณด์ด๊ธฐ 7. ์๋ฐ์คํฌ๋ฆฝํธ console ๋ก ๋ณด์ด๊ณ , html ์์ h1 ํ๊ทธ๋ก ํด๋น ๊ฐ๋ค์ ๋ณด์ด๊ธฐ ๋ฑ์ด๋ค. ์์์ผํ ๊ฐ๋ ์ผ๋ก๋ 1. ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด๋ก ์ ํํ๋ ๋ฐฉ๋ฒ 2. html ์ js ๋ฐ์ดํฐ ๊ฐ ๋ณด์ด๋ ๋ฐฉ๋ฒ ๋ก๋ ๋ฒํธ์ ๊ฒฝ์ฐ 1๋ถํฐ 45๊น์ง ์์ผ๋ฉฐ, ์ค๋ณต์ ํ๋ฝํ์ง ์๋ ์กฐ๊ฑด์ด ์๋ค๋ ์ ์ ํ์ ์ฝ๋๋ฅผ ์์ฑํ๋๋ก ํ๋ค. ์ฝ๋๊ฐ ๊ธด๋ฐ, ์๊ฐ๋๋๋ฐ๋ก ํ๋ค๋ณด๋, ๋ฆฌํฉํ ๋ง์ด ํ์ํ ๋ถ๋ถ์ด ๋ณด์ด๊ธด..
![[10/29] ์ด๋ ํ๋ก ํธ์์ง๋์ด์ ์ผ์ฃผ์ผ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2vEPz%2FbtrPUmEWUoZ%2FVsk7lSPVIKHiGyNXJRCAsk%2Fimg.png)
[10/29] ์ด๋ ํ๋ก ํธ์์ง๋์ด์ ์ผ์ฃผ์ผ
์ด์ ๋ถํฐ๋ ํ ์ผ์ ์ ์ ํ๊ณ , ํด๋น ๋ด์ฉ์ ์ผ๋ง๋ ์ ์์ํ๋์ง ํ๋ฃจํ๋ฃจ ์ ๊ฒํ์. ์ด๋ฒ์ฃผ ์์ํด์ผ ํ ๊ณต๋ถ ๋ชฉ๋ก๋ค์ด๋ค. ๊ณต๋ถํ ๋ด์ฉ๋ค์ ๋ํด์ โ ํ์ํ ๊ฒ~^^ ๊ณต๋ถํด์ผํ ๊ฒ๋ค ๋์ ์ฐ์ ์์ ์ธํ๋ฐ - ํ์ด์ฌ/์ฅ๊ณ ์น์๋น์ค ๊ฐ๋ฐ ์๋ฒฝ ๊ฐ์ด๋ with ๋ฆฌ์กํธ ํจ์คํธ์บ ํผ์ค - Vue.js ๊ฐ์(110์ฌ๊ฐ) ~ ์ ์ฒด 110์ฌ๊ฐ ํจ์คํธ์บ ํผ์ค - CSS framework Bootstrap(10์ฌ๊ฐ) ์ค๊ฐ ์ฐ์ ์์ ์ ํ๋ธ - ๋์ปค ๋ฐ๋ผํ๊ธฐ ๊ฐ์ ๋ฃ๊ณ ์ ๋ฆฌํ๊ธฐ netlify ์ด์ฉํด์ ์คํ๋ฒ ์ค ํํ์ด์ง ๊พธ๋ฏธ๊ธฐ ํฌ๋กค๋ฌ ์ค์ผ์ฅด๋ฌ ์์ฑํ๊ธฐ(ํฌ๋กค๋ฌ ์ ์ โ , ํ์ผ ์์ง โ , ์์ ๋ณํ ํจ์ โ , ์ค์ผ์ฅด๋ฌ ๋ฏธ์์ฑ) ๋ชฉํ ํ์ต ์๊ฐ : 12์๊ฐ [์ธํ๋ฐ] ํ์ด์ฌ/์ฅ๊ณ ์น์๋น์ค ๊ฐ๋ฐ ์๋ฒฝ ๊ฐ์ด๋ with ๋ฆฌ์กํธ ์ค๋ฆฌ์ํ ์ด์ ์น..

Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
์๋ฌ ์์ธ hmtl ๋ก๋ ๋๊ธฐ ์ ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ญ์์ html ์ ์ฐธ์กฐํ๊ธฐ ๋๋ฌธ addEventLister ์์ html ํ๊ทธ๋ฅผ ์ฐธ์กฐํ ์ ์๊ธฐ ๋๋ฌธ์ null ๊ฐ์ด ๋ฐํ๋์๊ณ , ํด๋น ๋ถ๋ถ์ ๊ณ ์ณ์ค์ผ ํ๋ ๊ฒ ํด๊ฒฐ ๋ฐฉ๋ฒ - script defer ์ด์ฉ ๋ธ๋ผ์ฐ์ ์ ๊ฒฝ์ฐ, defer ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋๊ฒ ๋๋ฉด, ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ด๋ก๋ ํ๊ธด ํ์ง๋ง, ๋ฌธ์ ํ์ฑ์ ๋ฉ์ถ์ง ์๊ณ ์๋๋ก ๋๊น์ง ์ฝ์ด๋ค์ด๋๋ฐ, ์คํฌ๋ฆฝํธ ํ๊ทธ์ ๊ฒฝ์ฐ html ํ๊ทธ์ ๋ ํ๊ทธ์์ ์คํํ๊ฒ ๋๋ค ๋ณดํต, DOM ์ ์กฐ์งํ์ฌ HTML ์์กด์ฑ์ด ์๋ ๊ฒฝ์ฐ์ ๋จผ์ HTML ์ ํ์ฑํ๊ณ ์, ์คํ๋์ด์ผ ํ ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋๋ก ํ๋ค. ์ด์ ์ฝ๋ ์ดํ ์ฝ๋
![[gitbub] SSL certificate problem: unable to get local issuer certificate ์๋ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMb2gm%2FbtrNNZziYey%2FHFNT4veCi4vDYW9gRl3gtk%2Fimg.png)
[gitbub] SSL certificate problem: unable to get local issuer certificate ์๋ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ
[2022-10-05T01:41:30.322Z] > git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname) [110ms] [2022-10-05T01:41:30.337Z] > git remote --verbose [109ms] [2022-10-05T01:41:30.466Z] > git config --get commit.template [108ms] [2022-10-05T01:41:30.791Z] > git push origin main:main [304ms] [2022-10-05T01:41:30.791Z] fatal: unable to access 'https://github.com/bbeee21/sta..
![[Vuetify] ๋๊ธฐ,๋น๋๊ธฐ,](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvyfwN%2FbtrNCgIlu5k%2FA4WYgWg95gS6qow5xEeKiK%2Fimg.png)
[Vuetify] ๋๊ธฐ,๋น๋๊ธฐ,
๋๊ธฐ ๋ฐฉ์๊ณผ ๋น๋๊ธฐ ๋ฐฉ์ ๋๊ธฐ ๋ฐฉ์ ์์ฐจ์ ์ผ๋ก ์งํ์ด ๋์ด์ผ ํ๋ ๊ฒ์ผ๋ก ์๋ฒ์ ์์ฒญ์ ๋ณด๋ผ์ ์๋ต์ด ๋์์์ผ ๋ค์ ์์ ์ด ์ํ ๊ฐ๋ฅํจ ๋น๋๊ธฐ ๋ฐฉ์ ์์ฒญ์ ๋ณด๋ผ๋ ์๋ต ์ํ์ ๋ฌด๊ดํ๊ฒ ๋ค์ ๋์์ ์ํํ ์ ์์ผ๋ฉฐ ๊ฒฐ๊ณผ๊ฐ์ด ๋์ค๋ ๊ฒ๊ณผ ๋ณ๊ฐ๋ก ์๋์ ์ฝ๋๋ค์ด ์คํ๋๋ค ์๋ฅผ๋ค์ด, setTimeout() ๋ฉ์๋๋ฅผ ์๊ฐํด๋ณด๋ฉด, ๋น๋๊ธฐ APi ์ด๋ฉฐ, ์ฒซ๋ฒ์งธ ์ธ์๋ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๋๋ฒ์งธ ์ธ์๋ ์ง์ฐ์๊ฐ์ด๋ค ๋๋ฒ์งธ ์ธ์๊ฐ 0 ์ด๊ธฐ์ 1 -> 2 -> 3 ์ผ๋ก ์ถ๋ ฅ๋ ๊ฑฐ๋ผ ์๊ฐํ ์๋ ์๋ค console.log("1"); setTimeout( () => { console.log("2"); }, 0); console.log("3"); ํ์ง๋ง, ๋น๋๊ธฐ ๋ฉ์๋๋ ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด ๋ด๋นํ๊ธฐ์, 1 -> ..
![[css] ์ธ๋ผ์ธ, ๋ธ๋ก ์์](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbvQS7M%2FbtrNwCFez9b%2FM4HPhsDT5VXuhqyIm7ebkK%2Fimg.png)
[css] ์ธ๋ผ์ธ, ๋ธ๋ก ์์
์ธ๋ผ์ธ ์์์ ๊ฒฝ์ฐ, ๋ธ๋ก ์์์ ์์ฑ ๊ฐ์ ์ ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์, ์ธ๋ผ์ธ ์์๋ฅผ ๋ธ๋ก ์์์ฒ๋ผ ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ ์ ์๋ค ์ฐธ๊ณ ๋ก css ์ ํ์์์ .box::before { content : ""; display : block; width : 30px; background-color: royalblue; } ๊ฐ์ ๊ฒฝ์ฐ์๋ ::after, ::before ๋ ์ธ๋ผ์ธ ์์์ด๊ธฐ์ display ์์ฑ ๊ฐ์ block ์ผ๋ก ์ค๋ค๋ฉด ๋ธ๋ก ์์์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค ๊ฒฐ๋ก , css ์์๋ inline ์์์ block ๊ตฌ์กฐ์ ๋ํ ํน์ง์ ์ ์๊ณ ์์ด์ผ ํ๋ค ๋ํ์ ์ธ inline ์์๋ span , a ํ๊ทธ์ด๋ฉฐ block ์ ๋ํ์ ์ธ ์์๋ div ํ๊ทธ๋ฅผ ์์ง๋ง์

ํฌ๋กฌ๋ธ๋ผ์ฐ์ ์์ ์ ๊ณตํ๋ ๊ธฐ๋ณธ ์ฌ๋ฐฑ ์ ๊ฑฐํ๊ธฐ
์น์ฌ์ดํธ๋ง๋ค ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง์ผ๋ก ์ธํด์, ๊ฐ๊ธฐ ๋ค๋ฅธ ๊ฐ๋ค์ ใฑ์ง ์ ์๋๋ฐ, ์ ํ, ๊ตฌ๊ธ์์ ์๋ก ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๊ฒฐ๊ณผ ๊ฐ์ด ๋์ฌ ์ ์๊ธฐ์, css ์์ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ณธ ์ธํ ์ ์ด๊ธฐํํด์ผํจ reset css cdn ์ ๊ฐ์ ธ์์ ์ฌ์ฉํ๋ ค๋ html์ link๋ก ๋ถ์ฌ๋ฃ์ด์ผ(์ ๋๋งํฌ๋ก ํ๋ ๋ฐฉ๋ฒ์ ๊ถ์ฅ) https://www.jsdelivr.com/package/npm/reset-css jsDelivr - A free, fast, and reliable CDN for Open Source Supports npm, GitHub, WordPress, Deno, and more. Largest network and best performance among all CDNs. Serving more than 80 bil..

node ์ด์ฉํ json ์ฝ๋ฐฑ ํจ์
node.js ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์๋ฐ์คํฌ๋ฆฝํธ์ฝ๋๋ฅผ ์ฝ์ด์ ์ฒ๋ฆฌํด ์ฃผ๋ ๋ฐํ์ ๋ฐํ์์ ์ฝ๊ฒ ๋งํ๋ฉด ์คํ๊ธฐ์ด๋ฉฐ ๊ธฐ์กด HTML์ ์ข ์๋์ด HTML ์์ด๋ ์ฝ์ ์ ์์๋ javascript๊ฐ ๊ฐํด์ง ์ ์๋ ๊ณ๊ธฐ๋ javascript๋ฅผ ์คํํด์ฃผ๋ Node๊ฐ ์๊ธด ์ดํ๋ก ์๊ฐํ ์ ์์(์ค์) express ์ค์น๋ npm install express json ํํ์ api๋ฅผ ๋ง๋ค์ด์ฃผ๋ ์ฝ๋ node b.js ๋ก ์๋ฒ ์คํ์์ผ์ฃผ๊ธฐ /aaaa ๋ก api๋ฅผ ๋ง๋ค์ด์ค ๊ฒ ์์ ๊ฐ์ ๋ด์ฉ์ผ๋ก, callback ํจ์๋ฅผ ์ ์ํด์ค ์ ์๋ค 127.0.0.1์ ๋ฃจํ๋ฐฑ ip ์ด๋ค ใ

์จ๋ ์์ธก ํ์ด์ง ๋ง๋ค๊ธฐ(๊ณต๊ณต API ํ์ฉ,json)
open api ํ์ฉํด์ json ํ์์ ๋ฐ์ดํฐ ๋ฐ์์์ ์ฐจํธ ๋ง๋ค๊ธฐ json๋ฐ์ดํฐ ์์ - hourly ์์์ time ์์ ๊ฐ์ด ํ์ํจ ํ์ํ open_api ์ ๋ณด๋ฅผ ์ ์ํ๊ณ ํ์ํ ๋ฐ์ดํฐ๋ hourly.time์ datasets์ ์ฐจํธ ๋ถ๋ถ์ ๊ฐ๋ฆฌํค๋ ๊ฒ๋ค๋ก ์ฌ์ฉ pointHoverRadius ์ ํตํด ๋ง์ฐ์ค ํธ๋ฒ๋ง๋๋ฉด ์์ด ์ปค์ง๊ฒ ๋จ chart ๋ฅผ ์ฐ๊ฒ ๋๋ฉด, ๋ฐ์ดํฐ ํฌ๋งทํ ์ ๋ง์ถฐ์ ๊ฐ๋ค์ ์ค์ ํ๋ฉด ๋จ myChart ๋ผ๋ dom ์ ์ฐจํธ๋ฅผ ๊ทธ๋ฆผ(์บ๋ฒ์ค์) new Chart๋ก fetch ์์ฒญํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์, draw๋ฅผ ํตํด ์ฐจํธ๋ฅผ ๊ทธ๋ฆผ window.onload dom์ด ๋ก๊ทธ๊ฐ ์๋ ๋๋ฅผ ๋๋นํ์ฌ, ์คํ์ผ์ํธ ๋ฐ ์ด๋ฏธ์ง์ ๊ฐ์ ๋ชจ๋ ์ข ์ ๋ฆฌ์์ค๋ฅผ ํฌํจํ์ฌ ์ ์ฒด ํ์ด์ง๊ฐ ๋ก๋๋๋ฉด ์ด๋ฒคํธ๊ฐ ์์๋๊ฒ ..