02. 서비스를 구상해보자!
·
Web/코테 준비용 서비스 만들기
서비스 설계 방안  이 서비스는 효율적인 코딩 테스트 준비를 위한 플랫폼으로, 사용자가 작성한 코드를 컴파일하고 실행해 결과를 확인할 수 있는 기능과 코드 관리, 플랫폼 간 문제 스크래핑, AI 기반 코드 최적화 기능을 제공하는 것을 목표로 한다. 서비스는 MSA(Microservices Architecture) 형태로 개발 예정이며, 각 마이크로서비스는 독립적으로 운영되도록 설계하였다. 서비스 구성 요소 및 기능1. 코드 작성 및 컴파일 기능  사용자가 작성한 코드를 컴파일하고 실행한 후, 결과를 반환하는 기능을 제공한다. 해당 서버에 설치된 각 언어별 컴파일러나 인터프리터를 통해 빠르고 안정적으로 코드 실행 및 결과 반환이 가능하다.2. 코드 저장 및 관리 기능  사용자가 작성한 코드를 저장하고 관리..
01. 코테 준비를 위한 서비스를 만들어보자!
·
Web/코테 준비용 서비스 만들기
서비스 개발 배경  코딩 테스트 준비는 개발자라면 거의 필수인 과정이다. 여러 회사에서 프로그래머스 플랫폼을 통해 코딩 테스트를 진행하므로 자연스럽게 이 플랫폼에 익숙해질 수밖에 없다. 프로그래머스는 회사별, 난이도별로 문제들이 잘 정리되어 있어 준비가 편리한 장점이 있지만, 알고리즘별로 문제가 정리되어 있지 않고 문제 수가 적다는 단점이 있었다.  그렇기 때문에, 문제 수가 많고 다양한 유형의 문제를 제공하는 백준 플랫폼을 사용하여 연습해보려 했으나, 백준은 프로그래머스와 문제 풀이 방식이 달라 불편함이 있었다. 백준 플랫폼의 불편함문제 풀이 환경의 차이: 백준은 프로그래머스처럼 문제를 보면서 바로 코딩하고 실행해볼 수 있는 웹 에디터를 제공하지 않기 때문에, 외부 IDE를 필수로 사용해야 했다.외부 ..
프로젝트 구성
·
Web/인스타 클론 코딩
먼저 기존 모놀리식 구조에서 MSA 형태로 구조를 바꾸어 확장성과 유지보수성을 높여보고자 했습니다.  프로젝트는 총 5가지 서비스로 분리하였고, 각 서비스의 구성 내용 및 역할은 아래와 같습니다. 인증 처리 서버인증 처리 서버는, 서버의 회원가입, 로그인, 세션 등의 인증과 유저 정보 등의 처리를 담당하는 서버 입니다. MySQL을 활용하여 유저 정보를 저장하고, Redis를 사용하여 세션을 관리할 예정입니다. 포스팅 처리 서버게시글에 관련된 포스팅, 댓글, 좋아요 등의 기능을 처리하고 각 사용자에게 최적화된 뉴스피드를 제공하는 역할을 담당하는 서버입니다.MySQL을 활용하여 게시글에 대한 정보들을 저장하고, Redis를 활용하여 뉴스피드 내역을 캐싱하며 포스팅 API 서버는 포스팅 저장을 그리고 뉴스피..
프로젝트를 리팩토링 해보자!
·
Web/인스타 클론 코딩
현재까지 Outstagram의 개발은 주로 단순 기능 구현에 중점을 두어 진행되었습니다.초기 개발 단계에서 모놀리식 아키텍처를 선택했고,자바의 Stream API나 함수형 프로그래밍과 같은 최신 프로그래밍 패러다임을 적용하지 않은 상태였습니다. 현재는 사용자 수가 많지 않아 성능 및 확장성 면에서 큰 문제를 겪지 않고 있지만,서비스가 확장되고 많은 사용자가 유입되면 여러 한계점들이 발생할 가능성이 명확합니다.앞으로는 발생할 문제점들을 예상해보고, 이를 해결하기 위한 기술들을 적용해보려 합니다.
[Spring Boot] 예외 처리 라이브러리 만들기 (3)
·
Web/Spring Boot 예외 처리
앞서 설명한 방식에 한계를 느끼고 예외들을 클래스가 아닌 yml 파일로 작성하여 사용하는것이 좀더 간편하고 유연하지 않을까?라는 생각을 하게 되었고 이 글에서 해당 내용을 작성해보려한다. 예외 처리 라이브러리 로직먼저, 앱에서 사용할 커스텀 예외들을 통칭하는 BizException 클래스를 생성한다.@Getterpublic class BizException extends RuntimeException { private final String key; public BizException(String key) { super(key); this.key = key; }} 해당 클래스는, yml에서 설정한 예외들을 선택할 key 값을 가지고 있다. @Getter@ToStr..
[Spring Boot] 예외 처리 라이브러리 만들기 (2)
·
Web/Spring Boot 예외 처리
이번 글에서는 예외처리를 수행하는 예시에 대해서 적어보려한다. 커스텀 예외 생성 및 핸들러 등록먼저, 기본적으로 재사용이 가능하도록 RuntimeException을 상속받는 어플리케이션 Exception을 생성한다.@Getter@ToString@RequiredArgsConstructorpublic class PeachPickerException extends RuntimeException { private final ErrorProperty errorProperty; private String message; public PeachPickerException(String message, ErrorProperty errorProperty) { this.message = mess..