C++ 언어
C++ C++는 C 언어의 기본 문법을 기반으로 하여 일부 기능을 확장한 프로그래밍 언어이다. 주요 확장 내용으로는 객체 지향 프로그래밍에 필요한 클래스, 상속, 동적 바인딩과 같은 기능이 있으며, C++는 템플릿과 예외 처리 기능도 제공하여 코드의 재사용성과 오류 관리가 용이하다. C++ 프로그램의 작성 및 빌드 크게 두가지 유형의 소스 파일이...
C++ C++는 C 언어의 기본 문법을 기반으로 하여 일부 기능을 확장한 프로그래밍 언어이다. 주요 확장 내용으로는 객체 지향 프로그래밍에 필요한 클래스, 상속, 동적 바인딩과 같은 기능이 있으며, C++는 템플릿과 예외 처리 기능도 제공하여 코드의 재사용성과 오류 관리가 용이하다. C++ 프로그램의 작성 및 빌드 크게 두가지 유형의 소스 파일이...
CI/CD CI/CD란 Continuous Integration과 Continuous Deployment의 약자이며, 이는 지속적 통합과 지속적 배포를 의미한다. 지속적 통합은 개발자가 코드를 병합할 때 자동으로 빌드와 테스트 등을 실행하도록 하여 코드의 품질을 보장하는 기술이다. 이러한 테스트나 빌드를 자동화함으로 작은 변경사항을 빠르게 검증할 ...
완성 오늘 성준님이 프론트엔드 UI부분을 마저 마무리해줌으로 드디어 완성이다. 약간의 놓친 부분들이 있을 수도 있겠다는 생각은 들지만, 꽤 만족한다. SQL, typescript, typeORM, tsyringe 등등 새로 배운 것들을 사용했으며, 아키텍쳐를 지난 프로젝트보다 짜임새있게 짰다고 생각한다. 마지막에 성준님이랑 맞춰볼 때, 루틴 수정...
문제점 기본적인 구현 자체는 모두 완료되었다. 단순한 회원가입 및 로그인부터, 루틴 등록 및 조회, 댓글, 제품 구매까지 처음에 기획했던 모든 요소들이 One-Flow로 작동한다. 그러나, 처음에 데이터베이스의 설계가 미흡했던 부분들이 기능들을 추가하는 데에 어려움을 준다. 우선, 현재 서비스의 알파이자 오메가는 ‘루틴’이다. 이 루틴에 각 단계...
캐싱 캐싱이란 빈번하게 접근되는 데이터를 빠르게 저장하고 검색하기 위한 기술로, 원래의 느린 저장 매체에서 반복적으로 데이터를 가져와야 할 필요를 줄여준다. 데이터의 복사본을 주저장매체보다 더 빠르게 접근할 수 있는 위치에 저장하여 속도의 향상을 이루어낸다. 캐싱은 브라우저 캐싱, 애플리케이션 레벨 캐싱, 데이터베이스 캐싱 등 다양한 수준에서 구현할...
필터링 corou는 루틴과 제품을 검색할 때 필터링을 할 수 있도록 기획되었다. 우선 두 가지 방법이 떠올랐다. 첫번째는 백엔드에서 getRoutineByFilter/getItemByFilter 메소드를 각각의 service파일에 만드는 것이다. async getRoutineByFilter( skin_type?: number, ski...
배포 백엔드 서버만 EC2에 배포하고, 이를 로컬 데베로 연결할 수는 없을까 생각을 해봤다. 전에 RDS에 배포한 데이터베이스는 과금이 되어 삭제했기 때문에 가급적이면 이를 피하고 싶었기 때문이다. 다만, 프로젝트 막바지이기도 하고, 소액의 과금 정도는 배포 수업료라고 생각하면 괜찮아서 그냥 DB와 백엔드 서버 모두 AWS에 배포하는 방향으로 선택...
검색 API 신규 루틴을 등록할 때, 각 단계에 제품을 선택해야 한다. 처음 테스팅할 때는 개발자로써 넣은 더미데이터의 item_key를 알고 있었기 때문에 단순히 이를 전달하면 되지만, 실제 사용자는 이런 key값을 알 리가 없다. 그렇다면 제품의 이름을 넣고 찾아야 하는데, 제품 이름이 ‘웰라쥬 리얼 시카 카밍 95 트러블 앰플 50ml (2개...
데이터베이스 문제 연휴를 맞아 블로그는 잠시 휴식을 가졌지만 프로젝트 개발은 꾸준하게 하루에 조금씩이라도 진행했다. 같이 작업중인 성준님과 약 3번의 회의를 가지며 혼자서 확인하기 어려운 부분들을 함께 조율해나가니 진행이 척척 됐다. 우선 루틴을 추가하는 쪽에서 오류가 있었는데 그 중 백엔드쪽 오류로는 데이터베이스쪽 식별자와 조인 문제가 많았다....
##