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

๐Ÿ–ฅDEV/์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ! TIP10

[Tip] ๋ฆฌ์•กํŠธ์— ํฐํŠธ ์ถ”๊ฐ€ ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•  ํฐํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด ๊ฐ„๋žตํžˆ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ์ž์‹ ์ด ์‚ฌ์šฉํ•  ํฐํŠธ๋ฅผ ์„ ํƒ ํ›„ ์›ํ•˜๋Š” ์Šคํƒ€์ผ์„ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. ์ดํ›„ ์˜ค๋ฅธ์ชฝ์— link๋ฅผ ๋ณต์‚ฌํ•œ ํ›„ ๋ฆฌ์•กํŠธ public ํด๋”์˜ ํ—ค๋” ๋ถ€๋ถ„์— ๋„ฃ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 2022. 9. 9.
[Tip] MySQL ๋น„๋ฐ€๋ฒˆํ˜ธ ์ •์ฑ… ๋‚ฎ์ถ”๊ธฐ MySQL์—์„œ๋Š” ์ผ์ •์ˆ˜์ค€์ด์ƒ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์š”๊ตฌํ•˜๋Š”๋ฐ์š”, ์ด ์ •์ฑ…์„ ๋‚ฎ์ถ”๋Š” ๊ฐ„๋‹จํ•œ ๋ช…๋ น์–ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. # ๋น„๋ฐ€๋ฒˆํ˜ธ ์ˆ˜์ค€ LOW๋กœ ๋ณ€๊ฒฝ set global validate_password_policy=LOW; # ๋น„๋ฐ€๋ฒˆํ˜ธ ์ˆ˜์ค€ ๋ณด๊ธฐ show variables like 'validate_password%'; +--------------------------------------+--------+ | Variable_name | Value | +--------------------------------------+--------+ | validate_password_check_user_name | OFF | | validate_password_dictionary_file | | | validate_pa.. 2022. 9. 2.
[Tip] MySQL ํŒจ์Šค์›Œ๋“œ ์—†์ด ์„ค์น˜ํ•˜๊ธฐ ๋„์ปค๋ฅผ ํ†ตํ•ด mysql์„ ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ ์—†์ด mysql์ด ์„ค์น˜๋˜๋Š”๋ฐ์š”, ๋ฌผ๋ก  ์ฒ˜์Œ mysql์„ ์„ค์น˜ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•ด๋„ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋œน๋‹ˆ๋‹ค. ์ด๋Š” ๊ถŒํ•œ์„ ์ฃผ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. # ์„ค์น˜ $ docker container run -d --name {name} -e MYSQL_ALLOW_EMPTY_PASSWORD={password} mysql ์ด ๊ฒฝ์šฐ ํ˜„์žฌ ์‚ฌ์šฉ์ž๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๋ฅผ ๋“ฑ๋ก, ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”, ์ด์— ๋Œ€ํ•œ ๋ช…๋ น์–ด๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์šฐ์„  ์•„๋ž˜์™€ ๊ฐ™์ด use mysql์„ ํ†ตํ•ด ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ์‚ฌ์šฉ์ž๋ฅผ ์กฐํšŒํ•ด๋ด…๋‹ˆ๋‹ค. ์ด๋•Œ ๋ชฉ๋ก ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋‚ด๊ฐ€ ์ตœ์ดˆ์— ๋“ฑ๋กํ•œ ์•„์ด๋””์ž…๋‹ˆ๋‹ค. #.. 2022. 7. 26.
[Tip] MySQL ํ•œ๊ธ€ ์ •๋ณด ์ž…๋ ฅ MySQL 5.7 ๋ฒ„์ „์—์„œ INSERT๋กœ ํ…Œ์ด๋ธ”์— ํ•œ๊ธ€ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•  ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฌธ์ž์—ด ์ธ์ฝ”๋”ฉ ์„ค์ • ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์ธ๋ฐ์š”, ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ERROR 1366 (HY000): Incorrect string value: '\xEC\x9D\xB4\xEB\xAF\xB8...' for column 'name' at row 1 ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”, mysql.cnf๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ „์ฒด์˜ ์„ค์ •์„ ๋ฐ”๊ฟ”์ฃผ๊ฑฐ๋‚˜ ํ•œ ํ…Œ์ด๋ธ”์˜ ์ธ์ฝ”๋”ฉ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•ด์ฃผ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค. **๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ „์ฒด์˜ ์„ค์ •์„ ๋ฐ”๊พธ๊ฒŒ ๋˜๋ฉด ์žฌ์‹คํ–‰ ์‹œ์ผœ์ฃผ๊ฑฐ๋‚˜ flush๋กœ ์ฆ‰์‹œ ๋ฐ˜์˜์„ ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. # ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์ „์ฒด ์ธ์ฝ”๋”ฉ ์„ค์ •์„ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ• $ sudo vi /u.. 2022. 7. 20.
[Tip] MySQL ํƒ€์ž„์กด ๋ณ€๊ฒฝ MySQL ์„œ๋ฒ„๋ฅผ ํ•œ๊ตญ ์‹œ๊ฐ„์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ๋ช…๋ น์–ด ์ •๋ฆฌ # ์„œ๋ฒ„ ํ•œ๊ตญ์‹œ๊ฐ„์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๊ธฐ $ sudo rm /etc/localtime $ sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime # ์žฌ์‹œ์ž‘ $ sudo su $ service mysql restart 2022. 4. 14.
[Tip] Slack๊ณผ GitAction ์—ฐ๋™ ๋ฏผ์ œ์™€ ๋ฐฐํฌ๋ฅผ ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐฐ์šด Slack๊ณผ Git Action์„ ์—ฐ๋™ํ•˜๋Š” ๊ณผ์ •์„ ๊ธฐ๋กํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์ดํ›„ ์Šฌ๋ž™ ๋ด‡์„ ๋ˆŒ๋Ÿฌ์„œ GitHub์˜ ๋“ค์–ด๊ฐ€ yml ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค. ์ดํ›„ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ Setting ํƒญ์œผ๋กœ ๊ฐ€์„œ ํ•ด๋‹น URL์„ ๋“ฑ๋กํ•ด์ค€๋‹ค. 2022. 3. 27.
[Tip] SSHํ‚ค๋ฅผ ํ•œ ๊ณณ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• ๋ฐฐํฌ ์—ฐ์Šต์„ ํ•˜๋˜ ์ค‘ pemํ‚ค๋ฅผ ์žŠ์–ด๋ฒ„๋ ค ์ด๋ฅผ ํ•œ ๊ณณ์—์„œ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„œ ๋ฌผ๊ฒฐํ‘œ(~)๋Š” ๋กœ๊ทธ์ธ ํ•œ ์œ ์ €์˜ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ์ž…๋‹ˆ๋‹ค. cd ~ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•ด์ค๋‹ˆ๋‹ค. vi ~/.ssh/config ์ดํ›„ cd .ssh๋กœ sshํด๋” ๋‚ด๋ถ€๋กœ ์ด๋™ํ•œ ํ›„ ์ด๊ณณ์—์„œ ํŒŒ์ผ์„ ๊ด€๋ฆฌํ•˜๋ฉด ํ•œ ๊ณณ์—์„œ ์ด๋ฅผ ๋ชจ๋‘ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 2022. 3. 22.
๊ณ„์ธตํ˜• ๋Œ“๊ธ€ https://www.youtube.com/watch?v=bhnDSyiPvaY ๊ณ„์ธตํ˜• ๋Œ“๊ธ€์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ๋ฐฐ์›Œ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ๊ณ„์ธตํ˜• ๋Œ“๊ธ€๋กœ ๊ฐ ์ปค๋Ÿผ๋“ค์ด ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ๋“ค์„ ๋น„๊ตํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ref๋Š” ํ•œ ๊ทธ๋ฃน์˜ ID๊ฐ’์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋Š” PK์™€๋Š” ์ƒ๊ด€ ์—†์ด ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ref_order๋Š” ๊ฐ™์€ ๊ทธ๋ฃน ๋‚ด์—์„œ ๊ฐ€์ง€๋Š” ์ˆœ์„œ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. answer_number์€ ์ž์‹ ๊ธ€์˜ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, parent_number๋Š” ๋ถ€๋ชจ์˜ PK๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•˜๋‚˜ ์ ์šฉ๋œ ๊ฒƒ์—. ๋ถ€๋ชจ๊ธ€์— ์ž์‹๊ธ€2๊ฐ€ ๋” ๋‹ฌ๋ ธ๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋ชจ์˜ answer_number์€ 2๋กœ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ์ž์‹๊ธ€2๋Š” ref_order์€ ๋‹ค์Œ ์ˆœ์„œ๋กœ ๋“ค์–ด์˜ค๊ฒŒ ๋˜๋ฉฐ, parent_number ์ฆ‰, ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ชจ ๊ฐ’์ด 2๊ฐ€ ๋˜.. 2022. 3. 21.
[Tip] MySQL Dump ๋‚ด PC์—์„œ MySQL ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•๊ณผ ๋„์ปค์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๋Š” ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 1. ๋กœ์ปฌPC ํ•ด๋‹น sql ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒฝ๋กœ๋กœ ์ด๋™ ํ›„ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. $ mysql -u root -p [database] < ๊ฒฝ๋กœ/ํŒŒ์ผ.sql; $ mysql -u root -p hanbit < data_setting.sql; // ์˜ˆ์‹œ. ํ•ด๋‹น ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒฝ๋กœ๋กœ ์ด๋™ $ mysql -uroot -p < employees.sql 2. ๋„์ปค ์ด๋ฅผ ๋„์ปค์— ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์•„๋ž˜์™€ ๊ฐ™์ด ์ด๋ฅผ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. $ docker cp /Users/jjw/Jun/Masters\ Course/Database/world-db/world.sql 3ec458da1254:/root 2022. 3. 21.
[Tip] cursor๊ธฐ๋ฐ˜ ํŽ˜์ด์ง• ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ ๋ฏธ์…˜์„ ํ•˜๋˜ ์ค‘ ๊ตฌ๊ธ€, ๋„ค์ด๋ฒ„, ์นด์นด์˜ค ๋“ฑ ํ˜„์žฌ ์„œ๋น„์Šค๋ฅผ ์ƒ์šฉ์ค‘์ธ IT ๋Œ€๊ธฐ์—…๋“ค์€ ์–ด๋–ป๊ฒŒ ํŽ˜์ด์ง•์„ ํ• ๊นŒ? ์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•˜๋ฉฐ ๊ธ€์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธ€์€ ์ „๋ฐ˜์ ์œผ๋กœ ๊น€๋ฏผ์ƒ CTO๋‹˜์˜ ๊ธ€์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 1. offset๊ธฐ๋ฐ˜ ํŽ˜์ด์ง• offset ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง•์€ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ช‡ ๋ฒˆ์งธ ์œ„์น˜์— ์กด์žฌํ•˜๋Š”์ง€์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์Šค์บ”ํ•ด์„œ ํ•ด๋‹น ํŽ˜์ด์ง€๊นŒ์ง€ ์ด๋™ ํ›„ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ณดํŽธ์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํŽ˜์ด์ง• ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. * Page Navigator๋ผ ๋ถˆ๋ฆฌ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐ”(bar)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. offset๊ธฐ๋ฐ˜ ํŽ˜์ด์ง•์˜ ์ฟผ๋ฆฌ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€๋ฐ์š”, OFFSET๊ณผ LIMIT, ์ •๋ ฌ ๊ธฐ์ค€์„ ์ฃผ๊ณ  ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ์ฐพ์•„์˜ต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๊ฐ€ ์ฐพ๋Š” ๋ฐ์ด.. 2022. 3. 19.