클래스의 인스턴스를 얻는 가장 기본적이고 쉬운 방법은 Pulic 생성자다.그런데, 이런 public 생성자만 사용해서 인스턴스를 생성할 때 불편함을 느낀적은 없을까?위 예제에서는 Study의 이름과 수용인원만 있기에 생성자도 두 개의 파라미터만 넣으면 되고 두 파라미터
코틀린은 자체 컬렉션 클래스를 정의하지 않고, 자바 컬렉션을 확장하여 더 풍부한 API를 제공합니다.함수 오버로딩 없이도 다양한 방식으로 함수를 호출할 수 있습니다.함수 호출 시 가독성을 크게 향상시킵니다.클래스 없이도 함수와 프로퍼티를 직접 선언할 수 있어 코드 구조
fun 키워드를 사용하여 함수를 정의합니다.val: 읽기 전용 변수 (불변)var: 변경 가능한 변수 (가변)문자열 템플릿을 사용하면 문자열 연결 없이도 코드가 간결해집니다.변수 이름 앞에 $를 붙이거나식을 ${}로 둘러싸면 변수나 식의 값을 문자열에 삽입할 수 있습니
현대 웹 개발에서 여러 비동기 작업을 효율적으로 처리하는 것은 매우 중요합니다. 특히 여러 API를 호출하거나, 다수의 파일을 처리해야 할 때 Promise.all()은 강력한 도구가 됩니다. 이번 글에서는 Promise.all()의 개념부터 실제 사용 사례까지 자세히
요즘 공부하면서 의존성과 단일 책임 원칙에 대한 고찰을 해보고자 한다별도 메서드로 처리하는 경우장점:기존 클래스 내에서 해결 가능 → 새로운 의존성을 추가하지 않아도 됨코드 변경이 적고, 빠르게 적용 가능단점:해당 클래스의 책임이 커질 수 있음다른 기능과 결합도가 높아
개인별 맞춤 질문MSA와 모놀리틱의 차이점은 무엇이라고 생각하는가? MSA는 기능별로 독립적인 마이크로 서비스로 분리되어 유연한 배포 및 확장성을 가지고모놀리식은 단일 코드베이스로 관리 되어 구조는 단순하지만 변경시 전체 배포가 필요Spring Batch란 무엇이고 왜
현상:기존 코드가 currentPage를 증가시키며 페이지 단위로 데이터를 순차적으로 가져오도록 설계되었음.하지만, fetchNextPage에서 매번 currentPage가 증가해 다음 페이지로 이동하지 못하는 문제가 발생했음.결과적으로 항상 첫 페이지(0번 페이지)만
프로젝트중 모놀리식 아키텍쳐를 MSA로 이관하는 과정을 거쳤는데 두 아키텍쳐를 성능을 비교 해보려 합니다 Response Times (응답 시간):모놀리식에서는 응답 시간이 약 5,000ms에 가까운 높은 수준으로 나타납니다.MSA에서는 응답 시간이 100ms 이내로
Spring MVC의 프론트 컨트롤러(Front Controller)모든 웹 요청의 진입점요청을 적절한 컨트롤러에게 위임하고 응답을 처리클라이언트 요청 접수HandlerMapping을 통해 적절한 컨트롤러 검색컨트롤러 실행뷰 렌더링응답 반환모델 객체를 파라미터나 리턴
마이크로서비스 아키텍처(MSA)에서 연관관계를 처리하는 방법을 아주 쉽게 설명해드리겠습니다! 상상해보세요! 우리가 장난감 가게를 운영한다고 해볼까요? 각각의 장난감(서비스)은 자기만의 집(데이터베이스)에서 살고 있어요.ID 참조 방식 (가장 간단한 방법)REST API
소개 CI/CD 파이프라인에서 Jenkins는 자동화 도구로 널리 사용됩니다. 특히, Docker를 사용하면 Jenkins를 손쉽게 설치하고 실행할 수 있으며, Docker 컨테이너에서 일관된 환경에서 애플리케이션을 빌드하고 배포할 수 있습니다. 이 글에서는 Dock
CORS(Cross-Origin Resource Sharing)는 웹 브라우저에서 도메인 간 리소스 요청을 제어하는 보안 메커니즘입니다. 즉, 브라우저는 한 도메인(origin)에서 다른 도메인(origin)의 리소스를 요청할 때 보안 규칙을 적용하는데, 이 과정에서
DispatcherServlet도 부모 클래스에서 HttpServlet 서블릿을 상속 받아서 사용하고, 서블릿으로 동작한다.DispatcherServlet → FramworkServlet → HttpServletBean → HttpServletSpringBoot는 Di
Server-Sent Events(SSE)는 서버가 클라이언트로 실시간 데이터를 푸시할 수 있는 웹 표준 기술입니다. 주로 실시간 알림, 주식 가격 업데이트, 실시간 대시보드 등에서 사용됩니다. 이번 글에서는 Spring Boot로 SSE를 구현하는 방법과 JavaSc
프록시 패턴(Proxy Pattern)프록시(Proxy)는 대리자, 대변인이라는 뜻을 가진 단어다. 대리자/대변인은 다른 누군가를 대신해 그 역할을 수행하는 존재를 말한다. 따라서 프록시 패턴은 특정 객체의 대리자나 대변인 역할을 하는 프록시 객체를 제공하는 디자인 패
AWS S3는 객체 스토리지 서비스로, 데이터를 "버킷(bucket)"에 저장하는 방식입니다. 각 버킷은 사용자가 지정한 이름과 권한을 가지며, 내부에 저장된 데이터는 객체(object)로 관리됩니다. S3는 확장성, 보안, 높은 가용성을 제공하여 다양한 애플리케이션에
AWS Lambda는 서버리스(Serverless) 아키텍처에서 핵심적인 컴퓨팅 서비스로, 코드를 실행할 때만 리소스를 할당하고 비용을 청구하여 매우 경제적입니다. Spring Boot는 강력한 애플리케이션 프레임워크로, Java 개발자들이 효율적으로 웹 애플리케이션을
JWT (JSON Web Token)를 이용한 인증 시스템에서 로그아웃 기능을 구현하는 방법 중 하나는 Redis를 사용하는 것입니다. 이 글에서는 Spring Boot와 Redis를 사용하여 JWT 로그아웃을 구현하는 방법에 대해 다룹니다.1\. JWT 로그아웃의 필
RESTful API는 HTTP 표준을 활용해 클라이언트-서버 간 통신을 단순화하고 확장성을 제공합니다. 상태 비저장성으로 인해 서버 부하가 적고, 클라이언트는 독립적으로 서버와 통신할 수 있습니다.RESTful API가 상태 비저장성을 유지하는 이유는 무엇인가요?각
Java에서 객체를 생성하는 방법에는 여러 가지가 있습니다. 그 중 대표적인 방법은 생성자를 사용하는 것이며, 정적 팩토리 메소드를 활용하는 것도 널리 사용됩니다. 정적 팩토리 메소드 중에서 from, of, to 메소드가 자주 사용됩니다. 정적 팩토리 메소드와 생성자