본문 바로가기

전체 글24

Node.js 패키지 매니저 비교하기 Node.js에는 npm, yarn, pnpm 이라는 패키지 매니저들이 존재한다.하지만 나는 그냥 관성적으로 Node를 설치하면 같이 설치되는 npm만 사용했고불편한점을 느끼지 못했다. 그러다가 프로젝트 진행하면서 CI/CD를 적용하려고 찾아 보던 중CI/CD의 CI 과정이 너무 길어서 새로운 패키지 매니저의 도입을 통해 1분 가량의 빌드 시간을 줄였다고쓴 기업의 테크 블로그를 보고 아 패키지를 바꾸는것으로 개선점이 생기는구나'왜 생기지?'라는 궁금증이 생겼고그래서 이 패키지 매니저들에 대해 조사해보고 그 내용을 정리한 글이다. 1. npm기본 패키지 매니저: Node.js 설치 시 기본적으로 포함된다.설치 방식: node_modules 폴더에 패키지를 설치한다.캐싱: 설치된 패키지를 캐시하여 다음 설치.. 2024. 11. 14.
트렐로 프로젝트 KPT 회고 우리 조는 이전 프로젝트 조에서 새로 한분만 추가 해서진행해서 이전 KPT 회고의 TRY를 얼마나 잘 수행했는지 확인하고트렐로 프로젝트의 KPT를 진행하려고 한다 https://devnter.tistory.com/entry/%EB%B0%B1%EC%98%A4%ED%94%BC%EC%8A%A4-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-KPT-%ED%9A%8C%EA%B3%A0KEEP 백오피스 프로젝트 KPT 회고길었던 백오피스 프로젝트가 오늘을 막을 내렸다진짜 이전 진행 했던 풋살 프로젝트는 팀원 분들의 수준이 나와 차이가 심해서 흔히 말하는 버스를 타게 됐는데 이번 백오피스 프로젝트는 5명devnter.tistory.com - 우선순위 선정 필요- 테스트코드를 기능개발에 맞춰서 작성하.. 2024. 11. 12.
트렐로 프로젝트 - 멤버 가드를 통해 인가 처리하기 가드 알아보기Express에서는 인증∙인가를 미들웨어로 처리하지만, NestJS에서는 Guard라는 개념을 사용한다. NestJS에서 Guard를 사용하는 이유는 다음과 같습니다:역할 분리: Guard는 인증과 인가에 초점을 맞춘 단순한 흐름을 제공한다.의존성 주입 및 테스트 용이성: Guard는 클래스 기반으로 작성되어 DI(Dependency Injection)를 활용할 수 있으며, 테스트가 용이한다.컨텍스트 접근: Guard는 ExecutionContext를 통해 요청이 어느 컨트롤러의 어느 핸들러에 도달했는지 파악하여 더 세밀한 인가 처리가 가능한다.자세한 내용은 가드 공식 문서를 참고.https://docs.nestjs.com/guards Documentation | NestJS - A prog.. 2024. 11. 12.
트렐로 프로젝트 - 카드 변경 기능 개발 1. 문제 정의Trello 클론 프로젝트에서 카드를 드래그 앤 드롭으로 이동하는 기능을 구현하고자 했다(백엔드 밖에 없지만).카드는 리스트 내에서 특정한 위치로 이동할 수 있으며, 이동 후에는 정렬된 순서를 유지해야 한다.이를 위해 카드의 순서를 나타내는 order 값을 기반으로 이동 위치를 업데이트하는 로직을 작성했다.2. 초기 접근처음에는 아래 세 가지 경우만 고려했다:제일 앞에 두는 경우: 이동할 위치가 첫 번째일 때제일 뒤에 두는 경우: 이동할 위치가 마지막일 때중간에 두는 경우: 이동할 위치가 리스트 내 중간일 때이 경우, order 값을 계산하는 방식은 다음과 같다:제일 앞에 이동: 첫 번째 카드의 order 값을 반으로 나누어 새로운 order 값으로 설정제일 뒤에 이동: 마지막 카드의 or.. 2024. 11. 12.
트렐로 프로젝트 시작 Nest.js를 사용한 개인 프로젝트 온라인 예매가 끝나고 오늘부터 팀 프로젝트인 트렐로 프로젝트가 시작했다. 트렐로란 칸반 보드를 만들어서 이용하게 해주는 서비스 이다.이 프로젝트를 구현하기 위해 팀원들과 상의해서 API 명세서, ERD 작성했다https://nter99.notion.site/1343a26a82b6806abc9de7b2a87e2467?v=1343a26a82b681608b23000cff834cd9 API 명세서 | NotionMade with Notion, the all-in-one connected workspace with publishing capabilities.nter99.notion.site 그리고 팀원들과 TDD를 하기로해서테스트 코드를 먼저 작성하기로 했다테스트 코드에 빨리.. 2024. 11. 4.
대칭키, 비대칭키 암호화 암호화란암호(Cryptography)란 0과 1로 이루어진 이진수 데이터를 수학적 계산을 통한 비트 변경을 수행하는 것을 말합니다. 정상적인 데이터(평문 - Plaintext)의 2진수 데이터를 암호화라는 과정으로 데이터를 변경하고, 복호화라는 과정을 통해 데이터를 원래대로 돌리는 기술을 의미합니다. 양방향 암호화에 사용되는 2가지 기법대칭키 암호화 기법비대칭키(공개키) 암호화 기법대칭키 암호화 기법이란대칭키(Symmetric Key) 암호화란 하나의 키로 암호화와 복호화를 모두 수행하는 것을 말합니다. 이러한 대칭키 암호 알고리즘은 다양한 종류가 있습니다.장점시스템 개발 환경에 용이하다.데이터를 암호화하기 위한 연산이 빨라 대용량 데이터 암호화에 적합하다. 단점강한 보안을 위해 키를 주기적으로 교환해주.. 2024. 10. 28.
백오피스 프로젝트 KPT 회고 길었던 백오피스 프로젝트가 오늘을 막을 내렸다진짜 이전 진행 했던 풋살 프로젝트는 팀원 분들의 수준이 나와 차이가 심해서 흔히 말하는 버스를 타게 됐는데 이번 백오피스 프로젝트는 5명의 수준이 비슷해서 모두가 열심히 참여했다.열심히한 만큼 좋았던 점이 있었고 열심히 했지만 아직 미숙해서 아쉬운 점 또한 발생하였다.그 점을 KPT로 정리 해봤다KEEP- 지금처럼 활발하게 소통하기- 질문 있으면 바로바로 하기 Problem- 시간 관리 실패- 테스트 코드를 너무 미뤘다가 작성- 커밋을 너무 한번에 몰아서 함Try- 우선순위 선정 필요- 테스트코드를 기능개발에 맞춰서 작성하기- 기능 개발 단계 마다 커밋하기 Problem 항목에 대해서 좀 더 개인적인 회고를 하자면프로젝트 발표날 추가로 트랜잭션에 대한 발.. 2024. 10. 16.
백 오피스 팀 프로젝트 시작 내일배움캠프 Node.js 게임 서버 개발 과정을 듣고 있던 와중에 매니저분이 웹 서버 개발 희망자 조사를 통해내가 속한 11조 4명이 따로 웹 서버 개발 공부를 시작했고오늘 부터 팀 프로젝트 백 오피스 프로젝트를 시작했다. 프로젝트를 펫시터 매칭 서비스(⭐️⭐️⭐️)와 음식 배달 서비스(⭐️⭐️⭐️⭐️⭐️) 이렇게 2개가 있었고우리 조원들 모두 별 5개 짜리 음식 배달 서비스를 선택해서 이번 백 오피스 프로젝트는 음식 배달 서비스로 진행하기로 했다프로젝트 소개는 여기까지하고 우리가 만든 ERD와 기본적인 프로젝트 폴더 구조를 소개하겠다. ERD는 아쉬운 부분이 있긴하지만 첫술에 배가 부를수는 없다 생각했다.이 ERD에 맞춰서 작성한 프리즈마 모델이다.메뉴에서 처음에는 menuName에 unique 값을.. 2024. 10. 8.