새로운 포스트
-
Kotlin
[Kotlin] 코틀린 제대로 활용하기 1편 - 위임 프로퍼티: by 키워드로 lazy부터 맵 위임까지 이해하기
-
Kotlin
[Kotlin] 코틀린 온보딩 11편 - 널이 될 수 있는 값: null 안전성 한 번에 정리하기
-
Kotlin
[Kotlin] 코틀린 온보딩 10편 - object와 companion object: 싱글톤부터 value class까지 이해하기
-
Kotlin
[Kotlin] 코틀린 온보딩 9편 - 생성자: 정의와 초기화를 한 번에 이해하기
-
Kotlin
[Kotlin] 코틀린 온보딩 8편 - 클래스 계층 구조: 인터페이스부터 sealed class까지 한눈에 정리하기
-
Kotlin
[Kotlin] 코틀린 온보딩 7편 - 확장 함수: 바이트코드로 확장 프로퍼티까지 이해하기
-
Kotlin
[Kotlin] 코틀린 온보딩 6편 - 함수 호출: 이름 있는 인자부터 infix까지 이해하기
-
Kotlin
[Kotlin] 코틀린 온보딩 5편 - 루프와 예외 처리: for/while과 try-catch
다른 사람들이 관심있어한 포스트
-
MySQL [MySQL] 고급 최적화 (1) - 조인은 어떻게 실행되는가: BNL, MRR & BKA 들어가며지금까지 이 시리즈에서는 MySQL 서버의 구조와 InnoDB의 내부 동작을 다뤘습니다. 서버 레이어의 커넥션 처리와 쿼리 처리 파이프라인, 그리고 버퍼 풀과 인덱스 구조, 로그 시스템까지 InnoDB의 핵심 메커니즘을 살펴봤습니다. 이번 포스트부터는 조금 다른 층위의 이야기를 다룹니다. 지금까지 살펴본 구조들이 "데이터를 어떻게 저장하고 관리하는가"에 대한 답이었다면, 이번 시리즈는 "그 저장된 데이터를 어떻게 더 빠르게 조합해서 결과를 만들어내는가", 즉 옵티마이저의 고급 최적화 기법들을 다룹니다. 첫 번째 주제는 조인(Join)입니다. 정확히는, 두 개 이상의 테이블을 연결할 때 MySQL이 실제로 어떤 알고리즘으로 실행하는가에 대한 이야기입니다. 같은 조인이라도 실행 방식에 따라 성능이 몇..
-
Techfork [26/01/28] 오늘의 개발 일지 - 웹 Apple 소셜 로그인 구현 오늘은 웹에서 Apple 소셜 로그인을 할 수 있도록 REST API 문서를 보고 구현했습니다. 애플 로그인은 카카오 로그인보다 훨씬 까다롭더군요...https://developer.apple.com/documentation/signinwithapplerestapi Sign in with Apple REST API | Apple Developer DocumentationCommunicate between your app servers and Apple’s authentication servers.developer.apple.com 웹 Apple 로그인 구현 가이드TechFork 프로젝트의 Spring Security OAuth2 기반 Apple 소셜 로그인 구현⚠️ Apple vs Kakao 핵심 차이.. -
Spring [Spring] Spring의 비동기 처리 — @Async부터 Virtual Thread 통합까지 들어가며이전 포스트에서 자바의 네 가지 동시성 구현 메커니즘(Thread, Executor, Fork/Join, Virtual Thread)을 살펴보았습니다. 이번 포스트에서는 Spring Framework가 이 위에서 비동기 처리를 어떻게 추상화하는지 정리합니다. Spring은 @Async 어노테이션 하나로 메서드를 비동기로 실행할 수 있게 해줍니다. 편리하지만, 내부 동작 원리를 이해하지 못하면 "분명히 @Async를 붙였는데 동기로 실행된다"는 문제를 마주치게 됩니다. 이 포스트에서는 설정부터 동작 원리, 흔한 함정, 그리고 Spring Boot 3.2+에서의 Virtual Thread 통합까지 다룹니다. 1. @Async와 ThreadPoolTaskExecutor 설정1-1. @EnableAsyn..
-
Techfork 하이브리드 검색 구현 구조 정리 — BM25 + kNN + RRF + 개인화 리랭킹 들어가며TechFork의 검색은 단순한 키워드 매칭이 아니라, BM25 기반 lexical search와 embedding 기반 semantic search를 결합한 하이브리드 구조로 동작합니다. 두 검색 결과를 RRF(Reciprocal Rank Fusion)로 결합하고, 로그인 사용자에게는 프로필 기반 개인화 리랭킹까지 적용합니다. 이 글에서는 검색 파이프라인의 각 단계와 후처리까지의 전체 흐름을 정리합니다.현재 검색 설정이 어떤 실험 과정을 거쳐 결정되었는지는 검색 품질을 5단계 실험으로 개선한 과정 글을 참고해주세요. 검색 품질을 5단계 실험으로 개선한 과정 — 필드 가중치부터 쿼리 구조까지들어가며TechFork는 기술 블로그 글을 수집해서 검색과 추천을 제공하는 서비스입니다. 검색은 BM25 ..
-
회고록 [해커톤] 교내 연합 해커톤(UNITHON) 후기 개요정신없던 학기가 끝나갈 무렵 상금이 큰 해커톤이 열린다는 걸 알게 되었다.같이 학교를 다니던 사람들과 함께 팀을 해서 기존 프로젝트를 내면 되겠다 싶어 호기롭게 지원했다. 하지만.. 이 해커톤은 기획자 2명과 개발자 3명이 매칭되어 하는 프로젝트였고,계획은 산산조각이 되었다. 기존에 하던 프로젝트도 있었기에 정신이 없어 더욱더 부담스러웠던 해커톤이번 해커톤은 다른 해커톤들과 달리 목금 - 월화수 로 진행되어 주말 포함 7일의 기간이 주어졌다. 기획 2명, 웹 1명, 서버 2명이 팀이 되어 해커톤을 진행했다. 아이템우리나라에 경매 플랫폼을 만들어보자! 라는 아이디어였다. 기간 안에 무조건 팔아준다는 걸 핵심으로 해서 내세워서 개발을 진행했다. 이번 해커톤을 통해 배운점1. 해커톤은 배움이 아닌..