본문 바로가기

전체 글

(8)
위코드 프리온보딩 백엔드 과정 - 회고 4주차 마지막 (카닥) 개발요구사항 ✔️ API 목록 유저 회원가입, 로그인 API 타이어 정보 저장 API 요청 한번에 최대 5개 까지의 정보 저장 가능 실제 존재하는 카닥API를 활용해 타이어 정보 요청, 파싱 후 저장 타이어 정보 조회 API 개발 과정 한달 간의 여정을 끝내는 이번 마지막 과제는 개인과제로 주어졌다. 그동안의 과제를 팀으로 하다가 1인 과제를 처음 받아보게 되었지만, 내용 자체도 간단하고 일주일이란 시간이 생겼기에 여유로운 마음으로 할 수 있었다. 한 달전의 나였다면 하루정도는 걸렸을 과제였는데, 이번엔 거의 3~4시간만에 끝낼 수 있었다. 이는 백엔드 과정을 거치며 협업문화, 문서화, 모듈화 등을 배운 영향이 컸다고 생각한다. 또한 6개의 과제를 통해 코드의 기반을 체계적으로 쌓아놨기 때문에 기존코드를..
위코드 프리온보딩 백엔드 과정 - 회고 3주차 2회 (디어코퍼레이션) 개발요구사항 요금 정책에 따라 요금을 계산해주는 API제작 할인 조건 ex. 사용자가 파킹존에서 반납하는 경우 요금의 30%를 할인해주며, 사용자가 마지막 이용으로부터 30분 이내에 다시 이용하면 기본요금을 면제해줍니다. 그 외 여러 조건들... 기능을 유지한 채로 새로운 할인이나 벌금 조건이 쉽게 추가될 수 있게 코드를 개선 개발과정 과제분석을 통해 요금조건이 다양하고, 추가와 제거의 가능성이 많으며 조건의, 적용순서도 변경될 여지가 많다는 특징을 확인했다. 고민을 거쳐 책임연쇄패턴이 가장 적합해보였기에 이를 적용하기로 했다. src/libs/costCalculator/ 폴더 내의 클래스 다이어그램 CostChainBase는 Chain을 추상화한 인터페이스의 용도로 만들었다. 다만, 자바스크립트는 Du..
위코드 프리온보딩 백엔드 과정 - 회고 3주차 1회 (휴먼스케이프) 개발 요구사항 다음 사항들을 충족하는 서비스를 구현해주세요. 배포하여 웹에서 사용 할 수 있도록 제공 임상정보 검색 API 제공 임상정보를 수집하는 batch task 수집한 임상정보에 대한 API 수집한 임상정보 리스트 API 최근 일주일내에 업데이트(변경사항이 있는) 된 임상정보 리스트 pagination 기능 Test 구현시 가산점 개발과정 - 이번 과제도 저번과 비슷하게 api는 간단하고 OpenApi에서 데이터를 가져오는 BatchTask가 중심인듯 보였다. 해당 BatchTask 부분을 내가 담당했는데 언제나처럼 백엔드 모듈의 강력함에 감탄하는 하루였다. 1시간만에 완성하고 Documentation을 하고있을줄이야... - 사소하지만 데이터를 업데이트 하는 부분에 약간의 변수를 줬는데, has..
위코드 프리온보딩 백엔드 과정 - 회고 2주차 2회 (8퍼센트) 어찌어찌 하다보니 이제 절반이 지나가고있다. 좀 더 힘내자. 개발 요구사항 📝 “계좌 거래 API” 구현 계좌의 잔액을 별도로 관리해야 하며, 계좌의 잔액과 거래내역의 잔액의 무결성의 보장 DB를 설계 할때 각 칼럼의 타입과 제약 1) 거래내역 조회 API 계좌의 소유주만 요청 거래일시, 출금, 입금 필터링. Pagination 거래내역이 1억건을 넘어갈 때에 대한 고려 2) 입출금 API 계좌의 소유주만 요청 계좌의 잔액내에서만 출금가능 개발과정 이번 과제는 API가 매우 적은게 특징이었다. 조건을 보니 기업의 특성에 맞게 트랜잭션과 성능에 중점을 두는 걸로 보였다. 쿼리 최적화때문에 가장 어려워보이는 거래내역조회의 경우는 쿼리튜닝에 경험이 있는 팀원분이 하기로 하셨고 나는 입출금api를 담당했다. 사..
위코드 프리온보딩 백엔드 과정 - 회고 2주차 1회 (레드브릭) 이번 과제는 레드브릭이라는 게임제작 플랫폼 기업의 과제를 하게 되었다. 개발 요구사항 회원가입 게임 제작하기 제작 중 단계의 게임을 '프로젝트' 프로젝트는 "실시간"으로 반영 게임 출시하기 프로젝트 당 퍼블리싱 할 수 있는 개수는 하나입니다. 퍼블리싱한 게임은 수정할 수 있어야 하며, 수정 후 재출시시 기존에 퍼블리싱된 게임도 수정 출시하는 게임은 다른 사용자들도 볼 수 있으며, 사용자들의 조회수 / 좋아요 등을 기록 가능 게임 혹은 사용자 검색'을 통해서 찾기 가능 개발 과정 행복의 주말이 지나고, 또 노력의 마라톤이 시작되었다. 이번 기업과제는 게임제작 플랫폼 기업의 과제였는데 크게 어려운 부분은 없었다. 다만 실시간 저장이라는 기능이 문제였는데, 기존의 RestFul Api의 개념에서는 요청과 응답..
위코드 프리온보딩 백엔드 과정 - 회고 1주차 2회 (프레시코드) 이번 과제에서는 Api 개발, 리팩토링, QA, DevOps(라고 할것도 없지만...) 역할을 담당했다. 요구사항 Database RDBMS JWT 인증방식 사용 서비스 실행 시 데이터베이스 또는 In Memory 상에 유저와 상품 최소한 5개를 미리 생성 Request시 Header에 Authorization 키를 체크 Authorization 키의 값이 없거나 인증 실패시 적절한 Error Handling 상품 추가/수정/삭제는 admin 권한을 가진 사용자만 이용 가능 상품 조회는 하나 또는 전체목록을 조회할 수 있으며, 전체목록은 페이징 기능 존재 한 페이지 당 아이템 수 5개 사용자는 상품 조회만 가능 관리자만 상품 추가/수정/삭제 상품 관리 API 개발시 적절한 Error Handling 유닛..
위코드 프리온보딩 백엔드 과정 - 회고 1주차 1회 OT 수업을 듣고나서 처음으로 과제를 받게되었다. 과제의 내용은 선발과제로 만들었던 CRUD API를 바탕으로 댓글 등의 기능을 추가하고 테스트하는 것이었다. 코드의 베이스 및 모듈화, 문서화 등은 다른분이 작업하셨고 나는 검색과 조회수를 제외한 API개발과 DB모델링, 서버구축등을 담당했다. 얻게 된 것들 체계적인 협업 과제를 시작하기 전에 팀장을 맡은 박상수님께서 협업체계를 주도적으로 정하고 시작을 해서 이론으로만 배워뒀던 Git-Flow, 커밋 컨벤션등을 실제로 경험해 볼 수 있었다. 전까지는 이렇게 체계적인 팀 프로젝트를 한 적이 없어서 좋은 경험이 되었다. 특히 그동안은 브랜치통합을 Merge만 써서 했는데, Squash And Merge기능의 깔끔함을 처음 알게되었다. 모듈화 기존에 만들었던 ..
위코드 프리온보딩 백엔드 과정 - 나에대한 이야기 개발은 재미있었다. 내가 개발에 대해 처음 접하게 된건 고등학교 때 정보과목 선생님을 통해서였다. 원래부터 컴퓨터에 관심이 많았던 터라 정보수업을 재미있게 들었고, 그 점을 알아챈 선생님이 정보올림피아드에 참가하기를 제안하면서 처음 C언어를 알게되었다. 대회는 본선까지 갔다가 빠르게 탈락했지만, 막연히 두려웠던 개발이 생각보다 재미있다는걸 깨닫게 해줬다. 그 때를 계기로 개발에 관심을 가지게 되었고, 교내 정보동아리에 들어가 활동을 쌓으면서 중앙대학교 컴퓨터공학과에 들어갈 수 있었다. 그 전까지는 주먹구구식으로 개발을 배우며 그저 취미의 영역에 국한되었지만, 대학에 들어간 뒤에는 커리큘럼을 통해 많은 것을 배울 수 있었다. 알고리즘의 기본조차 모르던 내가 DP, D&C등을 알게되고 전에는 생각도 못했었던..