본문 바로가기

반응형

전체 글

[내일배움캠프] 타입스크립트 개인 과제 3일차 | Node.js 4기 | Day 68 | 24.03.12.(화) expose와 exclude의 차이? expose : 특정 속성을 반환 목록에 노출한다. exclude : 특정 속성을 반환 목록에서 제외한다. Q. 회원가입 시 Userd와 Admin을 선택할 수 있도록 하고, 특정 api 요청에 대해서 Admin 권한을 가진 사용자만 해당 작업을 수행할 수 있는 로직을 수행하기 위해서는 어떤 방식으로 코드를 구현해야 할까? 미친 디테일로 설명해줬으면 좋겠어. A. 회원가입 시 User와 Admin 구분 및 API 요청 권한 관리: 완벽 가이드 목표: 회원가입 시 사용자 유형을 User와 Admin으로 선택 가능하게 구현 특정 API 요청에 대해 Admin 권한만 허용하는 로직 구현 단계별 구현 방식: 1. 회원 정보 모델 설계: User 모델: id: 고유 식별 번호.. 더보기
[내일배움캠프] Node.js 4기 | Day 67 | 24.03.11.(월) 코딩테스트 연습 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기 // 해시 자료구조를 사용할 수 있는가를 물어보는 문제 function solution(id_list, report, k) { const answer = new Array(id_list.length); answer.fill(0) // answer 배열을 id_list의 크기만큼 할당하고 fill 함수를 사용하여 0으로 초기화한다. const report_list = {} // // report_list 객체에 key는 user의 id 값을, value는 신고한 사람을 담기 위한 빈 배열을 추가한다. id_list.map((user) => { report_list[user] = [] // key로 userid를 value로.. 더보기
[내일배움캠프] 멀티레포 | Node.js 4기 | Day 66 | 24.03.10.(일) 1. 멀티레포 등장 배경: 모노리포의 한계 극복 모노리포의 문제점: 규모 확장 어려움: 프로젝트 규모가 커질수록 코드 관리, 배포, 테스트 등이 복잡하고 어려워집니다. 변경 속도 저하: 모든 코드가 하나의 저장소에 있기 때문에 변경 사항 검토, 병합, 배포 과정이 길어집니다. 개발 환경 불안정: 한 부분의 변경이 다른 부분에 영향을 미쳐 예상치 못한 문제 발생 가능성이 높습니다. 높은 결합도: 모듈 간 결합도가 높아 독립적인 개발 및 배포가 어렵습니다. 멀티레포의 등장: 모노리포의 한계를 극복하기 위해 각 기능 또는 서비스를 독립적인 저장소로 관리하는 방식인 멀티레포가 등장했습니다. 2. 멀티레포가 해결하는 문제 개발 속도 향상: 각 팀이 독립적으로 개발, 배포, 테스트를 진행하여 개발 속도를 높일 수 .. 더보기
[내일배움캠프] 모노레포 | Node.js 4기 | Day 65 | 24.03.09.(토) 모노레포: 하나의 저장소, 무한한 가능성 모노레포는 하나의 버전 관리 저장소에 여러 프로젝트 및 코드베이스를 함께 관리하는 소프트웨어 개발 전략입니다. 마치 거대한 책장에 모든 이야기가 담겨있는 것처럼, 모노레포는 모든 코드를 하나의 체계적인 공간에 집중하여 개발 프로세스의 효율성을 극대화합니다. 모노레포의 등장 배경: 거대한 소프트웨어 시대: 오늘날 소프트웨어는 단일 기능의 모노리식 시스템에서 벗어나, 여러 서비스, 라이브러리, 모듈들이 복잡하게 연결된 거대한 생태계로 진화했습니다. 이러한 변화는 코드 관리의 복잡성을 증가시켰고, 효율적인 개발 방식에 대한 끊임없는 탐구를 불러일으켰습니다. 분산 개발의 부작용: 여러 프로젝트를 분산된 저장소로 관리하는 방식은 코드 중복, 버전 관리 어려움, 의존성 문제.. 더보기
[내일배움캠프] 타입스크립트 개인 과제 2일차 | Node.js 4기 | Day 64 | 24.03.08.(금) Insomnia 테스팅 지금까지는 Headers에서 Authorization을 입력해주고, { Bearer + 엑세스 토큰 }을 입력해주는 형식으로 사용해왔다. 아래와 같이, Auth Type에서 Bearer Token을 선택한다면 조금 더 간편하게 JWT 토큰을 사용할 수 있다. Gitmoji 사용 규칙 🎉 : Begin a project. 🔨 : Added “/user/login, /user/signup, /user/check” 수정은 Modified로 통일할 것 - Updated 사용하지 않기 iat이란? iat는 "Issued At"의 약자로, JWT 토큰이 발급된 시간을 나타내는 숫자입니다. ERD 수정 POINT 테이블 연결 해제 USER 테이블에 point 변수 추가 /user/email 엑.. 더보기
[내일배움캠프] 타입스크립트 개인 과제 1일차 | Node.js 4기 | Day 63 | 24.03.07.(목) ✅ 필수 기능 구현 리스트 로그인/회원가입 프로필 보기 새 공연 등록 공연 목록 보기 공연 검색하기 공연 상세보기 좌석을 지정하지 않고 공연 예매하기 🏆 보너스 기능 구현 리스트 공연의 좌석 예매 정보 확인하기 좌석을 지정하여 예매하기 동시성 처리하기 (이미 선택한 좌석입니다!) 예매 취소하기 테스트 코드 내용 채우기 💵 결제 관련 규칙 결제 관련된 기능은 구현하지 않습니다. 사용자는 가입시 100만 포인트를 지급받습니다. 공연을 예매할 때 1석에 최대 5만 포인트까지를 상한 금액으로 정하도록 하겠습니다. 사용자의 보유 포인트가 모자라는 경우 예매를 할 수 없습니다. 예매 취소 기능을 구현한 경우 지불한 포인트는 환불되어야 합니다. 🚨 주의사항 필수 기능 구현 리스트는 전부 구현을 해주세요! 서비스를 개.. 더보기
[내일배움캠프] DBeaver with. MySQL | Node.js 4기 | Day 62 | 24.03.06.(수) DBeaver 데이터베이스 관리 with. MySQL DBeaver가 이미 설치된 상태에서 MySQL을 설치하고, 데이터베이스를 연결하는 과정을 알아보겠다. 처음에는 DBeaver에서 데이터베이스를 생성하게 되는 것으로 착각을 했지만, 그렇지 않다는 것을 알게 되었다. DBeaver는 이미 생성된 MySQL 데이터베이스에 연결하여 관리하는 역할을 하는 것일 뿐이다. DBeaver는 다양한 데이터베이스를 관리하는 도구인 것이다. DBeaver과 MySQL의 관계에 대해 확실하게 정리하고 넘어가자. 기능 DBeaver MySQL 주요 역할 데이터베이스 관리 데이터베이스 생성 및 저장 역할 비유 도구 사용 (렌치, 드릴, 망치) 벽돌 제작 (틀) 지원 데이터베이스 다양한 데이터베이스 (MySQL, Postgr.. 더보기
[내일배움캠프] DTO(Data Transfer Object) | Node.js 4기 | Day 61 | 24.03.05.(화) 1. DTO 개요 1.1 정의 및 개념 DTO는 Data Transfer Object의 약자로, 서로 다른 계층 간 데이터를 효율적으로 전달하기 위해 사용하는 객체입니다. 마치 데이터를 담는 그릇과 같은 역할을 하며, 계층 간 직접적인 의존성을 줄여 결합도를 낮추는 데 도움을 줍니다. 1.2 DTO vs VO DTO는 종종 VO(Value Object)와 혼동되는데, 두 개념은 명확히 구분해야 합니다. VO: 값 자체에 의미를 부여하는 객체 (예: 이름, 나이, 주소 등) DTO: 데이터 전송에 특화된 객체 (VO 포함, 여러 VO 조합, 단순 값 등) 1.3 주요 특징 간결성: 데이터 전송에 필요한 속성만 포함 독립성: 비즈니스 로직과 무관 단순성: 객체 지향 설계 패턴 적용 X 일관성: 데이터 형식 .. 더보기

반응형