์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- mysql
- ์๋ฐ๋ผ์ด๋ธ์คํฐ๋
- SVN
- effectiveJava
- mysql์ํคํ ์ฒ
- ์ํฐ๋ ๊ฐ๋ฐ์ํ์ฌ
- index full scan
- enum ์์ฑ์ ์ ๊ทผ ์ ํ์
- builder null
- ์ํฐ๋ ๋ณ์ข ๊ฐ๋ฐ์
- ์ธ๋ฑ์คํ์ค์บ
- hikari cp ์ค์
- ์์
- ์๋ฐ์์์ฐ๋ ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์
- index skip scan
- ๋ฐ์ฉ๋ ์ค๊ตญ์ด
- ์๋ผ์คํฑ์์น๋ฉ์ธ์ง์ฉ๋
- InnoDB์ํคํ ์ฒ
- ์๋ฐ์ฐ๋ ๋
- ์๋ฐ์์
- ์ธ๋ฑ์ค์คํต์ค์บ
- item15
- ์์ดํ 15
- Hikari Connection Pool
- assert.notnull
- ์๋ฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฒฉ๋ฆฌ์์ค
- ๋น์ผ๊ฐ์ฒด์์ฑ
- ์ดํํฐ๋ธ์๋ฐ
- Item6
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (39)
โ๐ป๊ธฐ๋กํ๋ ๋ธ๋ก๊ทธ
public ํด๋์ค๋ ํ๋๋ฅผ ์ง์ ๋ ธ์ถํ์ง ๋ง ๊ฒ. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์์๋ ํ๋๋ฅผ private๋ก ์ ์ธํ๊ณ , getter๋ฅผ ์ถ๊ฐํ๋ค. public class Main { public double x; public double y; public static void main(String[] args) { Main main = new Main(); main.x = 10; main.y = 10; System.out.println(main.x); System.out.println(main.y); } } ์์ ๊ฐ์ ์ฝ๋๋ ์บก์ํ์ ์ฅ์ ์ ์ ๊ณตํ์ง ๋ชปํ๋ค. ํ๋์ ์ ๊ทผํ๋ ๋ฐฉ์์ ๋ฉ์๋๋ก ์ง์ ํ๋ฉด ํ๋๋ช ์ด ๋ณ๊ฒฝ๋์ด๋ ๋ฉ์๋ ๋ช ์ ๋ฐ๊ฟ ํ์๋ ์์ด์ง๋ค. ๋ํ ๋ฉ์๋ ์์์ ๋ถ๊ฐ์ ์ธ ์์ ๋ ๊ฐ๋ฅํด์ง๋ค. ๋จ, pack..
MySQL ๋์์ฑ(์ฌ๋ฌ ์์ฒญ์ด ํ๋์ ์ ๊ทผํ๋ ๊ฒฝ์ฐ)์ ์ํฅ์ ๋ฏธ์น๋ ์์๋ค์ ์ฉ์ด๋ฅผ ๋จผ์ ์ ๋ฆฌํ์. Transaction ๋ฐ์ดํฐ์ ์ ํฉ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํ ๊ธฐ๋ฅ db read, write์์ ์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ฌถ๋ ๋ฐฉ์ ํธ๋์ญ์ ์ผ๋ก ๋ฌถ์ ์์ ์ด ์ฑ๊ณตํ๋ฉด commit, ์คํจ ์ rollback์ ํ๋ฏ๋ก ๋ถ๋ถ์ฑ๊ณต, ๋ถ๋ถ ์คํจ(Partial Update)์ ์ํ์ด ์์ Lock ๋์์ฑ์ ์ ์ดํ๊ธฐ ์ํ ๊ธฐ๋ฅ ์ฌ๋ฌ ์ปค๋ฅ์ ์์ ๋์์ ๋์ผํ ์์์ ์์ฒญํ ๊ฒฝ์ฐ ์์๋๋ก ํ๋์ ์ปค๋ฅ์ ๋ง ๋ณ๊ฒฝํ ์ ์๊ฒ ํ๋ ์ญํ Isolation level ๋์์ ํ๋ ๋๋ ์ฌ๋ฌ ํธ๋์ญ์ ์ด ์งํ๋ ๋, ๋ค๋ฅธ ํธ๋์ญ์ ์์ ๋ณ๊ฒฝ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๊ธฐ์ค ์ผ๋ฐ์ ์ธ ์๋น์ค์์๋ Read Commited, Repeatable Read๋ฅผ ์ฌ์ฉ My..
MySQL 5.5์ดํ๋ถํฐ InnoDB์์ง์ด ๊ธฐ๋ณธ์์ง์ผ๋ก ์ฑํ MySQL 5.5๊น์ง MySQL ์์คํ ํ ์ด๋ธ์ MyISAM MySQL 8.0์ดํ๋ถํฐ๋ ๋ชจ๋ InnoDB ์์ง ์ฌ์ฉ, MyISAM์์๋ง ์ ๊ณตํ๋ ์ ๋ฌธ๊ฒ์, ์ขํ๊ฒ์๋ InnoDB์์ ์ ๊ณต InnoDB ์คํ ๋ฆฌ์ง ์์ง ์ํคํ ์ฒ ๋ ์ฝ๋๋ฅผ PK ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ์ฌ ๋์คํฌ์ ๋ฐ์ดํฐ ์ ์ฅ PK๋ฅผ ํตํด์๋ง ๋ ์ฝ๋ ์ ๊ทผ ๊ฐ๋ฅ PK์ธ๋ฑ์ค ์๋ ์์ฑ PK๋ฅผ ํตํ ๋ฒ์ ๊ฒ์์ด ๋น ๋ฆ InnoDB๋ PK๋ฅผ ์ค์ ํ์ง ์์ผ๋ฉด ๋ด๋ถ์ ์ผ๋ก PK๋ฅผ ์๋ ์์ฑํ์ฌ ํด๋ฌ์คํฐ๋ง ๋จ, ์๋์ผ๋ก ์์ฑ๋ PK๋ ์ฌ์ฉ์๊ฐ ์ฌ์ฉ์ด ๋ถ๊ฐ MVCC(Multi Version Concurrency Control) Undo์์ญ์ ์ด์ฉํ์ฌ ํ๋์ ๋ ์ฝ๋์ ๋ํด ๋ค์ํ ๋ฒ์ ์ด ๊ด๋ฆฌ๋จ ๋ ์ฝ๋ ๋จ์์ ํธ๋์ญ..
MySQL ์ํคํ ์ฒ ๊ฐ์ MySQL ์ ์ ํด๋ผ์ด์ธํธ Mysql์ ๋๋ถ๋ถ ์ธ์ด์ ๋ํด ์ ์ API ์ ๊ณต + Shell MySQL ์๋ฒ = MySQL ์์ง + ์คํ ๋ฆฌ์ง ์์ง 1. MySQL ์๋ฒ ์ค๋ ๋ ๊ธฐ๋ฐ ์๋ = Foreground Thread + BackGround Thread Foreground Thread(ํด๋ผ์ด์ธํธ ์ค๋ ๋) MySQL ์๋ฒ์ ์ ์๋ ํด๋ผ์ด์ธํธ์ ์๋งํผ ์กด์ฌ Foreground Thread๋ ๋ฐ์ดํฐ ๋ฒํผ๋ ์บ์๋ก๋ถํฐ ๊ฐ์ ธ BackGround Thread 2. MySQL ์์ง ํด๋ผ์ด์ธํธ ์ ์, SQL ์์ฒญ, ์ฟผ๋ฆฌ ๋ถ์ ๋ฐ ์ต์ ํ ์ญํ ์๋ ๋ชจ๋๋ก ๊ตฌ์ฑ. ์์ธํ ๋ด์ฉ์ ๊ฐ ์์ง์ ์ํคํ ์ฒ์์ ์ค๋ช ์ฟผ๋ฆฌ ํ์ ์ ์ฒ๋ฆฌ๊ธฐ ์ตํฐ๋ง์ด์ ์คํ ์์ง 3. ์คํ ๋ฆฌ์ง ์์ง ๋ฐ์ดํฐ ์คํ ๋ฆฌ์ง์ ์ ์ฅ ๋ฐ ์ฝ..
JVM(Java Virtual Machine) ์ด์์ฒด์ ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ ๊ทผํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ ํ๋ก๊ทธ๋จ ์ด์ ๊ฐ์ ๋จธ์ Garbage Collector ์ํ ๋์ ์ผ๋ก ํ ๋นํ ๋ฉ๋ชจ๋ฆฌ ์์ญ(Heap) ์ค ์ฌ์ฉํ์ง ์๋ ์์ญ์ ์ฒดํฌํ์ฌ ๋ ์ด์ ์ฌ์ฉํ์ง ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋น์ด๋ค. GCํ์ ๋ฐฐ๊ฒฝ์ ๋ ๊ฐ์ง ์ ์ ์กฐ๊ฑด ๋๋ถ๋ถ์ ๊ฐ์ฒด๋ ๊ธ๋ฐฉ ์ ๊ทผ unreachable ์ํ๊ฐ ๋๋ค. ์ค๋๋ ๊ฐ์ฒด์์ ์ ์ ๊ฐ์ฒด๋ก์ ์ฐธ์กฐ๋ ์์ฃผ ์ ๊ฒ ์กด์ฌํ๋ค. ๋ฉ๋ชจ๋ฆฌ ์์ญ class Person { int id; String name; public Person(int id, String name) { this.id = id; this.name = name; } } public class PersonBuilder { private sta..
์ข ๋ฅ๋ณ ๊ฐ์ง์๋ฅผ ์ฒดํฌํ๊ธฐ ์ํด Map์ ์ฌ์ฉํ๋ค. Map์ ํค๊ฐ ๊ณตํต์ผ๋ก ๋ฌถ์์ ์๋ ์ข ๋ฅ๊ฐ ๋๋ค. import java.util.*; class Solution { public int solution(String[][] clothes) { Map counts = new HashMap(); for(String[] s : clothes) { String type = s[1]; counts.put(type, counts.getOrDefault(type, 0) + 1); } int answer = 1; for(Integer num : counts.values()) { answer *= num + 1;//์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ์ถ๊ฐํ์ฌ ๊ณฑํ๋ค. } return answer-1 ;//๋ชจ๋๋ค ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ๋ฅผ ๋บ๋ค..
ํน์ง ๋ํ๋จผํธ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๊ธฐ๋ณธ ๋จ์์ด๋ฉฐ JSONํํ 7.x ๋ฒ์ ์ดํ์๋ ํ์ ์ด ์ญ์ ๋๋ฉด์ RDMS์ ๋น๊ตํ ์ ์๋์ ๊ฐ์ด ์ดํดํ๋ฉด ์ข๋ค. table index rdbms es table index record document column field schema mapping ๋ถ์๊ธฐ(Analyzer)์ ์ํด ๋ถ์ ํ ํ ํฐ์ผ๋ก ๋ถ๋ฆฌ ๊ฒ์์ด ์์ฒญ์ด ์ค๋ฉด ๋ถ์๊ธฐ๋ฅผ ํตํด ๋ถ์๋ ํ ํฐ๊ณผ ์ผ์น์ฌ๋ถ ํ๋จ ํ ๊ฒฐ๊ณผ์ score์ ๋งค๊น ๋ค์ํ ๊ฒ์๊ธฐ๋ฅ์ ์ํด Query DSL์ด๋ ์ฟผ๋ฆฌ ๋ฌธ๋ฒ ์กด์ฌ ์ธ๋ฑ์ค ๋ํ๋จผํธ๋ฅผ ์ ์ฅํ๋ ๋ ผ๋ฆฌ์ ๋จ์ ๋ค์ด๋ ๋งฅ ๋งคํ ์ธ๋ฑ์ค ์์ฑ ํ ๋งคํ์ ์ค์ ํ์ง ์๊ณ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์๋ง์ ์๋ผ์คํฑ์์น๊ฐ ์๋์ผ๋ก ์ ๋ ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ณ ์๋์ผ๋ก ๊ฒฐ์ ๊ทธ์ ๋ฐ๋๋ ๋ช ์์ ๋งคํ index ๊ด๋ จ ์์ฒญ ๋ชจ๋ ..
๋์ ํ์ด https://github.com/ZhenxiKim/leetCode/blob/main/217-contains-duplicate/217-contains-duplicate.java GitHub - ZhenxiKim/leetCode: leetCode ํ์ด leetCode ํ์ด. Contribute to ZhenxiKim/leetCode development by creating an account on GitHub. github.com map์ ์ด์ฉํ์ฌ ๋ฐฐ์ด์ ์์๋ค์ count ์๋ฅผ map์ value๋ก ์ง์ ํ๋ค. import java.util.*; class Solution { public boolean containsDuplicate(int[] nums) { Map cntMap = new H..