profile
개인용으둜 κ³΅λΆ€ν•˜λŠ” κ³΅κ°„μž…λ‹ˆλ‹€. 잘λͺ»λœ 뢀뢄은 ν”Όλ“œλ°± λΆ€νƒλ“œλ¦½λ‹ˆλ‹€!
post-thumbnail

[Java] μžλ°” File I/O ꡬ쑰 및 μ„±λŠ₯에 λŒ€ν•΄ μ•Œμ•„λ³΄μž

졜근 ν”„λ‘œμ νŠΈμ—μ„œ λŒ€μš©λŸ‰ νŒŒμΌμ„ μ½μ–΄μ˜¬ 일이 많이 생겼닀. νŒŒμΌμ„ μ½μ–΄μ™€μ„œ `Json` ν˜•νƒœλ‘œ λ³€ν™˜μ„ ν•΄μ€˜μ•Ό ν–ˆκΈ°μ— ν•œμ€„μ„ μ½μ–΄μ™€μ„œ νŽΈν•˜κ²Œ μ²˜λ¦¬ν•  수 μžˆλ„λ‘ `readline()` 을 μ‚¬μš©ν–ˆμ—ˆλ‹€.

2024λ…„ 1μ›” 18일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[TIL] λ ˆλ””μŠ€λŠ” μ‹±κΈ€ μŠ€λ ˆλ“œμΈλ° μ–΄λ–»κ²Œ λ™μ‹œ μš”μ²­μ„ μ²˜λ¦¬ν• κΉŒ?

Redis와 Event-Loop? > RedisλŠ” μ‹±κΈ€ μŠ€λ ˆλ“œμΈλ°, μ–΄λ–»κ²Œ μˆ˜λ§Žμ€ μš”μ²­μ„ λ™μ‹œμ— μ²˜λ¦¬ν•  수 μžˆλŠ”κ±ΈκΉŒ? λΌλŠ” κΆκΈˆμ¦μ—μ„œ ν•΄λ‹Ή ν¬μŠ€νŒ…μ„ μž‘μ„±ν•΄λ³΄μ•˜λ‹€. κ²°λ‘ λΆ€ν„° λ§ν•˜μžλ©΄, Redisλ₯Ό μ œμ™Έν•˜κ³ λ„ Node.jsλ‚˜ JavaScript λŠ” μ‹±κΈ€ μŠ€λ ˆλ“œλ©΄μ„œ 이벀

2023λ…„ 11μ›” 30일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[Java] HashSet VS HashMap μ™„λ²½ μ΄ν•΄ν•˜κΈ°

κ²°λ‘ λΆ€ν„° λ§ν•˜μžλ©΄, `HashSet` μ—­μ‹œ λ‚΄λΆ€μ μœΌλ‘œ `HashMap` 을 μ‚¬μš©ν•΄μ„œ λ™μž‘ν•œλ‹€. 그리고 `HashMap` 은 ν•΄μ‹œ ν…Œμ΄λΈ” 기반으둜 λ™μž‘ν•œλ‹€.

2023λ…„ 11μ›” 9일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[Spring Boot] μΊμ‹œ 적용 κ³Όμ •μ—μ„œμ˜ μ‚½μ§ˆκΈ°

☁️ Redisλ₯Ό μ‚¬μš©ν•œ 이유? `Redis` λ‚˜ `Memcached` λ₯Ό μ‚¬μš©ν•˜λŠ” 방법은 κΈ€λ‘œλ²Œ 캐싱 μ „λž΅μ΄λ‹€.

2023λ…„ 9μ›” 10일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[Design Pattern] Proxy νŒ¨ν„΄

원격 ν”„λ‘μ‹œλŠ” μ‹€μ œ 객체처럼 ν–‰λ™ν•˜μ§€λ§Œ, μ‹€μ œλ‘œλŠ” λ„€νŠΈμ›Œν¬λ‘œ μ§„μ§œ 객체와 데이터λ₯Ό μ£Όκ³  λ°›κ²Œ λœλ‹€. 즉 원격 ν”„λ‘μ‹œλŠ” 각 μ‚¬μš©μžμ˜ JVM λ‚΄λΆ€μ˜ νž™ μ˜μ—­μ— μ‘΄μž¬ν•˜λŠ” 둜컬 객체라고도 ν•  수 μžˆλ‹€.ν΄λΌμ΄μ–ΈνŠΈκ°€ λ‘œμ»¬μ—μ„œ 원격 ν”„λ‘μ‹œλ₯Ό ν˜ΈμΆœν•œλ‹€.(λŒ€λ³€μž μ—­ν• )ν”„λ‘μ‹œκ°€ μ‹€μ œ 원

2023λ…„ 9μ›” 9일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[MySQL] μ˜΅ν‹°λ§ˆμ΄μ € μ΅œμ ν™”

MySQL μ„œλ²„μ˜ μ˜΅ν‹°λ§ˆμ΄μ €λŠ” μ‹€ν–‰ κ³„νšμ„ μˆ˜λ¦½ν•  λ•Œ, 톡계 정보와 μ˜΅ν‹°λ§ˆμ΄μ € μ˜΅μ…˜μ„ κ²°ν•©ν•΄ 졜적의 μ‹€ν–‰ κ³„νšμ„ μˆ˜λ¦½ν•œλ‹€. μ˜΅ν‹°λ§ˆμ΄μ € μŠ€μœ„μΉ˜ μ˜΅μ…˜μ€ optimizer_switch μ‹œμŠ€ν…œ λ³€μˆ˜λ₯Ό μ΄μš©ν•΄μ„œ μ œμ–΄ν•œλ‹€.Multi Range Read λž€, Nested Loop

2023λ…„ 9μ›” 6일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[MySQL] ORDER BY, GROUP BY, DISTINCT μ ˆμ—μ„œ μ˜΅ν‹°λ§ˆμ΄μ €λŠ” μ–΄λ–»κ²Œ λ™μž‘ν•˜λŠ”κ°€

GROUP BY 처리 GROUP BY μ—­μ‹œ ORDER BYκ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ 인덱슀λ₯Ό μ‚¬μš©ν•  수 μ—†μœΌλ―€λ‘œ, 필터링 역할을 ν•˜λŠ” HAVINGμ ˆμ„ νŠœλ‹ν•  수 μ—†λ‹€. 인덱슀λ₯Ό μ‚¬μš©ν•˜λŠ” 경우 인덱슀 μŠ€μΊ” 이용 루슀 인덱슀 μŠ€μΊ” 이용 μž„μ‹œ ν…Œμ΄λΈ”μ„ μ‚¬μš©ν•˜λŠ” 경우 DISTI

2023λ…„ 8μ›” 30일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[Spring Boot] MySQL 검색 쿼리 μ„±λŠ₯ κ°œμ„ κΈ°

60만건의 μœ μ‹€λ¬Ό 데이터λ₯Ό λ‚΄μš©μœΌλ‘œ 검색할 λ•Œ, ν”„λ‘ νŠΈμ—μ„œ 가끔 응닡 μ‹œκ°„μ΄ λ„ˆλ¬΄ 였래 κ±Έλ¦°λ‹€λŠ” ν”Όλ“œλ°±μ„ λ°›κ³  μ„±λŠ₯을 올렀보기둜 ν–ˆλ‹€.

2023λ…„ 8μ›” 23일
Β·
2개의 λŒ“κΈ€
Β·
post-thumbnail

[MySQL] ν΄λŸ¬μŠ€ν„°λ§ μΈλ±μŠ€μ™€ μœ λ‹ˆν¬ μΈλ±μŠ€μ— λŒ€ν•˜μ—¬

ν΄λŸ¬μŠ€ν„°λ§ μΈλ±μŠ€λž€? > 🫧 ν΄λŸ¬μŠ€ν„°λ§μ΄λž€? μ„œλ‘œ 연관이 μžˆλŠ” 데이터듀을 ν•˜λ‚˜λ‘œ λ¬ΆλŠ” 것을 μ˜λ―Έν•œλ‹€. λ”°λΌμ„œ ν΄λŸ¬μŠ€ν„°λ§ μΈλ±μŠ€λž€, ν…Œμ΄λΈ”μ˜ λ ˆμ½”λ“œλ₯Ό 프라이머리킀가 λΉ„μŠ·ν•œ 것 끼리 λ¬ΆλŠ” 것을 μ˜λ―Έν•œλ‹€. μ€‘μš”ν•œ 것은 InnoDB μ—μ„œλŠ” 프라이머리 킀에 μ˜ν•΄, μ‚½μž…

2023λ…„ 8μ›” 16일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[MySQL] B-Tree 인덱슀 ꡬ쑰와 인덱슀 μŠ€μΊ”

☁️ λ””μŠ€ν¬ 읽기 방식 CPU와 λ©”λͺ¨λ¦¬λŠ” 전기적 νŠΉμ„±μ„ 띄고 μžˆλŠ” μž₯치이기 λ•Œλ¬Έμ—, 속도가 λΉ λ₯΄λ‹€. ν•˜μ§€λ§Œ 이에 λ°˜ν•΄ λ””μŠ€ν¬μ™€ 같은 기계적 μž₯μΉ˜λŠ” μ—¬μ „νžˆ λŠλ¦¬λ―€λ‘œ, λ°μ΄ν„°λ² μ΄μŠ€ μ„±λŠ₯ νŠœλ‹μ€ λ””μŠ€ν¬ I/Oλ₯Ό μ–Όλ§ˆλ‚˜ μ€„μ΄λŠκ°€ 관건이라 ν•  수 μžˆλ‹€. HDD VS SSD

2023λ…„ 8μ›” 8일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[Java] Static inner class λŠ” μ–΄λ–»κ²Œ 지연 μ΄ˆκΈ°ν™”κ°€ κ°€λŠ₯ν• κΉŒ?

Q. static ν‚€μ›Œλ“œκ°€ λΆ™μœΌλ©΄ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹€ν–‰ μ‹œμ— 이미 μ΄ˆκΈ°ν™”κ°€ λλ‚˜λŠ”λ°, μ–΄λ–»κ²Œ 지연 λ‘œλ”©μ΄ κ°€λŠ₯ν•œκ°€? 정적 ν•„λ“œ μ΄ˆκΈ°ν™” - 지연 μ΄ˆκΈ°ν™” 홀더 클래슀 κ΄€μš©κ΅¬ ☁️ Bill Pugh Solution (LazyHolder) ꢌμž₯λ˜λŠ” 방법 쀑 ν•˜λ‚˜λ‘œ, λ©€ν‹°μŠ€λ ˆ

2023λ…„ 8μ›” 4일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[MySQL] νŠΈλžœμž­μ…˜ 격리 μˆ˜μ€€(Isolated-level) μ™„μ „ μ •λ³΅ν•˜κΈ°

νŠΈλžœμž­μ…˜ 격리 μˆ˜μ€€μ΄λž€, μ—¬λŸ¬ νŠΈλžœμž­μ…˜μ΄ λ™μ‹œμ— 처리될 λ•Œ νŠΉμ • νŠΈλžœμž­μ…˜μ΄ λ‹€λ₯Έ νŠΈλžœμž­μ…˜μ—μ„œ λ³€κ²½ν•˜κ±°λ‚˜ μ‘°νšŒν•˜λŠ” 데이터λ₯Ό λ³Ό 수 μžˆλ„λ‘ ν—ˆμš©ν• μ§€ 말지 κ²°μ •ν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€. 총 λ„€ λ‹¨κ³„λ‘œ λ‚˜λ‰˜λ©°, λ’€λ‘œ 갈수둝 고립 정도(격리)κ°€ λ†’μ•„μ Έ λ™μ‹œ 처리 μ„±λŠ₯이 λ–¨μ–΄μ Έμ„œ 잘

2023λ…„ 8μ›” 2일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[MySQL] νŠΈλžœμž­μ…˜κ³Ό MySQL 잠금(Lock) μ’…λ₯˜μ— λŒ€ν•΄ μ•Œμ•„λ³΄μž

νŠΈλžœμž­μ…˜ : μž‘μ—…μ˜ μ™„μ „μ„±(μΌλΆ€λ§Œ μ μš©λ˜λŠ” 일이 없도둝)을 보μž₯ν•˜λŠ” λ°μ΄ν„°μ˜ 정합성을 μœ„ν•œ κΈ°λŠ₯이닀. 잠금(Lock): λ ˆμ½”λ“œμ— λŒ€ν•œ λ™μ‹œμ„±μ„ μ œμ–΄ν•˜κΈ° μœ„ν•œ κΈ°λŠ₯이닀. MyISAMμ΄λ‚˜ MEMORY λŠ” InnoDB 와 달리 νŠΈλžœμž­μ…˜μ„ μ§€μ›ν•˜μ§€ μ•ŠλŠ”λ‹€. νŠΈλžœμž­μ…˜ κΈ°λŠ₯이

2023λ…„ 7μ›” 31일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[AWS] 우리의 μ—°μ•½ν•œ 프리티어 μ„œλ²„κ°€..또 ν„°μ‘Œμ–΄μš”πŸ˜‡

μ–΄λŠλ•Œμ²˜λŸΌ SSH 접속을 ν•˜λ €κ³  λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰μ‹œμΌ°λ”λ‹ˆ, μ–΄λŠ μ—λŸ¬ 문ꡬ도 없이 접속이 λ˜μ§€ μ•Šμ•˜λ‹€. 크둠탭을 톡해 ν…ŒμŠ€νŠΈν•˜λ €κ³  λ§€μ΄ˆλ§ˆλ‹€ 크둀링을 ν•΄μ˜€λ„λ‘ μ„€μ •ν•΄λ†¨μ—ˆκΈ° λ•Œλ¬Έμ—, μ—­μ‹œ 직감으둜 CPU μ‚¬μš©λ₯ μ„ λ¨Όμ € ν™•μΈν•΄λ³΄μ•˜λ‹€.μŠ€μΌ€μ€„λ§ μž‘μ—…μ΄ μΌμ–΄λ‚ λ•Œ μ•„λž˜μ™€ 같이 CPU

2023λ…„ 7μ›” 30일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[MySQL] InnoDB 버퍼 ν’€ ꡬ쑰와 둜그

InnoDB 버퍼 ν’€μ΄λž€, λ””μŠ€ν¬μ˜ 데이터 νŒŒμΌμ΄λ‚˜ 인덱슀 정보λ₯Ό λ©”λͺ¨λ¦¬μ— μΊμ‹œν•΄λ‘λŠ” 곡간이닀. λ˜ν•œ 일괄 처리λ₯Ό μœ„ν•œ μ“°κΈ° μž‘μ—… λ ˆμ½”λ“œ 버퍼 μš©λ„λ‘œλ„ μ‚¬μš©λœλ‹€. 1. 버퍼 ν’€ 크기 μ„€μ • 일반적으둜 운영체제 곡간이 8GB 미만이라면, 50% μ •λ„λ§Œ InnoDB 버퍼

2023λ…„ 7μ›” 25일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[Effective Java] μ•„μ΄ν…œ 89: μΈμŠ€ν„΄μŠ€ 수λ₯Ό ν†΅μ œν•΄μ•Ό ν•œλ‹€λ©΄ readResolve λ³΄λ‹€λŠ” μ—΄κ±° νƒ€μž…μ„ μ‚¬μš©ν•˜λΌ

싱글톀고 같이 λΆˆλ³€μ‹μ„ 지킀렀고 ν•œλ‹€λ©΄, μ—΄κ±° νƒ€μž…μ„ μ‚¬μš©ν•˜μž. readResolve λ₯Ό μ‚¬μš©ν•œλ‹€λ©΄ λ°˜λ“œμ‹œ λͺ¨λ“  μ°Έμ‘° νƒ€μž… μΈμŠ€ν„΄μŠ€ ν•„λ“œλ₯Ό transient 둜 μ„ μ–Έν•΄μ•Ό ν•œλ‹€. μ‹±κΈ€ν„΄ 클래슀 직렬화 문제 μ‹±κΈ€ν„΄ 클래슀λ₯Ό 직렬화 ν•˜λ €κ³  Seriablizable λ₯Ό κ΅¬ν˜„

2023λ…„ 7μ›” 23일
Β·
2개의 λŒ“κΈ€
Β·
post-thumbnail

[MySQL] InnoDB μŠ€ν† λ¦¬μ§€ 엔진 μ•„ν‚€ν…μ²˜

☁️ 프라이머리 킀에 μ˜ν•œ ν΄λŸ¬μŠ€ν„°λ§ λͺ¨λ“  ν…Œμ΄λΈ”μ€, 기본적으둜 프라이머리 ν‚€λ₯Ό κΈ°μ€€μœΌλ‘œ ν΄λŸ¬μŠ€νŒ…λ˜μ–΄ μ €μž₯λœλ‹€. ν΄λŸ¬μŠ€ν„°λ§ μΈλ±μŠ€λž€? https://www.geeksforgeeks.org/difference-between-clustered-and-non-clus

2023λ…„ 7μ›” 16일
Β·
2개의 λŒ“κΈ€
Β·
post-thumbnail

[MySQL] MySQL 엔진 μ•„ν‚€ν…μ²˜ νŒŒν—€μΉ˜κΈ°

전체적인 μ•„ν‚€ν…μ²˜ MYSQL 엔진 ν΄λΌμ΄μ–ΈνŠΈλ‘œλΆ€ν„°μ˜ 접속 및 쿼리 μš”μ²­μ„ μ²˜λ¦¬ν•˜λŠ” 컀λ„₯μ…˜ ν•Έλ“€λŸ¬, SQL νŒŒμ„œ, μ˜΅ν‹°λ§ˆμ΄μ € λ“± μš”μ²­λœ SQL λ¬Έμž₯을 λΆ„μ„ν•˜κ±°λ‚˜ μ΅œμ ν™”ν•˜λŠ” 엔진이닀. GROUP BY, ORDER BY λ“± λ³΅μž‘ν•œ μ²˜λ¦¬λŠ” ν•΄λ‹Ή μ—”μ§„μ˜ 처리 μ˜μ—­μΈ 쿼리 μ‹€ν–‰

2023λ…„ 7μ›” 11일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[Effective Java] μ•„μ΄ν…œ 84: ν”„λ‘œκ·Έλž¨μ˜ λ™μž‘μ„ μŠ€λ ˆλ“œ μŠ€μΌ€μ€„λŸ¬μ— κΈ°λŒ€μ§€ 마라

μŠ€μΌ€μ€„λ§ 정책은 μš΄μ˜μ²΄μ œλ§ˆλ‹€ λ‹€λ₯Ό 수 μžˆμœΌλ―€λ‘œ, ν”„λ‘œκ·Έλž¨μ˜ μ„±λŠ₯이 μŠ€μΌ€μ€„λŸ¬μ— 따라 달라지지 μ•Šλ„λ‘ ν•΄μ•Ό ν•œλ‹€. μ•„λž˜ μ„Έ 가지 λ°©μ•ˆμ„ 지킨닀면, μŠ€μΌ€μ€„λŸ¬μ— 독립적인 이식성이 높은 ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€ 수 μžˆλ‹€. ☁️ μ‹€ν–‰ κ°€λŠ₯ν•œ μŠ€λ ˆλ“œ μž‘κ²Œ μœ μ§€ν•˜κΈ° μ‹€ν–‰ κ°€λŠ₯ν•œ μŠ€λ ˆλ“œ

2023λ…„ 7μ›” 3일
Β·
0개의 λŒ“κΈ€
Β·
post-thumbnail

[Effective Java] μ•„μ΄ν…œ 79: κ³Όλ„ν•œ λ™κΈ°ν™”λŠ” ν”Όν•˜λΌ

κ³Όλ„ν•œ λ™κΈ°ν™”λŠ” 였히렀 μ„±λŠ₯을 λ–¨μ–΄νŠΈλ¦¬κ³ , κ΅μ°©μƒνƒœμ— λΉ λœ¨λ¦°λ‹€. λ™κΈ°ν™”λœ μ˜μ—­ μ•ˆμ—μ„œ μž¬μ •μ˜ν•  수 μžˆλŠ” λ©”μ„œλ“œ ν˜ΈμΆœν•˜λŠ” 경우 μž¬μ •μ˜ κ°€λŠ₯ν•œ λ©”μ„œλ“œλŠ”, μžμ‹μ—μ„œ μ–΄λ–€ 짓을 ν•˜λŠ”μ§€ ν†΅μ œν•  수 μ—†κΈ° λ•Œλ¬Έμ—(ex) λΆ€λͺ¨ λ©”μ„œλ“œλ₯Ό λ‹€μ‹œ 호좜) μ˜ˆμ™Έλ₯Ό μΌμœΌν‚€κ±°λ‚˜ κ΅μ°©μƒνƒœμ— λΉ 

2023λ…„ 6μ›” 24일
Β·
0개의 λŒ“κΈ€
Β·