전체 글 209

[퍼옴/메모] 정적 리소스(js, css, image..) 접근

출처: http://leegaworld.tistory.com/360 [밍깅료의 블로그] Spring Web 프로젝트에서 정적 리소스(js, css, image ...) 를 사용하기 위해서는 보통 /src/main/webapp/resources 위치에 생성 한다고 한다.webapp/ 밑에 위치해서 URI 상으로도 접근이 가능하기 때문에 아래와 같은 방법으로 해당 리소스들에 대한 접근이 가능하다.하지만 해당 리소스들을 참조하지 못해 404 에러가 발생할 경우는 web.xml 의 dispatcherServlet 설정을 확인해봐야 한다.dispatcherServlet/위와 같이 url-pattern 이 / 로 되어 있을 경우 모든 URI 에 대해 Servlet Mapping (=Controller에 URL Ma..

[퍼옴/메모] 이클립스 자동완성

출처: http://egloos.zum.com/devidebyzero/v/3157394 1. 이클립스 메뉴 중 window -> preferences -> java -> editor -> content assist -> advanced 로 이동.해당 항목에 체크가 되어 있는지 확인한다. 2.체크가 되어 있음에도 동작하지 않을 경우 window -> preferences -> general -> keys 로 이동.content assist 항목에 ctrl + space 가 매핑되어 있는지 확인.되어 있지 않다면 binding(하단 붉은 표시)에서 ctrl + space 을 입력하여 매핑.

Dev/JAVA 2018.06.19

MariaDB, MySQL Character-set 설정

MariaDB나 MySQL이나 모두 적용되는 사항이다. Toad for MySQL을 사용중에 한글 입력 또는 insert문으로 한글 데이터 추가 시 한글이 깨지는 이유는 다음과 같다 데이터베이스에 접속한 상태에서 status 명령어 또는 \s 명령어를 입력하면 아래와 같이 상태가 표시된다. 여기서 Server, Db, Client, Conn 부분의 Characterset을 utf8로 맞춰주면 해결이 된다. 영구적으로 해당 문자세팅이 고정되도록 하는 방법은 다음과 같다. #vi /etc/my.cnf my.cnf 파일을 vi로 실행 시킨 후 아래 내용을 추가하고 wq! 로 저장한다. [mysqld] character-set-server = utf8 [client] default-character-set = ..

DATABASE/Mariadb 2018.03.21

MariaDB 테이블 생성 시 utf8과 AUTO_INCREMENT, InnoDB 엔진 설정

마리아 DB 테이블 생성 시 CHARACTER SET utf8로 설정 및 AUTO_INCREMENT 1부터 시작, 테이블 엔진 InnoDB 설정 방법 예시. CREATE TABLE member( num BIGINT AUTO_INCREMENT, id VARCHAR(30) PRIMARY KEY(num) )ENGINE = InnoDB AUTO_INCREMENT = 1 ROW_FORMAT = DEFAULT CHARACTER SET utf8; * Engine 은 InnoDB 말고도 여러가지가 있다. 자세한 정보는 구글링을 해보길 바란다. 기본적으로 많이 사용되는 InnoDB로 설정하였다. * AUTO_INCREMENT = 1 은 시작번호를 1로 설정해 준 것이다. 이 부분은 상황에 따라서 20180000 과 같이..

DATABASE/Mariadb 2018.03.21

MariaDB 암호화(SHA2), 데이터타입 설정 방법

MariaDB에서는 여러가지 암호화 방법을 제공한다. 하지만 여기서 사용할 것은 비대칭 암호화 방법 SHA 256을 사용하려고한다. 그 이유는 대칭키를 이용한 암호화 방법을 사용 시 관리자가 암호화된 데이터를 복호화 하여 확인할 수 있기 때문이며 또한 암호화에 사용된 키가 유출될 경우 데이터가 전부 유출될 가능성이 있기 때문이다. SHA2에 대한 설명이 잘 되어있는 글의 맨 하단 출처의 사이트에서 가져왔다. 테이블 생성 시 SHA256을 사용할 경우 항목에 대한 데이터 타입을 다음과 같이 설정하면 된다. 총 256비트를 사용하기 때문에 PW VARCHAR(255) 와 같이 데이터 타입을 설정해주면 된다. 한 블로그에서 BLOB타입을 사용하는 것을 권장한다고 하였으나 용량과 처리 속도에서 문제가 될 것같아..

DATABASE/Mariadb 2018.03.21

ERROR: org.springframework.web.context.ContextLoader - Context initialization failed

ERROR: org.springframework.web.context.ContextLoader - Context initialization failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'DAO': Unsatisfied dependency expressed through field 'session'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.apache.ibatis.session.SqlSession' a..

Centos7 리눅스 프로세스 확인 및 종료

Centos7 리눅스 프로세스 확인 및 종료 (kill) 방법 1 . ps -e 명령어 사용하기 간단하게 PID를 확인할 경우에 ps -e 명령어를 사용합니다. 추가로 ps -ef 명령어를 사용할 경우 해당 프로세스의 시작 시간 등이 표시됩니다. 응용 >> 웹브라우져 firefox의 pid를 확인하고 싶을 경우 : ps -e | grep firefox 2. top 명령어 사용하기. 3초마다 CPU 메모리사용량 등이 실시간으로 Refresh 하여 보여진다. q or Ctrl+c로 종료할 수 있음. Tasks: 실행된 프로세스 수 running: 실행중 sleeping: 유휴상태 stopped: 종료상태 zombie: 좀비상태 us: 사용자의 CPU사용률 sy: 시스템 ni: nice id: 사용되지 않는 ..

Spring framework - 인코딩 필터 적용

관련 내용 웹 개발 - 필터 API (Filter API) http://fehoon.tistory.com/108?category=722182 참고서적 : 코드로 배우는 스프링 웹프로젝트 스프링 프레임워크(Spring framework)에서 한글 처리 방법 스프링이 제공하는 필터 기능을 사용하자. web.xml 에서 하기 내용만 추가해주면 된다. encoding-filter org.springframework.web.filter.CharacterEncodingFilter encoding-filter UTF-8 encoding-filter /*

스프링 MVC에서 주로 사용하는 어노테이션 종류

스프링 MVC에서 주로 사용하는 어노테이션 종류 @어노테이션 설명 사용 @Controller 스프링 MVC의 컨트롤러 객체임을 명시하는 어노테이션 클래스 @RequestMapping 특정 URI에 매칭되는 클래스나 메소드임을 명시하는 어노테이션 클래스, 메소드 @RequestParam 요청(request)에서 특정한 파라미터의 값을 찾아낼 때 사용하는 어노테이션 파라미터 @RequestHeader 요청(request)에서 특정 HTTP 헤더 정보를 추출할 때 사용하는 어노테이션 파라미터 @PathVariable 현재의 URI에서 원하는 정보를 추출할 때 사용하는 어노테이션 파라미터 @CookieValue 현재 사용자의 쿠키가 존재하는 경우 쿠키의 이름을 이용해 서 쿠키의 값을 추출함. 파라미터 @Mode..

스프링(Spring) MVC의 컨트롤러

스프링 MVC의 컨트롤러가 무엇을 처리해 주는가? * 참고서적 : 코드로 배우는 스프링 웹프로젝트 파라미터 수집 웹에서 가장 많이하는 작업은 사용자의 요청에 필요한 데이터를 추출하고 이를 VO(Value Object) 혹은 DTO(Data Transfer Object)로 변환하는 파라미터의 수집 작업입니다. 스프링 MVC의 컨트롤러는 이러한 처리를 자동으로 해주기 때문에 개발 시간을 크게 단축할 수 있습니다. 애노테이션을 통한 간편 설정 스프링 MVC의 설정은 크게 XML과 애노테이션을 사용할 수 있지만, 애노테이션을 주로 사용합니다. 애노테이션을 사용하면 개발자는 클래스나 메소드 선언에 필요한 애노테이션을 추가하는 작업을 통해서 요청이나 응답에 필요한 모든 처리를 완료할 수 있습니다. 로직의 집중 기존..

스프링(Spring) 의 주요 특징

1. POJO 기반의 구성 내부에서 객체 간의 관계를 구성할 수 있는 특징을 가지고 있음. 다른 프레임워크들과 달리 이 관계를 구성 시 API 등을 사용하지 않는 PJOJ의 구성만으로도 가능하도록 제작되어 있습니다. 쉽게말하여 일반적인 JAVA 코드로 객체를 구성하는 방식을 그대로 스프링에서 사용할 수 있습니다. 이는 개발 시 개발자가 특정 라이브러리나 컨테이너의 기술에 종속적이지 않다는 것을 의미합니다. 개발자는 가장 일반적인 형태로 코드를 작성하고 실행할 수 있기 때문에 생산성이 유리하며, 코드에 대한 테스트 작업 역시 좀 더 유연하게 할 수 있습니다. 2. 의존성 주입(DI)을 통한 객체 간의 관계 구성 * 의존성 주입(DI-Dependency Injection)과 제어의 역행IoC(Inversio..

메이븐(MAVEN) 이란 무엇일까?

MAVEN ? 아파치 메이븐(Apache Maven)은 자바용 프로젝트 관리 도구이다. 아파치 앤트의 대안으로 만들어졌다. 아파치 라이선스로 배포되는 오픈 소스 소프트웨어이다. -위키백과 中 메이븐은 엄밀하게 말하면 프로젝트 관리 도구로 프로젝트의 시작과 끝까지 단계에 맞춰서 사용하는 개발 도구이다. 가장 많이 사용되는 용도는 프로젝트에 필요한 의존적인 라이브러리를 자동으로 관리해 주는 용도로도 많이 사용된다. - 코드로 배우는 스프링 웹프로젝트 中 메이븐이란? 라이브러리에 대한 의존 관계를 관리, 프로젝트 빌드에 필요한 기능을 제공하는 역할을 합니다! 메이븐이 지원하는 기능에는? 빌드 문서화 리포팅 의존 관계 소스 코드 관리 릴리즈 배포 maven의 라이프사이클 최종적인 빌드 순서는 compile-> ..

POJO & EJB?

출처: http://blog.naver.com/acatholic/90176619710 POJO (Plain Old java Object) 를 해석하면 평범 자바 오브젝트라고 한다. POJO를 이해 하기 전 POJO라는 단어가 만들어진 역사적 배경을 살펴볼 필요가 잇다. POJO는 마틴 파울러가 2000년 가을에 열렸던 어느 컨퍼런스의 발표를 준비하면서 처음 만들어낸 말이다. 마틴 파울러는 EJB(Enterprise JavaBean)보다는 단순한 자바 오브젝트에 도메인 로직을 넣어 사용하는 것이 여러가지 장점이 있는데도 왜 사람들이 그 EJB가 아닌 '평범한자바 오브젝트'를 사용하기를 꺼려 하는지에 대해 의문을 가졌다. 그리고 그는 단순한 오브젝트에는 EJB와 같은 그럴듯한 이름이 없어어서 그 사용을 주저..

데이터베이스 자료형과 맵핑되는 JAVA의 자료형

데이터베이스 자료형과 맵핑되는 JAVA의 자료형 출처 : IBM Knowledge Center 데이터베이스 자료형과 자바JAVA(JDBC) 매칭 매치 맵핑 자료형 맞추기 테이블 컬럼 갱신을 위한 자료형 Java 자료형 데이터베이스 자료형 short, java.lang.Short SMALLINT short, java.lang.Short BOOLEAN boolean, java.lang.Boolean BOOLEAN int, java.lang.Integer INTEGER int, java.lang.Integer SERIAL long, java.lang.Long INT8 long, java.lang.Long BIGINT long, java.lang.Long SERIAL8 long, java.lang.Long BI..

Dev/JAVA 2018.01.30

웹 개발 - 필터 API (Filter API)

필터 API (Filter API) 서블릿이 요청 받기 전과 결과를 웹브라우저에게 응답하기 전에 특정 작업을 수행할 수 있도록 Filter API를 사용할 수 있다. 즉 웹 컴포넌트가 실행되기 전의 선처리 작업과 응답되기 전의 후처리 작업을 수행하는 API이다. 다수의 Filter를 체인(Chain)처럼 묶어서 적용시킬 수도 있으며, 선처리 작업의 필터를 요청필터, 후처리 작업의 필터를 응답필터라고 한다. 선처리 작업의 대표적인 적용예는 한글인코딩 및 보안관련 작업 등이고, 후처리 작업은 압축및 데이터 변환 작업 등이다. 적용 순서 1. Filter 인터페이스를 구현한 클래스를 작성한다. 2. web.xml에 태그를 사용하여 등록하거나 @WebFilter 어노테이션을 사용하여 등록한다. import ja..

JAVA 메소드 오버로딩(Overloading)

자바(JAVA) 메소드 오버로딩 (Overloading) 메소드 오버로딩은 대부분의 객체지향 언어가 지원하는 문법적인 요소이다. 이로 인해서 자바에서는 동일한 이름의 메소드를 둘 이상 정의할 수 있다. ■ 매개변수의 형이 다르거나 개수가 다르거나 class AAA{ void aFunc(int n){ . . . } void aFunc(int n1, int n2){ . . . } void aFunc(int n1, double n2){ . . . } } 동일한 메소드명으로 3개가 정의되어 있을 때 다음과 같은 상황에서 각각의 메소드를 호출하게되는 것 AAA instan = new AAA(); //인스턴스 생성 instan.aFunc(10); //a.Func(int n) 호출 instan.aFunc(10,20)..

Dev/JAVA 2018.01.28