๐ป Programming/๊ธฐํ
Clean Code ํด๋ฆฐ ์ฝ๋ ์ ์์ผ ์ํํธ์จ์ด ์ฅ์ธ ์ ์ - Robert C. Martin 0์ฅ ๋ค์ด๊ฐ๋ฉด์ ๊นจ๋ํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๊ธฐ ์ด๋ ต๋ค ๋จ์ํ ์์น๊ณผ ํจํด์ ์๋ค๊ณ ๊นจ๋ํ ์ฝ๋๊ฐ ๋์ค์ง ์๋๋ค. ์ ๊ทธ๋ฆฐ ๊ทธ๋ฆผ๊ณผ ๊ทธ๋ ์ง ์์ ๊ทธ๋ฆผ์ ๊ตฌ๋ถํ ์ค ์๋ค๊ณ ํด์ ๊ทธ๋ฆผ์ ์ ๊ทธ๋ฆด ์ ์๋ ๊ฒ ์๋๋ฏ์ด ์ค์ค๋ก ์ฐ์ตํ๊ณ ์คํจ๋ ํด๋ณด๋ฉฐ ๊ณ ์์ ํด์ผ ํ๋ค. 1์ฅ ๊นจ๋ํ ์ฝ๋ ์ฝ๋๊ฐ ์กด์ฌํ๋ฆฌ๋ผ ์ฝ๋๋ ๋ ์ด์ ๋ฌธ์ ๊ฐ ์๋๊ณ , ๋ชจ๋ธ์ด๋ ์๊ตฌ์ฌํญ์ ์ง์คํด์ผ ํ๋ค๊ณ ์๊ฐํ๋ ์ฌ๋๋ ์์ ๊ฒ์ด๋ค. ์ฝ๋๋ฅผ ์๋์ผ๋ก ์์ฑํ๋ ์๋๊ฐ ๋ค๊ฐ์ค๋ฉด ํ๋ก๊ทธ๋๋จธ๋ ํ์๊ฐ ์๊ฒ ๋ ๊ฒ์ด๋ค. ์ฑGPT? ์ฝ๋๊ฐ ์ฌ๋ผ์ง ๊ฐ๋ง์ ์ ํ ์๋ค. ์? ์ฝ๋๋ ์๊ตฌ์ฌํญ์ ์์ธํ ํํํ๋ ์๋จ์ด๊ธฐ ๋๋ฌธ ๊ธฐ๊ณ๊ฐ ์คํํ ์ ๋๋ก ์์ธํ๊ฒ ์๊ตฌ์ฌํญ์ ..
๐ป Programming/JS, TS
DOM ์์์ ์คํ์ผ ๋ณ๊ฒฝ 1) className Product Name 60/60 Submit input.warning { background-color: rgb(248, 191, 145); } #remaining-chars.warning { color:rgb(211, 109, 26); } const spanElement = document.getElementById('remaining-chars'); spanElement.className = 'warning'; element.className('some-class')๋ก ํด๋น ์์์ ํด๋์ค๋ช
์ ์ถ๊ฐํ ์ ์๋ค. className์ผ๋ก css ํด๋์ค ์ถ๊ฐํ ๋์ ๋จ์ : ์ด๋ฏธ ํด๋์ค๋ฅผ ๊ฐ์ง๊ณ ์๋ ์์์ ๊ฒฝ์ฐ, ํด๋น ํด๋์ค๊ฐ ์๋ก์ด ํด๋์ค๋ก ๋ฎ์ด์์ด์ง๋ค...
๐ป Programming/JS, TS
Event ์ ์ ๊ฐ ์ฌ์ดํธ์ ํน์ ๋ถ๋ถ์ ์
๋ ฅ, ํด๋ฆญ, ์คํฌ๋กค ํ๋ ๋ฑ์ ํ๋์ ์๋ฏธํ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฒคํธ๋ฅผ ํ์งํ์ฌ ํน์ ์ฝ๋๋ฅผ ์คํํ๋๋ก ํ ์ ์๋ค. ์น์ ๊ฒฝ์ฐ ์ด๋ฒคํธ๋ ๋ธ๋ผ์ฐ์ ์๋์ฐ ๋ด์์ ๋ฐ์๋๋๋ฐ, ๋ค์์ ๊ฐ์ ๋ค์ํ ์ด๋ฒคํธ ํ์
๋ค์ด ์๋ค. ์ ์ ๊ฐ ์ด๋ค ์์๋ฅผ ์ ํํ๊ฑฐ๋ ์ด๋ค ์์ ์์ ์ปค์๋ฅผ ์ฌ๋ ค๋๋ค(hover). ์ ์ ๊ฐ ํค๋ณด๋์์ ํค๋ฅผ ์ ํํ๋ค. ์ ์ ๊ฐ ๋ธ๋ผ์ฐ์ ์ฐฝ์ ํฌ๊ธฐ๋ฅผ ์ฌ์กฐ์ ํ๊ฑฐ๋ ๋ซ๋๋ค. ์น ํ์ด์ง๊ฐ ๋ก๋ฉ์ ์๋ฃํ๋ค. ์์(form)์ด ์ ์ถ๋์๋ค. ๋น๋์ค๊ฐ ์ฌ์๋๊ฑฐ๋, ๋ฉ์ถ๊ฑฐ๋, ํน์ ๋๋ฌ๋ค. ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ฒคํธ๋ฆฌ์ค๋์ ์ฝ๋ฐฑํจ์ let paragraphElement = document.body.firstElementChild; function changeParag..
๐ป Programming/JS, TS
์ ์ญ window & document ๊ฐ์ฒด Built-in Variables & Functions ์ ์ญ ๋ณ์๋ก ์ฝ๋ ๋ด์์ ํญ์ ์ฌ์ฉํ ์ ์๋ ๋ณ์ window ๊ฐ์ฒด ์ ์ญ ๊ฐ์ฒด window ์ ์ญ ๊ฐ์ฒด๋ ์น ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์ ์ ์ญ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ์ฒด๋ฅผ ๋ํ๋ธ๋ค. ๋ชจ๋ ์ ์ญ ๋ณ์์ ํจ์๋ ์ค์ ๋ก ์ด window ๊ฐ์ฒด์ ํ๋กํผํฐ๋ก ์กด์ฌํ๋ค. window ๊ฐ์ฒด์ ํ๋กํผํฐ์ ๋ฉ์๋. ํจ์ ๊ธฐํธ f๊ฐ ํ์๋ ๊ฒ์ด ๋ฉ์๋์ด๊ณ ๊ทธ๋ ์ง ์์ ๊ฒ์ ํ๋กํผํฐ์ด๋ค. window ๊ฐ์ฒด์ ๋ด์ฅ๋ ํ๋กํผํฐ์ ๋ฉ์๋๋ค์ window. ์์ด๋ ์ก์ธ์คํ ์ ์๋ค. alert ๋ฉ์๋์ ๊ฒฝ์ฐ window.alert()๋ก๋ ์ฌ์ฉํ ์ ์์ง๋ง ๊ทธ๋ฅ alert()์ผ๋ก๋ ์คํํ ์ ์๋ ๊ฒ์ฒ๋ผ ๋ง์ด๋ค. ์๋์ฐ์ ๋ธ๋ผ์ฐ์ ํญ ์๋์ฐ๋ ์น ๋ธ๋ผ์ฐ..
๐ป Programming/HTML, CSS
1. ๋ณํ Transformations ์์์ ๋ชจ์์ ์ด๋ํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ๊ฒ (ex. hover) ๋ณํ์ transform ์์ฑ์ ์ฌ์ฉํ๋๋ฐ ์ด ์์ฑ์ ๋ณํํ๋ ค๋ ์์์ ์ถ๊ฐํ๋ ๊ฒ์ด ์๋๋ผ, ๋ณํ์ ๋ฐ์์ํค๋ ์์์ ์ถ๊ฐํ๋ค. ์๋ ์์๋ฅผ ํตํด ๋ค์ ์ดํด๋ณด์. .card-container { background-color: rgb(255, 255, 255); width: 350px; margin: 50px auto; box-shadow: 3px 3px 10px rgb(201, 200, 200); } .card-container:hover { transform: scale(1.05); } ๋ณํํ๋ ค๋ ์์๋ .card-container์ด์ง๋ง ์ฌ๊ธฐ์ transform ์์ฑ์ ์ถ๊ฐํ๋ ๊ฒ์ด ์๋๊ณ , .card..
๐ป Programming/HTML, CSS
1. html ํ๋ css ๊ท์น์ html์ ์ ์ฉ๋๊ณ html ์์ ํฌํจ๋ ์์๋ค์๋ ์์๋๋ค. ์๋์ css ๋ณ์ ์์ ์์ ์ฌ์ฉํ๋ ๋
ผ๋ฆฌ html { --color-grey-100: rgb(236, 236, 236); --color-grey-400: rgb(134, 134, 134); --color-grey-600: rgb(58, 58, 58); --color-grey-900: rgb(41, 41, 41); --color-primary-300: rgb(167, 226, 255); --color-primary-700: rgb(0, 170, 255); --size-1: 18px; --size-5: 50px; background-color: var(--color-grey-100); } 2. :root ๊ฐ์ ..
๐ป Programming/HTML, CSS
1. ํฐํธ ํฌ๊ธฐ์์์ em, rem, % 1) px ์ฅ์ : Easy to understand & translateable ๋จ์ : Limited user focus & not scalable 2) em vs. rem (1) em (element) Size is relative to font-size ๋ค๋ฅธ ์์์ ํฐํธ ํฌ๊ธฐ์ ์ฐ๊ด๋ ํฌ๊ธฐ - ํฐํธ ํฌ๊ธฐ๋ ๋ถ๋ชจ ์์์ ํฌ๊ธฐ์ ๋ฌ๋ ค์๋ค. ๋จ์ %์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ถ๋ชจ ์์์์ ์์๋ฐ๋ ํฌ๊ธฐ์ ๋ฐ๋ผ ์ฌ์ด์ฆ๊ฐ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ ๊ด๋ฆฌ๊ฐ ์ด๋ ต๋ค. (2) rem (root em) Size is relative to root element’s font size ํ์ฌ ์์์ ํฐํธ ํฌ๊ธฐ์ ์ต์์ ์์์ ํฐํธ ํฌ๊ธฐ์ ์ฐ๊ฒฐ๋์ด ์๋ค. HTML์์ ์ต์์ ์์: ์ต์์ ์์์ ํฐํธ ํฌ๊ธฐ..
๐ป Programming/๊ธฐํ
VS Code์์ ์ฝ๋ ์์ฑํ ๋ ๋๋ ์ฃผ๋ก ํฐ ๋ฐ์ดํ(Double quote)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํธํ๋๋ฐ, ์๊พธ ์๋์ผ๋ก ์์ ๋ฐ์ดํ(Single quote)๊ฐ ์ฌ์ฉ๋์ด์ ์ค์ ์ ์ฐพ์๋ณด๋ ์ค์ ๋ฐ๊ฒฌํ๋ค. ๋์ค์ ํ ์ปจ๋ฒค์
์ด ์์ ๋ฐ์ดํ์ธ ๊ฒฝ์ฐ๋ ์์ ์ ์๊ธฐ ๋๋ฌธ์, ์ํฉ์ ๋ง๊ฒ ์ค์ ์ ๋ณ๊ฒฝํ ๋ ์ ์ฉํ ๊ฒ ๊ฐ์ ๋ธ๋ก๊ทธ์ ๋จ๊ธฐ๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํ๋ค. ๋จผ์ code - ๊ธฐ๋ณธ ์ค์ - Settings ๋๋ ๋จ์ถํค Command + , ๋ฅผ ๋๋ฌ์ Settings์ ๋ค์ด๊ฐ๋ค. ์ฌ๊ธฐ์ ๋ค์ ๋ค ๊ฐ์ง๋ฅผ ์ํฉ์ ๋ง๊ฒ ์ค์ ํด์ค๋ค. 1. ๊ธฐ๋ณธ ์ค์ ์ ํฐ ๋ฐ์ดํ(Double quote)๋ก ์ค์ ์ JavaScript > Preferences: Quote Style โก๏ธ double TypeScript > Pre..
๐ป Programming/๊ธฐํ
์์ฆ ํ๋ก์ ํธ ํค์ผ๋ฉ๋ฆฌ๋ผ๋ ์ฑ
์ ์ฌ๋ฐ๊ฒ ์ฝ๋ ์ค์ธ๋ฐ, ์ฃผ์ธ๊ณต์ด ์ฐ์ฃผ์ ์์ ํฐ์น์คํฌ๋ฆฐ ์ปดํจํฐ(์๋ง ํ๋ธ๋ฆฟPC๊ฐ ์๋๊น ํ๋ค.)๋ฅผ ๋ฐ๊ฒฌํ๋ ์ฅ๋ฉด์์ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ์ด ๋์จ๋ค. "'์ํ ๋์๊ด'์ด๋ผ๋ ์ด๋ฆ์ด ๋ถ์ ํด๋๊ฐ ํ๋ ์๋๋ฐ, ๊ฑฐ๊ธฐ์๋ ๋ฏธ๊ตญ์์ ์ ์๊ถ์ ์ธ์ ๋ฐ์ ๋ชจ๋ ์ ์ ์นดํ๋ก๊ทธ๊ฐ ํต์งธ๋ก ๋ค์ด ์๋ ๋ฏ ํ๋ค. ...(์ค๋ต)... SSD๋ ๋ฌด๊ฒ๊ฐ ๊ฐ๋ฒผ์ฐ๋, ์ ๋ณด๋ฅผ ์ค์ ๋ ๊ตณ์ด ์ธ์ํด์ง ํ์๋ ์๋ค๊ณ ์๊ฐํ ๋ชจ์์ด๋ค. ์๋, ์๋ฃ๋ฅผ ๊ทธ๋ฅ ๋กฌ(ROM)์ ๊ตฌ์๋ฒ๋ฆฐ๊ฑธ ์๋ ์๋ค." ์ด ๋ถ๋ถ์ ์ฝ์ผ๋ฉด์ SSD์ ROM์ด ๋ญ์๋๋ผ? SSD๋ ๋น๊ต์ ์ต์ํ์ง๋ง ROM์ ๋ค์ด๋ง ๋ดค์ง ๋ฌด์์ด์๋์ง ์ ํํ ๊ธฐ์ต์ด ๋์ง ์์์ ์ฐพ์๋ณด์๋ค. 1. ROM ROM์ Read-Only Memory์ ์ฝ์๋ก ์ฝ๊ธฐ ์ ์ฉ ๋ฉ๋ชจ๋ฆฌ๋ฅผ..
๐ป Programming/Algorithm
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ ํ์ด ์ฌ์ฉ ์ธ์ด - ์๋ฐ์คํฌ๋ฆฝํธ JavaScript JS 1. ๊ตฌ์ฌ์ ๋๋๋ ๊ฒฝ์ฐ์ ์ 1) โ ๋ฌธ์ ์ค๋ช
๋จธ์ฑ์ด๋ ๊ตฌ์ฌ์ ์น๊ตฌ๋ค์๊ฒ ๋๋์ด์ฃผ๋ ค๊ณ ํฉ๋๋ค. ๊ตฌ์ฌ์ ๋ชจ๋ ๋ค๋ฅด๊ฒ ์๊ฒผ์ต๋๋ค. ๋จธ์ฑ์ด๊ฐ ๊ฐ๊ณ ์๋ ๊ตฌ์ฌ์ ๊ฐ์ balls์ ์น๊ตฌ๋ค์๊ฒ ๋๋์ด ์ค ๊ตฌ์ฌ ๊ฐ์ share์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, balls๊ฐ์ ๊ตฌ์ฌ ์ค share๊ฐ์ ๊ตฌ์ฌ์ ๊ณ ๋ฅด๋ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. 2) ๐ซ ์ ํ ์ฌํญ 1 ≤ balls ≤ 30 1 ≤ share ≤ 30 ๊ตฌ์ฌ์ ๊ณ ๋ฅด๋ ์์๋ ๊ณ ๋ คํ์ง ์์ต๋๋ค. share ≤ balls 3) โ
์
์ถ๋ ฅ ์ balls share result 3 2 3 5 3 10 ์
์ถ๋ ฅ ์ #1 ์๋ก ๋ค๋ฅธ ๊ตฌ์ฌ 3๊ฐ ์ค ..