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

Lect & Tip110

ํŒŒ์ด์ฌ '์—ฐ์ฐจํœด๊ฐ€์ผ์ˆ˜ ๊ณ„์‚ฐ๊ธฐ' ๋งŒ๋“ค๊ธฐ ํŒŒ์ด์ฌ '์—ฐ์ฐจํœด๊ฐ€์ผ์ˆ˜ ๊ณ„์‚ฐ๊ธฐ' ๋งŒ๋“ค๊ธฐ์ง์žฅ์—์„œ ์—ฐ์ฐจ ํœด๊ฐ€๋Š” ์ง์›๋“ค์˜ ์ค‘์š”ํ•œ ๊ถŒ๋ฆฌ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฐ์ฐจ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์ผ์ด ์ข…์ข… ๋ฒˆ๊ฑฐ๋กญ๊ณ  ๋ณต์žกํ•˜๊ฒŒ ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•ด ์—ฐ์ฐจํœด๊ฐ€์ผ์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋Š” '์—ฐ์ฐจํœด๊ฐ€์ผ์ˆ˜ ๊ณ„์‚ฐ๊ธฐ'๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ์—ฐ์ฐจํœด๊ฐ€์ผ์ˆ˜ ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ์€ ์ž…์‚ฌ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์—ฐ์ฐจํœด๊ฐ€๋ฅผ ์ž๋™์œผ๋กœ ๊ณ„์‚ฐํ•˜์—ฌ ๋ณต์žกํ•œ ์ˆ˜์‹์„ ๋Œ€์‹ ํ•ด์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์ฝ”๋“œ๋ฅผ ๋‹จ๊ณ„๋ณ„๋กœ ์„ค๋ช…ํ•˜๊ณ , ๊ทธ ํ™œ์šฉ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.์—ฐ์ฐจํœด๊ฐ€ ๊ณ„์‚ฐ ๊ทœ์น™ ์ดํ•ดํ•˜๊ธฐ๋จผ์ € ์—ฐ์ฐจํœด๊ฐ€ ๊ณ„์‚ฐ์˜ ๊ธฐ๋ณธ ๊ทœ์น™์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ•œ๋ฏผ๊ตญ ๊ทผ๋กœ๊ธฐ์ค€๋ฒ•์— ๋”ฐ๋ฅด๋ฉด ์—ฐ์ฐจํœด๊ฐ€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค.์ž…์‚ฌ ํ›„ 1๋…„ ๋ฏธ๋งŒ: ๋งค๋‹ฌ ๊ฐœ๊ทผ ์‹œ 1์ผ์˜ ์œ ๊ธ‰ํœด๊ฐ€๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.์ž…์‚ฌ ํ›„ 1๋…„ ์ด์ƒ: 1๋…„ ๋™์•ˆ 80.. 2024. 10. 10.
bootstrap selectpicker multiple js ์ˆ˜์ •: ์ „์ฒด ์„ ํƒ์ด ์ฒดํฌ ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ์˜ต์…˜์ด ํ•˜๋‚˜๋ผ๋„ ์ฒดํฌ ํ•ด์ œ๋  ๊ฒฝ์šฐ ์ „์ฒด ์„ ํƒ๋„ ๊ฐ™์ด ์ฒดํฌ ํ•ด์ œ ๋˜๊ฒŒ bootstrap selectpicker multiple js ์ˆ˜์ •: ์ „์ฒด ์„ ํƒ์ด ์ฒดํฌ๋˜์–ด ์žˆ๋Š” ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ์˜ต์…˜์ด ํ•˜๋‚˜๋ผ๋„ ์ฒดํฌ ํ•ด์ œ๋  ๊ฒฝ์šฐ ์ „์ฒด ์„ ํƒ๋„ ๊ฐ™์ด ์ฒดํฌ ํ•ด์ œ๋˜๊ฒŒBootstrap์€ ์›น ๊ฐœ๋ฐœ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ, ๋‹ค์–‘ํ•œ UI ์ปดํฌ๋„ŒํŠธ์™€ ์Šคํƒ€์ผ์„ ์ œ๊ณตํ•ด ๊ฐœ๋ฐœ์ž๋“ค์ด ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์›น์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค. ๊ทธ์ค‘์—์„œ๋„ bootstrap-select๋Š” ๊ธฐ๋ณธ HTML ์š”์†Œ๋ฅผ ๋”์šฑ ์„ธ๋ จ๋˜๊ฒŒ ๋ณด์ด๋„๋ก ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜๋Š” ๋ฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํŠนํžˆ selectpicker๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์˜ต์…˜์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ€ํ‹ฐ ์…€๋ ‰ํŠธ(dropdown) ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฉ€ํ‹ฐ ์…€๋ ‰ํŠธ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๋•Œ, "์ „์ฒด ์„ ํƒ(Select All)" ์˜ต์…˜๊ณผ ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ •์—์„œ.. 2024. 8. 23.
๋ฆฌ๋ˆ…์Šค์—์„œ Mattermost๋ฅผ HTTPS(SSL)๋กœ ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฆฌ๋ˆ…์Šค์—์„œ Mattermost๋ฅผ HTTPS(SSL)๋กœ ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ Slack์˜ ๋Œ€์•ˆ์œผ๋กœ ์ž๋ฆฌ์žก๊ณ  ์žˆ๋Š” Mattermost๋ฅผ ์„ค์น˜ํ•˜๊ณ  HTTPS(SSL) ๋ชจ๋“œ๋กœ ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๊ธ€์—์„œ๋Š” Mattermost์˜ ๊ธฐ๋ณธ ์„ค์น˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ฃจ์—ˆ์œผ๋‚˜, ์ด๋ฒˆ์—๋Š” HTTPS๋กœ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜์—ฌ Mattermost๋ฅผ ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์„ค๋ช…๋“œ๋ฆด ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์ €๋Š” Mattermost๋ฅผ HTTPS ๋ชจ๋“œ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ์šด์˜ ์ค‘์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” HTTPS ์„ค์ •์„ ์™„๋ฃŒํ•œ Mattermost์˜ ์ง์ ‘์ ์ธ ์„ค์ • ๋ฐฉ๋ฒ•์„ ์•ˆ๋‚ดํ•˜๋ฉฐ, NGINX ํ”„๋ก์‹œ ์„ค์ • ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ์ถ”ํ›„ ์„ฑ๊ณต ์‹œ ๋ณ„๋„๋กœ ์„ค๋ช…๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.1. ๋„๋ฉ”์ธ ๊ตฌ๋งคMattermost๋ฅผ HTTPS๋กœ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋„๋ฉ”์ธ์ด ํ•„์š”.. 2024. 8. 15.
์œˆ๋„์šฐ 10์—์„œ Linux Bash Shell ์„ค์น˜ ๋ฐ WSL ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ์œˆ๋„์šฐ 10์—์„œ Linux Bash Shell ์„ค์น˜ ๋ฐ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์œˆ๋„์šฐ 10์—์„œ Linux Bash Shell์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž์™€ IT ์ „๋ฌธ๊ฐ€๋“ค ์‚ฌ์ด์—์„œ ์ ์  ๋” ์ธ๊ธฐ๋ฅผ ๋Œ๊ณ  ์žˆ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์œˆ๋„์šฐ์™€ Linux ํ™˜๊ฒฝ์„ ๋™์‹œ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ๋„๊ตฌ์™€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋” ์œ ์—ฐํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ์œˆ๋„์šฐ 10์—์„œ Linux Bash Shell์„ ์„ค์น˜ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.1. WSL(Windows Subsystem for Linux) ์†Œ๊ฐœWSL(Windows Subsystem for Linux)์€ ์œˆ๋„์šฐ 10์—์„œ Linux ๋ฐฐํฌํŒ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ˜ธํ™˜ ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. WSL์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” Linux ๋ช…๋ น์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์œˆ๋„.. 2024. 7. 30.
Secure Header๋ฅผ ์ด์šฉํ•œ ๋ธŒ๋ผ์šฐ์ € ๋ณด์•ˆ ํ—ค๋” HSTS(HTTP Strict Transport Security) Secure Header๋ฅผ ์ด์šฉํ•œ ๋ธŒ๋ผ์šฐ์ € ๋ณด์•ˆ ํ—ค๋” HSTS(HTTP Strict Transport Security)์•ˆ๋…•ํ•˜์„ธ์š”, ์ „๋ฌธ ๋ธ”๋กœ๊ฑฐ๋กœ์„œ ๊น”๋”ํ•˜๊ณ  ๋…์ฐฝ์ ์ธ ๊ธ€์„ ์ถ”๊ตฌํ•˜์‹œ๋Š” ๋งŒํผ, ์ตœ์ ํ™”๋œ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” 'Secure Header๋ฅผ ์ด์šฉํ•œ ๋ธŒ๋ผ์šฐ์ € ๋ณด์•ˆ'์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŒ…์ž…๋‹ˆ๋‹ค.Secure Header๋ฅผ ์ด์šฉํ•œ ๋ธŒ๋ผ์šฐ์ € ๋ณด์•ˆ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฐœ์ „๊ณผ ๋ณด์•ˆ ํ•„์š”์„ฑ1990๋…„์— ํƒ„์ƒํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €(Web Browser)๋Š” ์›น ์„œ๋ฒ„์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋ฉฐ HTML ๋ฌธ์„œ๋‚˜ ํŒŒ์ผ์„ ์ถœ๋ ฅํ•˜๋Š” ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์Šคํฌํ†ฑ, ๋ชจ๋ฐ”์ผ ๋“ฑ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ HTTP ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ธ€๋กœ๋ฒŒ ์‹œ์žฅ์กฐ์‚ฌ์—…์ฒด ์Šคํƒฏ์นด์šดํ„ฐ(StatCounter)์˜ 2020๋…„ 3์›” ์ „ ์„ธ๊ณ„ ๋ธŒ๋ผ์šฐ.. 2024. 7. 29.
์›Œ๋“œํ”„๋ ˆ์Šค PHP๋ฅผ ๋ฒ„์ „ 8๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•˜๋Š” ์ด์œ  ์›Œ๋“œํ”„๋ ˆ์Šค PHP๋ฅผ ๋ฒ„์ „ 8๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์›น์‚ฌ์ดํŠธ์˜ ์„ฑ๋Šฅ๊ณผ ๋ณด์•ˆ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ง€์†์ ์ธ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ, ์›Œ๋“œํ”„๋ ˆ์Šค์™€ ๊ฐ™์€ ์ธ๊ธฐ ์žˆ๋Š” ์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(CMS)์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, PHP ๋ฒ„์ „์˜ ์—…๊ทธ๋ ˆ์ด๋“œ๋Š” ์›น์‚ฌ์ดํŠธ์˜ ์•ˆ์ •์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. PHP๋Š” ์›น ์„œ๋ฒ„์—์„œ ์‹คํ–‰๋˜๋Š” ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋กœ, ์›Œ๋“œํ”„๋ ˆ์Šค์™€ ๊ฐ™์€ ํ”Œ๋žซํผ์—์„œ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ PHP 8์€ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ, ์ด์ „ ๋ฒ„์ „๋“ค์— ๋น„ํ•ด ๋งŽ์€ ๊ฐœ์„  ์‚ฌํ•ญ๊ณผ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.๋ณธ ํฌ์ŠคํŠธ์—์„œ๋Š” ์™œ ์›Œ๋“œํ”„๋ ˆ์Šค ์‚ฌ์ดํŠธ๋ฅผ PHP 8๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.PHP 8์˜ ์ฃผ์š” ๊ฐœ์„  ์‚ฌํ•ญ์„ฑ๋Šฅ ํ–ฅ์ƒPHP 8์€ ์„ฑ๋Šฅ ๋ฉด์—์„œ ๋ˆˆ์— ๋„๋Š” ํ–ฅ์ƒ์„ ์ด๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค.. 2024. 6. 21.