Web_Backend/Spring2024. 5. 15. 23:34[멘토링] DTO의 분리시기, innerClass와 record, 비동기 통신 응답 방법관련 고민(kafka, websoket, gRPC..?)

해당 게시글은 (케인)멘토님께 멘토링 세션을 통해 주고받은 질의응답의 내용을 정리한 글 입니다.😲 Q1.  멘토님께서는 service DTO controller DTO의 분리시기가 언제라고 보시나요? spring boot 어플리케이션에서 dto를 사용 할 때 어플리케이션 개발 초기에는 컨트롤러와 서비스 레이어 각각 나눠서 두기에는 두 dto간 요소 차이가 없을것이고 결국에는 코드의 중복으로 이어지기에, 대부분의 개발 초반에는 하나의 dto로 개발을 진행한 뒤, 프로젝트 규모가 커지면 추후에 분리하는편이라고 들었습니다. 저 또한 토이프로젝트 팀원들과 dto의 레이어별 분리 관련해서 논의를 진행중에 있습니다. 멘토님께서는 두 레이어에서 dto를 분리해야하는 시기는 언제쯤이라고 보실까요…! 👨‍🎓 A1...

Web_Backend/Spring2024. 5. 15. 23:20[멘토링] 프로젝트에서 버전 선택의 기준, 버전 이슈 의심되는 상황에서 대처법

해당 게시글은 (케인)멘토님께 멘토링 세션을 통해 주고받은 질의응답의 내용을 정리한 글 입니다.😲 Q1.  지난 11월 23일에 Spring Boot 3.2가 정식 릴리즈 되면서 생긴 궁금증입니다…!멘토님께서 보시기에, 현 상황에서 첫 스프링 프로젝트를 진행할 신입 개발자가 새로운 팀 프로젝트를 진행한다면가장 최근 릴리즈 버전인 3.2버전을 사용하는것을 추천하시는지, 아니면 조금 더 안정화되고 레퍼런스가 많은 3.0 혹은 3.1 버전을 추천하시는지 궁금합니다…! 👨‍🎓 A1.  제가 개발을 한다고 하면, 저는 새로운 이슈를 마주하는것을 즐기기 때문에 3.2버전을 쓸 것 같습니다. 하지만 신입과 주니어 개발자라는 대상이라고 하면 레퍼런스가 많은 3.0버전을 사용하라고 할 것 같습니다. 어느정도 경력이..

Web_Backend/Spring2024. 4. 2. 21:58[멘토링] spring에서 모든 request에 특정 정적 리소스를 담아서 보내줄 수 있는 방법이 있을까요?

해당 게시글은 (케인)멘토님께 멘토링 세션을 통해 주고받은 질의응답의 내용을 정리한 글 입니다.😲 Q1.  spring에서도 모든 request에 특정 리소스를 담아서 보내줄 수 있는 방법이 있을까요?Spring backend, React frontend 프로젝트에서 프론트와 백엔드 어플리게이션을 서버에서 각각 구동시키는것이 아닌, react 앱을 빌드 한 뒤 spring 어플리케이션의 정적 리소스에 담아서 보내고자 합니다. 기존에 node 프로젝트애서 동일한 방법(프론트 앱 빌드 후 백엔드 서버의 resource로 전달)을 사용했던 경우에는 특정 정적 리소스를 모든 requerst에 담아서 보내도록 설정을 할 수 있어서 관련 설정을 해주었는데, spring에서도 모든 request에 특정 리소스를 담..

Web_Backend/Spring2024. 1. 25. 15:38[Spring] Spring Boot / Spring / Spring MVC, @Primary / @Qualifier, @Component / @Bean, Prototype / Singleton, @PostConstruct @PreDestroy, JDBC, Hibernate, JPA, Spring Data JPA

Spring Boot vs Spring vs Spring MVCSpring개요:자바 기반의 프레임워크로, 기업 환경에서 대규모 응용 프로그램을 개발하기 위한 종합적인 솔루션을 제공한다.모듈화, DI (의존성 주입), AOP (관점 지향 프로그래밍) 등을 지원하여 유연하고 확장 가능한 애플리케이션을 만들 수 있다.Spring Framework 구성요소:Core Container: IoC 컨테이너, 빈 팩토리 등이 포함되어 있으며, DI를 지원한다.Data Access/Integration: JDBC, ORM 등 데이터 액세스 및 통합을 위한 모듈 제공.Web: 웹 애플리케이션 개발을 위한 모듈로 Spring MVC 포함.AOP (Aspect-Oriented Programming): 관점 지향 프로그래밍을 ..

Web_Backend/Spring2024. 1. 24. 13:46[Java, kakao Rest API login] HttpURLConnection은 왜 지양되어야 하는가? (Feat RestTemplate, WebClient)

T-log 프로젝트에 대한 피드백 HttpURLConnection대신 사용할 수 있는 HTTP 웹 클라이언트에 대해서 알아보기를 조언받음. 보다 강력하고 유연한 웹 클라이언트란? HttpURLConnection RestTemplate WebClient

Web_Backend/Spring2023. 12. 26. 17:05Spring boot Gradle 프로젝트는 Build시에 Test를 실행할 까?(Feat.. jacoco CI 적용일지)

obsidian에서 작성중 Feat… CI 적용기(jacoco + checkStyle + sonar cloud + Github Action)

[Servlet] Dispatcher Servlet
Web_Backend/Spring2023. 5. 28. 14:22[Servlet] Dispatcher Servlet

Dispatcher Servlet Servlet이란? ✅ 서블릿(Servlet)은 클라이언트 요청을 처리하고, 그 결과를 반환하는 웹 프로그래밍 기술을 말함. 자바 서블릿(Java Servlet)은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버 측 프로그램 혹은 그 사양을 말하며, 자바 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다. 코드의 지저분함(모든 서블릿을 web.xml등록 높은 의존성 HttpServlet 기능을 필수로 Override 해야 하고, 더 이상 일반 객체로 사용할 수 없다. 중복되는 작업 모든 서블릿이 공통으로 처리하는 작업이나, 가장 우선시 되야하는 작업 Dispatcher Servlet이란? 📌 Servlet Container에서 HTTP프로토콜을 ..

[Spring] Spring AOP(Aspect Oriented Programming)
Web_Backend/Spring2023. 5. 28. 14:15[Spring] Spring AOP(Aspect Oriented Programming)

Spring AOP(Aspect Oriented Programming) Spring AOP란? 📌 Aspect Oriented Programming, 관점 지향 프로그래밍 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점(데이터베이스 연결, 로깅, 파일 입출력)으로 나누어서 보고 그 관점을 기준으로 각각 모듈화 하겠다는 것 AOP 주요 개념 Aspect : 위에서 설명한 흩어진 관심사를 모듈화 한 것. 주로 부가기능을 모듈화함. Target : Aspect를 적용하는 곳 (클래스, 메서드 .. ) Advice : 실질적으로 어떤 일을 해야할 지에 대한 것, 실질적인 부가기능을 담은 구현체 JointPoint : Advice가 적용될 위치, 끼어들 수 있는 지점. 메서드 진입 지점, 생성자 호출 시점, ..

[Spring, JPA] JPA Persistence Context
Web_Backend/Spring2023. 5. 28. 14:05[Spring, JPA] JPA Persistence Context

JPA Persistence Context과 제공하는 기능 영속성이란? 📌 사전 : 영원히 계속되는 성질이나 능력 dev : 애플리케이션의 상태와 상관없도록 물리적인 저장소를 이용해 데이터를 저장하는 행위. Persistence Context란? 📌 영속성 컨텍스트(Persistence Context)는 영속화되어있는 entity identity에 대해 unique 한 entity 인스턴스가 존재하는 entity 인스턴스의 집합. 즉, entity의 영속화에 관여하며, entity들이 DB로 바로 가지 않고 entity를 저장하는 환경으로서의 역할을 함. 아래와 같은 방법으로 영속성 컨텍스트에 접근 가능 EntityManager.persist(entity); 영속성 컨텍스트 특징 식별자 값(id)이 있어..

[JSTL] JSTL(JSP Standard Tag Library)란?
Web_Backend/Spring2022. 3. 23. 23:16[JSTL] JSTL(JSP Standard Tag Library)란?

0. JSTL(JSP Standard Tag Library)란? JSTL이란 JSP 표준 라이브러리(JSP Standard Tag Library)의 약어이다. 즉, JSP를 사용하는 여러 프로그램이 공통으로 사용할 수 있도록 JSP태그를 라이브러리 형태로 만들어놓은 것이다. 라이브러리란 코드의 집합이지만, JSTL의 경우 보통의 라이브러리와는 다르게 JSP 페이지 안에서 사용 할 수 있는 커스텀과 함수를 제공한다. 일반적으로 JSTL은 EL(Expression Language)과 함께 쓰이며, 이를 통해 HTML코드 내에서 자바코드를 사용 할 수 있게 해주는 스크립틀릿을 가독성 좋게 사용 할 수 있다. 최근에는 뷰와 비즈니스로직의 분리와 가독성 이슈로 스크립틀릿 대신 JSTL을 많이 사용하는 추세이다. ..

spring Mysql connector 연결하기
Web_Backend/Spring2022. 3. 8. 16:19spring Mysql connector 연결하기

https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.28 에서 MySQL Connector/ "J" 의 메이븐 코드 가져다가 해당 프로젝트의 pom.xml의 dependencies 태그 안에 추가

image