전체 글
-
[Tech Article] "성공적인 애플리케이션 현대화를 위한 12가지 기본 원칙" 을 읽고Tech Article 2025. 4. 11. 20:21
https://www.samsungsds.com/kr/insights/successful-application-modernization.html 성공적인 애플리케이션 현대화를 위한 12가지 기본 원칙 | 인사이트리포트 | 삼성SDS애플리케이션 현대화 Application Modernization 는 기존 애플리케이션을 클라우드 네이티브 환경에서 가장 잘 구동될 수 있게 개선하는 활동을 의미합니다. 단순 레거시 인프라 환경에서 구동하는 애www.samsungsds.com출처 : SamsungSDS 사이트 Andrew Min 님의 글 개발에서부터 빌드 배포에까지의 전 과정에서 우리는 어떤 부분들을 고려해야하는지, 이런 것들은 충분히 고려하여야 한다고 정의 해 놓은 12가지 요인들이 있습니다. 나의 환경은 어..
-
[CI/CD] Docker / 컨테이너(Container) / 이미지(Image)CICD 2025. 4. 2. 21:53
✅ Docker를 쓰는 이유?"이식성" 때문에 사용한다.📕 이식성이란? 특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행할 수 있는 특성 ✅ Docker 사용시 장점?매번 귀찮은 설치 과정을 일일이 거치지 않아도 된다.항상 일관되게 프로그램을 설치할 수 있다. (버전, 환경 설정, 옵션, 운영 체제 등)각 프로그램이 독립적인 환경에서 실행되기 때문에 프로그램 간에 서로 충돌이 일어나지 않는다. ➕ IP와 Port의 개념IP : 네트워크 상에서의 특정 컴퓨터를 가리키는 주소 (ex) 13.250.15.132 )Port : 한 컴퓨터 내에서 실행되고 있는 특정 프로그램의 주소 ( ex) 13.250.15.132:3000 에서 :3000 부분이 포트 번호를 의미) ➕ 브라우저 창에 포트 ..
-
[CS/Spring] Spring Bean Scope / Spring의 스코프 프로토 타입 빈CS/Spring 2025. 3. 26. 15:50
• Spring Bean ScopeBean Scope는 Bean이 존재할 수 있는 범위를 뜻하며, 종류로는 싱글톤 / 프로토타입 / request / session / application 등이 있습니다. • Spring Bean Scope 종류singleton : 싱글톤은 기본 스코프로 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프입니다. prototype : 프로토타입은 Bean의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프입니다. request : 웹 요청이 들어오고 나갈때까지 유지하는 스코프입니다. session : 웹 세션이 생성, 종료할때까지 유지하는 스코프입니다. application : 웹 서블릿 컨텍스트와 같은 범위로 유지하는 ..
-
[CS/Programming] JWT(JSON Web Token) / OAuthCS/Programming 2025. 3. 21. 20:29
• JWT토큰 인증 방식에서 쓰이는 것이라고 볼 수 있습니다. 다른 사용으로는 데이터를 공유하는데도 사용할 수 있지만 일반적으론 토큰 인증 방식에서 사용됩니다. JWT는 헤더, 페이로드, 시그니쳐로 구분됩니다. 헤더는 토큰의 타입, 암호화 알고리즘을 담고 있고, 페이로드는 토큰의 정보를 담는 부분이며, 시그니쳐는 토큰의 정보가 신뢰할 수 있는 것인지 판단할 수 있도록 합니다. JWT는 세션 기반 인증과 주로 대비됩니다. 세션 기반 인증은 서버에서 세션 정보를 관리해야 하는 비용이 들게 됩니다. 또한 분산 환경에서도 관리하기 어렵습니다. 하지만 JWT는 그 자체로 정보를 가지고 있기 때문에 세션의 단점을 보완할 수 있습니다. • 로그인 인증시 JWT 사용만약 유효기간이 짧은 Token을 발급하게되면..
-
[CS/Programming] RESTful API / RESTful하게 API를 디자인 한다는 것CS/Programming 2025. 3. 14. 20:21
• RESTful API RESTful API는 HTTP 통신을 REST 설계 규칙을 잘 지켜서 개발한 API를 RESTful한 API라고 합니다. REST 설계 규칙은 URI는 정보의 자원만 표현해야 하며, 자원의 상태와 행위는 HTTP Method에 명시하는 걸 말합니다. • RESTful하게 API를 디자인한다는 것 RESTful하게 디자인한다는 것은 URI를 규칙에 맞게 잘 설계했는지의 여부입니다. 1. 리소스와 행위를 명시적이고 직관적으로 분리합니다. 리소스는 URI로 표현되는데 리소스가 가리키는 것은 명사로 표현되어야 합니다. 행위는 HTTP Method로 표현하고, GET / POST / PUT / DELETE / PATCH 를 분명한 목적으로 사용합니다. 2. Message는 He..
-
[CS/Spring] JPA / JPA N + 1 문제와 해결 방법CS/Spring 2025. 3. 13. 20:17
• JPA란? 자바 어플리케이션에서 관계형 데이터베이스를 객체 지향적으로 다룰수 있도록 하는 ORM 기술입니다. 📚 ORM ? '객체로 연결을 해준다' 라는 의미로, 어플리케이션과 데이터베이스 연결시 SQL 언어가 아닌 어플리케이션 개발 언어로 데이터베이스를 접근할 수 있게 해주는 툴 • JPA 장점 및 사용하는 이유 SQL을 직접 작성하지 않아도 되서 개발 비용이 줄어듭니다. 코드 가독성, 유지보수성, 재사용성이 좋아집니다. JPA를 사용하면 비즈니스 로직이 RDBMS에 의존하는 것이 아니라, 자바 코드로 표현될 수 있기 때문에 생산성이 높아집니다. • JPA N+1 문제가 발생하는 이유와 해결 방안 N+1이란 1번의 쿼리를 날렸을 때 의도하지 않은 N번의 쿼리가 추가적으로 실행되..
-
[CS/Spring] Spring Bean / Spring Bean 등록 방법 / Spring Bean 생명주기CS/Spring 2025. 3. 12. 20:24
• Spring BeanIoC 컨테이너 안에 들어있는 객체로, 필요할 때 IoC 컨테이너에서 가져와서 사용합니다. • Spring Bean 등록 방법 1. XML 설정 방법 2. 자바 기반 설정 방법설정 클래스를 따로 만들어 @Configuration 어노테이션을 붙이고, 해당 클래스 안에서 빈으로 등록할 메소드를 만들어 @Bean 어노테이션을 붙여주면 자동으로 해당 타입의 빈 객체가 생성됩니다. @Configuration public class AppConfig { @Bean public MyBean myBean() { return new MyBean(); } } 3. @Component 어노테이션을 사용하는 방법@Controller, ..
-
[CS/Spring] Spring MVC / MVC의 요청 흐름 처리 방식 / Dispatcher Servlet / Handler Mapping / View ResolverCS/Spring 2025. 3. 11. 18:36
• Spring MVCMVC는 Model, View, Controller의 약자이며, 각 레이어간 기능을 구분하는데 중점을 둔 디자인 패턴입니다. Model은 데이터 관리 및 비즈니스 로직을 처리하는 부분이며, (DAO, DTO, Service 등) View는 비즈니스 로직의 처리 결과를 통해 유저 인터페이스가 표현되는 구간입니다. (html, jsp, tymeleaf, mustache 등 화면을 구성하기도 하고, Rest API로 서버가 구현된다면 json 응답으로 구성되기도 합니다.)Controller는 사용자의 요청을 처리하고 Model과 View를 중개하는 역할을 합니다. Model과 View는 서로 연결되어 있지 않기 때문에 Controller가 사이에서 통신 매체가 되어줍니다. • MV..