Builder.shin
전체
1263개의 게시물
Elasticsearch
Elasticsearch 대용량 데이터 조회 시 deep pagination 문제 해결
Elasticsearch에서 10,000개 이상의 결과를 조회하려다 max_result_window 에러를 만났다. from/size 대신 search_after를 도입해 문제를 해결한 과정을 기록한다.
2020년 1월 27일
Flutter
Flutter Web 베타 버전 프로젝트 적용기
기존 Flutter 모바일 앱을 Web으로 확장하는 작업을 진행했다. 아직 베타 단계지만 단일 코드베이스로 멀티 플랫폼을 지원할 수 있는 가능성을 확인했다.
2020년 1월 25일
Node.js
Node.js 스트림으로 대용량 CSV 파일 처리하기
사용자 데이터 마이그레이션 작업 중 5GB CSV 파일을 처리해야 했다. 메모리 부족 문제를 Stream API로 해결한 과정을 기록한다.
2020년 1월 22일
TypeScript
TypeScript 3.7 Optional Chaining 도입 후기
TypeScript 3.7에서 추가된 Optional Chaining을 프로젝트에 적용했다. null 체크 코드가 대폭 줄어들면서 가독성이 개선되었고, 특히 API 응답 처리 부분에서 효과가 컸다.
2020년 1월 19일
Elasticsearch
Elasticsearch 인덱스 별칭(Alias) 활용한 무중단 리인덱싱
운영 중인 검색 서비스에서 매핑 변경이 필요할 때 다운타임 없이 리인덱싱하는 방법을 정리했다. 인덱스 별칭을 활용하면 사용자에게 영향 없이 안전하게 인덱스 구조를 변경할 수 있다.
2020년 1월 17일
Python
Python 3.8 assignment expression으로 반복 코드 줄이기
Python 3.8에서 추가된 walrus operator(:=)를 실무에 적용해봤다. 반복되는 함수 호출과 조건문 체크를 줄일 수 있었다.
2020년 1월 14일
TypeScript
TypeScript 3.7 Optional Chaining으로 null 체크 지옥 탈출
중첩된 객체 속성 접근 시 매번 null/undefined 체크하던 코드를 Optional Chaining으로 개선했다. TypeScript 3.7에서 정식 지원되기 시작한 이 기능으로 코드 가독성이 크게 향상되었다.
2020년 1월 11일
CSS
CSS Grid로 복잡한 대시보드 레이아웃 구현하기
관리자 대시보드를 리뉴얼하면서 Flexbox 대신 CSS Grid를 선택했다. 반응형 레이아웃 구현이 훨씬 간결해졌고, 미디어 쿼리도 줄일 수 있었다.
2020년 1월 8일
CSS
CSS Grid로 복잡한 레이아웃 마이그레이션하기
float와 flexbox로 구현된 복잡한 대시보드 레이아웃을 CSS Grid로 전환했다. IE11 지원 요구사항 때문에 autoprefixer와 fallback 전략을 함께 적용했다.
2020년 1월 7일
CSS
CSS Grid로 반응형 카드 레이아웃 구현하기
프로젝트에서 미디어 쿼리 없이 반응형 카드 레이아웃을 구현할 필요가 있었다. CSS Grid의 auto-fit과 minmax를 활용해 깔끔하게 해결했다.
2020년 1월 6일
Previous
1
More pages
81
82
83
84
85
More pages
127
Next
카테고리
Builder.shin