Banner

My Tech Blog (๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ)

๐Ÿ“ŒGIT checkout VS resetโšก checkout์€ head๋ฅผ ๋ฐ”๊พผ๋‹ค.git checkout A : ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋Š” A๋ฒ„์ „์ด๋œ๋‹ค.์‹œ๊ฐ„์—ฌํ–‰์„ ํ•˜๋Š” ๊ฒƒ   git checkout main : ํ—ค๋“œ๋ฅผ ๋ฉ”์ธ์œผ๋กœ ๋ฐ”๊พผ๋‹ค.์›Œํ‚น๋””๋ ‰ํ† ๋ฆฌ๋Š” ๋‹ค์‹œ B์™€ ๊ฐ™์•„์ง„๋‹ค. ์‹œ๊ฐ„์—ฌํ–‰์„ ๋๋‚ธ ๊ฒƒ   โšก reset์€ head์˜ branch๋ฅผ ๋ฐ”๊พผ๋‹ค.git reset A : head๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” branch์ธ main์„ A๋กœ ๋ฐ”๊พผ๋‹ค.B ๋ฒ„์ „์„ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ.  git reset B : main์ด B๋ฅผ ๋‹ค์‹œ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ํ•œ๋‹ค.B ๋ฒ„์ „์„ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ. B๋Š” ๋ณต์›๋œ ๊ฒƒ. ์ด ์ƒํƒœ์—์„œ git checkout B ํ•˜๋ฉด ์ด ์ƒํƒœ์—์„œ ๋‹ค์‹œ git reset A ํ•˜๋ฉด?ํ˜„์žฌ head๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” branch๋Š” ์—†๊ธฐ ๋•Œ๋ฌธ์— head๊ฐ€ ์ง์ ‘ A๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค..
์ด๋ฒˆ ํฌ์ŠคํŒ…์€ ์ฝ”๋”ฉ ์• ํ”Œ ์˜์ƒ์—์„œ ๋ณด๊ธฐ์ข‹๊ฒŒ ์ž˜ ์š”์•ฝ๋œ ๋ถ€๋ถ„๋งŒ ๊ฐ€์ ธ์™”๋‹ค.๊ณต๋ถ€ํ•˜๋ ค๊ณ  ๋ธ”๋กœ๊ทธ ํ•˜๋Š” ๊ฑด๋ฐ ๋‹ค ์•„๋Š” ๊ฑด ์•ž์œผ๋กœ ์‹œ๊ฐ„ ๋“ค์—ฌ์„œ ํฌ์ŠคํŒ… ํ•˜์ง€๋Š” ์•Š์„ ๊ฒƒ์ด๋‹ค.์ ์  ํฌ์ŠคํŒ…์ด ๊ท€์ฐฎ์•„์ง€๊ณ  ์žˆ๋‹ค. ๋ช…๋ น์–ด๋‚˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋‚˜ ํ™”๋ฉด์ด ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€ ์Šคํฌ๋ฆฐ์ƒทํ•ด์„œ ๊ณ„์† ๋ณด์—ฌ์ค˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.์ฝ”๋“œ ์›ํ•˜๋Š”๋Œ€๋กœ ๊ณ ์น˜๋Š” ๊ฒƒ๋„ ๋…ธ๊ฐ€๋‹ค + ์‹œ๊ฐ„ ์ˆœ์‚ญ์ธ๋ฐ๊ธฐ๋ก ๊นŒ์ง€ ๋‚จ๊ธฐ๋Š”๊ฑด ์–ผ๋งˆ๋‚˜ ๋ถ€์ง€๋Ÿฐํ•œ ์‚ฌ๋žŒ๋“ค์ธ๊ฐ€MBTI P์ธ ๋‚˜๋กœ์จ๋Š” ์ ์ฐจ ๋ธ”๋กœ๊ทธ์— ๊ธฐ๋ก ๋‚จ๊ธฐ๋Š” ๊ฒƒ๋„ ํž˜๋“ค์–ด์ง€๊ณ  ์žˆ๋‹ค.(๊ทธ๋ƒฅ ํ˜ผ์ž ์•Œ๊ณ  ๋๋‚ด๊ณ  ์‹ถ์€ ์œ ํ˜น์ด) โšกgit diff (์ž˜ ์•ˆ์“ฐ๋Š” ๋ฐฉ์‹)- ์ตœ๊ทผ commit vs ํ˜„์žฌ ํŒŒ์ผ์˜ ์ฐจ์ด์ ์„ ๋ณด์—ฌ์ค€๋‹ค.- `j`, `k`๋กœ ์Šคํฌ๋กค ์กฐ์ž‘, `q` ํ‚ค๋กœ ์ข…๋ฃŒ- ๋‹จ์  : ๋ณด๊ธฐ๊ฐ€ ํž˜๋“ค๋‹ค. โšกgit difftool- Vim ์—..
โšก๊นƒํ—ˆ๋ธŒ ์›น์—์„œ ๋‹จ์ถ•ํ‚ค ํ•˜๋‚˜๋กœ ๋ฐ”๋กœ ์ฝ”๋“œ ์—ฌ๋Š” ๋ฒ•(Feat. VSCode) ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์€ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋ฅผ ํด๋ฆญํ•œ๋‹ค.๋‚˜๋Š” html_css์„ ํด๋ฆญํ•ด์ฃผ์—ˆ๋‹ค.  ํ‚ค๋ณด๋“œ์—์„œ . ์„ ๋ˆŒ๋Ÿฌ๋ณด์ž. ๊ทธ๋Ÿฌ๋ฉด ์ฃผ์†Œ์ฐฝ์˜ github.com์ด github.dev๋กœ ๋ฐ”๊ฟ”๋ฉด์„œ์›น์—์„œ ๋ฐ”๋กœ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค. ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๊ฐ€ VSCode๋กœ ์›น ์ฐฝ์—์„œ ์—ด๋ฆฌ๊ณ  ๊ทธ ์ž๋ฆฌ์—์„œ ์ˆ˜์ • ํ›„ ๋ฐ”๋กœ ์ปค๋ฐ‹๋„ ๋œ๋‹ค.์ฝ”๋“œ๋Š” ์ˆ˜์ •ํ•  ๋ฐ๊ฐ€ ์—†์–ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ READ.md ํŒŒ์ผ์— ํ…์ŠคํŠธ๋ฅผ ๋ช‡ ์ž ์ ์–ด ๋ดค๋‹ค.์ด๋ ‡๊ฒŒ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ƒ๊ธฐ๋ฉด ์ขŒ์ธก์˜ ์†Œ์Šค์ œ์–ด ์•„์ด์ฝ˜์— ์ˆซ์ž 1์ด ๋œฌ๋‹ค.  VSCode์—์„œ ์†Œ์Šค ์ œ์–ด ํƒญ(๋ฒ„์ „ ์ œ์–ด)์— ํ‘œ์‹œ๋˜๋Š” ์ˆซ์ž "1"์€ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋ณ€๊ฒฝ๋˜์—ˆ๊ฑฐ๋‚˜ ์ถ”๊ฐ€๋˜์—ˆ์ง€๋งŒ ์•„์ง Git์— ์Šคํ…Œ์ด์ง•๋˜์ง€ ์•Š์€ ํŒŒ์ผ์ด ํ•˜๋‚˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์†Œ..
ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋‹ค ๋ณด๋ฉด ๋ฒ„์ „๊ด€๋ฆฌ๊ฐ€ ๊ฝค ์–ด๋ ต๋‹ค.์–ด๋–ค ์ƒํ™ฉ์—์„œ ๊ธฐ์กด ์›๋ณธ์ด ์–ด๋–ป๊ฒŒ ์“ฐ์ผ ์ง€ ๋ชจ๋ฅด๋‹ˆ๊นŒ ์‚ญ์ œ๋ฅผ ํ•˜์ง€ ๋ชปํ•˜๊ณ  ๊ณ„์† ์ด๋Ÿฐ ์‹์œผ๋กœ ์ €์žฅ๋˜์„œ ์Œ“์ด๋Š” ๊ฒƒ์ด๋‹ค. ์ฝ”๋“œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค. ์ฒ˜์Œ์— ๋ธ”๋กœ๊ทธ๋ฅผ ์ปค์Šคํ…€ ํ•  ๋•Œ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ๋Š”๋ฐ ์กฐ๊ธˆ์”ฉ ์—ฌ๊ธฐ ์ €๊ธฐ ํ…Œ๋งˆ๋ฅผ ์ž…ํžˆ๋‹ค ๋ณด๋‹ˆ ์ด์ œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ธฐ์กด์— ์ž˜ ๋ณด์ด๋˜ ๊ตฌ๋… ๋ฒ„ํŠผ์ด ์—†์–ด์ง„๋‹ค๋˜๊ฐ€ ํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ฒ˜์Œ์—๋Š” ํ•œ ๋‘ ๊ตฐ๋ฐ๋งŒ ์ปค์Šคํ…€ ํ•˜๋ฉด์„œ ๊ทธ๋ƒฅ ์ฃผ์„์œผ๋กœ ์ถ”๊ฐ€ํ•œ ๊ธฐ๋Šฅ๊ณผ ๋‚ ์งœ ์ •๋„๋งŒ ์ ์–ด ๋†“์•˜๋Š”๋ฐ ์ด์ œ๋ถ€ํ„ฐ๋Š” ์ด๋Ÿฐ ์‹์œผ๋กœ ํ•˜๋ฉด ๋‚˜์ค‘์—๋Š” ๊ด€๋ฆฌ๊ฐ€ ์•ˆ ๋  ๊ฒƒ ๊ฐ™์•„์„œ ๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ํ•˜๋ฉด์„œ ๋‚ด๊ฐ€ ์–ธ์ œ ์–ด๋–ค ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ–ˆ๋Š”์ง€ ์ถ”์ ์„ ํ•ด์•ผ ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.  ์ด๋Ÿด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด Git(๊นƒ)์ด๋‹ค. 1. Git vs GitHub ์ฐธ๊ณ ๋กœ ๊นƒ์ด๋ž‘ ๊นƒํ—ˆ๋ธŒ(๊ณ ์–‘์ด)๋Š” ๋‹ค๋ฅด..
์ธ๋„ค์ผ ๊ท€์ฐฎ๋‹ค์ธ๋„ค์ผ ์•ˆ์˜ฌ๋ฆฌ๋ฉด ๋ธ”๋กœ๊ทธ ๋ ˆ์ด์•„์›ƒ์ด ์•ˆ์ด๋ป์„œ ์–ด์ฉ” ์ˆ˜ ์—†์ด ์˜ฌ๋ฆฐ๋‹ค >๋ฐ”๋น ์„œ ์š”์ƒˆ ๋ฐ”๋กœ ์ž ๋“ค์–ด์„œ๋ธ”๋กœ๊ทธ ํ•  ์‹œ๊ฐ„์ด ์—†๋‹คใ…‹ใ…‹ใ…‹ใ…‹  ์˜ค๋Š˜ ๋ธ”๋กœ๊ทธ PC๋ฒ„์ „ ์ปค์Šคํ…€ํ•œ ๋‚ด์šฉ๋ฌด๋ฃŒ ์ €์ž‘๊ถŒ ์—†๋Š” ๋ฐฐ๊ฒฝ์Œ์•…(์บ๋กค) ๋“ฑ๋ก์‚ฌ์ด๋“œ๋ฐ” ๋ฉ”๋‰ด hover ํ•˜๋ฉด ๊ธ€์”จ ํ•‘ํฌ ๊ทธ๋ผ๋ฐ์ด์…˜๋ฉ”์ธ ํ—ค๋” ์—†์• ๊ณ  ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ ์ปค์Šคํ…€๋ฉ”์ธํ—ค๋”/์ธ๋„ค์ผํ—ค๋” →  ๋žœ๋ค ๋ช…์–ธ ์ƒ์„ฑ๊ธฐ์ธ๋„ค์ผ ํ—ค๋”์— 2024 ์ธ์‚ฌ๋ง  ๋‚ด์ผ 6์‹œ๋ฐ˜ ํ•œ์ •์‹ ์‹๋‹น ์˜ˆ์•ฝ12์›” 1์ผ -> ์ธํ”„๋Ÿฐ ์Šคํ”„๋ง, ์ฝ”๋”ฉ์• ํ”Œ ๊ฐ•์˜ ๊ตฌ๋งค๊ตฌ๋…๋ฒ„ํŠผ ์•ˆ ๋œจ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐLiquid Button  ํ‹ฐ์Šคํ† ๋ฆฌ ๊ตฌ๋… ๋ฒ„ํŠผ ํƒœ๊ทธ ์ฒ˜์Œ์— ๊ตฌ๋…๋ฒ„ํŠผ ์ปค์Šคํ…€ ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ์•ˆ ๋– ์„œ ์ด์ƒํ•˜๋‹ค ์ƒ๊ฐํ–ˆ๋‹คํ•œ์ฐธ ์„ค์ • ๋“ค์–ด๊ฐ€์„œ ๊ตฌ๋…๋ฒ„ํŠผ ํ™•์ธํ•˜๋‹ค๊ฐ€ํƒœ๊ทธ๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด ๋ณด๋‹ˆ owner์ด๋ฉด ์•ˆ๋œจ๋Š”๊ฑฐ๊ตฌ๋‚˜...๊ทธ๋ž˜์„œ ๊ตฌ๋… ๋ฒ„ํŠผ์„ ํ™•์ธํ•˜๋ ค..
์ฝ”๋”ฉ ์• ํ”Œ ๋ณด๋‹ค๊ฐ€ ์ข‹์€ ๋‚ด์šฉ์ด ์žˆ์–ด์„œ ์Šคํฌ๋žฉ  ์˜ค๋ž˜๋œ ์‚ฌ์ง„๋“ค์ด๋‚˜ ์ธํ„ฐ๋„ท์—์„œ ๋Œ๊ณ  ๋Œ๋˜ ์‚ฌ์ง„์€์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ๊นจ์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.์™œ JPEG๋Š” ๋””์ง€ํ„ธ ํ’ํ™”๊ฐ€ ์ƒ๊ธธ๊นŒ?  ๋งŒ์•ฝ ์Šค๋งˆํŠธํฐ์œผ๋กœ ์ฐ์€ 1000*1000px ์‚ฌ์ง„์„ ์—…๋กœ๋“œํ•˜๋ ค๋ฉด ์ €์žฅ ๊ณต๊ฐ„์ด ์–ผ๋งˆ๋‚˜ ํ•„์š”ํ• ๊นŒ? ๋จผ์ € ์ƒ‰์ƒ ํ•˜๋‚˜(ํ•˜๋‚˜์˜ ํ”ฝ์…€)๋ฅผ ์ €์žฅํ•˜๋ ค๋ฉด 3Byte์˜ ์šฉ๋Ÿ‰์ด ํ•„์š”ํ•˜๋‹ค.  ํ•˜๋‚˜์˜ ํ”ฝ์…€์—๋Š”ํ•˜๋‚˜์˜ RGB์ƒ‰์ƒ์ด ๋“ค์–ด ์žˆ๋Š”๋ฐ์ผ๋ฐ˜์ ์œผ๋กœ RGB๋Š” Red, Green, Blue 3๊ฐœ์˜ ์ƒ‰์ƒ์„ ์กฐํ•ฉํ•ด์•ผ ํ•˜๋‚˜์˜ ์ƒ‰์ƒ์ด ๋‚˜์˜จ๋‹ค. ๋”ฐ๋ผ์„œ ํ•˜๋‚˜์˜ ๊ฐ€๋กœ ์„ธ๋กœ 1000ํ”ฝ์…€์ธ ์‚ฌ์ง„ ํ•œ ์žฅ์„ ์ €์žฅํ•˜๋Š”๋ฐ์—๋Š” ์ ์–ด๋„ 3mb์˜ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ๊ณ„์‚ฐ ํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.ํ•˜๋‚˜์˜ ์‚ฌ์ง„ ์šฉ๋Ÿ‰ = 1000*1000*3Byte = 3mb ๊ทผ๋ฐ ์šฐ๋ฆฌ๊ฐ€ ์ธํ„ฐ๋„ท์— ์‚ฌ์ง„์„ ์—…๋กœ๋“œ ํ•ด ๋ณด๋ฉด? ํ›จ..
์„œ๋ธ”๋ฆฟ์˜ ํฌ์›Œ๋“œ ๋ฐฉ๋ฒ• 4๊ฐ€์ง€redirect, Refresh, location, dispatch ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒsendRedirect์™€ forward(์Šคํ”„๋ง์—์„œ ๋งŽ์ด ์‚ฌ์šฉ) โšกRedirect- HttpServletResponse ๊ฐ์ฒด์˜ sendRedirect()- ์›น๋ธŒ๋ผ์šฐ์ €์— ์žฌ์š”์ฒญ ํ•˜๋Š” ๋ฐฉ์‹- ๋‹ค๋ฅธ ์›น ์ปจํ…Œ์ด๋„ˆ์— ์žˆ๋Š” ์ฃผ์†Œ๋กœ ์ด๋™ ๊ฐ€๋Šฅ- ์ถ”๊ฐ€์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ์ฒ˜๋ฆฌ์— ์˜ํ•ด ํฌ์›Œ๋”ฉ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋Š๋ฆฌ๋‹ค.sendRedirect("ํฌ์›Œ๋“œํ•  Servlet ๋˜๋Š” JSP") โšกlocation- ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ location ๊ฐ์ฒด์˜ href ์†์„ฑ์„ ์ด์šฉ- ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์žฌ์š”์ฒญํ•˜๋Š” ๋ฐฉ์‹location.href = '์š”์ฒญํ•  ์„œ๋ธ”๋ฆฟ ๋˜๋Š” JSP' โšกdispatch- ์ผ๋ฐ˜์ ์œผ๋กœ ํฌ์›Œ๋”ฉ ๊ธฐ๋Šฅ์„ ์ง€์นญ- ์„œ๋ธ”๋ฆฟ์ด ์ง์ ‘ ์š”์ฒญ- Requ..
1. form ํƒœ๊ทธencrype์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์†์„ฑ๊ฐ’ "name", "method", "actioin", "encrype" ํŒŒ์ผ์ด๋‚˜ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ๊ฐ€ ์žˆ๋Š” ํผ์€ ๋ฐ˜๋“œ์‹œ enctype="multipart/from-data" ์ด ํƒ€์ž…์œผ๋กœ ์ง€์ •์„ ํ•ด์•ผ ํŒŒ์ผ ์—…๋กœ๋“œ(์ „์†ก)์ด ๋œ๋‹ค. ๊ทธ๋ž˜์•ผ ์„œ๋ฒ„์— ํŒŒ์ผ์„ ์ €์žฅํ•ด์„œ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋‹ค.    ๋ณด์•ˆ๋•Œ๋ฌธ์— ์ž๋™์™„์„ฑ์ด๋‚˜ ์ž…๋ ฅ ๊ฐ’ ์ฒดํฌ๋ฅผ ํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋ ค๋ฉด qutocomoplete="off" ํผ ์†์„ฑ๊ณผ "novalidate" ์†์„ฑ ์‚ฌ์šฉ + +  2. input ํƒœ๊ทธplaceholder="ํ…์ŠคํŠธ"์ž…๋ ฅ ํ•„๋“œ์— ์˜ˆ์ƒ๋˜๋Š” ์ถ”์ฒœ ๊ฐ’์„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ•˜๋Š” ์šฉ๋„ ํƒœ๊ทธ ํฌ์ปค์Šค ๋˜๋ฉด ์‚ฌ๋ผ์ง readonly์ฝ๊ธฐ ์ „์šฉ. ์ž…๋ ฅํ•„๋“œ๊ฐ€ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ถˆ๊ฐ€ํ•œ ์ƒํƒœ๊ฐ€ ๋จ. ..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (8 Page)
์ƒ๋‹จ์œผ๋กœ