λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
λ°˜μ‘ν˜•

IT Blog408

Kotlin for iterator 코틀린을 처음 μ‚¬μš©ν–ˆμ„ λ•Œ, μžλ°”μ™€λŠ” 쑰금 λ‹€λ₯΄κ²Œ for문을 톡해 λ°˜λ³΅λ¬Έμ„ μž‘μ„±ν–ˆμ—ˆκΈ°μ— 쑰금 μ–΄μƒ‰ν–ˆμ—ˆλŠ”λ°μš”,μžλ°”μ—μ„œμ˜ for문은 λŒ€λΆ€λΆ„(?) for, for-each 두 방식을 μ‚¬μš©ν•΄μ„œ μ ‘κ·Όν–ˆλŠ”λ°, μ½”ν‹€λ¦°μ—μ„œλŠ” ꡉμž₯히 λ‹€μ–‘ν•œ λ°©μ‹μœΌλ‘œ Array에 접근이 κ°€λŠ₯ν•΄μ„œ λ”μš± μ–΄μƒ‰ν–ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€. ν•¨μˆ˜ν˜• μ½”λ“œλ₯Ό μž‘μ„±ν•˜λ©΄μ„œ for문을 μ‚¬μš©ν•  일이 λ§Žμ§€λŠ” μ•Šμ§€λ§Œ, κ°„λž΅ν•˜κ²Œ μ •λ¦¬ν•΄λ³΄κ³ μž ν•©λ‹ˆλ‹€. https://kotlinlang.org/docs/iterators.html#mutable-iterators Iterators | Kotlin kotlinlang.org  // 12345for (i in 1..5) { print(i)}// 1234for (i in 1.. .. (Primitives.kt) until (_.. 2025. 1. 17.
"무엇이 1λ“± νŒ€μ„ λ§Œλ“œλŠ”κ°€?" λ„μ„œ 리뷰 ν•œλΉ›λ―Έλ””μ–΄μ˜ λ‚˜λŠ”λ¦¬λ·°μ–΄λ‹€ 2024λ₯Ό 톡해 μ˜¬ν•΄ λ§ˆμ§€λ§‰μ˜ 12μ›”, "무엇이 1λ“± νŒ€μ„ λ§Œλ“œλŠ”κ°€?" λ„μ„œλ₯Ό 제곡 λ°›μ•„ μ½μ–΄λ³΄κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.μ•„λ¬΄λž˜λ„ νŒ€μ„ λΉŒλ”©ν•˜λŠ” 쑰직에 μ†ν•΄μžˆλ‹€ λ³΄λ‹ˆ, λ”μš± μ΄λŸ¬ν•œ 관심사가 μƒκΈ°κ²Œ 된 것 κ°™μŠ΅λ‹ˆλ‹€.  νŒ€ νš¨κ³Όμ„±μ— κ΄€ν•œ μ—°κ΅¬μ—μ„œ, μ†Œν”„νŠΈμ›¨μ–΄ μ—”μ§€λ‹ˆμ–΄λ§ νŒ€μ˜ 성곡에 κΈ°μ—¬ν•˜λŠ” λ‹€μ„― 가지 μ£Όμš” 원동λ ₯은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.심리적 μ•ˆμ •κ°νŒ€μ›λ“€μ΄ κ±±μ • 없이 리슀크λ₯Ό κ°μˆ˜ν•˜κ³  μ„œλ‘œλ₯Ό 돕기 μœ„ν•΄ 자발적으둜 λ‚˜μ„ λ‹€.μ‹ λ’°μ„±νŒ€μ›λ“€μ΄ 업무λ₯Ό μ œμ‹œκ°„μ— μ²˜λ¦¬ν•˜κ³ , κ΅¬κΈ€μ˜ νƒμ›”ν•¨μ΄λΌλŠ” 높은 기쀀도 λ§Œμ‘±μ‹œν‚¨λ‹€.체계와 λͺ…ν™•μ„±νŒ€μ΄ λͺ…ν™•ν•œ μ—­ν• , κ³„νš, λͺ©ν‘œλ₯Ό 가지고 μžˆλ‹€. μ˜λ―Έ(λͺ©μ μ˜μ‹)업무가 νŒ€μ›λ“€μ—κ²Œ 개인적인 μ€‘μš”μ„±μ„ 가진닀. μ˜ν–₯λ ₯νŒ€μ›λ“€μ΄ μžμ‹ μ˜ 일이 κ°€μΉ˜μžˆκ³  λ³€ν™”λ₯Ό λ§Œλ“€μ–΄λ‚Έλ‹€κ³  μƒκ°ν•œλ‹€.이 μ€‘μ—μ„œ νŠΉνžˆλ‚˜.. 2024. 12. 30.
Elasticsearch Exists ν‚€μ›Œλ“œ Elasticsearchμ—μ„œ μΈλ±μŠ€μ— ν•„λ“œμ˜ 값이 μ‘΄μž¬ν•˜λŠ”μ§€ μ‘°νšŒν•˜κΈ° μœ„ν•œ 쿼리둜 existsλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.μ΄λ•Œ 인덱슀의 맀핑 섀정에 따라 μ •μƒμ μœΌλ‘œ μ‘°νšŒκ°€ λ˜μ§€ μ•Šμ„ 수 μžˆλŠ”λ°μš”, exists둜 ν•„λ“œμ˜ 쑴재 μ—¬λΆ€λ₯Ό μ‘°νšŒν•˜κΈ° μœ„ν•΄μ„œλŠ” λ§€ν•‘μ˜ indexκ°€ true둜 섀정이 λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. PUT /exists-tet{ "mappings": { "properties": { "index_true": { "type": "keyword", "index": true, "doc_values": false }, "index_false": { "type": "keyword", "index": false, .. 2024. 12. 22.
"μ΄νŽ™ν‹°λΈŒ μ†Œν”„νŠΈμ›¨μ–΄ ν…ŒμŠ€νŒ…" 정리 1. 효율적이고 체계적인 μ†Œν”„νŠΈμ›¨μ–΄ ν…ŒμŠ€νŠΈλ²„κ·Έ μ°ΎκΈ° → μ†Œν”„νŠΈμ›¨μ–΄ ν…ŒμŠ€νŠΈμ˜ μ „λΆ€λ²„κ·ΈλŠ” 경계값을 μ’‹μ•„ν•œλ‹€.μ΅œμ†Œ ν•„μš”ν•œ 값이 10일 경우, 10의 κ²½κ³—κ°’(9~11)μ œν’ˆ μ½”λ“œμ˜ 행동을 λΉ λ₯΄κ²Œ κΈ°μˆ ν•˜λŠ” κ°„λ‹¨ν•œ ν…ŒμŠ€νŠΈλ₯Ό λ³΄μœ ν•˜λŠ” 것은 ν…ŒμŠ€νŠΈ μŠ€μœ„νŠΈμ— μ•½κ°„μ˜ 쀑볡이 μžˆλ”λΌλ„ 항상 득이 λœλ‹€.μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό μ˜¬λ°”λ‘œ ν…ŒμŠ€νŠΈν•˜λ €λ©΄ κ·Έλ ‡κ²Œ μ•ˆ ν•˜λŠ” 것보닀 일이 더 λ§Žμ•„μ§€λ§Œ, κ·ΈλŸΌμ—λ„ μ™œ κ°€μΉ˜ μžˆλŠ” 일인가?μƒμš© λ²„μ „μ—μ„œ λ°œμƒν•˜λŠ” λ²„κ·Έμ˜ λΉ„μš©μ€ μ˜ˆλ°©ν•˜λŠ” λΉ„μš©λ³΄λ‹€ 훨씬 더 크닀버그λ₯Ό μ°Ύκ³ , ν•΄κ²°, κ°œμ„ ν•˜λŠ” 과정이 였히렀 μ‹œκ°„μ„ 많이 μ†Œλͺ¨ν•œλ‹€.μ—°μŠ΅μ΄ 관건 → ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€ μž‘μ„±μ— μ΅μˆ™ν•΄μ§€λ©΄ 더 빨리 μž‘μ„±ν•  수 μžˆλ‹€.효율적 → μ˜¬λ°”λ₯Έ ν…ŒμŠ€νŠΈλ₯Ό μž‘μ„±ν•˜λŠ” 데 집쀑체계적 → μ–΄λ–€ μ½”λ“œ 쑰각에 λŒ€ν•΄ μ–΄λŠ κ°œλ°œμžλΌλ„ 같은 ν…ŒμŠ€νŠΈ μŠ€μœ„νŠΈλ₯Ό λ§Œλ“€.. 2024. 12. 21.
Kotlin - Scope functions (let, with, run, apply, also) 코틀린을 μ‚¬μš©ν•˜λ©΄μ„œ 항상 ν—·κ°ˆλ Έλ˜ Scope functions 에 λŒ€ν•΄ 정리해 보고자 ν•©λ‹ˆλ‹€. μ½”틀린을 μ‚¬μš©ν•˜λ‹€ 보면 ꡉμž₯히 자주 μ ‘ν•˜κ³  μ‚¬μš©ν•  κ°œλ…λ“€μ΄κΈ°μ— 이번 κΈ°νšŒμ— ν™•μ‹€νžˆ μ •λ¦¬ν•˜κ³ , μ–΄λ–€ 상황에 μ–΄λ–€ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λŠ” 것이 적합할지 μ •ν™•νžˆ νŒŒμ•…ν•˜λŠ” 것이 λͺ©ν‘œμž…λ‹ˆλ‹€. Scope functions기본적으둜 Scope functionsλŠ”, μ½”λ“œ 블둝을 μ‹€ν–‰ν•˜λŠ” νŠΉμ • 객체에 λŒ€ν•΄ λ™μΌν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.μΌλΆ€λŠ” λžŒλ‹€ ν‘œν˜„μ‹μ΄ 제곡되고, 객체의 이름을 μ‚¬μš©ν•˜μ§€ μ•Šκ³ λ„ 객체에 접근이 κ°€λŠ₯ν•©λ‹ˆλ‹€. (this, it) μ½”ν‹€λ¦°μ˜ Scope functionsμ—λŠ” let, run, with, apply, also 5κ°€μ§€μ˜ ν•¨μˆ˜λ“€μ΄ μ‘΄μž¬ν•©λ‹ˆλ‹€. μœ„ 두 μ½”λ“œλŠ” λ™μΌν•œ λ‘œμ§μ„ μˆ˜ν–‰ν•˜μ§€λ§Œ, let 을 μ‚¬μš©ν•˜λ©΄ λ”μš± κ°„λ‹¨ν•˜κ²Œ 객.. 2024. 12. 15.
System Design: Message Deduplication System https://medium.com/@aditimishra_541/system-design-message-deduplication-system-afb4679c3c00 System Design: Message Deduplication System1. Overviewmedium.com  1. Overview이 아티클은 μˆ˜μ‹  λ©”μ‹œμ§€λ₯Ό μ²˜λ¦¬ν•˜κ³  10초 이내에 λ„μ°©ν•œ λ°˜λ³΅λ˜λŠ” λ©”μ‹œμ§€λ₯Ό ν•„ν„°λ§ν•˜λŠ” μ‹œμŠ€ν…œ λ””μžμΈμ— λŒ€ν•΄ μ„€λͺ…ν•©λ‹ˆλ‹€.μ£Όμš” λͺ©ν‘œλŠ” μ§€λ‚œ 10μ΄ˆκ°„ 고유 λ©”μ‹œμ§€κ°€ μ²˜λ¦¬λ˜μ§€ μ•Šμ€ κ²½μš°μ—λ§Œ μ²˜λ¦¬λ˜λ„λ‘ ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이 λ””μžμΈμ€ 쀑볡 μ²˜λ¦¬λ‚˜ 둜그λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄ λ©”μ‹œμ§€ 쀑볡 μ œκ±°κ°€ μ€‘μš”ν•œ μ‹€μ‹œκ°„ μ‹œμŠ€ν…œμ— μ ν•©ν•©λ‹ˆλ‹€. 2. RequirementsκΈ°λŠ₯적 μš”κ΅¬μ‚¬ν•­μ‹œμŠ€ν…œμ€ λ„μ°©ν•œ μˆœμ„œλŒ€λ‘œ μˆ˜μ‹  λ©”μ‹œμ§€λ₯Ό μ²˜λ¦¬ν•΄μ•Ό ν•©λ‹ˆλ‹€.λ©”.. 2024. 10. 27.
μΈν”„μ½˜ 2024 정리 μ˜¬ν•΄ μ§„ν–‰λ˜μ—ˆλ˜ μΈν”„μ½˜ 2024 쀑 일뢀 μ„Έμ…˜μ— λŒ€ν•΄ κ°„λž΅νžˆ 정리해 λ³΄μ•˜μŠ΅λ‹ˆλ‹€. https://www.inflearn.com/course/%EC%9D%B8%ED%94%84%EC%BD%982024-%EB%8B%A4%EC%8B%9C%EB%B3%B4%EA%B8%B0 [μ§€κΈˆ 무료] μΈν”„μ½˜ 2024 λ‹€μ‹œλ³΄κΈ° κ°•μ˜ | μΈν”„λŸ° - μΈν”„λŸ°μΈν”„λŸ° | μ„±μž₯ν•˜λŠ” ITμΈλ“€μ˜ μΆ•μ œ, μΈν”„μ½˜ 2024μ—μ„œ μ§„ν–‰λœ μ˜€ν”„λ‹ 및 λ°œν‘œ μ„Έμ…˜μ„ μ˜μƒμœΌλ‘œ λ‹€μ‹œ 보싀 수 μžˆμŠ΅λ‹ˆλ‹€., βœ… ν™•μΈν•΄μ£Όμ„Έμš”μ΄ μ½˜ν…μΈ λŠ” 2024λ…„ 8μ›” 2일 κΈˆμš”μΌ μ§„ν–‰λœ μΈν”„μ½˜ 2024 λ°œν‘œ λ…Ήwww.inflearn.com νŠΈλž™ 1μ‹€λ¦¬μ½˜λ°Έλ¦¬ 개발 λ¬Έν™” 및 μ„œλ°”μ΄λ²Œ μ „λž΅ - μ΄μŠΉμ€€ν•΅μ‹¬ 5κ°€μ§€μžκΈ° PR, μƒˆλ‘œμš΄ 기술 νŠΈλ Œλ“œ μŠ΅λ“, λ„€νŠΈμ›Œν‚Ή, ν˜‘μ—… λŠ₯λ ₯, μ°½μ˜μ„±κ³Ό 문제 ν•΄κ²°.. 2024. 10. 25.
DB Function to Java Application 이관 (feat. ν”„λ‘œμ‹œμ €) 이번 ν¬μŠ€νŒ…μ—μ„œλŠ” μ „ 직μž₯μ—μ„œ μ§„ν–‰ν–ˆλ˜ DB Function λ‘œμ§μ„ Java Application으둜 μ΄κ΄€ν•˜λŠ” μž‘μ—…μ— λŒ€ν•΄ μ •λ¦¬ν•˜κ³ μž ν•©λ‹ˆλ‹€. μ‹œκ°„μ΄ λ‹€μ†Œ ν˜λ €μ§€λ§Œ, 이 μž‘μ—… 과정을 λ˜λŒμ•„λ³΄κ³ μž ν•˜λŠ” λͺ©μ λ„ 있고, μœ μ‚¬ν•œ μž‘μ—…μ„ 진행할 λ•Œ μ°Έκ³ ν•  수 μžˆλ„λ‘ νŠΈλŸ¬λΈ”μŠˆνŒ… 및 κ³ λ € 사항 등을 정리해 보렀 ν•©λ‹ˆλ‹€. ν¬μŠ€νŒ…은 κ°œμš” - κ³Όμ • - κ²°κ³Ό(μ„±κ³Ό) - 회고 순으둜 κ΅¬μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€. κ°œμš”κΈ°μ‘΄μ˜ DB Function은 쿠폰 λ°œκΈ‰ APIλ₯Ό μ²˜λ¦¬ν•˜λŠ” ν•¨μˆ˜λ‘œ, μ™ΈλΆ€ μ œνœ΄μ‚¬κ°€ λ°œκΈ‰ μš”μ²­μ„ ν•˜λ©΄ λ‚΄λΆ€μ μœΌλ‘œ μ—¬λŸ¬ ν”„λ‘œμ‹œμ €λ“€μ„ 순차적으둜 ν˜ΈμΆœν•˜μ—¬ 검증, λ‘œκΉ…, INSERT, UPDATE λ“± 쿠폰 λ°œκΈ‰μ„ μ²˜λ¦¬ν•˜λŠ” λ‘œμ§μ΄μ—ˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ 이 λ‘œμ§μ—λŠ” μ—¬λŸ¬ λ¬Έμ œκ°€ μžˆμ—ˆκ³ , 이λ₯Ό κ°œμ„ ν•˜κΈ° μœ„ν•΄ 이번 μž‘μ—…μ„ μ§„ν–‰ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. D.. 2024. 10. 14.
업무에 λ°”λ‘œ μ“°λŠ” SQL νŠœλ‹ 2 - SQL νŠœλ‹ μ‹€μŠ΅ (1) μ§€λ‚œ ν¬μŠ€νŒ…μ—μ„œ SQL νŠœλ‹ 이둠에 λŒ€ν•΄ μ‚΄νŽ΄λ³΄μ•˜λŠ”λ°μš”, 이번 ν¬μŠ€νŒ…μ—μ„œλŠ” μ‹€μ œ μ—¬λŸ¬ ν…Œμ΄λΈ”μ˜ 데이터λ₯Ό 기반으둜 쿼리의 λ¬Έμ œμ μ„ νŒŒμ•…ν•˜κ³ , νŠœλ‹ν•˜μ—¬ κ°œμ„ ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.(μ‹€μ œ νŠœλ‹ μ „ SQL 문을 ν™•μΈν•˜μ—¬ 무엇이 λ¬Έμ œμΈμ§€ νŒŒμ•…ν•΄λ³΄κ³ , 직접 κ°œμ„ ν•΄λ³΄κ³  νŠœλ‹ ν›„ SQL 문을 ν™•μΈν•˜λŠ” 방식도 쒋을 것 κ°™μŠ΅λ‹ˆλ‹€.) μ•…μ„± SQL νŠœλ‹μœΌλ‘œ 초보자 νƒˆμΆœν•˜κΈ°μ‹€λ¬΄μ μΈ SQL νŠœλ‹ 절차 μ΄ν•΄ν•˜κΈ°1. SQL λ¬Έ μ‹€ν–‰ κ²°κ³Ό & ν˜„ν™© νŒŒμ•…κ²°κ³Ό 및 μ†Œμš”μ‹œκ°„ 확인쑰인 / μ„œλΈŒμΏΌλ¦¬ ꡬ쑰동등 / λ²”μœ„ 쑰건2. κ°€μ‹œμ ν…Œμ΄λΈ”μ˜ 데이터 건수SELECT 절 컬럼 λΆ„μ„μ‘°κ±΄μ ˆ 컬럼 뢄석그루핑 / μ •λ ¬ 컬럼3. λΉ„κ°€μ‹œμ μ‹€ν–‰κ³„νšμΈλ±μŠ€ ν˜„ν™©λ°μ΄ν„° λ³€κ²½ 좔이업무적 νŠΉμ§•4. νŠœλ‹ λ°©ν–₯ νŒλ‹¨ & κ°œμ„  / 적용 (ν…ŒμŠ€νŠΈ) SQL λ¬Έ λ‹¨μˆœ μˆ˜μ •μœΌλ‘œ μ°©ν•œ 쿼리 .. 2024. 10. 8.
업무에 λ°”λ‘œ μ“°λŠ” SQL νŠœλ‹ 1 - SQL νŠœλ‹ 이둠 ν•΄λ‹Ή ν¬μŠ€νŒ…μ€ 업무에 λ°”λ‘œ μ“°λŠ” SQL νŠœλ‹ λ„μ„œλ₯Ό 기반으둜 μž‘μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ΄μ „ 직μž₯μ—μ„œλŠ” 주둜 μ˜€λΌν΄μ„ μ‚¬μš©ν•˜μ˜€κ³ , μ•žμœΌλ‘œλŠ” MySQL(MariaDB, Postgresql...) 을 μ‚¬μš©ν•  μ˜ˆμ •μ΄κΈ°μ— κ΄€λ ¨ν•˜μ—¬ μ‹€ν–‰ κ³„νš 및 μ—¬λŸ¬ SQL νŠœλ‹ 기법듀에 λŒ€ν•΄ 정리해 보고자 ν•©λ‹ˆλ‹€. μ˜ˆμ „μ— Real MySQL λ„μ„œλ₯Ό 톡해 이둠적으둜 ν•™μŠ΅ν•˜μ˜€μ§€λ§Œ, μ˜€λΌν΄μ„ 주둜 μ‚¬μš©ν•˜λ‹€λ³΄λ‹ˆ MySQL의 μ£Όμš” μ‹€ν–‰ κ³„νšμ— λŒ€ν•΄μ„œλŠ” 정리 μ°¨μ›μ—μ„œ λ‹€μ‹œ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€. μ±…μ˜ μ˜ˆμ œλ“€μ„ 톡해 ν‰μ†Œμ— 이둠으둜만 μ•Œκ³  μžˆμ—ˆλ˜ λ‚΄μš©λ“€μ΄λ‚˜ κ²½ν—˜μ΄ μžˆμ—ˆλ˜ νŠœλ‹λ“€ λ“± λ‹€μ–‘ν•˜κ²Œ κ²½ν—˜ν•΄λ³Ό 수 μžˆμ–΄ μ’‹μ•˜μŠ΅λ‹ˆλ‹€.μ±…μ˜ μ˜ˆμ œλ“€μ„ 톡해 μ „ν˜€ μƒˆλ‘œμš΄ μ ‘κ·Όμ΄λ‚˜, ν‰μ†Œμ— 이둠으둜만 μ•Œκ³  μžˆμ—ˆλ˜ λ‚΄μš©λ“€, μ‘°κΈˆμ΄λ‚˜λ§ˆ κ²½ν—˜μ΄ μžˆμ—ˆλ˜ 쿼리 λ“± 정해진 데이터 ν˜•μ‹μ΄κΈ΄ .. 2024. 10. 7.
λ°˜μ‘ν˜•