목록전체 글 (141)
공부하는 스누피

DispatcherServlet 스프링 컨테이너를 생성해 웹 브라우저의 요청을 받아 알맞은 응답을 보내고, 컨테이너 안의 컴포넌트간 요청 흐름을 제어한다. * Servlet이란 자바에서 웹을 만들기 위해 필요한 기술로, 요청을 받고 응답을 보내주는 역할을 한다. HandlerMapping 요청을 처리할 핸들러(컨트롤러) 객체를 찾아준다. @Controller를 적용한 Bean 객체에 명시된 경로만 대응할 수 있다. Controller(핸들러) 요청을 실제로 처리한 뒤 View 정보와 Model을 설정한다. HandlerAdapter DispatcherServlet과 Controller 간 변환을 처리해 준다. ViewResolver 요청 처리 결과를 생성할 View를 찾아준다. View 응답을 생성한 후..
https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 생각과정 - 날짜별 상담소요시간과 금액을 T, P 배열에 저장한다. - 현재 날짜가 n이 될 때까지 재귀 함수를 호출한다. - 재귀함수는 하루당 두 번 호출될 수 있는데, 각각 해당 날짜에 상담했을 경우와 하지 않았을 경우를 호출한다. - 현재 날짜를 선택할 경우 상담소요시간이 퇴사 이전이어야 한다. - 경우의 수를 구한 후 최댓값만 찾으면 되므로 DFS를 쓰면 간단히 풀 수 있는 문제다. 구현 import java.util.Scanner; public class Main { public int maxP = 0; public void..

환경 - Eclipse Jee 2019-03 - JDK 1.8 - STS 3.x - AWS EC2 t2.micro (프리 티어) 1. Spring mvc 프로젝트 만들기 이클립스에서 marketplace에 있는 Spring Toolkit을 설치하면 간단한 Spring MVC 프로젝트를 바로 빌드할 수 있다. 패키지 입력할 때는 반드시 3단계로 해주어야 합니다. ex. com.myexample.app 2. Tomcat 서버에 돌아가는지 확인하기 프로젝트 폴더 우클릭->Run as->Run on Server 클릭 서버 선택 : 버전에 맞는 서버 선택하기 (Tomcat 9.0 선택했음) 서버를 돌린 후 콘솔에 아래 메세지가 출력되고, 자동으로 웹페이지가 켜짐 3. war 배포 파일로 만들기 war 파일은 자바..

AOP(Aspect Oriented Programming) AOP는 여러 객체에 적용되는 공통 기능을 분리하는 프로그래밍 기법으로, 재사용성을 높여준다. OOP는 실제 세계의 사물을 모듈화(객체화)하는 것이지만, AOP는 부가적인 기능을 모듈화하는데 집중한다. ex) A 클래스와 B 클래스 둘 다 print라는 동일한 기능을 사용해야 할 때, print를 따로 분리한다. A 또는 B 객체를 사용하게 되면 Proxy가 자동으로 print 기능을 실행시켜준다. 스프링에서는 Proxy를 이용해 AOP를 구현한다. 자동으로 Proxy 객체를 만들어 주기 때문에 직접 Proxy 인터페이스를 구현하지 않아도 된다. Bean 객체가 인터페이스를 상속하면 별도 설정이 없는 이상 인터페이스를 이용해서 Proxy를 생성한..

@Autowired 어노테이션 - 의존 자동 주입 기능을 사용하기 위해 대상 객체에 붙이는 어노테이션이다. - Bean 객체의 메소드에 붙이면 해당 메소드를 호출하고, 메소드 파라미터 타입에 해당하는 Bean을 찾아 인자로 주입한다. - 필드에도 적용할 수 있다. - 설정 클래스에서 직접 주입을 하지 않아도 되어 편리하다. - @Qualifier로 주입 Bean의 중복을 막을 수 있다. 없으면 Bean의 이름을 한정자(Qualifier)로 지정한다. - @Primary로도 중복을 막을 수 있다. @Primary가 붙여진 Bean을 우선시 한다. - required 속성을 false로 지정하면 Bean이 존재하지 않아도 메소드를 호출하지 않기 때문에 Exception 발생 안함. => 자동 주입 대상 타입..
1. 의존 주입 Dependency Injection 한 클래스가 다른 클래스의 메소드를 실행할 때 이를 '의존'한다고 표현한다. 의존 관계는 변경에 의해 영향을 받는 관계로, B 클래스가 A 클래스의 메소드를 실행할 때 A 클래스에 변경이 이루어지면 B 클래스에 영향이 가게 된다. 여기서 B 클래스의 메소드를 실행하는 C 클래스가 있다면, 이 변경은 C 클래스까지 전파된다. 의존 관계를 구현하기 가장 쉬운 방법은 B 클래스에서 A 클래스 객체를 직접 생성하는 방법이다. DI(Dependency Injection)는 의존하는 객체를 직접 생성하지 않고 의존 객체를 전달받는 방식을 사용한다. 즉, DI란 의존하는 객체를 전달받아서 사용하는 패턴이다. DI는 의존 객체 변경이 유연하다는 것이 큰 장점인데, ..

https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr 생각 과정 - 균형인지 테스트는 (의 개수와 )개수가 같은지 검사하는 메소드 check로 수행한다. - 올바른 괄호는 문자열의 첫 문자는 열린 괄호여야만 하고, 마지막 문자는 닫힌 괄호여야 한다. - 괄호 변환 알고리즘이 나와 있으니 그대로 따라 만들면 된다. - 재귀 함수는 받은 문자열을 문자열 u, v로 나누는데, u는 균형있는 괄호이고 더이상 나눠지지 않아..

환경 - Oracle VM (에뮬레이터) - Windows10 - CMD 1. ares cli 설치 아래 링크로 들어가서 ares command line interface를 다운로드 받는다. https://www.webosose.org/docs/tools/sdk/sdk-download/ SDK Download This page provides the package download links for webOS Open Source Edition (OSE) SDK. Note Emulator is created as a virtual machine image when you build webOS OSE platform source code with qemux86 option configured. For mor..