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

์ „์ฒด ๊ธ€43

ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' (2) m1 ๋งฅ์—์„œ ํ•ด๊ฒฐํ•˜๊ธฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ - m1 Mac ์—๋Ÿฌ ๋ถ„์„ - mysql์„ ์ œ๋Œ€๋กœ ์ œ๊ฑฐํ•˜์ง€ ์•Š๊ณ  mariadb๋ฅผ homebrew๋กœ ์„ค์น˜ํ–ˆ์Œ - mysql -u root -p ๋“ฑ mysql ๋ช…๋ น์–ด๋ฅผ ์น˜๋ฉด `ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' (2)` ๋ฐœ์ƒ - brew services start mariadb๋กœ mariadb๋ฅผ ์‹คํ–‰์‹œ์ผœ๋„ ๋™์ผํ•œ ์—๋Ÿฌ ๋ฐœ์ƒ ํ•ด๊ฒฐ ํ˜น์‹œ ๋ชฐ๋ผ ํ• ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ด๋™์› ํ–ˆ๋‹ค. # ๋ชจ๋‘ ์ œ๊ฑฐ brew uninstall mysql brew uninstall mariadb brew cleanup # m1 sudo rm -rf /opt/homebrew/var/mysql sudo rm -rf /Lib.. 2022. 8. 21.
6์žฅ: AWS ์„œ๋ฒ„ ํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ Table of Contents ํด๋ผ์šฐ๋“œ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํด๋ผ์šฐ๋“œ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„, ์Šคํ† ๋ฆฌ์ง€, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๋„คํŠธ์›Œํฌ, ์†Œํ”„ํŠธ์›จ์–ด, ๋ชจ๋‹ˆํ„ฐ๋ง ๋“ฑ ์ปดํ“จํŒ… ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ ํด๋ผ์šฐ๋“œ ํ˜•ํƒœ IaaS (Infrastructure as a Service) ๊ธฐ์กด ๋ฌผ๋ฆฌ ์žฅ๋น„๋ฅผ ๋ฏธ๋“ค์›จ์–ด์™€ ํ•จ๊ป˜ ๋ฌถ์–ด IT ์ธํ”„๋ผ๋ฅผ ๋Œ€์—ฌํ•ด์ฃผ๋Š” ์ถ”์ƒํ™” ์„œ๋น„์Šค AWS EC2, S3๋“ฑ์ด ํ•ด๋‹น๋จ PaaS (Platform as a Service) IaaS๋ฅผ ํ•œ๋ฒˆ ๋” ์ถ”์ƒํ™”ํ•˜์—ฌ ๋งŽ์€ ๊ธฐ๋Šฅ์ด ์ž๋™ํ™”๋œ ์„œ๋น„์Šค Beanstalk, Heroku๋“ฑ์ด ํ•ด๋‹น๋จ Saas (Software as a Service) ์†Œํ”„ํŠธ์›จ์–ด ์„œ๋น„์Šค ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ, ๋“œ๋ž๋ฐ•์Šค ๋“ฑ์ด ํ•ด๋‹น๋จ EC2 ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ์„ฑ๋Šฅ, ์šฉ๋Ÿ‰ ๋“ฑ์„ ์œ ๋™์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„ .. 2022. 6. 27.
3์žฅ: JPA๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‹ค๋ฃจ๊ธฐ (2) Table of Contents API ๋งŒ๋“ค๊ธฐ API๋ฅผ ๋งŒ๋“ค์–ด๋ณด๋ฉฐ ๊ตฌ์กฐ ์ดํ•ดํ•˜๊ธฐ ํ•„์š”ํ•œ ํด๋ž˜์Šค - Request ๋ฐ์ดํ„ฐ ๋ฐ›์„ Dto - API ์š”์ฒญ ๋ฐ›์„ Controller - ํŠธ๋žœ์žญ์…˜, ๋„๋ฉ”์ธ ๊ธฐ๋Šฅ ๊ฐ„ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜๋Š” Service (๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜์ง€๋Š” ์•Š์Œ) Spring ์›น ๊ณ„์ธต Web Layer - ์ปจํŠธ๋กค๋Ÿฌ์™€ JSP๋“ฑ์˜ ๋ทฐ ํ…œํ”Œ๋ฆฟ ์˜์—ญ - Filter, ์ธํ„ฐ์…‰ํŠธ, ControllerAdvice ๋“ฑ ์™ธ๋ถ€ ์š”์ฒญ๊ณผ ์‘๋‹ต์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์˜์—ญ Service Layer - @Service์— ์‚ฌ์šฉ๋˜๋Š” ์˜์—ญ - Controller์™€ Dao ์ค‘๊ฐ„์—์„œ ์‚ฌ์šฉ๋จ - @Transactional์ด ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•จ Repository Layer - ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์— ์ ‘๊ทผํ•˜๋Š” ์˜์—ญ DTOs - Data Transfer O.. 2022. 6. 15.
3์žฅ: JPA๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‹ค๋ฃจ๊ธฐ (1) Table of Contents JPA JPA์™€ Spring Data JPA ๊ฐœ๋…์„ ์ดํ•ดํ•œ๋‹ค. ORM vs. SQL Mapper - ORM์€ ๊ฐ์ฒด๋ฅผ ๋งคํ•‘ํ•˜๋Š” ๊ฒƒ, ๋Œ€ํ‘œ์ ์ธ ๊ธฐ์ˆ ๋กœ๋Š” JPA๊ฐ€ ์žˆ์Œ - SQL Mapper๋Š” ์ฟผ๋ฆฌ๋ฅผ ๋งคํ•‘ํ•˜๋Š” ๊ฒƒ, ๋Œ€ํ‘œ์ ์ธ ๊ธฐ์ˆ ๋กœ๋Š” MyBatis๊ฐ€ ์žˆ์Œ ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ๋ถˆ์ผ์น˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์–ด๋–ป๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ง€ ์ดˆ์ ์„ ๋งž์ถ”์ง€๋งŒ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ธฐ๋Šฅ๊ณผ ์†์„ฑ์„ ํ•œ ๊ณณ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์‹ฌ JPA๋Š” ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ๋ถˆ์ผ์น˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ์ฒด์ง€ํ–ฅ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•œ ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ SQL์„ ์ƒ์„ฑํ•ด ์‹คํ–‰ํ•ด์ฃผ๋ฏ€๋กœ SQL์— ์ข…์†์ ์œผ๋กœ ๊ฐœ๋ฐœํ•˜์ง€ ์•Š์•„๋„ ๋จ Spring Data JPA - JPA๋Š” ์ธํ„ฐํŽ˜์ด์Šค, ์ž๋ฐ” ํ‘œ์ค€ ๋ช…์„ธ์„œ์ด๋ฏ€๋กœ ๊ตฌํ˜„์ฒด๊ฐ€ ํ•„์š”ํ•จ. ๊ตฌํ˜„์ฒด๋กœ๋Š” .. 2022. 6. 15.
2์žฅ: ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ Table of Contents ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ž€ TDD ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๋จผ์ € ์ž‘์„ฑํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ฃผ๋„ ๊ฐœ๋ฐœ 1. ํ•ญ์ƒ ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ 2. ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•˜๋Š” ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ์ž‘์„ฑ 3. ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•˜๋ฉด ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง ์ด๋ ‡๊ฒŒ ์„ธ ๋‹จ๊ณ„๋ฅผ ๋Œ์•„๊ฐ€๋ฉด์„œ ๊ฐœ๋ฐœํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค. ๋‹จ์œ„ํ…Œ์ŠคํŠธ - ๊ธฐ๋Šฅ ๋‹จ์œ„์˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ - ํ•„์š”์„ฑ ๊ฐœ๋ฐœ ๋‹จ๊ณ„ ์ดˆ๊ธฐ์— ๋ฌธ์ œ ๋ฐœ๊ฒฌํ•˜๋„๋ก ๋„์™€์คŒ ์ถ”ํ›„ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—…๊ทธ๋ ˆ์ด๋“œ ๋“ฑ์—์„œ ๊ธฐ์กด ๊ธฐ๋Šฅ์˜ ๋™์ž‘์„ ํ™•์ธ ๊ฐ€๋Šฅ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋ถˆํ™•์‹ค์„ฑ ๊ฐ์†Œ์‹œํ‚ด ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์‹ค์ œ ๋ฌธ์„œ๋กœ ์ œ๊ณต ๊ฐ€๋Šฅ - ์ž๋ฐ”์—์„œ๋Š” JUnit์ด๋ผ๋Š” ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์‚ฌ์šฉ๋จ Controller ์ž‘์„ฑ ์ผ๋ฐ˜์ ์œผ๋กœ ํŒจํ‚ค์ง€๋ช…์€ ์›น ์‚ฌ์ดํŠธ ์ฃผ์†Œ์˜ ์—ญ์ˆœ์œผ๋กœ ์„ค์ • ๋ฉ”์ธ ํด๋ž˜์Šค package com.oli.. 2022. 6. 13.
1์žฅ: ์ธํ…”๋ฆฌ์ œ์ด ์‚ฌ์šฉํ•˜๊ธฐ (์ˆ˜์ •์ค‘) Table of Contents ์ธํ…”๋ฆฌ์ œ์ด ์†Œ๊ฐœ ๋ฐ ์„ค์น˜ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ Gradle ํ”„๋กœ์ ํŠธ -> Spring Boot ํ”„๋กœ์ ํŠธ Git, Github ์—ฐ๋™ํ•˜๊ธฐ 2022. 6. 13.
Spring Boot์™€ Spring Security ํ”„๋กœ์ ํŠธ์— Swagger ์ ์šฉํ•˜๊ธฐ ์ด๊ธ€์˜ ๋ชฉ์ ์€ ํ”„๋กœ์ ํŠธ API ๊ฐœ๋ฐœ์„ ์–ด๋Š์ •๋„ ๋งˆ์น˜๊ณ  Swagger๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ ์šฉํ•˜๊ธฐ์— ์•ž์„œ ์ด ํ”„๋กœ์ ํŠธ๋Š” Spring Boot 2.6.2์™€ Spring Security๊ฐ€ ์ ์šฉ๋˜์—ˆ๋‹ค. 1. build.gradle์— ์˜์กด์„ฑ ์ถ”๊ฐ€ //for Swagger implementation group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2' implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2' 2. SwaggerConfig ํด๋ž˜์Šค ์ƒ์„ฑ config ํŒจํ‚ค์ง€ ๋‚ด์— SwaggerConfig ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•ด์ค€ ๋’ค ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ.. 2022. 6. 10.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฒ ์ŠคํŠธ์•จ๋ฒ” (C++) ๋ฌธ์ œ ์„ค๋ช… ์ŠคํŠธ๋ฆฌ๋ฐ ์‚ฌ์ดํŠธ์—์„œ ์žฅ๋ฅด ๋ณ„๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์žฌ์ƒ๋œ ๋…ธ๋ž˜๋ฅผ ๋‘ ๊ฐœ์”ฉ ๋ชจ์•„ ๋ฒ ์ŠคํŠธ ์•จ๋ฒ”์„ ์ถœ์‹œํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋…ธ๋ž˜๋Š” ๊ณ ์œ  ๋ฒˆํ˜ธ๋กœ ๊ตฌ๋ถ„ํ•˜๋ฉฐ, ๋…ธ๋ž˜๋ฅผ ์ˆ˜๋กํ•˜๋Š” ๊ธฐ์ค€์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์†ํ•œ ๋…ธ๋ž˜๊ฐ€ ๋งŽ์ด ์žฌ์ƒ๋œ ์žฅ๋ฅด๋ฅผ ๋จผ์ € ์ˆ˜๋กํ•ฉ๋‹ˆ๋‹ค. ์žฅ๋ฅด ๋‚ด์—์„œ ๋งŽ์ด ์žฌ์ƒ๋œ ๋…ธ๋ž˜๋ฅผ ๋จผ์ € ์ˆ˜๋กํ•ฉ๋‹ˆ๋‹ค. ์žฅ๋ฅด ๋‚ด์—์„œ ์žฌ์ƒ ํšŸ์ˆ˜๊ฐ€ ๊ฐ™์€ ๋…ธ๋ž˜ ์ค‘์—์„œ๋Š” ๊ณ ์œ  ๋ฒˆํ˜ธ๊ฐ€ ๋‚ฎ์€ ๋…ธ๋ž˜๋ฅผ ๋จผ์ € ์ˆ˜๋กํ•ฉ๋‹ˆ๋‹ค. ๋…ธ๋ž˜์˜ ์žฅ๋ฅด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด ๋ฐฐ์—ด genres์™€ ๋…ธ๋ž˜๋ณ„ ์žฌ์ƒ ํšŸ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด plays๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ๋ฒ ์ŠคํŠธ ์•จ๋ฒ”์— ๋“ค์–ด๊ฐˆ ๋…ธ๋ž˜์˜ ๊ณ ์œ  ๋ฒˆํ˜ธ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ genres[i]๋Š” ๊ณ ์œ ๋ฒˆํ˜ธ๊ฐ€ i์ธ ๋…ธ๋ž˜์˜ ์žฅ๋ฅด์ž…๋‹ˆ๋‹ค. plays[i]๋Š” ๊ณ ์œ ๋ฒˆํ˜ธ๊ฐ€ i์ธ ๋…ธ๋ž˜๊ฐ€ ์žฌ์ƒ๋œ ํšŸ์ˆ˜์ž…๋‹ˆ.. 2022. 6. 4.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก (C++) ๋ฌธ์ œ ์„ค๋ช… ์ „ํ™”๋ฒˆํ˜ธ๋ถ€์— ์ ํžŒ ์ „ํ™”๋ฒˆํ˜ธ ์ค‘, ํ•œ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ๋ฒˆํ˜ธ์˜ ์ ‘๋‘์–ด์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒฝ์šฐ, ๊ตฌ์กฐ๋Œ€ ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์˜์„์ด์˜ ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ ‘๋‘์‚ฌ์ž…๋‹ˆ๋‹ค. ๊ตฌ์กฐ๋Œ€ : 119 ๋ฐ•์ค€์˜ : 97 674 223 ์ง€์˜์„ : 11 9552 4421 ์ „ํ™”๋ฒˆํ˜ธ๋ถ€์— ์ ํžŒ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด phone_book ์ด solution ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์–ด๋–ค ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ๋ฒˆํ˜ธ์˜ ์ ‘๋‘์–ด์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์œผ๋ฉด false๋ฅผ ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด true๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ phone_book์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 1,000,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค. ๊ฐ ์ „ํ™”๋ฒˆํ˜ธ์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 20 ์ดํ•˜์ž…๋‹ˆ๋‹ค. ๊ฐ™์€ ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ์ค‘๋ณตํ•ด์„œ ๋“ค์–ด์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ ๋ถ„์„ ํ•ด์‹œ๋ฅผ.. 2022. 6. 4.