Tag: 학습
All the articles with the tag "학습".
-
자바 공부 #3 — 예외 처리 · 동시성 · record · Modern Java · Gradle
자바 문법 훑기 마무리 편. 예외 처리는 디버깅 편의가 아니라 백엔드 서버가 프로덕션에서 안 죽게 하기 위한 방어막이었음을 이해. print vs throw 의 차이 — print 는 호출자에게 실패를 전달하지 않지만 예외는 강제로 전파. 동시성은 ExecutorService · newFixedThreadPool 로 3초 순차 → 1초 병렬 (실측 3008ms → 1006ms). record 는 필드·생성자·접근자·toString·equals·hashCode 자동 생성 — 강우량계 데이터로거의 RainDataDTO 같은 순수 데이터 컨테이너에 딱 맞음. var/switch 화살표/텍스트 블록 같은 Modern Java 도 훑음. 마지막으로 Gradle — 파일이 수백 개 될 때 java 로 하나씩 컴파일하는 건 불가능, 외부 라이브러리도 자동으로 받아옴. build.gradle 이 핵심 설정 파일.
-
자바 공부 #2 — 컬렉션 (List / Map / Set) · Stream 파이프라인 · Optional 로 null 안전 처리
자바 공부 2주차. Collection Framework 핵심 — List (ArrayList), Map (HashMap), Set 을 훑고, 각각 '인터페이스와 구현체' 패턴이 보임 (List<String> books = new ArrayList<>()). 이후 Stream 으로 넘어가 for 문 없이 filter → map → collect 파이프라인, method reference (System.out::println), groupingBy + counting 조합. 마지막은 Optional — get() 즉시 호출 대신 ifPresent / orElse / map 으로 값 없을 때를 항상 함께 처리해야 하는 감각.
-
자바 공부 #1 — 자바 첫 실행 · 문법 훑기 · OOP 기본 (클래스 · 캡슐화 · 상속 · 인터페이스)
부족한 백엔드 · 상용화 경험을 채우기 위해 자바 학습 시작. 자바 설치부터 시작해서 switch 의 -> 화살표 문법 · for-each · 정수 나눗셈에서 double 캐스팅 필요성 · public class 파일 규칙 · private + getter 로 캡슐화 · static 유무의 차이 · @Override 어노테이션 · implements 로 인터페이스 연동까지 하루에 훑음. Python / C++ 경험이 있어 개념적으로는 익숙한 부분이 많았음.
-
RAG 임베딩 비교 — 내 블로그 데이터로 recall@k 측정 (OpenAI vs bge-m3)
[퀀트 회고에서 '느낌 벤치마킹 → 수치 벤치마킹' 원칙](/posts/quant-study-00-pandas) 을 세운 뒤, 이번엔 임베딩 모델 비교를 실제로 수치화. 내 블로그 글 441청크에 OpenAI text-embedding-3-small 과 bge-m3 를 각각 인덱싱하고, 20개 질문·정답 출처 테스트셋으로 recall@3 을 측정. 전체 OpenAI 80% vs bge-m3 90%. hard 난이도에서 bge-m3 가 100% — 단어 안 겹쳐도 의미로 원문과 연결한 케이스가 결정적. easy 에서 놓친 원인은 오타(cladue, 언더스코어)라 채점 기준 자체가 틀렸다는 반전.