csv 파일을 import한 뒤 가공해서 export 하는 과정을 거쳤을 때 나타나는 오류 위주로 정리했다 구글링해서 나오는 모든 경우의 수를 최대한 적어 보겠으나 나는 해결을 보지 못하고 편법으로? 해결한 것들이 많다 다른 사람들은 해결된 경우가 많았기 때문에 하나씩 해 보고 안 된다면 편법까지 사용해 보는 것이 좋을 것 같다 데이터 import Table Date Import Wizard 사용하기 테이블 생성 후 스키마/테이블에서 오른쪽 마우스 클릭 - Table Date Import Wizard 코덱 오류 Error Unhandled exception: 'cp949' codec can't decode byte 0xec in position 75: illegal multibyte sequence Ch..
proxy - 핵심 기능의 실행은 다른 객체에 위임하고 부가적인 기능을 제공하는 객체 - 대상 객체: 실제 핵심 기능을 실행하는 객체 - 핵심 기능을 구현하지 않는 대신 여러 객체에 공통으로 적용할 수 있는 기능 구현 AOP - Aspect Oriented Programming - 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법 더보기 핵심 기능에 공통 기능 삽입 - 컴파일 시점에 코드에 공통 기능을 삽입하는 방법 - 클래스 로딩 시점에 바이트 코드에 공통 기능을 삽입하는 방법 - 런타임에 프록시 객체를 생성해서 공통 기능을 삽입하는 방법(Spring에서제공) 주요 용어 주요 용어 의미 Advice 언제 공통 관심 기능을 핵심 로직에 적용할지를 정의 예를 들어 '..
DI(Dependency Injection): 의존성 주입 클래스가 다른 클래스의 메서드를 사용하는 것 ex) MemberRegisterService 클래스가 selectByEmail() 메서드를 사용하기 위해 MemberDao 클래스에 의존 생성자 방식 public class MemberRegisterService { private MemberDao memberDao; // 캐시 적용 Dao // MemberDao를 상속받음 // public class CachedMemberDao extends MemberDao { private MemberDao memberDao = new CachedMemberDao(); // 생성자를 통해 의존 객체를 주입받음 public MemberRegisterService(..
@Controller @Service @Repository - Dao => @Component - 모두 다 쓸 수 있지만 보통 Dto를 정의할 때 쓴다 Main public class HelloMain { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("주소/application.xml"); HelloMessage helloMessage = context.getBean("id1", HelloMessageKor.class); String greeting = helloMessage.hello("이름"); } } Bean //application.xml //ref가 id..
Container IoC Container - 오브젝트의 생성과 관계설정, 사용, 제거 등의 작업을 애플리케이션 코드 대신 독립된 컨테이너가 담당 - 컨테이너가 코드 대신 오브젝트에 대한 제어권을 갖고 있어 IoC라고 부름 - 이런 이유로 스프링 컨테이너를 IoC 컨테이너라고 부르기도 함 - 스프링에서 IoC를 담당하는 컨테이너에는 BeanFactory, ApplicationContext가 있음 - 컨테이너 초기화 -> 빈 객체의 생성, 의존 주입, 초기화 - 컨테이너 종료 -> 빈 객체의 소멸 Spring DI Container - Spring DI Container가 관리하는 객체를 빈(Bean)이라고 하고, 이 빈들의 생명 주기(Life-Cycle)를 관리하는 의미로 빈팩토리(BeanFactory)..
Spring 스프링이란? 자바를 이용해 웹 애플리케이션을 개발할 때 주로 사용하는 기술 스프링 프레임워크의 특징 - 의존 주입(Dependency Injection: DI) 지원 - AOP(Aspect-Oriented Programming) 지원 - MVC 웹 프레임워크 제공 - JDBC, JPA 연동, 선언적 트랜잭션 처리 등 DB 연동 지원 Maven pom.xml - 메이븐 프로젝트 설정 정보 관리 파일 - 의존 모듈이나 플러그인 등에 대한 설정을 담는다 - 메이븐은 한 개의 모듈을 아티팩트라는 단위로 관리 - dependency에 설정을 추가한다는 것은 소스 코드를 컴파일하고 실행할 때 사용할 클래스 패스에 spring-context 파일을 추가한다는 것을 의미 메이븐 리포지토리 - pom.xml..
교육 초반에 쓰다가 한동안 보이지 않았었는데, dfs나 bfs와 결합된 알고리즘에서 많이 사용되어 잊어버리지 않기 위해 다시 정리하기로 했다 순열(Permutation = nPr) = n*n-1*n-2* ... * n-r+2 * n-r+1 = n부터 r개만큼 곱하기 - 서로 다른 n개의 수들 중 r개를 순서를 맞춰 뽑음 - 출발지, 도착지를 선택하면 이동 경비를 최소로 사용하면서 모든 도시를 여행하는 경우 - 릴레이 계주 선수 4명 중 3명을 뽑는다 = ₄P₃ 예시 코드 - input, numbers, isSelected 사용 int N = 4; // 주어진 N개의 수 int R = 3; // 뽑으려고 하는 수 R int[] input = new int[N]; // input에 N개의 숫자 넣기 int[..
메모이제이션(memoization) - 컴퓨터 프로그램을 실행할 때 이전에 계산한 값을 메모리에 저장해서 매번 다시 계산하지 않도록 하여 전체적인 실행속도를 빠르게 하는 기술 - 추가적인 메모리 공간이 필요하다 - 재귀 함수 호출로 인한 시스템 호출 스택을 사용하게 되고 실행 속도 저하 또는 오버플로우가 발생할 수 있다 재귀 if(n=N && memo[n]==0) memo[n] = DP(n-1)+DP(n-2); return memo[n]; 동적계획법(Dynamic Programming) 그리디 알고리즘과 같이 최적화 문제를 해결하는 알고리즘 먼저 작은 부분 문제들의 해들을 구하고 이들을 이용하여 보다 큰 크기의 부분 문제들을 해결하여, 최종적으로는 원래 주어진 문제를 해결하는 알고리즘 설계 기법 재귀(하..
## JSTL -- 라이브러리 추가 필요함 -- jsp 페이지에 지시어 태그 추가 -- -- ~~~ -- core: c 변수 지원, 흐름제어, URL처리 http://java.sun.com/jsp/jstl/core -- XML: x XML 코어, 흐름제어, XML변환 http://java.sun.com/jsp/jstl/xml -- 국제화: fmt 지역, 메시지 형식, 숫자 및 날짜 형식 http://java.sun.com/jsp/jstl/fmt -- database: sql SQL http://java.sun.com/jsp/jstl/sql -- 함수: Collection, String 처리 http://java.sun.com/jsp/jstl/functions ## core -- jstl 기본이 되는 js..