fas

ALL

· LIFE/공부
⌨️ DB 최적화 및 고민 미처 진행하지 못했던 DB의 최적화와 이해 그리고 고민 등을 이번 주, 길게는 2주에 걸쳐 진행 그리고 계속 늘어지는 일정 관리 때문에 약간은 스프린트 식으로 1주, 2주 단위로 계획을 끊고, 작은 것부터 분할해서 정복해 나가는 기법으로 공부할 예정 기한: 2023.04.03 ~2023.04.09. JPA 연관관계 매핑 JoinColumn 과 JoinTable 고민 -> 컬럼으로 연관 관계를 매핑했는데, 조회가 자주 발생하는 것은 따로 조인 테이블을 설계해서 조인테이블을 조회하는 것이 어떤 가 하는 고민 -> 해당 부분을 조인 컬럼과 조인 테이블 등 JPA에 대한 공부를 진행 후 작성 그리고 프로젝트에 적용 현재 ERD에서 정규화/반(비)정규화를 진행할 부분에 대한 고민 -> ..
⌨️ 기존에 구현했던 서비스의 V2 버전에 대한 본격적인 고민하기 이커머스에 대한 이해가 부족한 상태에서 만든 애플리케이션이므로, 부족한 점이 많았다. 조금은 이커머스에 대한 이해를 가지고 다시 만들어보자. 1. 이커머스 서비스에 대해 1.1. 구현 한 프로젝트의 비즈니스 모델 첫째로 구현 한 서비스는 '무신사'같은 Vertical Market 형식이다. 불특정 다수가 상품을 올리는 Open Market 이 아닌 , 쉽게 말하면 관리자가 전 상품을 관리하여 올리는 형식이라고 보면 된다. B2C의 방식이고 그렇기에 Admin의 구현이 있어야 했지만, 개발 공정 상 편의를 위해 배제를 했었다. 1.2. 이커머스 서비스에서의 MSA MSA가 핫해서가 아니라, 이커머스는 알 수록 그냥 monolithic 보단 ..
· LIFE/공부
💬 회고 프로젝트를 리뷰하는 방식의 인터뷰를 진행했고 개인적으로 모자랐던 부분과, 좋은 기회를 준 회사의 선배분들에게 배울 점을 다시 한번 기록해두어 복기하려한다. 🌟FACT 자신있다고 생각했던 프로젝트의 리뷰에서 생각처럼 명확히 답을 못했다. -> Java 17을 사용한 이유와 Record에 대하여 ->이어서 레코드를 사용한 이유에 대해 불변객체를 얘기했으나 불변객체의 필요성에 대한 이해 부족 조금은 더 why? 를 중요시하며 회고했다 생각했지만, 깊이 혹은 빈도가 부족했다. 따라서 개념을 명확히 구분 짓지 못했다 -> Spring 프레임워크 사용 이유 (Spring 프레임워크의 장점) 과 DI 그리고 싱글톤 패턴의 명확한 차이 DDD를 염두에 두었다면 AOP는 연관이 있어 잘 공부했어야했는데, 깊이가..
⌨️ 기존 로그 관리에서 불편한 점들을 고려하여 개선 기존 로그 관리는 EC2에서 nohup.txt 파일을 생성해서 관리하는 방식이었기 때문에, 직접 인스턴스의 파일을 보지 않고선 확인이 힘들었다. 해당 부분을 개선하고자 logback을 적용했다 1. logback logback은 log4j 이후에 출시된 Java 기반 Logging Framework 중 하나로 가장 널리 사용되고 있으며, SLF4j의 구현체이다. 우리는 Boot를 사용한 환경이라 별도의 dependency 추가 없이 사용할 수 있으므로 logback을 선택했다. 1.1. defaults.xml 별도의 로그 구현 없이도 기본적으로 콘솔에 로그가 찍혀 나온다. 이는 따로 logback.xml을 생성하지 않는 다면 Spring boot에서 ..
⌨️ Free Tier 사용 시 발생한 문제 아무래도 AWS에서 Free Tier로 제공해 주는 인스턴스의 성능이 달리다 보니, 작은 애플리케이션을 띄울 때도 메모리 초과로 인한 문제점이 발생했다. 해당 부분을 기존 틀에서 크게 벗어나지는 않는 방식으로 해결한 방법을 써보려 한다. 1. Free Tier 사용 시 문제점 파악 사진으로 남겨두지 못한 점이 아쉽다. 우선 인스턴스에서 어떠한 문제점이 발생한다면 첫째로는 모니터링을 통해 해당 부분을 찾아낼 수 있다. 1.1. ERROR 문제점 파악하기 AWS에서는 생각보다 친절하게 트러블슈팅을 도와주고 있다 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html#trou..
⌨️ CS 관련 지식 네트워크 관련 기술 면접 대비 CS 관련 기술면접을 대비한 준비를 기록해 두며, 해당 항목들에 대해 깊게 알아야 할 필요가 있는 경우 별도의 포스팅을 통해 추가로 작성하려 한다. 1. 웹 통신의 큰 흐름: https://www.google.com/ 을 접속할 때 일어나는 일 2. TCP와 UDP의 차이점에 대해서 설명 2.1. 연결 지향 방식과 비연결 방식 연결 지향 방식 -> TCP 송신자와 수신자가 1:1로 연결 상태를 유지하면서 통신하는 것을 의미 데이터를 보내기 전에는 연결 설정(Connection Establish) 단계를, 보낸 후에는 연결 종료(Connection Close) 단계를 거친다. 데이터를 교환하는 데 있어 좀 더 안전하고 신뢰성(reliable) 있는 환경을..
Culinari culinari.s3-website.ap-northeast-2.amazonaws.com Culinari V1.0.0 https://github.com/frontLine-kim/Culinari.git GitHub - frontLine-kim/Culinari Contribute to frontLine-kim/Culinari development by creating an account on GitHub. github.com Culinari 와 부트캠프 회고 기획의 시작과 기술 스택 ERD 설계 도메인 설계 및 구현 회고 비지니스 로직 구현 (신상품, 베스트상품) 비지니스 로직 구현 (찜한 상품, 리뷰,통합 검색) AWS S3에 이미지 업로드 구현 Github Action을 활용한 CI 진행 ..
⌨️ 비즈니스 로직 구현 회고 (찜한 상품, 리뷰, 통합검색) 찜한 상품 쪽은 비즈니스 로직 적으로 완벽히 구현하기보다는 프런트에서 해보고 싶은 것을 같이 협의하여 작성하였다, 리뷰 또한 마찬 가지이나 이 쪽은 백엔드 적인 로직이 들어갔다. 1. 찜한 상품 구현 첫 번 째는 찜한 상품의 구현이다. 로직은 간단한 Create와 Delete만 만들었다, 이유는 프런트에서 한 버튼 (♥) 의 상태에 따라 다른 요청을 보내는 것을 구현해보고 싶다는 의견을 주었다. 예를 들어 ♡ 에서는 Post 요청을 보내 찜 상품을 Create 하고 상태를 ♥ 로 바꾼다. 반대로 ♥ 에서는 Delete 요청을 보내 찜 상품을 Delete 하고 상태를 ♡ 로 바꾼다. 위 로직을 백엔드 적으로 해결하려고 내가 생각했던 것은 둘 다..
⌨️ 비즈니스 로직 구현 회고 내가 맡은 부분은 주로 상품 쪽이었다. 상품 외에도 여러 가지 자질구레하게 진행했으나, 대부분은 상품관 관련이 있었기에 이 쪽의 비즈니스 로직 구현을 회고하려 한다. 1. 신상품 페이지 구현 첫번 째는 신상품 페이지의 구현이다. 크게는 2가지의 로직이 존재한다. 첫 번째로는 페이지네이션 정렬 된 신상품의 출력, 그리고 얹어서 왼쪽 카테고리의 로직을 추가한 신상품의 출력이다. 1.1. 신상품 Pagination 구현 페이지네이션은 쉬워보이지만, 깊게 들어가면 어려운 부분이 한 두 개가 아니다. offset의 활용이나 여러 부분에서의 최적화 등 생각보다 고려할 것이 많았다. //신상품 조회 @Override public Page readProductWithSortedType(S..
ckaanf
'분류 전체보기' 카테고리의 글 목록 (8 Page)