프로젝트

🐥 카카오테크캠퍼스 - 2단계 1주차 Entity 세부 설계 🐥 카카오테크캠퍼스 - 2단계 1주차 Entity 기본 설계에서는 API 요청 응답에 따라 테이블을 예측해서 작성해 보았습니다 오늘은 화면 설계서와 기본 설계 과정에서 만들었던 테이블을 최적화하는 시간을 가졌습니다. User(사용자) Request Body를 보면 유저 이름, 이메일, 비밀번호가 필요하다 { "username" : "meta", "email" : "meta@nate.com", "password" : "meta1234!" } - id : PK - userName : 유저 이름 - email : 이메일 - password : 비밀번호 - createDate : 생성 날짜 - updateDate : 수정 날짜 Product(상품) ..
🐥 카카오테크캠퍼스 - 2단계 1주차 기본 Entity 설계 User(사용자) - id : PK - userName : 유저 이름 - email : 이메일 - password : 비밀번호 - createDate : 생성 날짜 - updateDate : 수정 날짜 Product(상품) 상품 상세보기 - id : PK - productName : 제품 명 - description : 제품 설명 - image : 제품 사진 - price : 제품 가격 - starCount : 별점 - createDate : 생성 날짜 - updateDate : 수정 날짜 Option(옵션) - id : PK - productId : FK->Product.id - optionName : 옵션 이름 - price : 옵션 가격..
🐥 카카오테크캠퍼스 - 2단계 1주차 과제분석 이번 주의 과제는은 Entity를 작성하는 것이다. 화면 설계와 요구사항 명세를 보고, 고민해보라는게 핵심인거 같다. 과제에는 기본적인 테이블(User, Product, Option, Order, Item)은 이미 제시가 되어 있다 또한, API/화면 설계/요구사항 명세서도 주어져있다. 예시로 회원 가입의 응답 데이터를 보면, 아래와 같다. 우린 이제, User 테이블에는 적어도, username,email,password 필드가 필요 함을 알게 되었다. 또한, 테이블을 작성 할 때 PK는 필수이다. API 명세를 보니, 예외 처리가 필요한 사항도 친절하게 적혀있다. 예외 처리를 어느 타이밍에 해야 할지도 고민해야 한다. 이번에 화면 설계를 봐보자, 테이블 ..
🐥 카카오테크캠퍼스 - 2단계 1주차 강의 OT : BE 파트 개발 프로세스 BE는 FE를 만들지 않을 것이므로, 제시된 jar 파일을 구동하여 FE를 대신한다 기능 개발 확인은 PostMan 또는, 직접 Docker로 빌드하면서 개인 별로 기능을 구현할 것이다 전체적으로, 로컬에서 개발하고, 테스트를 한 후 Github 브랜치에 계속 개발을 진행한다. 크램폴린(카카오 클라우드)는 Github에서 코드를 업데이트한다 기억하자! BE는 FE가 개발하기 편하도록, 데이터를 넘겨줘야 한다 화면에 필요한 DTO만 던져준다던가 DTO가 바뀌면 꼭 프론트에게 말해준다던가 PK는 보이지 않아도 꼭 만들어줘야 한다 Entity 파악 : UI를 보고 어떤 데이터가 필요한지 보는 시야 필요 예를 들어 아래와 같이 회원 가..
오늘은 프로젝트를 진행하며 생긴 갈등을 기록하고자 합니다. 항상 팀 프로젝트 과제는 악명이 높습니다. 누군가는 의미 없다고도 하죠 그럼에도 팀 프로젝트 사라지지 않는 이유는 우리 사회가 협력을 통해 성장해왔기 때문이라 생각합니다 즉 팀 프로젝트는 일종의 사회 나가는 연습을 하는 것이죠 또한, 팀 프로젝트가 중요한 이유는 기술적인 역량보다 사람과 소통하는 능력을 키우는게 더 어렵기 때문입니다 1차 난관 : 왜 하지 않는걸까…? Feat 내 욕심 캡스톤을 시작하며 전 욕심이 있었습니다. 한 마디로 정의하면 이상적인 개발자 협업 방식을 꿈꿨습니다. 예를 들면 잘 지켜지는 커밋 규칙, 어느 정도 변동을 반영하며 일정 대로 진행 되는 개발, 최소한의 서류 작업 등이 있었습니다 하지만, 역시나 이상과 현실은 달랐습..
BlindTok (4) - Entity와 Service를 너머 API까지 Entity와 Service를 생성하며, 특이 사항들을 기록합니다. 파일을 어떻게 저장했는지, 친구 관계들을 어떻게 인덱스 하나로 처리했는지 등 제가 겪은 어려움을 기록합니다 File 기능 구현의 어려움 저희 서비스에서는 user의 이미지와 음악 파일들을 저장해야하기에 기존의 music 테이블을 지우고, file 테이블을 생성하도록 하였습니다. File Id에 UUID부여 uudi를 사용한 이유는 uuid를 사용하면 전역적으로 유니크한 아이디를 가지기 때문에 테이블에서 중복 문제를 해결 할 수 있습니다. 또한 pk를 자동으로 증가시키는 것보다 추측이나 예측이 어렵기 때문에 보안이 강화됩니다 import {v4 as uuidv4} f..
🐥 카카오 테크 캠퍼스 - 공유 캘린더 만들기 Intro. 노션들어가서 확인하는게 번거롭다 백엔드 일정을 확인하기위해 노션에 들어가는게 번거로워서, 구글 캘린더에 마이그레이션하고, 변동 사항은 zapier로 연동해서 자동화를 하면 편할거 같단 생각에 시작합니다 23-04-24 : Zapier에는 사용자가 만든 데이터베이스만 연동 되는거 같아, 변동 사항 반영 하는 기능은 추후에 만들어야 할 것 같습니당 진행 과정 1. 노션에 있는 캘린더를 CSV로 추출합니다 바로 zapier로 연동하려고 했더니, 처음 마이그레이션할 트리거가 마땅치 않았습니다 그래서, CSV로 캘린더를 추출한 후 이를 먼저 구글 캘린더에 등록해서 변동 사항만 반영하면 될거라 생각했습니다 Notion에서 export 한 CSV를 열어보면,..
BlindTok (3) - DB 연결 및 테이블 설계 서버 인스턴스를 생성했으므로 다음은 테이블을 설계하고 DB를 연결할 차례이다. 프로젝트의 빠른 진행을 위해 테이블과 기능 명세는 구체적으로 잡고 가야 하기 때문에 오늘은 테이블 설계를 하는 시간을 가졌다. 개발도 해야 하는데, 시험 기간이라 할게 산더미다 PostgreSQL DB 연결 import config from "@config/ormconfig"; import {DataSource, EntityManager} from "typeorm"; const {host, port, username, password, database, synchronize, logging, entities, migrations} = config; let _datasourc..
Intro. CI/CD는 필수 - Stress 탈출하자! 협업을 하다보면, github 프로젝트가 실행 되지 않는 코드를 합침으로써 터지는 경우가 발생한다. 사실 그 이유는 다양한데 각자의 환경 변수 설정이라던가, 다른 OS에서 개발한다던가 등이 있다. 하지만, 실행 되지 않는 코드가 이렇게 섞이기 시작하면, 불필요한 에너지 낭비가 당연히 존재하는 법 이 문제를 깃허브 액션을 통해 해결하고자 한다 배포까지는 고려하지 않고, 일단 CI 구성해서 사용하다가 확장해 나갈 것이다 Github Action 구성 - 정말 CI 인가? CI/CD는 지속적 통합(Continuous Integration)과 지속적 배포(Continuous Deployment)의 약자로, 개발자들이 지속적으로 코드를 통합하고 배포하는 과..
BlindTok (1) - 프로젝트 init 원활한 협업을 하기 위해서는 프로젝트 초반에 코드 린트나 커밋 규칙 등을 잘 정의하고 가는 것이 중요합니다 졸업 프로젝트인 BlindTok를 만들기에 앞서 프로젝트 초기 설정을 어떻게 하였는지 공유하기 위해 기록합니다 1. Code Format 및 Git ignore 파일 설정 Prettier : 코드 포맷터 Prettier는 코드 포맷터로, 프로젝트에서 사용하는 코딩 스타일을 일관되게 유지하는 데 도움을 줍니다. .prettierrc 파일을 사용하여 프로젝트별 Prettier 설정을 지정할 수 있습니다. 예를 들어, 들여쓰기 크기, 따옴표 스타일, 줄바꿈 방식 등을 설정할 수 있습니다. { "arrowParens": "avoid", "bracketSpacin..
berom
'프로젝트' 카테고리의 글 목록 (3 Page)