본문 바로가기

분류 전체보기364

24.09.01~24.09.08 업무 공유패키지 배포 시, 캐싱 적용사내 프로젝트에서 공통으로 사용하는 패키지가 존재한다.git action을 통해 PR 병합시 배포될 수 있는 자동화 시스템을 구축해둔 상태인데...의존 모듈 설치 단계에서, 매번 지나치게 시간이 오래 걸리는 문제(약 24s)가 발생했다. 사내 공통 패키지다보니, 존재하는 외부 모듈의 수가 그리 많지도 않고, 새로운 패키지가 추가될 가능성도 낮아 보였기 때문에git action 실행 시 cache를 생성하고, 적용하는 단계를 추가해 새로운 패키지가 추가되지 않은 경우에는 캐싱된 파일을 사용할 수 있게 변경했다.yarn.lock 파일이 변경되지 않았고, cache된 파일이 존재하는 상황에서는 캐시 파일을 사용함으로써→ 의존 모듈 설치에 아무런 시간이 소요되지 않게 만들 수.. 2024. 9. 8.
FrontEnd 개발자가 가장 빠르게 서비스를 구축하는 방법 Introduction웹 애플리케이션을 구축하는 것은 복잡한 작업이 될 수 있지만, 최근 몇 년간 등장한 기술 스택 덕분에 개발 속도를 크게 향상할 수 있는 방법들이 많아졌습니다. 프론트엔드 개발자들은 주로 JavaScript 또는 TypeScript에 익숙한데, 최근에는 서버와 클라이언트 모두 JavaScript로 통합할 수 있는 환경이 마련되면서 프론트엔드 개발자가 웹 전체를 빠르게 구축할 수 있는 강점을 갖추게 되었습니다. 실제로 얼마 전, 저는 부산 지역의 사설 도서관들의 도서 관리 서비스를 구축해야 했습니다. 각 사용자 별 계정을 생성하고, 해당 계정이 속한 도서관에 접근해 도서를 추가하고 삭제할 수 있어야 했으며, 사용자들이 저장된 도서 정보들을 검색할 수 있어야 했죠. 즉 웹 애플리케이션의 .. 2024. 9. 8.
[고민하다] 를 영어로 하면?! 한국어의 "고민하다"는 다양한 상황에서 사용될 수 있는 표현입니다. 하지만 이를 영어로 표현하려고 하면 마땅한 단어가 떠오르지 않죠. 예를 들어, 직장을 옮길지 고민하는 상황을 영어로 어떻게 표현할 수 있을까요? 이번 글에서는 "고민하다"를 영어로 표현할 때 사용할 수 있는 몇 가지 기본적인 표현들을 정리해 보겠습니다. 1. Think about"Think about"은 가장 기본적인 표현으로, 어떤 주제에 대해 생각하고 고민하는 상황을 나타냅니다. 비교적 가벼운 고민부터 깊이 있는 생각까지 두루 사용할 수 있는 표현입니다.I'm thinking about changing jobs.(직장을 옮길지 고민 중이야.) 이 표현은 일상에서 자주 사용되며, 큰 부담 없이 고민 중이라는 상태를 나타낼 때 적합합니다.. 2024. 9. 2.
24.08.25~24.09.01 업무사용 로그 기능 개발각 가이드 별 실행 횟수를 알고 싶다는 고객사 요구사항이 발생해, 이를 구현했다. 기본적으로 사용자가 가이드를 진행할 때마다 각 단계를 저장하면 되었는데,이때 중요한 점은 → 다양한 사용처별로 로깅 여부가 달라진다는 것! 따라서 가이드 실행 패키지 내부에 로깅 모듈 인터페이스, Base Logger 정도만 정의한 뒤패키지를 사용하는 곳에서 세부 모듈을 구현하게 만들었다. 덕분에 개발 도중 사용처마다 로깅 api가 달라져야 하는 변경사항이 발생했을 때, 이를 쉽게 반영할 수 있었다.(객체지향 만세) 자동 모니터링 시스템 구축역시나 고객사 요구사항!매번 고객사 QA팀에서 가이드 동작 여부를 테스트하는 것이 번거롭다는 의견이 제시되었다.자동 모니터링 시스템의 경우 POC 초기부터 얘기가.. 2024. 9. 2.
24.08.18~24.08.25 업무신규 기능 개발 (help-hub)help-hub라는, 새로운 기능을 추가했다.고객사 측에서 원하는 타이밍에, 원하는 형태의 help-hub를 띄워야 했고,이를 위해 웹 SDK를 배포 → 고객사에서 SDK를 다운로드하여 사용할 수 있게 만들었다. SDK의 경우 1) 고객사 페이지 내 보안 관련 이슈 2) 고객사 개발자들이 사용하기 좋은 형태로 제공을 신경 써야 했고이를 위해 다른 IT 기업들의 공식 문서를 참고하고, 우리 서비스에 맞도록 수정한 뒤 반영했다. 가이드 생성 과정 개선가이드를 생성하는 것에서부터 서비스가 시작되기 때문에,이 과정에서 무엇보다 부드러운 사용자 경험을 제공해줘야 한다고 생각했다. 이전 단순한 기능 구현에 그쳤던 가이드 생성 과정에1) 적절한 애니메이션 적용2) 캡처 이미지 추.. 2024. 8. 25.
VCP를 통해 Next.js ↔ AWS RDS 안전하게 연결하기 BackgroundsNext.js를 사용하여 애플리케이션을 개발한 후, AWS Amplify를 통해 배포하는 과정을 진행했습니다. 이 과정에서 RDS(Relational Database Service)를 사용하여 데이터베이스를 설정하고, Next.js의 서버 컴포넌트에서 데이터를 조회하고 생성하는 기능을 구현했습니다. import React from 'react'; import { Pool } from 'pg'; const pool = new Pool({ user: process.env.DB_USER, host: process.env.DB_HOST, database: process.env.DB_DATABASE, password: process.env.DB_PASSWORD, port: process.env.. 2024. 8. 25.
지시는 명확하게, 도움은 적극적으로 오늘 이런 일이 있었다.여느 때와 다름없이 개발을 하던 어느 날. 동료 개발자에게 업무를 할당할 일이 생겼다.특정 모듈에서 발생한 버그성 이슈를 처리하는 것이었는데, 해당 팀원은 이전에 이 모듈을 작업했던 담당자였다. 크게 복잡한 문제도 아니었고 해결 방법도 간단해 보였다.한 30분 정도 소요되겠거니 생각하면서, 자리로 돌아와 내 업무를 진행했다. 하지만...30분, 1시간, 2시간이 지나도 코드 리뷰 요청(PR)이 오지 않았다.예상 시간보다 한참이 지난 후에야 리뷰 요청이 왔고, 그제야 뭔가 잘못되었음을 알게 되었다. 그가 작성한 코드들은 내가 생각했던 해결 방안과 전혀 달랐다.복잡했고, 의도가 명확하지 않았으며, 결정적으로 다른 모듈에까지 불필요한 의존성이 전파되어 있었다.(심지어 코드를 작성한 본인.. 2024. 8. 19.
24.08.11~24.08.18 업무POC 기업 요구 사항 개선본 제공2주 전, P사와의 POC 미팅이 있었다.12일까지 개발 완료 → staging 환경 내부 테스트 → 14일에 개선본 제공 을 목표했었다. 지난 2주간 P사에서 요구했던 기능을 구현했고,일정대로 내부 테스트 후 P사에 V2 버전의 익스텐션을 제공했다. Help-Hub 기능 개발P사 제공 후, 단기 로드맵 관련 회의를 진행했다.→ 결론은 9월까지 베타 버전 기능 개발을 완료하는 것! 이를 위해 1) help-hub 기능 개발 2) 가이드 생성 과정 개선 작업을 진행하기로 했고그중 help-hub와, 이를 SDK를 통해 고객사에서 제어할 수 있는 기능을 구현했다. 2024. 8. 18.
24.08.04~24.08.11 업무템플릿 테마 기능 개발각 Step 별로, 내부 구성 요소에 대한 스타일을 커스텀할 수 있었다. 배경색, 글자색 등의 CSS 요소를 고객사 서비스의 톤&메너에 맞게 적용할 수 있어야 했고, 이를 위해 고객사에서 생성한 가이드 Step마다 일일이 스타일을 지정해 줬다. 하지만 이 때문에, 고객사에서 생성한 모든 가이드의 모든 Step에 대한 동일 스타일을 손수 입력하는 불편함이 있었다! 따라서 고객사 별로 공통적으로 적용될, 기본 공통 템플릿 테마 기능을 구현했다. SDK를 통한 가이드 실행기 기능 개발POC 중인 P사에서는 특정 가이드를, 특정 시점에, 특정 사람에게만 실행시키고 싶어 했다. (ex 신규 유저 중, 해당 페이지에 처음 접속하는 사람에게만 보이는 가이드) 유저 세그먼트를 설정하고, 실행 .. 2024. 8. 11.