์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] 24๋…„ 2ํšŒ ํ•„๊ธฐ์‹œํ—˜ ํ•ฉ๊ฒฉ ํ›„๊ธฐ + ๊ณต๋ถ€๋ฒ•, Tip

    ์•ˆ๋…•ํ•˜์„ธ์š”! 5์›” 14์ผ์— ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ํ•„๊ธฐ์‹œํ—˜์„ ๋ณด๊ณ  ์™”์Šต๋‹ˆ๋‹ค!๋‹คํ–‰ํžˆ ํ•ฉ๊ฒฉํ•ด์„œ ํ›„๊ธฐ๋ฅผ ์ ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋„ค์š”..์ž๊ฒฉ์ฆ ์‹œํ—˜ ํŒ์„ ์ ์–ด๋‘๋ฉด ๋‚˜์ค‘์— ๋„์›€๋  ๊ฒƒ ๊ฐ™์•„์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!๐ŸŸก ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์ž๊ฒฉ์ฆ์€ ๐ŸŸก์ด ํ•„๊ธฐ์™€ ์‹ค๊ธฐ๋ฅผ ๋ชจ๋‘ ํ•ฉ๊ฒฉํ•ด์•ผ๋งŒ ์ทจ๋“ํ•  ์ˆ˜ ์žˆ๋‹ค. 1๋…„์— ํ•„๊ธฐ์™€ ์‹ค๊ธฐ๊ฐ€ ์ด 3๋ฒˆ์”ฉ ์—ด๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์—์‹œํ—˜์‹ ์ฒญ์„ ๋†“์น˜๋ฉด ํ…€์„ ๋‘๊ณ  ์‹œํ—˜์„ ๋ด์•ผํ•จ์„ ์ธ์ง€ํ•˜๊ณ ๋†“์น˜์ง€ ์•Š๋„๋ก ๊ผญ ๋‚ ์งœ๋ฅผ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค.  24๋…„ ์‹œํ—˜์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ง„ํ–‰๋œ๋‹ค. (๋‚˜์˜ ๊ฒฝ์šฐ 4/16์— ์‹ ์ฒญํ–ˆ์–ด์•ผํ–ˆ๋Š”๋ฐ ๋‚ ์งœ๋ฅผ ์ž˜๋ชป์ €์žฅํ•ด๋†”์„œ 17์ผ์— ์‹ ์ฒญ์„ ํ–ˆ๊ณ ,์‹œํ—˜์žฅ์†Œ ์„ ํƒ์— ์žˆ์–ด ์„ ํƒ์ง€๊ฐ€ ์ ์—ˆ์ง€๋งŒ ์›ํ•˜๋Š” ๋‚ ์งœ์— ์‹ ์ฒญํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ ,์ˆ˜๋„๊ถŒ์€ ์ž๋ฆฌ๊ฐ€ ์ถฉ๋ถ„ํ•ด๋ณด์˜€๋‹ค)๐ŸŸข ํ•„๊ธฐ์‹œํ—˜ ํ•ฉ๊ฒฉ ๊ธฐ์ค€ ๐ŸŸขํ•„๊ธฐ์‹œํ—˜์—๋Š” ์ด 5๊ณผ๋ชฉ์ด ์กด์žฌํ•œ๋‹ค.1. ์†Œํ”„ํŠธ์›จ..

    mariaDB์™€ workbench ์—ฐ๋™ ์˜ค๋ฅ˜

    ์˜ค๋ฅ˜ ์‚ฌํ•ญdocker์— mariaDB๋ฅผ ๋‹ค์šด๋ฐ›์•„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ณ , workbench์— mariaDB๋ฅผ ์—ฐ๋™ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‹ค.Failed to Connect to MySQL at 127.0.0.1:3306 with user rootโ˜๐Ÿป์ด๋Ÿฐ ๊ฒฝ์šฐ, ์šฐ์„  workbench์˜ ๋ฒ„์ „์„ ํ™•์ธํ•ด๋ณธ๋‹ค. ๋ฒ„์ „์ด 8.0.27 ์ด์ƒ์ด๋ผ๋ฉด 8.0.26์„ ๋‹ค์‹œ ๋‹ค์šด๋ฐ›์•„์ค€๋‹ค.https://downloads.mysql.com/archives/workbench/ MySQL :: Download MySQL Workbench (Archived Versions)Please note that these are old versions. New releases will have recent bug fixes and features!..

    [ํšŒ๊ณ ] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํ’€์Šคํƒ ๋ฐ๋ธŒ์ฝ”์Šค 3์ฃผ์ฐจ

    3์ฃผ์ฐจ๋Š” node.js, express, API ๋“ฑ ์ค‘์š”ํ•œ ๋‚ด์šฉ๋“ค์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๊ณ ,์—ฌ๋Ÿฌ ๊ฒฝํ—˜์„ ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ฃผ์ฐจ์˜€์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์ฃผ๋Š” ํŠน๋ณ„ํžˆ ๋ฐ๋ธŒ์ฝ”์Šค์—์„œ ์ง„ํ–‰ํ•˜๋Š” ๋ฆฌ์•กํŠธ ์Šคํ„ฐ๋””์—์„œ์˜คํ”„๋ผ์ธ์œผ๋กœ ๋งŒ๋‚˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋Š”๋ฐ์š”,์˜จ๋ผ์ธ์œผ๋กœ๋งŒ ์„œ๋กœ๋ฅผ ์ธ์ง€ํ•˜๋‹ค๊ฐ€ ์ง์ ‘ ์–ผ๊ตด๋„ ๋ณด๊ณ  ๋Œ€ํ™”๋„ ๋‚˜๋ˆ„๋‹ˆ ๋” ์—ด์‹ฌํžˆ ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค :) ๊ทธ๋ฆฌ๊ณ  ๋ฐ๋ธŒ์ฝ”์Šค๋Š” ํŒ€์„ ๊ตฌ์„ฑํ•˜์—ฌ ํ•จ๊ป˜ ์„ฑ์žฅํ•˜๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ด์ค๋‹ˆ๋‹ค.๊ทธ๋ž˜์„œ ์ด๋ฒˆ์ฃผ๋Š” ํŒ€ ๊ตฌ์„ฑ์›๋“ค์ด๋ž‘๋„ ์˜จ๋ผ์ธ์œผ๋กœ ๋งŒ๋‚˜ ์„œ๋กœ์— ๋Œ€ํ•ด ์ž ์‹œ๋‚˜๋งˆ ์ด์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ต๋‹ˆ๋‹ค๐Ÿ™‰ ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ํ•„๊ธฐ์‹œํ—˜์ค€๋น„์™€ ๋ฐ๋ธŒ์ฝ”์Šค๋ฅผ ํ•จ๊ป˜ ์ง„ํ–‰ํ•˜๋‹ˆํ•˜๋ฃจ๋ฅผ ๋น ๋“ฏํ•˜๊ฒŒ ์จ์•ผ ํ•  ์ผ๋“ค์„ ๋‹ค ํ•  ์ˆ˜ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •์‹ ์—†๋Š” ํ•œ ์ฃผ๋ฅผ ๋ณด๋ƒˆ๋„ค์š”..์ ์  ๋” ์–ด๋ ค์›Œ์ง€๋Š” ๋‚ด์šฉ์— ํ—ˆ๋•์ด์ง€ ์•Š๋„๋ก ์ตœ์„ ์„ ๋‹คํ•ด์•ผ๊ฒ ์–ด์š”๐Ÿ”ฅKPTkeep- ์˜ค๋Š˜ ๋“ค์–ด์•ผ..

    [ํšŒ๊ณ ] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํ’€์Šคํƒ ๋ฐ๋ธŒ์ฝ”์Šค 2์ฃผ์ฐจ

    ์ด๋ฒˆ ์ฃผ๋Š” ํ˜‘์—… ํˆด๊ณผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ, ๊ทธ๋ฆฌ๊ณ  node.js์— ๋Œ€ํ•ด ์ค‘์ ์ ์œผ๋กœ ๋‹ค๋ค˜์Šต๋‹ˆ๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๊ผญ ์•Œ๊ณ ์žˆ์–ด์•ผ ํ•˜๋Š” ๊ธฐ์ดˆ์ ์ด๊ณ  ํ•„์ˆ˜์ ์ธ ๋‚ด์šฉ๋“ค์ด์—ˆ์ฃ . "์–ด๋ ค์šด ๊ฒŒ ์•„๋‹ˆ์—์š”! ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๊ฒ๋‹ˆ๋‹ค!" ๋ฐฑ์—”๋“œ ๊ณต๋ถ€ํ•  ๋•Œ ๊ฐ•์‚ฌ๋‹˜์ด ๊ณ„์† ๋ฐ˜๋ณต์ ์œผ๋กœ ํ•˜์‹  ๋ง์”€์ด์—์š”. node.js๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ค„๋ณด์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ๋กœ ์–ด์ƒ‰ํ•œ ๋‚ด์šฉ๋“ค์ด ๋งŽ์•˜์€๋ฐ, ๊ฐ•์‚ฌ๋‹˜์˜ ์ € ๋ง์”€์ด ํฐ ์œ„๋กœ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.๐Ÿฅบ ์ค‘์š”ํ•œ ๋‚ด์šฉ๋“ค์ด๊ธฐ๋„ ํ–ˆ๊ณ , ๊ผญ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š” ๋‚ด์šฉ๋“ค์ด์—ˆ๊ธฐ์— ๋ฐฐ์šด ๋‚ด์šฉ๋“ค์— ๋Œ€ํ•ด ์™„์ „ํ•˜๊ฒŒ ์ˆ™์ง€ํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์ ์ด ๋งŽ์ด ์•„์‰ฝ๋„ค์š”. ๋Šฆ์–ด์ง€๊ธฐ ์ „์— ๋น ๋ฅด๊ฒŒ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋ฐ˜๋ณตํ•ด์„œ ์ต์ˆ™ํ•ด์งˆ ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ์–ด์š”๐Ÿ”ฅ Keep 1๏ธโƒฃ ๊ทธ ๋‚  ๋“ค์–ด์•ผํ•˜๋Š” ๊ฐ•์˜๋Š” ๋‹น์ผ์— ๋‹ค ๋“ฃ๋„๋ก! 2๏ธโƒฃ ๊ฐ•์˜ ๋“ค์„ ๋•Œ๋Š” ํ•ธ๋“œ..

    [Git] git์œผ๋กœ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ํ•˜๊ธฐ(github ์—ฐ๊ฒฐ, git init)

    ํ˜ผ์ž๊ฐ€ ์•„๋‹Œ ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ํ•จ๊ป˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค๋ฉด ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๊ณ  ๊ณต์œ ํ•˜๊ณ , ๋ณ‘ํ•ฉํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค. ์ด์ „ ๋ฒ„์ „์˜ ํŒŒ์ผ์„ ๋ณต์ œํ•˜์—ฌ ๋ณต์ œํ•œ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ˆ˜๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ์—๋Š” ์˜ค๋ฅ˜๋„ ๋งŽ์ด ์ƒ๊ธฐ๊ณ  ์•Œ์•„๋ณด๊ธฐ์—๋„ ์‰ฝ์ง€ ์•Š๋‹ค.  ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ ์šฐ๋ฆฌ๋ฅผ ๋„์™€์ค„ ์ˆ˜ ์žˆ๋Š” ์œ ์šฉํ•œ ํ˜‘์—… ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ๋‹ค. ๋ฐ”๋กœ Git์ด๋‹ค. Git์„ ํ†ตํ•ด ํŒŒ์ผ์˜ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๊ณ  Github๋ฅผ ์ด์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ๊ณต์œ ํ•˜๊ณ  ๋‚ด๋ ค ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. <hr contenteditable="false" data-ke-type="horizontalRu..

    [ํšŒ๊ณ ] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํ’€์Šคํƒ ๋ฐ๋ธŒ์ฝ”์Šค 1์ฃผ์ฐจ

    ๋“œ๋””์–ด ๊ธฐ๋‹ค๋ฆฌ๊ณ  ๊ธฐ๋‹ค๋ฆฌ๋˜ ๋ฐ๋ธŒ์ฝ”์Šค๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค! ๐Ÿค— ๊ฐœ๊ฐ• ์ „, ์Šฌ๋ž™๊ฐ€์ž…๋ถ€ํ„ฐ ์Šค์ฟจ๊ฐ€์ž…์„ ํ–ˆ๋Š”๋ฐ์š”, ๋ฐ๋ธŒ์ฝ”์Šค๋ฅผ ํ•จ๊ป˜ํ•  3๊ธฐ๋ถ„๋“ค๊ณผ ๋งค๋‹ˆ์ €๋‹˜์„ ํ™•์ธํ•˜๋‹ˆ ๋” ๊ธฐ๋Œ€๊ฐ€ ๋˜๋”๋ผ๊ณ ์š”~ ์ž์ฃผ ์“ฐ๋Š” ์Šฌ๋ž™์ด์ง€๋งŒ, ์ƒˆ๋กœ ๊ฐ€์ž…ํ•˜๊ณ  ์ฒ˜์Œ์œผ๋กœ ๋งž์ดํ•˜๋Š” ๋ฌธ๊ตฌ๊ฐ€ ์™ค์ผ€ ์„ค๋ ˆ์—ˆ๋Š”์ง€..ใ…Žใ…Ž ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์Šค์ฟจ ๊ฐ€์ž…๋„ ํ–ˆ๋Š”๋ฐ ํ”„๋กœํ•„ ์‚ฌ์ง„์ด ์‹ฌ์ƒ์น˜ ์•Š์ฃ ..?ใ…Žใ…Ž๐Ÿ™‰ ์›์ˆญ์ด๊ฐ™๋‹ค๋Š” ์ด์•ผ๊ธฐ๋ฅผ ๋งŽ์ด ๋“ค์–ด์„œ,, ๋‹ฎ์€ ์›์ˆญ์ด ์นœ๊ตฌ๋กœ ํ”„๋กœํ•„์„ ์„ค์ •ํ•ด์ฃผ์—ˆ๋‹ต๋‹ˆ๋‹ค :) ํ•œ ์ฃผ ๋™์•ˆ, OT์™€ ์—ฌ๋Ÿฌ ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์ „๋ฐ˜์ ์ธ ๋ฐ๋ธŒ์ฝ”์Šค์˜ ์ง„ํ–‰๋ฐฉ๋ฒ•์„ ์ˆ™์ง€ํ•˜๊ณ , ๊ฐœ๋ฐœ์—์„œ ํ•„์š”ํ•œ ํ˜‘์—…๋ฐฉ์‹์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๊น€์†ก์•„ ๊ฐ•์‚ฌ๋‹˜์˜ ๊ฐ•์˜๋ ฅ์ด ์ •๋ง ์ข‹์œผ์…”์„œ ๋ฐฐ์šฐ๋Š” ๋‚ด๋‚ด ๊ฐํƒ„์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.๐Ÿซข ์ด๋ฒˆ ์ฃผ์ฐจ์—๋Š” ๊นƒ๊ณผ ๊นƒํ—ˆ๋ธŒ์— ๋Œ€ํ•ด ์ค‘์ ์œผ๋กœ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ํ˜‘์—…๋™์•„๋ฆฌ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ• ..

    [JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฌธ์ž์—ด ๋ฐ˜๋ณต ๋ฉ”์†Œ๋“œ repeat()

    โœ”๏ธ repeat() ์š”์•ฝํŠน์ • ๋ฌธ์ž์—ด์„ ์›ํ•˜๋Š”๋งŒํผ ๋ฐ˜๋ณตํ•œ ๋ฌธ์ž์—ด์„ ์–ป๊ณ ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ.โœ”๏ธ repeat() ๊ธฐ๋ณธํ˜•string.repeat(count);string : ๋ฌธ์ž์—ด์ด ์ €์žฅ๋œ string ๋ณ€์ˆ˜count : ๋ฐ˜๋ณตํ•  ํšŸ์ˆ˜โœ”๏ธ repeat() ์‚ฌ์šฉ๋ฒ•str = 'abc';console.log(str.repeat(3)); // abcabcabc ์ถœ๋ ฅ

    [JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ตœ๋Œ€/์ตœ์†Œ ์ •์ˆ˜๊ฐ’ MAX_SAFE_INTEGER/MIN_SAFE_INTEGER

    โœ”๏ธ Number.MAX_SAFE_INTEGER() / Number.MIN_SAFE_INTEGER() ์š”์•ฝNumber.MAX_SAFE_INTEGER() : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์•ˆ์ „ํ•œ ์ตœ๋Œ€ ์ •์ˆ˜ ๊ฐ’Number.MIN_SAFE_INTEGER() : ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์•ˆ์ „ํ•œ ์ตœ์†Œ ์ •์ˆ˜ ๊ฐ’โœ”๏ธ Number.MAX_SAFE_INTEGER() / Number.MIN_SAFE_INTEGER() ์‚ฌ์šฉ๋ฒ•// ์ตœ๋Œ“๊ฐ’ ์„ค์ •const max = Number.MAX_SAFE_INTEGER;// ์ตœ์†Ÿ๊ฐ’ ์„ค์ •const min = Number.MIN_SAFE_INTEGER;

    [JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ •์ˆ˜์ธ์ง€ ํ™•์ธํ•˜๋Š” Number.isInteger() ๋ฉ”์†Œ๋“œ

    โœ”๏ธ Number.isInteger() ์š”์•ฝ์ธ์ˆ˜๊ฐ€ ์ •์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋‹จํ•˜์—ฌ ์ •์ˆ˜์ด๋ฉด true๋ฅผ, ์ •์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์†Œ๋“œโœ”๏ธ Number.isInteger() ๊ธฐ๋ณธํ˜•Number.isInteger(value);Value : ์ •์ˆ˜์ธ์ง€ ํ™•์ธํ•˜๋ ค๋Š” ๊ฐ’๋ฐ˜ํ™˜๊ฐ’ : ์ฃผ์–ด์ง„ ๊ฐ’์˜ ์ •์ˆ˜ ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” Boolean๊ฐ’โœ”๏ธ Number.isInteger() ์‚ฌ์šฉ๋ฒ•Number.isInteger(0); // trueNumber.isInteger(-100); // trueNumber.isInteger(0.25); // falseNumber.isInteger("๋ฌธ์ž์—ด"); // falseNumber.isInteger(true); // falseNumber.isInteger(Infinity); // false