프로필 로고 차가운 개발노트
close
프로필 배경
프로필 로고

차가운 개발노트

  • 분류 전체보기 (126) N
    • Java (23)
    • SQL (12) N
    • Spring (23)
    • React (15)
    • Next (5)
    • CS (16)
    • 라이브러리 (13)
    • React-native (4)
    • Git (2)
    • JavaScript (4)
    • 데이터베이스 이론 (3)
    • 설치 (3)
  • 홈
  • 태그
  • 방명록
웹서버, 웹 애플리케이션 서버

웹서버, 웹 애플리케이션 서버

서버라는 것은 요청이 들어오면 그에 대한 응답을 해준다라는 것은 알고 있지만 보통 프로젝트를 진행하면서 WAS에 서버 코드를 올렸었는데 WAS 가 무엇인지도 정확히 모르면서 사용을 하고 있어 정리하였습니다. 웹서버우리가 브라우저에 접속해서 www.google.com 을 입력하면 어떻게 될까요?구글의 서버에 HTTP 통신으로 구글 서버에 있는 컴포넌트 파일(HTML, JS, CSS..)을 요청을 통해서 가져옵니다.그러면 우리의 브라우저는 가져온 컴포넌트 파일을 이용해서 화면을 띄우게 됩니다. 사실 우리 컴퓨터도 서버가 될 수 있습니다.아파치 HTTP 서버를 이용해서 우리 컴퓨터의 어느 폴더에 HTML, CSS, JS 등과 같은 파일들을 넣어두고 폴더를 세상 사람들에게 공개를 하면 HTTP 통신을 통해서 ..

  • format_list_bulleted CS
  • · 2025. 5. 16.
  • textsms

@Aspect - AOP

레거시한 프로젝트를 전부 @Aspect 로 바꿀 일이 생겨공부하는 겸 정리했습니다. 들어가기 앞서 기본적으로 빈후처리기, 프록시팩토리 등 기본지식이 있어야 이해하실 수 있습니다.설치dependencies {implementation 'org.springframework.boot:spring-boot-starter'implementation 'org.springframework.boot:spring-boot-starter-aop' //직접 추가 @Aspect@Slf4j@Aspectpublic class AspectA1 { // hello.aop.order 패키지와 하위 패키지 @Around("execution(* hello.aop.order..*(..))") public Object doL..

  • format_list_bulleted Spring
  • · 2025. 5. 2.
  • textsms
@Aspect 쓰지 않고 순수 Proxy, Proxy Factory 사용법

@Aspect 쓰지 않고 순수 Proxy, Proxy Factory 사용법

@Aspect 를 사용하다 순수 Proxy 를 사용할 일이생겨 정리해보았습니다. 순수 프록시"프록시를 직접 만든다" 는 건 ProxyFactory 도 없이 클래스를 하나 더 만들어서 진짜 객체를 감싸는 것을 말합니다.진짜 서비스public interface Service { void doService();}public class RealService implements Service { @Override public void doService() { System.out.println("🎯 실제 서비스 실행"); }} 프록시 클래스진짜 RealService 를 감싸서 부가기능을 추가하는 프록시를 만듭니다.public class ServiceProxy implements ..

  • format_list_bulleted Spring
  • · 2025. 4. 29.
  • textsms
다양한 패턴

다양한 패턴

회사에서 다양한 패턴에 대해 공부하는 시간이 있어시간을 들여 정리해 보았습니다. 템플릿 메서드 패턴틀은 내가 정해줄게! 너는 세부만 채워~! 상위 클래스(추상 클래스) 에 알고리즘의 전체 구조를 정의해 놓고, 세부 단계는 하위 클래스가 구현하도록 하는 패턴입니다.예시1. 게임 로딩2. 로그인3. 캐릭터 생성 or 불러오기 ← 이것만 다름!4. 게임 시작 // 추상 클래스 (틀)abstract class GameTemplate { public final void startGame() { load(); login(); characterSelect(); // 전략 패턴전략(방법)은 바꿔 쓸 수 있어!! 알고리즘을 인터페이스로 분리해서, 필요에 따라 런타임에 서로 다..

  • format_list_bulleted Spring
  • · 2025. 4. 25.
  • textsms
트랜잭션 프록시와 예외

트랜잭션 프록시와 예외

Transaction Proxy, Exception 에 대해 공부하면서 정리합니다. 실무에서 @Transactional 을 붙인 메서드를 실행했는데 정상적으로 동작하지 않아 원인을 찾고 공부한 내용을 정리했습니다.트랜잭션 프록시를 만드는 이유왜 굳이 프록시를 만들어서 트랜잭션을 처리해야 할까요?@Transactional 이 붙은 메서드가 호출될 때 자동으로 트랜잭션을 시작하고, 정상 종료되면 commit, 예외가 나면 rollback 을 해주기 위해서입니다. 구체적으로 왜 프록시가 필요한지 코드를 보면 트랜잭션을 처리하려면 메서드 실행 전후로 아래와 같은 코드가 필요합니다.beginTransaction(); // 트랜잭션 시작try { targetMethod(); // 실제 로직 실행 ..

  • format_list_bulleted Spring
  • · 2025. 4. 8.
  • textsms
@Transactional , Spring Data JPA 을 같이 쓰는 점에 관하여

@Transactional , Spring Data JPA 을 같이 쓰는 점에 관하여

@Transactional , Spring Data JPA 를 공부하다 같이 사용할 때왜 이렇게 동작하는거지? 라는 부분에 대하여 정리합니다. 개발을 하다보면 Spring Data JPA 는 기본적으로 트랜잭션을 자동으로 처리해 줍니다.하지만 @Transactional, Spring Data JPA 를 같이 쓰고 있을 때 @Transactional 이 언제 필요한지, 언제 생략 가능한지에 대해서 세부적으로 알아야 할 것 같아서 정리했습니다. 기본적으로 적용되는 트랜잭션Spring Data JPA 에서 제공하는 기본적인 메서드들은 아래와 같습니다. 1. save()2. findById()3. delete()4. findAll()  이러한 메서드들은 자동으로 트랜잭션이 적용되어 있습니다.이건 Spring 내..

  • format_list_bulleted Spring
  • · 2025. 4. 8.
  • textsms
@PostConstruct , @PreDestory

@PostConstruct , @PreDestory

간단한 설명Spring Bean 은 다음과 같은 생명 주기를 갖습니다.스프링 컨테이너 생성 => 스프링 밴 생성 => 의존관계 주입( DI ) => 초기화 콜백 => 사용 => 소멸전 콜백 => 스프링 종료 위 생명 주기를 보면 스프링 빈은 객체를 생성하고, 의존관계 주입이 다 끝난 후에야 필요한 데이터를 사용할 수 있는 준비가 완료됩니다.즉, 생성자가 호출되었을 때 스프링 빈은 초기화 전이고 DI 가 이루어지고 나서야 스프링 빈이 초기화 됩니다. 초기화 작업은 의존관계 주입이 모두 완료되고 난 다음에 호출하게 되는데, 개발자가 의존관계 주입이 완료된 시점이 언제인지 알 수 있는 방법이 없습니다. 그래서 Spring 은 다음과 같은 빈 생명주기 콜백을 지원합니다.1. 인터페이스( InitializingB..

  • format_list_bulleted Spring
  • · 2025. 3. 26.
  • textsms
CI, CD, 파이프라인

CI, CD, 파이프라인

CI / CD 개념 정리CI / CD 는 Continuous Integration( 지속적인 통합 ) 과 Continuous Delivery/Deployment( 지속적인 제공 / 배포 ) 를 의미하는 개발 프로세스 자동화 개념입니다. 이러한 자동화는 소프트웨어 개발의 효율성을 극대화하고, 오류를 최소화하며, 신속한 배포를 가능하게 합니다.CICI 는 개발자가 작성한 코드 변경 사항을 정기적으로 중앙 저장소( 리포지토리 ) 에 통합하고 빌드 및 테스트를 자동으로 수행하는 프로세스입니다. CI 를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이나 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로, 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 ..

  • format_list_bulleted CS
  • · 2025. 3. 24.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • ···
  • 16
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (126) N
    • Java (23)
    • SQL (12) N
    • Spring (23)
    • React (15)
    • Next (5)
    • CS (16)
    • 라이브러리 (13)
    • React-native (4)
    • Git (2)
    • JavaScript (4)
    • 데이터베이스 이론 (3)
    • 설치 (3)
최근 글
인기 글
최근 댓글
태그
  • #react
  • #React-Native
  • #CS
  • #NEXT
  • #SQL
  • #Spring
  • #Java
  • #데이터베이스
  • #라이브러리
  • #Next.js
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바