본문 바로가기

반응형

분류 전체보기

(126)
MVC 패턴 2021-05-26글 [10분 테코톡] 🧀 제리의 MVC 패턴, [10분 테코톡] 👩🏻‍💻👨🏻‍💻해리&션의 MVC 패턴을 들으며 정리한 글입니다. MVC 패턴 디자인 패턴 Model View Controller 3가지로 구분한 패턴 유지보수가 편해지는 코드 구성 방식 웹 애플리케이션 아키텍쳐의 역사 (JSP로 구성한) 웹 애플리케이션의 아키텍쳐 : 모델1 구성 : JSP + JavaBeand(Service) 뷰와 로직이 섞임 장점 : 구조가 단순 단점 : 출력과 로직 코드가 섞여 유지보수가 어렵다. (JSP로 구성한) 웹 애플리케이션의 아키텍쳐 : 모델2 구성 : JavaBean(Service) + JSP + 서블릿 MVC 구조 장점 : 뷰와 로직이 분리되어 유지보수가 쉽다. 단점 : 복잡하므로 작은 프..
Kotlin을 정복해봅시다 2 2021-05-26글 코틀린 DSL DLS란? 도메인 특화 언어 (Domain-specific language) ↔️ 범용 프로그래밍 언어 선언적 언어 세부 실행은 언어를 해석하는 엔진에 맡김 컴파일 시점에 제대로 검증하는 것이 어려움 코틀린 DSL이란? 범용 언어(= 코틀린)로 작성된 프로그램의 일부 범용 언어와 동일한 문법 사용 호출 결과를 객체로 변환하기 위해 노력할 필요 없음 타입 안정성 보장 코틀린은 간결한 구문을 어떻게 지원하는가? 확장 함수 중위 호출 연산자 오버로딩 get 메서드에 대한 관례 람다를 괄호 밖으로 빼는 관례 수신 객체 지정 람다 확장 함수 Extension functions 코틀린은 클래스를 확장해서 새로운 기능을 개발할 수 있도록 지원 상속 과는 조금 다른 개념 ex) 외부..
DTO와 VO 2021-05-26글 [10분 테코톡] 🎼라흐의 DTO vs VO을 들으며 정리한 글입니다. DTO Data Transfer Object (데이터 전송 객체) 계층 간 데이터 교환을 위해 사용하는 객체 로직을 갖고 있지 않은 순수한 데이터 객체 데이터를 전송하는 바구니 getter/setter 메서드만을 가짐 VO value Object (값 객체) 값 그 자체를 표현하는 객체 서로 다른 이름을 가진 VO의 인스턴스가 모든 속성 값이 같다면 같은 객체 equals / hashCode를 오버라이드 필수 객체의 불변성을 보장 로직을 포함할 수 있음 DTO VS VO 웹 개발에서 사용하는 VO는 사실 DTO이다. 혼동의 원인은..? 이 책에서 getter와 setter가 있고, 데이터 전송을 위해 사용하는 객..
📋 테스트로 배우는 Spring Configuration 강의 2021-05-25글 배경 지식 강의 스프링 컨테이너와 스프링빈 컨테이너 스프링 컨테이너에 빈을 등록하기 위해서는 Configuration이 필요하다. XML Annotation 기반의 configuration java bean configuration XML로 Configuration 설정하는 예시 userRepository와 userService를 빈으로 등록함 ApplicationContext context = new ClassPathXmlApplicationContext("application-config.xml"); String[] beanDefinitionNames = context.getBeanDefinitionNames(); ClassPathXmlApplicationContext로 해당 X..
전략패턴 2021-05-24 글 [10분 테코톡] 📣 완태의 전략패턴을 들으며 정리한 글입니다. if - else의 문제점 example public double calculate(boolean isFirstGuest, boolean isLastGuest, List items) { double sum = 0; for (Item item : items) { if (isFirstGuest) { sum += item.getPrice() * 0.9; } else if (!item.isFresh()) { sum += item.getPrice() * 0.8; } else if (isFirstGuest) { sum += item.getPrice() * 0.8; } else { sum += item.getPrice(); } }..
Forward Proxy, Reverse Proxy, Load Balancer 2021-05-21글 [10분 테코톡] 🐿 제이미의 Forward Proxy, Reverse Proxy, Load Balancer을 들으며 정리한 글입니다. (Network) Proxy 정의 : 남을 대신하여 일을 처리함 (대리) Proxy Server 대신 처리하는 서버 클라이언트와 서버간의 중계 서버로, 통신을 대리 수행하는 서버 캐시/보안/트래픽 분산 등 여러 장점을 가질 수 있음 종류 Forward Proxy Reverse Proxy Forward Proxy 일반적으로 말하는 Proxy 예제 인터넷 속도를 향상 시키기 위해 proxy 설정 IP 추적을 방지하기 위해 Proxy 설정 클라이언트와 인터넷 사이에 위히 특징 캐싱 클라이언트가 요청한 내용을 캐싱 동일한 요청에 대한 응답 값을 캐싱함 장점..
Kotlin을 정복해봅시다 1 2021-05-16글 코틀린이란? 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어 간결하고 실용적 자바 코드와의 상호 운용성을 중시 코틀린 컴파일러가 생성한 바이트코드는 일반적인 자바 코드와 똑같이 효율적으로 실행 정적 타입 지정 언어 정적 타입 지정이란 모든 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있다. 프로그램 안에서 객체의 필드나 메서드를 사용할 때마다 컴파일러가 타입을 검증해준다. 코틀린은 타입추론을 지원하여 개발자가 타입 선언해야하는 불편함이 줄어든다. 매개 변수 이름 뒤에 매개 변수의 자료형을 쓴다. private val PATTERN = Pattern.compile("//(.)\n(.*)") private const val FIRST_TARGET_STRING = "//" priva..
📋 Spring MVC - 5. 스프링 MVC 2021-05-03글 스프링 MVC 전체 구조 지금껏 만들었던 프레임 워크 스프링 MVC FrontController - DispatcherServlet HandlerMappingMap - HandlerMapping MyHandlerAdapter - HandlerAdapter ModelView - ModelAndView ViewResolver - ViewResolver MyView - View DispatcherServlet DispacherServlet 도 부모 클래스에서 HttpServlet 을 상속 받아서 사용하고, 서블릿으로 동작한다. 스프링 부트는 DispatcherServlet를 자동으로 등록하면서 모든 경로에 대해서 매핑한다. 요청의 흐름 DispatcherServlet이 호출되면 servi..

반응형