본문 바로가기
반응형

전체글589

미국가서 중국어 공부하지 않기 빅테크 회사분들의 시니어분들과 사석에서 만날때와 스타트업으로 이직하신 시니어분들을 만날때 서로 대화의 주제가 다름을 체감한다. 예를 들면, 우리팀의 주니어가 평균 레이턴시 1초인 API를 0.1초로 개선했다 를 이야기한다고 하면 여전히 빅테크에 계신 분들은 그 주니어가 기술적으로 뛰어난 사람임을 이야기하고, 어떻게 개선했는지가 주력이라고 한다면, 스타트업으로 이직하신 시니어분들은 "1초인데 왜 개선하지…?" 라는 이야기를 한다는 것이다. 두 그룹의 시니어분들 다 몇년 전까지는 비슷한 규모의 회사를 다녔음에도 말이다. 하루 수백만 ~ 수천만건의 호출이 발생하는 API이기 때문에 이를 0.1초로 개선한 것은 서비스 전체적인 개선이니 당연히 그 시기의 개발팀에 있어서는 정말 중요한 작업이다. 그리고 2년전까지.. 2023. 8. 17.
테스트 메소드 (함수) 이름은 비즈니스 내용을 사용하기 테스트 메소드 (함수) 이름은 비즈니스 내용을 담아야한다. 이는 테스트의 의도를 명시적으로 표현하기 때문에 중요한데, 테스트 코드를 작성하는 것에 집중한 나머지 이름에 대해서는 크게 신경쓰지 않고 넘어가는 경우가 많다. 예를 들어 다음과 같은 기존의 테스트 코드가 있다고 가정해보자. // bad describe('ArticleService', () => { it('create article pending status', async () => { const limitOverUserId = await createLimitOverUser(); const article = await sut.create(limitOverUserId, '테스트글'); expect(article.status).toBe(Article.. 2023. 8. 5.
PostgreSQL 11 에서의 add column not null & default 성능 개선 Aurora MySQL 5.7까지만 써본 경험에서 Online DDL 은 여전히 부담스럽다. 그럼에도 대량의 데이터가 쌓인 테이블에 DDL을 수행하는 것은 서비스를 운영하다보면 피할 수 없다. 100GB 이상의 테이블에 Online DDL로 컬럼을 추가해도 1시간이 넘도록 수행되던 경험을 해보면 가능한 기존 테이블에 컬럼을 추가하는 등의 DDL 작업은 피하고 싶어진다. 다만, MySQL과 다르게 PostgreSQL에서는 오래 전부터 일부 ALTER 작업에 대해서는 잠금 없는 변경이 가능하다. 이는 MySQL에서는 테이블 구조를 변경할때 전체 테이블의 데이터를 새로운 구조로 복사하는 방식을 취해서 테이블의 크기가 큰 경우 오래 걸리는 것과 다르게 PostgreSQL에서는 테이블 구조 변경 작업시 meta .. 2023. 8. 1.
원하는 프로젝트에 참여 하고 싶을때 팀에서 일을 하다보면 어떤 프로젝트가 진행될때 나도 함께 하고 싶을때가 종종 있다. 누가 봐도 커리어에, 성장에 도움이 될 것 같은 그런 프로젝트들이 진행되고 나 역시도 그런 프로젝트에 참여 하고 싶은 그런 경우 말이다. 리더가 그 프로젝트에 나를 포함시켜준다면 가장 좋겠지만, 보통은 그렇지 않고 다른 멤버가 프로젝트에 포함된다. 내가 그 프로젝트에 너무 참여하고 싶다면 어떻게 해야할까? 가장 먼저 용기를 내는 것 부터 시작이다. 리더에게 이야기를 해야한다. 그 기회를 갖고 싶다고. 하지만, 동호회가 아닌 회사라는 조직에서는 그것만으로는 기회를 얻진 못한다. 항상 일은 가장 적합한 사람에게 맡긴다. 모든 팀원이 하고 싶은 일을 하는 곳이 아니다. "잘해낼 수 있을까 걱정이 되지만 그래도 참여하고 싶다" .. 2023. 7. 16.
JetBrains IDE AI Assistant EAP 후기 (2023.07.12) 2023년 6월 26일, JetBrains에서 AI Assistant 기능이 추가 되었다. JetBrains IDE의 AI Assistant 현재 (2023.07.12) 까지 정식 기능은 아니며 EAP 버전에서만 사용 가능하다. GPT 채팅이 있어서 IDE에서는 어떤 차별점이 있을까 궁금해서 EAP 버전을 설치해서 사용해보기 시작했다. 아래 모든 단축키는 Mac을 기준으로 한다. 1. 설치 IntelliJ나 WebStorm 등 IDEA 에서는 다 지원하기 때문에 어떤 IDE라도 EAP 버전을 설치하면 바로 사용할 수 있다. EAP 버전을 설치하는 방법은 JetBrains Toolbox 를 설치하고, 이를 실행해보면 다음과 같이 설치된 IDE들의 목록이 나온다. 여기서 EAP 버전을 설치하고 싶은 IDE의.. 2023. 7. 12.
AWS Lambda를 활용한 동적 Redirect Server 구축하기 (Dynamic HTML Serving) 기존 프로젝트에서 신규로 페이지를 만들었지만, 해당 페이지의 공유 링크는 기존 프로젝트의 meta tag가 아니라 신규 페이지 전용 meta tag 가 필요할 때가 종종 있다. 카톡방 공유 링크의 미리보기나 여러 크롤러들의 수집등에 유리함을 얻기 위해서는 Server Side에서 meta tag를 만들어서 HTML을 내려주는 것이 좋다. 하지만 아래와 같은 환경이라면 이렇게 Server Side를 동적으로 그려내기가 어려울 수 있다. 기존 프로젝트의 레거시로 인해서 동적으로 Server Side에서 meta tag를 수정하기가 어렵거나 SPA로 구축되어 단일 HTML로만 관리되고 있어 Server Side에서 meta tag 를 수정하기 어렵거나 그래서 원하는 meta tag를 가진 공유 링크만 담당하는.. 2023. 7. 8.

728x90
반응형