1. Iterable의 기본 메소드 - forEach, spliterator package java8study; import java.util.ArrayList; import java.util.List; import java.util.Spliterator; public class App2 { public static void main(String[] args) { List myCuteBoys = new ArrayList(); myCuteBoys.add("JooYeon"); myCuteBoys.add("HyunJae"); myCuteBoys.add("MinGyu"); myCuteBoys.add("JeongHan"); myCuteBoys.add("JaeMin"); System.out.println("----..
1. 의도를 분명하게 밝혀라 잘못된 예 : int d; ->아무 의미도 드러나지 않다 int daysSinceCreation; int fileAgeInDays; 와 같이 분명한 정보 제공을 해줘야한다 2. 그릇된 정보를 피하라 여러 계정을 그룹으로 묶을 때, 실제 List가 아니라면 accountList라 명명하지않는다 계정을 담는 컨테이너가 실제 List가 아니라면 그릇된 정보를 제공하는 셈이다 그러므로 accountGroup, bunchOfAccounts 같은 이름으로 명명한다 -> 주의주의 3. 의미 있게 구분하라 ex) getActiveAccount(); getActiveAccounts(); getActiveAccountInfo(); 프로젝트에 참여한 사람은 셋 중 어느 함수를 호출할지 알 수 없..
함수형 인터페이스 - 추상 메소드를 딱 하나만 가지고 있는 인터페이스 - @FuncationInterface 애노테이션을 가지고 있는 인터페이스 람다 표현식 - 함수형 인터페이스의 인스턴스를 만드는 방법으로 쓰일 수 있음 - 코드를 줄일 수 있음 - 메소드 매개변수, 리턴타입, 변수로 만들어 사용할수도 있음 package java8study; @FunctionalInterface public interface RunSomething { ///추상형 메소드가 하나만 있으면 함수형 인터페이스 void doIt(); // void doAgain(); //하나 더 만들면 에러 //인터페이스 안에서 static 메소드 정의가능 static void printName(){ System.out.println("Joo..
보호되어 있는 글입니다.
MVC패턴 컨트롤러(CONTROLLER) : 클라이언트(http)의 요청을 받아서 파라미터를 검증, 비지니스 로직을 실행한다. 그리고 뷰에 전달할 결과 데이터를 조회해서 모델에 담는다 모델(MODEL) : 뷰에 출력할 데이터를 담아둔다. 뷰가 필요한 데이터를 모두 모델에 담아 전달해주는 덕분에 뷰는 비지니스 로직이나 데이터 접근을 몰라도 되고 화면을 렌더링 하는 일에 집중할 수 있다 뷰(VIEW) : 모델에 담겨있는 데이터를 사용하여 화면을 그림 출처 : www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 ..
HttpServletResponse역할 - Htttp 응답 메세지 생성 (HTTP응답코드 지정, 헤더생성 ,바디생성) - 편의 기능 제공(Content-Type, 쿠키, Redirect) 0. HttpServletResponse 사용법 ResponseHeaderServlet.java package hello.servlet.basic.response; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest;..
1. GET방식 - 쿼리 파라미터 - URL의 쿼리 파라미터에 데이터를 포함해서 전달 - 검색이나 필터, 페이징등에서 많이 사용함 - ex) http://localhost:8080/request-param?username=zoooo&age=500 package hello.servlet.basic.request; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import j..
- 강의 : 인프런 스프링 MVC - 인텔리제이 / 자바11 - 스프링 부트 환경에서 ㄱㄱ (스프링부트가 톰캣 서버를 내장하고 있어 톰캣 설치 없이 서블릿 코드 실행 가능하기 때문) hello.servlet.basic.HelloServlet package hello.servlet.basic; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOEx..
- 드디어 스프링으로 변경해보기 AppConfig.java package com.hello.core; import com.hello.core.Order.OrderService; import com.hello.core.Order.OrderServiceImpl; import com.hello.core.discount.DiscountPolicy; import com.hello.core.discount.RateDiscountPolicy; import com.hello.core.member.MemberRepository; import com.hello.core.member.MemberService; import com.hello.core.member.MemberServiceImpl; import com.hello..
- AppConfig.java를 추가하여 관심사 분리 / 이것도 순수 자바로만 구현 - 기존 MemberServiceImpl.java, OrderServiceImpl.java 에서는 인터페이스와 구현체 모두 의존하고 있어 DIP를 위반하고 있다 문제 : FixDiscountPolicy를 RateDiscountPolicy로 변경하는 순간 OrderServiceImpl의 소스 코드도 변경해야하는 번거로움이 있음 해결 : 이를 분리하기 위해 AppConfig를 만들어 수정 AppConfig.java / 애플리케이션 전체를 구성하기 위해 구현 객체를 생성하고 연결하는 책임을 가지는 별도의 설정 클래스 package com.hello.core; import com.hello.core.Order.OrderServi..
- Total
- Today
- Yesterday