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

전체 κΈ€418

μ΄νŽ™ν‹°λΈŒ μ½”ν‹€λ¦° 2μž₯ - 가독성 μ•„μ΄ν…œ 11. 가독성을 λͺ©ν‘œλ‘œ μ„€κ³„ν•˜λΌλ‘œλ²„νŠΈ λ§ˆν‹΄μ˜ 클린 μ½”λ“œ ... "κ°œλ°œμžκ°€ μ½”λ“œ μž‘μ„±ν•˜λŠ” λ°λŠ” 1λΆ„ κ±Έλ¦¬μ§€λ§Œ, μ½λŠ” λ°λŠ” 10뢄이 κ±Έλ¦°λ‹€."κ°€λ…μ„±μ΄λž€, μ½”λ“œλ₯Ό 읽고 μ–Όλ§ˆλ‚˜ λΉ λ₯΄κ²Œ 이해할 수 μžˆλŠ”μ§€λ₯Ό μ˜λ―Έν•œλ‹€.// Aif (persion != null && person.isAdult) { view.showPerson(person)} else { view.showError()}// Bperson?.takeIf { it.isAdult } ?.let(view::showPerson) ?: view.showError()Aκ°€ 읽고 μ΄ν•΄ν•˜κΈ°κ°€ μ‰¬μš΄λ°, 기본적으둜 '인지 λΆ€ν•˜'λ₯Ό μ€„μ΄λŠ” λ°©ν–₯으둜 μ½”λ“œλ₯Ό μž‘μ„±ν•˜λΌκ³  ν•œλ‹€.100% 곡감이 λ˜μ§€λŠ” μ•ŠλŠ”λ‹€. ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ„ 잘 읡히고, 잘 μ‚¬μš©ν•œλ‹€λ©΄ μΆ©λΆ„νžˆ 읽고.. 2025. 6. 14.
μ΄νŽ™ν‹°λΈŒ μ½”ν‹€λ¦° - 1μž₯ μ•ˆμ •μ„± μ•„μ΄ν…œ 1. 가변성을 μ œν•œν•˜λΌ(κ°€λŠ₯ν•˜λ©΄) var λ³΄λ‹€λŠ” val μ‚¬μš©(κ°€λŠ₯ν•˜λ©΄) mutable ν”„λ‘œνΌν‹°λ³΄λ‹€λŠ” immutable ν”„λ‘œνΌν‹° μ‚¬μš©mutable 객체λ₯Ό 외뢀에 λ…ΈμΆœν•˜μ§€ 말자.class Test { fun calculate(): Int { println("Cal...") return 42 } val fizz = calculate() val buzz get() = calculate()}fun main() { println(Test().buzz)}//Cal...//Cal...//42읽기 μ „μš© μ»¬λ ‰μ…˜μ„ Mutable μ»¬λ ‰μ…˜μœΌλ‘œ λ‹€μš΄μΊμŠ€νŒ… ν•˜λ©΄ μ•ˆλœλ‹€.읽기 μ „μš©μ—μ„œ mutable둜 λ³€κ²½ν•΄μ•Ό ν•œλ‹€λ©΄, 볡제λ₯Ό 톡해 μƒˆλ‘œμš΄ mutable μ»¬λ ‰μ…˜μ„ .. 2025. 6. 3.
"μ‹¬ν”Œ μ†Œν”„νŠΈμ›¨μ–΄" λ„μ„œ 리뷰 1λΆ€ | ν”„λ‘œκ·Έλž˜λ¨Έλ₯Ό μœ„ν•œ 원칙가λŠ₯ν•œ ν•œ 쒋은 ν”„λ‘œκ·Έλž˜λ¨Έκ°€ 되기λ₯Ό μ§„μ‹¬μœΌλ‘œ μ›ν•˜μ§€ μ•ŠλŠ” μ‚¬λžŒμ΄λΌλ©΄ 아무리 κ°€λ₯΄μΉ˜κ³  μ§€μ ν•˜κ³  μ„Έλ―Έλ‚˜μ— 보내더라도 μ˜λ―Έκ°€ μ—†λ‹€. 그런 μ‚¬λžŒμ€ λ‚˜μ•„μ§€μ§€ μ•ŠλŠ”λ‹€.핡심은, 더 λ‚˜μ•„μ§€λ €λ©΄ λ°˜λ“œμ‹œ 더 λ‚˜μ•„μ§€κ³  μ‹Άλ‹€λŠ” μ˜μš•μ΄ μžˆμ–΄μ•Ό ν•œλ‹€λŠ” 것이닀. μ—”μ§€λ‹ˆμ–΄μ˜ μžμ„ΈλΆ„μ•Όλ₯Ό λ§‰λ‘ ν•˜κ³  μ—”μ§€λ‹ˆμ–΄λΌλ©΄ λ‹€μŒκ³Ό 같은 생각을 ν•΄μ•Ό ν•œλ‹€. λ‚˜λŠ” 이 문제λ₯Ό μ˜¬λ°”λ₯Έ λ°©λ²•μœΌλ‘œ ν•΄κ²°ν•  수 μžˆλ‹€. μ–΄λ–€ λ¬Έμ œλ“  κ·Έ 문제λ₯Ό ν•΄κ²°ν•  μ˜¬λ°”λ₯Έ 방법이 항상 μ‘΄μž¬ν•˜κ³ , κ·Έ 방법을 μ•Œμ•„λ‚Ό μˆ˜λ„ κ΅¬ν˜„ν•  μˆ˜λ„ μžˆλ‹€.μ˜¬λ°”λ₯Έ λ°©λ²•μ΄λž€, μœ μ§€λ³΄μˆ˜μ— μœ λ³„λ‚˜κ²Œ 곡을 듀이지 μ•Šλ”λΌλ„ λ°œμƒν•  수 μžˆλŠ” λͺ¨λ“  μƒν™©μ˜ 쑰건에 λŒ€μ‘ν•˜κ³ , 합리적 μˆ˜μ€€μ˜ νŠΈλž˜ν”½ 양을 감당할 수 μžˆλŠ” μΌμ’…μ˜ 닀리λ₯Ό μ§“λŠ” 일짧은 κΈ°κ°„μ΄μ—ˆμ§€λ§Œ 초기의 ν”„λŸ¬λ•νŠΈλ₯Ό λ§Œλ“€μ–΄κ°€λŠ” κ³Ό.. 2025. 5. 24.
λΆ„μ‚° μ‹œμŠ€ν…œμ„ μœ„ν•œ Unique ID 생성기 섀계 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=278536695 [μ „μžμ±…] 가상 λ©΄μ ‘ μ‚¬λ‘€λ‘œ λ°°μš°λŠ” λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 섀계 기초16κ°€μ§€ μ‹€μ œ μ‹œμŠ€ν…œ 섀계 λ©΄μ ‘ λ¬Έμ œμ™€ μƒμ„Έν•œ λ‹΅μ•ˆμ„ μ œμ‹œν•œλ‹€. μ‹œμŠ€ν…œ λ™μž‘ 원리λ₯Ό μ‹œκ°μ μœΌλ‘œ 보여 μ£ΌλŠ” 188개의 λ„ν•΄λ‘œ μ„€λͺ…ν•˜λ©΄μ„œ 4단계 μ ‘κ·Όλ²•μœΌλ‘œ λ©΄μ ‘ 문제λ₯Ό ν’€ 수 μžˆλ„λ‘ λ•λŠ”λ‹€. 이 μ±…www.aladin.co.kr κ°œμš”μ΄λ²ˆ νŒŒνŠΈμ—μ„œλŠ” λΆ„μ‚° μ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©λ  Unique ID 생성기λ₯Ό μ„€κ³„ν•΄λ³΄μž. κ°„λ‹¨ν•œ ν”„λ‘œμ νŠΈ, 개인 ν”„λ‘œμ νŠΈ λ“±μœΌλ‘œ IDλ₯Ό 섀계할 λ•ŒλŠ” 'auto_increment' 속성이 μ„€μ •λœ κΈ°λ³Έ ν‚€λ₯Ό μ‚¬μš©ν•˜κ³€ ν–ˆλ‹€.ν•˜μ§€λ§Œ λΆ„μ‚° ν™˜κ²½μ—μ„œλŠ” 'auto_increment'λ₯Ό μ‚¬μš©ν•  수 μ—†λŠ”λ°, λ°μ΄ν„°λ² μ΄μŠ€ μ„œλ²„ ν•œ λŒ€λ‘œλŠ” μš”κ΅¬.. 2025. 5. 12.
"μ΄νŽ™ν‹°λΈŒ μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜" 리뷰 ν‰μ†Œμ— μ΄νŽ™ν‹°λΈŒ μ‹œλ¦¬μ¦ˆ(μ΄νŽ™ν‹°λΈŒ μžλ°”, μ΄νŽ™ν‹°λΈŒ μ½”ν‹€λ¦°, μ΄νŽ™ν‹°λΈŒ μ†Œν”„νŠΈμ›¨μ–΄ ν…ŒμŠ€νŒ… ...)λ₯Ό μœ μ΅ν•˜κ²Œ μ½μ—ˆκΈ°μ— ν•΄λ‹Ή λ„μ„œλ„ μž¬λ°Œμ„ 것 κ°™μ•„μ„œ μ œκ³΅λ°›μ•„ μ½μ–΄λ³΄κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.μ§€κΈˆ λ‹Ήμž₯ μ•„ν‚€ν…νŠΈ 레벨둜 싀무λ₯Ό λ‹΄λ‹Ήν•˜μ§€λŠ” μ•Šμ§€λ§Œ, κ²°κ΅­ μ‹œκ°„μ΄ μ§€λ‚˜λ©΄μ„œ 큰그림(?)을 λ³΄λŠ”κ²ƒμ΄ μ€‘μš”ν•˜κΈ° λ•Œλ¬Έμ— μ—¬λŸ¬ μΈμ‚¬μ΄νŠΈλ₯Ό 얻을 것을 κΈ°λŒ€ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή λ„μ„œλŠ” μ†Œν”„νŠΈμ›¨μ–΄ λ³΅μž‘μ„±μ„ κ΄€λ¦¬ν•˜λŠ” 것이 μ•„ν‚€ν…μ²˜μ˜ 핡심 κ°€μΉ˜μž„μ„ κ°•μ‘°ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ•„ν‚€ν…νŠΈλŠ” μš”κ΅¬μ‚¬ν•­μ˜ 변화와 기술 변동성에 μœ μ—°ν•˜κ²Œ λŒ€μ‘ν•  수 μžˆμ–΄μ•Ό ν•˜λ©°, 핡심은 κ²°κ΅­ λ‹¨μˆœν•¨μ΄λΌκ³  κ±°λ“­ κ°•μ‘°ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ¬Έμ„œν™”λŠ” ν•„μˆ˜μ μ΄λ©°, μ΅œμ‹  μƒνƒœλ₯Ό μœ μ§€ν•˜μ§€ μ•Šλ”λΌλ„ μ—†λŠ” 것보닀 훨씬 λ‚«λ‹€κ³  μ–˜κΈ°ν•©λ‹ˆλ‹€. λ˜ν•œ 정보 μ•„ν‚€ν…μ²˜μ™€ μš©μ–΄μ§‘ κ΄€λ¦¬λ‘œ, μ‹œκ°„μ΄ μ§€λ‚˜λ„ ν•„μš”ν•œ 정보λ₯Ό 체계적.. 2025. 4. 26.
처리율 μ œν•œ μž₯치의 섀계 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=278536695 [μ „μžμ±…] 가상 λ©΄μ ‘ μ‚¬λ‘€λ‘œ λ°°μš°λŠ” λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 섀계 기초16κ°€μ§€ μ‹€μ œ μ‹œμŠ€ν…œ 섀계 λ©΄μ ‘ λ¬Έμ œμ™€ μƒμ„Έν•œ λ‹΅μ•ˆμ„ μ œμ‹œν•œλ‹€. μ‹œμŠ€ν…œ λ™μž‘ 원리λ₯Ό μ‹œκ°μ μœΌλ‘œ 보여 μ£ΌλŠ” 188개의 λ„ν•΄λ‘œ μ„€λͺ…ν•˜λ©΄μ„œ 4단계 μ ‘κ·Όλ²•μœΌλ‘œ λ©΄μ ‘ 문제λ₯Ό ν’€ 수 μžˆλ„λ‘ λ•λŠ”λ‹€. 이 μ±…www.aladin.co.kr κ°œμš”λ„€νŠΈμ›Œν¬ μ‹œμŠ€ν…œμ—μ„œ 처리율 μ œν•œ μž₯치(Rate Limiter)λŠ” ν΄λΌμ΄μ–ΈνŠΈ λ˜λŠ” μ„œλΉ„μŠ€κ°€ λ³΄λ‚΄λŠ” νŠΈλž˜ν”½μ˜ 처리율(rate)을 μ œμ–΄ν•˜κΈ° μœ„ν•œ μž₯μΉ˜λ‹€. API μš”μ²­ νšŸμˆ˜κ°€ μ œν•œ μž₯μΉ˜μ— μ •μ˜λœ μž„κ³„μΉ˜(threshold)λ₯Ό λ„˜μ–΄μ„œλ©΄ μΆ”κ°€λ‘œ λ„λ‹¬ν•œ λͺ¨λ“  ν˜ΈμΆœμ€ μ²˜λ¦¬κ°€ 쀑단(block)λœλ‹€.이와 κ΄€λ ¨ν•˜μ—¬ λͺ‡ κ°€μ§€ 사둀듀은 λ‹€μŒ.. 2025. 3. 10.
μ‚¬μš©μž μˆ˜μ— λ”°λ₯Έ 규λͺ¨ ν™•μž₯μ„± https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=278536695 [μ „μžμ±…] 가상 λ©΄μ ‘ μ‚¬λ‘€λ‘œ λ°°μš°λŠ” λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 섀계 기초16κ°€μ§€ μ‹€μ œ μ‹œμŠ€ν…œ 섀계 λ©΄μ ‘ λ¬Έμ œμ™€ μƒμ„Έν•œ λ‹΅μ•ˆμ„ μ œμ‹œν•œλ‹€. μ‹œμŠ€ν…œ λ™μž‘ 원리λ₯Ό μ‹œκ°μ μœΌλ‘œ 보여 μ£ΌλŠ” 188개의 λ„ν•΄λ‘œ μ„€λͺ…ν•˜λ©΄μ„œ 4단계 μ ‘κ·Όλ²•μœΌλ‘œ λ©΄μ ‘ 문제λ₯Ό ν’€ 수 μžˆλ„λ‘ λ•λŠ”λ‹€. 이 μ±…www.aladin.co.kr μ΄λ²ˆ μž₯μ—μ„œλŠ” ν•œ λͺ…μ˜ μ‚¬μš©μžλ₯Ό μ§€μ›ν•˜λŠ” μ‹œμŠ€ν…œμ—μ„œ μ‹œμž‘ν•˜μ—¬ μ΅œμ’…μ μœΌλ‘œ 수백만 μ‚¬μš©μžλ₯Ό μ§€μ›ν•˜λŠ” μ‹œμŠ€ν…œμ„ μ„€κ³„ν•œλ‹€. λ‹¨μΌ μ„œλ²„λͺ¨λ“  μ»΄ν¬λ„ŒνŠΈκ°€ 단 ν•œλŒ€μ˜ μ„œλ²„μ—μ„œ μ‹€ν–‰λ˜λŠ” κ°„λ‹¨ν•œ μ‹œμŠ€ν…œμœΌλ‘œ μ‹œμž‘ν•œλ‹€.μ‚¬μš©μžκ°€ 도메인(api.mysite.com)을 톡해 μ›Ήμ‚¬μ΄νŠΈμ— μ ‘μ†ν•œλ‹€. 이λ₯Ό μœ„ν•΄ 도메인 이름을 DNS(Domain Nam.. 2025. 2. 25.
Kotlin Collection (1) - (forEach, onEach, filter, filterNot, map, mapNotNull, flatMap, fold, reduce, sum, sumOf) μ»¬λ ‰μ…˜ μ²˜λ¦¬λŠ” ꡉμž₯히 λΉˆλ²ˆν•˜κ²Œ μΌμ–΄λ‚˜λŠ” μž‘μ—…μœΌλ‘œ ν‰μ†Œμ— κ°€μž₯ 많이 μ‚¬μš©ν•˜λŠ” μžλ£Œκ΅¬μ‘°κ°€ μ•„λ‹κΉŒ μ‹ΆμŠ΅λ‹ˆλ‹€.특히 코틀린을 μ‚¬μš©ν•˜λ©΄μ„œ μžλ°”μ—λŠ” μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” μœ μš©ν•œ ν•¨μˆ˜λ“€μ΄ λ§Žμ•„μ„œ ꡉμž₯히 잘 ν™œμš©ν•˜κ³  μžˆλŠ”λ°μš”, 이와 κ΄€λ ¨ν•˜μ—¬ 이번 ν¬μŠ€νŒ…μ—μ„œλŠ” μ½”ν‹€λ¦° μ»¬λ ‰μ…˜μ— μ‘΄μž¬ν•˜λŠ” μ—¬λŸ¬ ν•¨μˆ˜λ“€μ— λŒ€ν•΄ μ‚΄νŽ΄λ³΄κ² μŠ΅λ‹ˆλ‹€. https://www.yes24.com/product/goods/132756874 μ½”ν‹€λ¦° 아카데미 : ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ° - 예슀24더 μ‰½κ²Œ ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ°μ„ λ°°μš°λŠ” 방법!이 책은 μ½”ν‹€λ¦°μ˜ ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ° νŠΉμ§•μ„ 심도 있게 νƒκ΅¬ν•˜λŠ” μ™„λ²½ν•œ κ°€μ΄λ“œμ΄λ‹€. κΈ°λ³Έ κ°œλ…μ„ μ°¨κ·Όμ°¨κ·Ό μ„€λͺ…ν•˜λ©°, μ»¬λ ‰μ…˜ 처리, ν•¨μˆ˜ μ°Έμ‘°, μŠ€μ½”www.yes24.com πŸ“Ž  Kotlin Collection1. forEach, onEach, .. 2025. 2. 9.
Elasticsearch Track total hits Elasticsearchμ—μ„œ λ¬Έμ„œμ˜ 전체 갯수λ₯Ό κ΅¬ν•˜κΈ° μœ„ν•΄ 7버전뢀터 track_total_hits λ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. https://www.elastic.co/guide/en/elasticsearch/reference/7.17/search-your-data.html#track-total-hits Search your data | Elasticsearch Guide [7.17] | ElasticA search query, or query, is a request for information about data in Elasticsearch data streams or indices. You can think of a query as a question, written in a way Elastic.. 2025. 1. 30.
Elasticsearch Random Score Elasticsearch μ—μ„œ 검색 결과에 λŒ€ν•΄ λ¬Έμ„œλ“€μ„ 랜덀으둜 μ‘°νšŒν•˜λ €λ©΄ random_score ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.  https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html#function-random Function score query | Elasticsearch Guide [8.17] | ElasticKeep in mind that taking the log() of 0, or the square root of a negative number is an illegal operation, and an exception will be thrown. Be sure to.. 2025. 1. 29.
λ°˜μ‘ν˜•