전체 글 87

[Java] 이것이 취업을 위한 코딩테스트다 DFS - 음료수 얼려먹기

public class _3frozenDrinks { private static int n = 4; private static int m = 5; private static boolean[][] visited = new boolean[n][m]; private final static int[][] edges = { {0, 0, 1, 1, 0}, {0, 0, 0, 1, 1}, {1, 1, 1, 1, 1}, {0, 0, 0, 0, 0} }; private static int cnt = 0; public static void main(String[] args) { for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (dfs(i,j)) { cnt++;..

Java/알고리즘 2020.11.12

[Java] 이것이 취업을 위한 코딩테스트다 구현 - 게임 개발

Java import java.util.Arrays; import java.util.Scanner; public class _3GameDev { private static int[] xyArr,xyChar; private static int cnt = 0; private static int length; private static int[] dx = {-1,0,1,0}; private static int[] dy = {0,1,0,-1}; private static int[][] arr,dp; private static int[] point = new int[2]; private static int Direction ; public static void main(String[] args) { System...

Java/알고리즘 2020.11.07

[Java] 이것이 취업을 위한 코딩테스트다 구현 - 왕실의 나이트

Java public class night { public static void main(String[] args) { System.out.println(solution("h8")); } public static int solution(String s){ int row = Integer.parseInt(s.charAt(1)+"")-1; //행 int column = s.charAt(0)- 97; //열 int cnt = 0; //결과 int[][] steps = {{-2,-1}, {-2 ,1}, {-1,2},{-1,-2},{2,1},{2,-1},{1,-2},{1,2}}; // 이동할 수 있는 8가지 방향 for (int i = 0; i < steps.length; i++) { if (row + steps..

Java/알고리즘 2020.11.07

[Spring] Spring IoC Container 연동

Spring IoC Container 연동 Servlet Application 에 Spring 연동하기 서블릿에서 스프링이 제공하는 IoC 컨테이너 활용하는 방법 스프링이 제공하는 서블릿 구현체 DispatcherServlet 사용하기 IoC 컨테이너 활용하는 예제 의존성 추가 org.springframework spring-webmvc 5.1.3.RELEASE web.xml 수정 기존 listener 제거후 아래 추가 org.springframework.web.context.ContextLoaderListener AppConfig 생성 import org.springframework.context.annotation.ComponentScan; import org.springframework.contex..

Spring/Spring MVC 2020.11.07

[Spring] Servlet listener, filter

Servlet listener,filter Servlet listiener 웹 애플리케이션에서 발생하는 주요 이벤트를 감지하고 각 이벤트에 특별한 작업이 필요한 경우에 사용할 수 있다. 서블릿 컨텍스트 수준의 이벤트 컨텍스트 라이프사이클 이벤트 컨텍스트 애트리뷰트 변경 이벤트 세션 수준의 이벤트 세션 라이프사이클 이벤트 세션 애트리뷰트 변경 이벤트 Servlet filter 어떠한 요청이 들어왔을때 servlet으로 보내고, 또 서블릿이 작성한 응답을 클라이언트로 보내기 전에 특별한 처리가 필요한 경우에 사용할 수 있다. 체인 형태의 구조 Servlet Listener는 Servlet Container 영역 위에있다 Servlet Container에서 바로 Servlet에 가는 것이 아니라 Filter를..

Spring/Spring MVC 2020.11.06

[Spring] Servlet 서블릿

Servlet HTTP 통신 기반의 클래스를 살펴보면 어노테이션 기반, 매개변수나 서블릿 클래스가 활용된다 자바 엔터프라이즈 에디션은 웹 애플리케이션 개발용 스펙과 API를 제공한다. Request 당 Thread를 사용하게 된다. 가장 중요한 클래스 중 하나가 HttpServlet이다. Servlet은 웹 프로그래밍에서 클라이언트 요청을 처리하고 처리 결과를 클라이언트에 전송하는 기술이다. CGI(Common gateway Interface) 자바로 구현된 서블릿 등장 전에 사용하던 기술이다. 별도로 제작된 웹 서버와 프로그램간의 교환 방식으로 어떠한 프로그래밍 언어로도 구현이 가능하고 , 별도로 만들어 놓은 프로그램에 HTML의 GET, POST방법으로 클라이언트 데이터를 환경변수로 전달하고 프로그램..

Spring/Spring MVC 2020.11.06

[Spring] Spring Null 처리 하는 법 (Null-safety)

Null-safety 목적 Annotation 에 마킹하여 IntelliJ나 Tool에 지원을 받아 컴파일 시점에 NullPointerException를 방지하기 위함이다. Spring 5에 추가되었다 Null 관련 애노테이션 @NonNull Null허용안함 @Nullable @NonNullApi (패키지 레벨 설정) @NonNullFields (패키지 레벨 설정) 예시 EventService 생성 import org.springframework.lang.NonNull; import org.springframework.stereotype.Service; @Service public class EventService { @NonNull public String createEvent(@NonNull Stri..

Spring/Spring Core 2020.11.06

[Spring] AOP(Aspect-Oriented Programming)

AOP란? AOP는 Aspect Oreiented Programming의 약자로 관점 지향 프로그래밍이라고 불린다. 쉽게 말해서 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어 보며 그 관점들을 기준으로 모듈화를 한다는 것이다. 모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것이다. 핵심적인 관점은 우리가 적용하고자 하는 핵심 비즈니스 로직이다. 부가적인 관점은 핵심 로직을 실행하기 위해서 행하는 DB Connection, Logging, I/O 등 다양하게 있다. 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용하도록 지원하고 흩어진 Aspect를 모듈화 할 수 있는 프로그래밍 기법입니다. Spring 는 AOP의 구현체를 제공하며 자바에 만들어져있는 AOP 구현체가 있다. 모듈..

Spring/Spring Core 2020.11.06

[Spring] SpEL(Spring Expression Language)

1. SpEL(Spring Expression Language)이란? SpEL Spring Expression Language는 SpEL로 많이 표기한다. Spring EL 이라고도 불린다. Spring 3.0 부터 지원이 되었다. 객체 그래프를 조회하거나 조작하는 기능을 제공한다 Unified EL과 비슷하지만, 메소드 호출을 지원하며, 문자열 템플릿 기능도 제공한다. OGNL, MVEL, JBoss EL 등 자바에서 사용할 수 있는 여러 EL이 있지만 SpEL은 모든 스프링 프로젝트 전반에 걸쳐 사용할 EL로 만들어졌다. EL 참고 ... if test 안에 ${sessionScope.cart.numberOfItems > 0} JSP나 Thymeleaf처럼 이런 EL을 써본적이 있는 분들이 있을 것이..

Spring/Spring Core 2020.11.05