๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

(112)
250313 to-do ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ (2) https://hydeveloper.tistory.com/170 ์—์„œ ์•„์ง ํ•˜์ง€ ๋ชปํ•œ ์‹ฌํ™” ๊ณผ์ œ (3) : ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ์œผ๋กœ ์š”์†Œ์˜ ์œ„์น˜ ๋ฐ”๊พธ๊ธฐ (์ •๋ ฌํ•˜๊ธฐ) ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•œ๋‹ค.  ์ด์— ์•ž์„œ draggable ์†์„ฑ๊ณผ drag ์ด๋ฒคํŠธ๋ฅผ ์•Œ์•„๋‘ฌ์•ผ ํ•œ๋‹ค. draggable ์†์„ฑ draggable = "true"๋ฅผ ๋ถ€์—ฌํ•˜๋ฉด ์–ด๋–ค ์š”์†Œ๋“  ๋“œ๋ž˜๊ทธ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.   drag ์ด๋ฒคํŠธ (mdn : https://developer.mozilla.org/ko/docs/Web/API/HTMLElement/drag_event) drag๋“œ๋ž˜๊ทธ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๋Œ€์ƒ์—์„œ ๋ฐœ์ƒdragstart๋“œ๋ž˜๊ทธ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ๋ฐœ์ƒdragend๋“œ๋ž˜๊ทธ๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ๋ฐœ์ƒdragover๋“œ๋ž˜๊ทธํ•˜๋ฉด์„œ ๋งˆ์šฐ์Šค๊ฐ€ ๋Œ€์ƒ ๊ฐ์ฒด ์œ„์— ์žˆ์„ ๋•Œ ๋ฐœ์ƒdr..
250313 to-do ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ (1) ์ฑŒ๋ฆฐ์ง€์—์„œ ์‹ฌํ™”๊ณผ์ œ (๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€, ์ฒดํฌ๋ฐ•์Šค)๋ฅผ  ์ถ”๊ฐ€ํ•œ ๊ธ€์ด๋‹ค.  ํ•„์ˆ˜ ์กฐ๊ฑดindex.html์— ์žˆ๋Š” input ์š”์†Œ์— ์ž…๋ ฅ๋œ ๊ฐ’(value)๊ณผ button ์š”์†Œ๋ฅผ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.์ƒˆ๋กœ์šด li ์š”์†Œ๋ฅผ ๋งŒ๋“ค๊ณ  input ์š”์†Œ์— ์ž…๋ ฅ๋œ ๊ฐ’์„ textContent๋กœ ๊ฐ–๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.li ์š”์†Œ๋Š” ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น li ์š”์†Œ๊ฐ€ ์ง€์›Œ์ง€๋Š” delete ๋ฒ„ํŠผ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅ์ฐฝ์€ ์ดˆ๊ธฐํ™”๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.๋งŒ์•ฝ ์ž…๋ ฅ์ฐฝ์— ์•„๋ฌด๊ฒƒ๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ alert๋กœ ์œ ์ €์—๊ฒŒ ์ž…๋ ฅ์„ ์š”์ฒญํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.3.์˜ ์‚ญ์ œ๋ฒ„ํŠผ ๋งŒ๋“ค๊ธฐ ๐Ÿ”ฝconst deleteBtn = document.createElement('button'); deleteBtn.onclick = function () { this.parentElement.remov..
javascript/var๋ฅผ ๋”์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ  ์ฐธ๊ณ ๋ชจ๋˜์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Deep Divehttps://velog.io/@wksh229/JavaScript-var-%EC%93%B0%EC%A7%80%EB%A7%88-%EC%A0%9C%EB%B0%9Chttps://batcave.tistory.com/39https://valueengine.tistory.com/15    var์˜ ํŠน์ง• var๋Š” variable(๋ณ€์ˆ˜)์˜ ์ค€๋ง๋กœ, Javascript ES5์—์„œ๋Š” var ํ‚ค์›Œ๋“œ๋งŒ์ด ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ES6๋ถ€ํ„ฐ๋Š” let, const ํ‚ค์›Œ๋“œ๋ฅผ ์ง€์›ํ•˜๋ฉด์„œ var์˜ ์‚ฌ์šฉ์„ ์ง€์–‘ํ•˜๊ณ ์žˆ๋‹ค.var์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์ด ์žˆ๋‹ค.function scope(ํ•จ์ˆ˜ ๋‚ด๋ถ€์— ์žˆ๋‹ค๋ฉด ์„ ์–ธ ์œ„์น˜์— ๊ด€๊ณ„์—†์ด ์‚ฌ์šฉ์ด ๋จ)var ํ‚ค์›Œ๋“œ ์ƒ๋žต ํ—ˆ์šฉ์ค‘๋ณต ์„ ์–ธ ํ—ˆ์šฉ๋ณ€์ˆ˜ ํ˜ธ์ด์ŠคํŒ… ํ•˜..
๋งˆ์ง„ ๊ฒน์นจ ํ˜„์ƒ(margin collapsing) ์ฐธ๊ณ https://developer.mozilla.org/ko/docs/Web/CSS/CSS_box_model/Mastering_margin_collapsinghttps://youtu.be/c19Mjg-ivxc?si=kzFGncB5IBQzRxKihttps://velog.io/@devsaza/likealion006https://velog.io/@ursr0706/%EB%A7%88%EC%A7%84margin  ๋งˆ์ง„ ๊ฒน์นจ ํ˜„์ƒ(๋งˆ์ง„ ์ƒ์‡„ ํ˜„์ƒ) ์—ฌ๋Ÿฌ ๋ธ”๋ก์˜ margin ์ƒํ•˜ ๊ฐ’์ด ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์ œ์ผ ํฐ margin ๊ฐ’์„ ๊ฐ€์ง„ ๋‹จ์ผ margin์œผ๋กœ ๊ฒฐํ•ฉ(์ƒ์‡„)๋˜๋Š” ํ˜„์ƒ (๋‹จ, float ์†์„ฑ๊ฐ’์„ ์คฌ๊ฑฐ๋‚˜ position ์†์„ฑ ๊ฐ’์ด ์ ˆ๋Œ€์š”์†Œ(absolute, fixed, sticky...)์ฆ‰ ์ธ์ ‘ํ•œ ์š”์†Œ ๊ฐ„์˜ ์œ„์•„๋ž˜ ..
250307 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ด๋ฒˆ ๊ณผ์ œ๋Š” ๋ธ”๋กœ๊ทธ์— ๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” ๊ณผ์ œ๋Š” ์•„๋‹ˆ์ง€๋งŒ, ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์—ฐ์Šต ๊ณผ์ œ๋ผ ์—ฌ๊ธฐ์— ์ •๋ฆฌํ•ด๋‘”๋‹ค.  1. ๋‘ ์ˆ˜์˜ ์ฐจ : https://school.programmers.co.kr/learn/courses/30/lessons/120803?language=javascriptfunction solution(num1, num2) { var answer = num1 - num2; return answer;} 2. ๋‚˜์ด ์ถœ๋ ฅ  : https://school.programmers.co.kr/learn/courses/30/lessons/120820?language=javascriptfunction solution(age) { var answer = 2023 - age; return answer;..
Flex vs Grid ์ฐธ์กฐhttps://studiomeal.com/archives/197 https://studiomeal.com/archives/533https://www.youtube.com/playlist?list=PLFeNz2ojQZjso4ZJVeeMWR72l8s9V8Ym9  Flex - flexbox : ํ–‰ ๋˜๋Š” ์—ด์„ ์ฃผ์ถ•์œผ๋กœ ์„ค์ •ํ•ด ์›น ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ ๋ฐ ์ •๋ ฌํ•˜๋Š” 1์ฐจ์› ๋ ˆ์ด์•„์›ƒ ๋ฐฉ์‹ํ”Œ๋ ‰์Šค ๋ฐ•์Šค ๋ฐฉ์‹์œผ๋กœ ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ”Œ๋ ‰์Šค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค๋ฉฐ, ํ”Œ๋ ‰์Šค ์ปจํ…Œ์ด๋„ˆ ๋‚ด์— ํ”Œ๋ ‰์Šค ๋ฐ•์Šค ๋ฐฉ์‹์œผ๋กœ ๋ฐฐ์น˜๋˜๋Š” ์š”์†Œ๋ฅผ ํ”Œ๋ ‰์Šค ์•„์ดํ…œ์ด๋ผ๊ณ  ํ•œ๋‹ค.  ์ด ๋•Œ ์•„์ดํ…œ์ด ๋ฐฐ์น˜๋œ ๋ฐฉํ–ฅ์˜ ์ถ•์„ ๋ฉ”์ธ์ถ•(์ด๋ฏธ์ง€์—์„œ๋Š” ์˜ค๋Ž…๊ผฌ์น˜์˜ ๋А๋‚Œ?)๋ฉ”์ธ์ถ•๊ณผ ์ˆ˜์ง์ธ ์ถ•์„ ๊ต์ฐจ์ถ•์ด๋ผ ํ•œ๋‹ค. * flex container์— ์ ์šฉํ•˜๋Š” ์†์„ฑ  See the Pe..
๋น„๊ธฐ๋„ˆ ํŠธ๋ž™ 10 - JavaScript ์ด๋ก  ๋‚ด์šฉ ์š”์•ฝ ๋ณ€์ˆ˜ : ์ปดํ“จํ„ฐ์™€ ๊ฐœ๋ฐœ์ž ์‚ฌ์ด์— ์ƒˆ๋กญ๊ฒŒ ๊ทœ์ •ํ•œ ๋ช…์‚ฌ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ let ํ‚ค์›Œ๋“œ๋ฅผ, ๊ฐ’์„ ํ• ๋‹น ํ•  ๋•Œ๋Š” = ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.let apple = '์‚ฌ๊ณผ';// ๊ฐœ๋ฐœ์ž๊ฐ€ ์ปดํ“จํ„ฐ์—๊ฒŒ ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜ apple์„ ๊ทœ์ •ํ•˜๊ณ , ๋ฌธ์ž์—ด '์‚ฌ๊ณผ' ๋ผ๋Š” ๊ฐ’์„ ํ• ๋‹นํ•จ  ํ•จ์ˆ˜ : ์ปดํ“จํ„ฐ์™€ ๊ฐœ๋ฐœ์ž ์‚ฌ์ด์— ์ƒˆ๋กญ๊ฒŒ ๊ทœ์ •ํ•œ ๋™์‚ฌfunction countLength(string) { // ํ•จ์ˆ˜ countLength ์„ ์–ธ, (string)์€ ํ•จ์ˆ˜์—์„œ ์‚ฌ์šฉํ•  ๋ณ€์ˆ˜ return string.length; // string์˜ length(๋ฌธ์ž์—ด์˜ ๊ธธ์ด)๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.} - function : ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ํ‚ค์›Œ๋“œ- return : ํ•จ์ˆ˜ ๋‚ด๋ถ€์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋œ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ‚ค์›Œ๋“œ ์ด๋ ‡๊ฒŒ ์„ ์–ธํ•œ ํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค./..
๋น„๊ธฐ๋„ˆ ํŠธ๋ž™ 9 - CSS ์ด๋ก  (2) ๋‚ด์šฉ ์š”์•ฝ CSS ๋ฐ•์Šค ๋ชจ๋ธcontent : ํ…์ŠคํŠธ๋‚˜ ์ด๋ฏธ์ง€๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ์‹ค์ œ ๋‚ด์šฉ ์˜์—ญpadding : ๋‚ด์šฉ๊ณผ ํ…Œ๋‘๋ฆฌ ์‚ฌ์ด ๋‚ด๋ถ€ ์—ฌ๋ฐฑborder : ํ…Œ๋‘๋ฆฌ, ์š”์†Œ์˜ ๊ฒฝ๊ณ„margin : ์š”์†Œ ์™ธ๋ถ€์˜ ์—ฌ๋ฐฑ, ๋‹ค๋ฅธ ์š”์†Œ์™€์˜ ๊ฐ„๊ฒฉ ๋ฐ•์Šค ๋ชจ๋ธ.container { width : 200px; padding : 20px; border : 5px solid black; margin : 15px;}  CSS ์šฐ์„  ์ˆœ์œ„!important(์šฐ์„  ์ ์šฉ) > style ์†์„ฑ (์ธ๋ผ์ธ ์Šคํƒ€์ผ) > id ์„ ํƒ์ž > class ์„ ํƒ์ž > ํƒœ๊ทธ ์„ ํƒ์ž ๋‹ค๋งŒ !important๋Š” ๊ฐ€๋…์„ฑ์ด๋‚˜ ์„ฑ๋Šฅ, ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ์—ฌ๋Ÿฌ๋ชจ๋กœ ์ข‹์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋˜๋„๋ก ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.CSS ์šฐ์„ ์ˆœ์œ„p { color: blu..