서비스 차원일반적인 차원에서는 Query 개선, Index 개선, Schema 재설계, 서버 설정과 자원 개선, 병목현상을 제거하는 방법으로 개선을 꾀할 수 있습니다.Query 개선Query 최적화HAVING 대신 WHERE 절을 사용하고, 조건을 효율적으로 개선하여 불필요한 JOIN을 제거합니다. 또한, SELECT 절에서 필요한 column만 선택하여 검사하는 row를 최소화합니다.Subquery → JOINSubquery가 반복되는 경우, 가능하면 JOIN으로 대체하여 처리 속도를 향상시킵니다. 또한 WITH 사용을 고려해볼 수 있습니다.Index 개선Index 검토 및 추가자주 사용되는 검색 column과 JOIN column에 Index를 걸어 줍니다Index 관리index 통계를 정기적으로 갱..
분류 전체보기
CTO 제안을 받은 당신, 축하합니다. 새로운 도전을 응원합니다. 작은 스타트업에서 CTO로서 11개월 간 개발 및 관리한 경험을 토대로, 실제로 진행하며 참고하거나 미리 검토했으면 좋았을 항목들을 공유합니다.입사 전서비스[ ] 서비스 도메인 종류[ ] 시장 조사[ ] 목표 대상[ ] 점유율[ ] KPI[ ] Business Model 검증[ ] Global 혹은 Multi Region 서비스가 가능한지Owner Risk[ ] 인격[ ] 여러 사업을 진행하고 있다면 입사할 회사가 진행하는 사업에 할애하는 시간[ ] 책임과 권한 분리에 대한 이해도[ ] 불편한 점이 있을 때 해결하는 방식[ ] IT 서비스에 이해도[ ] 전 CTO 혹은 직원 채용 기준[ ] 회사 문화[ ] 재정 상황[ ] 투자금[ ] 자본..
출발 친한 동생과 커피를 마시던 화요일 저녁. “너나 나나 다 재택이고, 언제든지 떠날 수 있는데, 왜 우리 아직도 여기에 있지?” 그렇게 갑작스럽게 열흘 간 워케이션(Workation, Work+Vacation)을 떠나게 되었다. 더보기 준비물 Cal Digit - TS4 Dock DP Cable WavLink HDMI adapter : DisplayLink 적용 iPhone 충전 Cable Android Test 기기 : Galaxy Z Flip 5 MacBook Pro - M3, 14인치 아침 대신 먹을 단백질 바 옷 운동복 잠옷 외출복 바람막이 후리스 신발 크록스 실내(헬스장)에서 신는 운동화 시가 (마땅히 피울 곳이 없어서 결국 못피움) Cohiba 2017 Limitada Toro Talisk..
배경 XCode에서 iOS SDK 17 이상으로 build 해야만 App Store에 Upload할 수 있다는 경고가 떠서 version up & migrate ticket이 생겼다. 2024년 4월 부터 적용하기 때문에 이번 Sprint에서 해결해야하는데, 아무도 나서서 하지 않길래 솔선수범하여 나섰다. React Native로 작성한 Application은 2개 였는데, 각각 버전이 0.5x, 0.6x 였다. 3주에 걸쳐 작업한 과정을 간단하게 기록한다. 과정 Upgrade Helper 일단 major change와 pod file, gradle script와 같은 변화를 쉽게 보여준다. 다만 기존 build.gradle 파일이나 android/settings.properties 같이, 이전에 pac..
Server 설정 위에서 port 정보나 container 혹은 cluster, nginx 설정 등을 확인했다면, 서버를 실행하기 위해 환경을 설정하고 실행을 위한 script를 찾아보자. (없다면 만들어서 PR을 해보자) DOCKERFILE 혹은 docker-compose.yaml 확인 (exposed, Port 등) nginx config 확인 app 시작 전에 어떤 module을 불러오거나 파일을 읽어서 설정 하는지 가능하다면 build script와 IaC, 실 서버 환경 배포 script 등을 수집해두자. Local에서는 이상이 없는데 특정 기능이 실 서버일 때만 문제가 발생할 때 큰 도움이 된다. Package 혹은 Library, module 확인 Front-End와 같은 취지지만, 서버 쪽..
Build/Bundle Webpack Plugins Assets Loaders Framework 종류 파악 Next/React, 혹은 Nuxt/Vue3를 대부분 사용하겠지만, 경우에 따라서 React Native, Flutter, AngularJS, Svelte 등 다양한 Framework나 Library를 사용할 수 있다. 설정 파일과 build를 위한 설정도 확인해두자. Directory 구조 파악 우선 Directory 구조를 훑어본다. 다음 항목들이 좋은 시작점일 수 있다. API Endpoint를 어떻게 모아서 정리했는지 image나 font 등 asset을 어떻게 정리하는지 build 및 개발 서버를 위한 hot module reload를 어떻게 설정했는지 Store Pattern으로 중앙 상..
이직을 했다. 이제 뭘 해야하지? 대부분 회사에서 On-Boarding 프로그램을 가지고 있지만, 일방적인 설명과 간단한 과제 수준에 그칠 확률이 높다.수습 기간이 있는 회사 같은 경우는 적응에 소요한 시간이 평가 잣대가 되기도 한다.무엇 부터 어떻게 파악하고 기여할 것인가?이직을 거듭해오며 나름대로 만든 검토 목록과 순서를 소개한다.하루 만에 Guru가 되거나 엄청난 버그를 발견하는 것과 같은 비법 같이 대단한 건 없다.그러나 막막한 상태에서 차근차근 확인하여 도움이 되도록 작성하려고 노력했다.회사 생활 이해Code base 분석에 앞서 기본적으로 주의하거나 주지해야할, 일반적인 회사 생활 항목 부터 시작하고자 한다.보고 및 허가 체계 이해Who’s My Boss?내가 무엇을 해야하며..
이직한 회사에서 (심지어 Angular2도 아닌) AngularJS를 사용한 legacy를 분석해야하는 상황이 있어서, 정리 겸 간단하게 살펴본 기록을 남긴다. 들어가기에 앞서 알아둘 것 AngularJS는 2022년 1월을 마지막으로 더 이상 개발을 하지 않는다. 이후 부터는 TypeScript 기반의 Angular로 병합하여 진행하고 있다. 당시 상황 AngularJS는 Front-End(당시에는 Client-side)에서 근대적인 구조를 자리잡게 한 효시 격이라고 할 수 있다. MVW(Model-View-Whatever)라고 하는 구호를 바탕으로, 일일이 데이터를 ajax로 가지고 와서 JQuery Selector로 해당하는 element를 찾아서 변경해야했던 과거에는 혁신이었다. Service와 ..