목록전체 글 (278)
개발 무지렁이

🌱 Spring의 설계 철학 : 개발자가 Spring Framework에 종속되지 않고 POJO 객체를 사용하여 애플리케이션을 개발할 수 있게 하는 것 🍩 POJO를 이용한 가볍고, 비침투적인 개발 🍩 DI와 인터페이스 지향을 통한 느슨한 결합도 (다른 구현체로 교체하기 쉽다.) 🍩 Aspect와 공통규약을 통한 선언적 프로그래밍 🍩 Aspect와 템플릿을 통한 상투적인 코드 축소 ❓선언적 프로그래밍 : 무엇을 달성해야 하는지에 대해 명시적 설명 어떻게 달성하는지에 대한 세부사항은 숨겨져 있다. 𐂂 POJO (Plain-Old Java Object) 특별한 제약이나 규칙을 따르지 않는 평범한 자바객체를 가리킨다. Spring Framework는 Spring에 특화된 클래스를 요구하지 않으며, 기본은 PO..

𐂂 MVVM (Model-View-ViewModel) 패턴 Model Layer : API를 통해 데이터를 가져오거나 저장 및 조작하는 코드를 말한다. View Layer : 사용자 인터페이스를 나타내며, 단순히 데이터를 표시하고 사용자 입력을 받아들이는 역할만을 하는 코드를 말한다. ViewModel Layer : View에 표시할 데이터를 Model로부터 가져와 포맷팅하거나 View에 표시되는 데이터의 변경사항을 Model에 반영하는 등 사용자 입력을 처리하고, Model과 상호작용에 필요한 비즈니스로직을 포함하는 코드를 말한다. 𐁍 Vue.js 란 MVVM 패턴의 ViewModel Layer에 해당하는 화면 단의 라이브러리를 말한다. Vue의 설계 철학은 데이터와 뷰간의 분리를 강조한다. 더불어, ..

𐁍 프록시(Proxy) 다른 객체에 대한 인터페이스를 제공하는 객체 해당 객체의 대리자 역할을 수행 🍩 보안제어 : 프록시는 실제 객체에 대한 접근을 제어할 수 있다. 클라이언트는 프록시를 통해 접근하며, 프록시는 요청을 허용/거부한다. 🍩 로깅 및 감시 : 프록시를 사용하여 메서드 호출을 로깅하거나 감시 🍩 지연로딩(Lazy Loading) : 필요할 때만 데이터를 로드하는 작업 수행, 성능최적화 🍩 캐싱 : 프록시를 사용하여 이전에 수행한 작업의 결과를 캐시하고, 동일한 요청에 대해 캐시된 결과를 반환 🍩 원격프록시(Remote Proxy) : 원격 서버나 다른 머신에 있는 객체에 대한 접근을 지원하는 프록시 생성 🍩 Dynamic Proxy / Static Proxy : 런타임에 프록시 객체를 동적..

🦉 DataSource : 데이터베이스와 연결할 수 있는 정보가 들어있는 객체를 말한다. (⚠️ Spring이 DataSource를 주입해준다) 📜 SpringConfig.java @Configuration // Spring Bean으로 관리된다. public class SpringConfig { DataSource dataSource; @Autowired public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; } @Bean public MemberService memberService() { return new MemberService(memberRepository()); } @Bean public MemberReposito..

𐁍 Optional 값의 존재 여부를 나타내는 컨테이너 클래스를 말한다. null로 인한 예외(ex. NPE)를 방지하고자 Optional로 감싸 이 객체의 내장메서드를 사용하여 다양한 동작을 할 수 있다. 𖠃 Optinal 내장 메서드 (1) Optional.of(T value) : value가 null이 아니라면 해당 값으로 채워진 Optional 객체를 반환하지만, null이라면 NPE(NullPointerException) 발생 (2) Optional.ofNullable(T value) : value가 null이 아니라면 해당 값으로 채워진 Optional 객체를 반환하고, null이여도 빈 Optional 객체를 반환한다. (null이어도 감쌀 수 있다.) ⚠️ null이 될 가능성이 있는 경우..

𐂂 빌드툴 (Maven, Gradle) 필요한 라이브러리를 땡겨오고, + 버전설정 빌드된 라이브러리의 라이프사이클 및 의존관계를 관리해주는 툴을 말한다. 🗿 Artifact : 빌드되어 나온 결과물 𐁍 org.springframework.boot:spring-boot-starter 및 그 밖의 라이브러리 스프링부트(Spring boot) + 스프링코어(Spring core) + 로깅(logging) // spring boot. org.springframework.boot:spring-boot-starter-web - spring-boot-starter-tomcat 🐱 // 소스라이브러리에서 웹서버를 내장 - spring-webmvc // spring core. org.springframework:spri..