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

Back-end ๋ฐ๋ธŒ์ฝ”์Šค/week 01 - 02 TIL (java, DB)10

[TIL] 221028 - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค MySQL ๊ณ ๊ธ‰๊ธฐ๋Šฅ ์‹ค๋ฆฌ์ฝ˜ ๋ฐธ๋ฆฌ์—์„œ ๋‚ ์•„์˜จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - 5. MySQL ๊ณ ๊ธ‰๊ธฐ๋Šฅ ์‚ดํŽด๋ณด๊ธฐ 1. ํŠธ๋žœ์žญ์…˜ ์†Œ๊ฐœ ํŠธ๋žœ์žญ์…˜ - Atomic ํ•˜๊ฒŒ ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” SQL๋“ค์„ ๋ฌถ์–ด์„œ ํ•˜๋‚˜์˜ ์ž‘์—…์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• : ํ…Œ์ด๋ธ” ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜๋Š” SQL์ด ์—ฐ๋‹ฌ์•„ ์‹คํ–‰๋˜๋ฉฐ ๋งˆ์น˜ ํ•˜๋‚˜์˜ SQL์ฒ˜๋Ÿผ ์ „๋ถ€ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ ์ „๋ถ€ ์‹คํŒจ ๋˜์–ด์•ผํ•œ๋‹ค. (COMMIT์„ ์•ˆํ•˜๊ณ  ํŠธ๋žœ์žญ์…˜์„ closeํ•˜๋ฉด ๋ชจ๋‘ ๋ฌดํšจํ™” → rollback์ด๋ž‘ ๋™์ผํ•œ ํšจ๊ณผ) : SELECT์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ด์œ ๊ฐ€ ์—†์Œ : BEGIN/END ํ˜น์€ BEGIN/COMMIT ์‚ฌ์ด์— ํ•ด๋‹น SQL๋“ค์„ ์‚ฌ์šฉํ•˜๋ฉฐ ROLLBACK atomicํ•˜๊ธฐ๋•Œ๋ฌธ์— ๋™๊ธฐํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ํŠธ๋žœ์žญ์…˜ ์ปค๋ฐ‹ ๋ชจ๋“œ : autocommit autocommit = True : ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ ์ž‘์—…์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ”๋กœ ์ปค๋ฐ‹๋œ๋‹ค. .. 2022. 10. 28.
[TIL] 221027 - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค SQL : JOIN ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ์—์„œ ๋‚ ์•„์˜จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - 4. SQL ๊ณ ๊ธ‰ ๋‹ค๊ธฐ์ง€(JOIN) 1. INSERT / UPDATE / DELET MySQL ์ปฌ๋Ÿผ ํƒ€์ž… Numeric Type INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT DECIMAL, NUMERIC FLOAT, DOUBLE, BIT Date and Time DATE, DATETIME, TIMESTAMP, TIME, YEAR String Type CHAR, VARCHAR, BINARY, VARBINARY, BLOB, TEXT, ENUM, SET JSON Type : ๋‹ค์–‘ํ•œ JSON ์กฐ์ž‘ํ•จ์ˆ˜ ์ œ๊ณต Spatial Type : ์œ„๋„ ๊ฒฝ๋„ ์ค‘์‹ฌ ์œ„์น˜ ๊ด€๋ จ ํƒ€์ž… INSERT INTO _ VALUES(_) : primary ke.. 2022. 10. 28.
[TIL] 221026 - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค SQL : SELECT, GROUP BY ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ์—์„œ ๋‚ ์•„์˜จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - 3. SQL ๊ธฐ๋ณธ๋‹ค์ง€๊ธฐ(SELECT์™€ GROUP BY) 1. ์‹ค์Šตํ™˜๊ฒฝ SQL Workbench๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SQL ์‹ค์Šต SQL Workbench : MySQL ์‚ฌ์ดํŠธ์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋ฌด๋ฃŒ ํด๋ผ์ด์–ธํŠธ SQL ์—๋””ํ„ฐ ์„ค์น˜ connection ๋งŒ๋“ค๊ธฐ (์ž‘์—…์ด ์ง„ํ–‰๋  ์„œ๋ฒ„ - rds) ๋“ค์–ด๊ฐ€๊ธฐ์ „ SHOW DATABASES; USE prod; SHOW TABLES; 2. SELECT ํ…Œ์ด๋ธ”์—์„œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฝ์–ด์˜ค๋Š”๋ฐ ์‚ฌ์šฉ CASE WHEN : ํ•„๋“œ ๊ฐ’์˜ ๋ณ€ํ™˜์„ ์œ„ํ•ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ CASE WHEN ์กฐ๊ฑด THEN ์ฐธ์ผ ๋•Œ ๊ฐ’ ELSE ๊ฑฐ์ง“์ผ๋•Œ ๊ฐ’ END ํ•„๋“œ์ด๋ฆ„ NULL : null์— ์‚ฌ์น™์—ฐ์‚ฐ์„ ํ•˜๋ฉด null IN / LIKE : ๋ฌธ์ž์—ด ๋งค์นญ / BETWEEN STRING function.. 2022. 10. 26.
[TIL] 221025 - MySQL ์‚ฌ์šฉํ•˜๊ธฐ ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ์—์„œ ๋‚ ์•„์˜จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - 1. MySQL ์†Œ๊ฐœ/์„ค์น˜์™€ ์˜ˆ์ œ ๋ฐ์ดํ„ฐ ์†Œ๊ฐœ 1. MySQL ์†Œ๊ฐœ ์˜คํ”ˆ์†Œ์Šค์™€ ์œ ๋ฃŒ๋ฒ„์ „์ด ์กด์žฌ Maria DB : MySQ์ด ์˜ค๋ผํด์— ์ธ์ˆ˜๋˜๋ฉฐ ์œ ๋ฃŒํ™” ์—ฌ๋ถ€๊ฐ€ ์Ÿ์ ์ด ๋œ ํ›„ MySQL ์ดˆ๊ธฐ ๊ฐœ๋ฐœ์ž ์ค‘ ํ•˜๋‚˜์ธ Monty๊ฐ€ MySQL๊ณผ ํ˜ธํ™˜๋˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ฐœ๋ฐœ. MySQL 5.5 ๊ธฐ๋ฐ˜์—์„œ ๊ฐœ๋ฐœ๋ฌ์œผ๋ฉฐ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋™์ผํ•˜๋‚˜ ์„ฑ๋Šฅ์ด ๋” ์ข‹๋‹ค. ํŠน์ง• Postgres์™€ ํ•จ๊ป˜ ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๋Š” ํ”„๋กœ๋•์…˜์šฉ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„ ํ•œ๋Œ€์งœ๋ฆฌ ์†”๋ฃจ์…˜ → ์—ฌ๋Ÿฌ๋Œ€ ์„œ๋ฒ„์— ๋ถ„์‚ฐ ๋™์ž‘ํ•˜์ง€ ๋ชปํ•œ๋‹ค. ์šฉ๋Ÿ‰ ์ด์Šˆ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ. ์šฉ๋Ÿ‰ ์ฆ๋Œ€ ๋ฐฉ์‹ : Scale-UP : ์„œ๋ฒ„์— CPU์™€ Memory ์ถ”๊ฐ€. ์„œ๋ฒ„์˜ ์‚ฌ์–‘์„ ๋†’์ธ๋‹ค → but ํ•œ๊ณ„๊ฐ€ ์žˆ์Œ Scale-out : Master-Slave ๊ตฌ์„ฑ. ์ผ.. 2022. 10. 25.
[TIL] 221024 - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ ์†Œ๊ฐœ ์‹ค๋ฆฌ์ฝ˜๋ฐธ๋ฆฌ์—์„œ ๋‚ ์•„์˜จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - 1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ ์†Œ๊ฐœ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๊ฐ€ ์™œ ํ•„์š”ํ•œ๊ฐ€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - ํ”„๋กœ๋•์…˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค (RDSMS) : ์›น ์„œ๋น„์Šค๋‚˜ ์•ฑ์˜ ์šด์˜์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด๋‘๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค : MySQL, PostgreSQL, .. : ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”๋œ ํ…Œ์ด๋ธ”๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ์ €์žฅ, ๊ด€๋ฆฌ : ๋น ๋ฅธ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ์ค‘์š”ํ•œ๋‹ค. : vs ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (๋น ๋ฅธ ์ฒ˜๋ฆฌ์†๋„๋ณด๋‹ค ์–ผ๋งˆ๋‚˜ ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋А๋ƒ) - ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค : ์„œ๋น„์Šค์šฉ์ด ์•„๋‹Œ ํšŒ์‚ฌ ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถ„์„ : BigQuery, Snowflake, MySQL,.. : ๊ตฌ์กฐํ™”๋œ ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š” : ๋ณดํ†ต ํ”„๋กœ๋•์…˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณต์‚ฌํ•ด์„œ ๋ฐ์ดํ„ฐ ์›จ.. 2022. 10. 24.
[TIL] 221021 - Java ์‹ค์Šต ํ”„๋กœ์ ํŠธ : ์ˆซ์ž์•ผ๊ตฌ ๊ฒŒ์ž„ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์œ„ํ•œ JAVA - Java ์‹ค์Šต ํ”„๋กœ์ ํŠธ : ์ˆซ์ž์•ผ๊ตฌ ๊ฒŒ์ž„ 1. Dependency : ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ gradle : Build Tool์˜ ์—ญํ•  ๋นŒ๋“œํ•œ๋‹ค / ์‹คํ–‰ํ•œ๋‹ค. ์™ธ๋ถ€์— ์˜์กด์„ฑ์ด ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์„ค์น˜ build tool ์„ค์ • ํŒŒ์ผ์ธ build.gradle ํŒŒ์ผ ์—ด์–ด์„œ dependencies ํ™•์ธ ๊ฐ€๋Šฅ https://search.maven.org/ ์—์„œ ์›ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. javafaker ๊ฒ€์ƒ‰ → Gradle Snippets๋ฅผ ๋ณต์‚ฌ → build.gradle ํŒŒ์ผ dependencies์— ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. → Gradle refresh javafaker : ๊ฐ€์งœ ๋ฐ์ดํ„ฐ๋ฅผ ๋žœ๋ค์œผ๋กœ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. ๋ฐ๋ชจ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์–ด๋‚ผ๋•Œ ์‚ฌ์šฉ๋œ๊ณค ํ•œ๋‹ค. p.. 2022. 10. 21.