개발자로 살아오고, 살아가기로 하면서 내가 가지고 있는 무기/장점은 뭘까 고민해오고 있다.
최근 글
모두 보기 →- 파일 디스크립터부터 소켓까지, 하나로 이어지는 흐름 파일도 소켓도 결국 fd 하나로 다뤄진다. open, read, write, close, socket, send 까지 하나의 흐름으로 이어보는 Unix I/O 의 통합 추상화.
- 지식 그래프가 너무 빽빽했다: D3 force simulation 재튜닝 /graph/ 페이지 노드가 서로 겹쳐 보이는 문제를, 파라미터 스케일링과 초기 zoom-to-fit, 라벨 가시성 게이팅으로 다시 잡은 과정.
- Rails 에서의 Read/Write Database 분리 Rails 의 Multiple Databases 기능으로 HTTP 메서드에 따라 read/write DB 를 자동 분리하는 패턴, GET 인데 쓰기가 필요할 때 ForceWrite concern 으로 role 을 일시 승격시키는 방법, 그리고 replication lag 등 실전 함정까지 정리합니다.
- 글 쓰는 즐거움을 위해 직접 만든 세 개의 도구: 에디터, 스튜디오, 차트 에디터 shinkeonkim.com 안에 살고 있는 세 가지 개발 전용 도구의 기능을 한자리에 모았다. 마크다운 에디터, 애니메이션 스튜디오, Chart.js 에디터까지.
- [Leetcode] 2804 Array Prototype ForEach Leetcode 2804번 Array Prototype ForEach 풀이. callback 내부 this 를 context 로 바인딩하는 다섯 가지 방법 (call, apply, bind, 객체 메서드, 그리고 화살표 함수 함정) 을 비교한다.
최근 노트
모두 보기 →Embedding은 semantic similarity와 relationship을 포착하는 high-dimensional numeric vector로 data를 mapping 하는 것
직접 코드 짜는 느낌을 느끼는건 문제를 푸는게 가장 좋은 것 같다. 문제를 풀었다는 성취감, 특정 목록에 내 흔적을 남겼다는 점, 초록색으로 빛나는 잔디 등 여러 동기부여가 나를 복돋아준다.
어제부터 Chart.js를 활용한 차트 컴포넌트와 차트 에디터 기능도 추가해보았다. 그리고 만들어놨던 animation 기능, 차트 기능, 코드 블럭 기능들을 다 활용해서 글들을 써보고자 했다.
- SELECT 구문에는 데이터를 **"어떤 방법으로"** 선택할지 일절 쓰여 있지 않다는 것입니다. 이 방법(=절차 지향)은 DBMS에게 맡기게 됩니다. **"최대한 쉽게 만드는 것"** 이 RDB의 기본 정신입…
위키
모두 보기 →- (오목 포함) 다각형 내부 점 판정 (Point in Polygon)
- [Algorithm] Karatsuba 곱셈: O(n²) 벽을 깬 분할 정복
- [API Design] API Versioning: URL / Header / Date 비교
- [API Design] GraphQL: 단일 endpoint, N+1, persisted queries
- [API Design] JSON-RPC vs gRPC vs REST: RPC 패턴 비교
- [API Design] OpenAPI / Swagger: 스펙, 코드 생성, contract testing
- [API Design] REST API: 원칙, 자원 모델링, HATEOAS, 버전 관리
- [Auth] CSRF: 위조 요청 공격과 방어