거꾸로 바라본 세상
java final 키워드
Language/Java 2016. 8. 11. 14:08

final 키워드 - final 키워드는 주로 class 나 method 의 override를 막기위해 사용- 맴버변수, 로컬변수는 변수 초기화 이후 바꿀수 없는 변수를 만드는 용도로 사용 1. 클래스에서 final 사용ex_) A 클래스에서 final 사용시 B 클래스는 A클래스를 상속을 할 수 없다. public final final A {}public class B extends A { } (X 상속불가) 2. 메서드에서 final 사용ex_) A클래스의 a()메서드에 final키워드 입력하고, B클래스에서 A클래스를 상속한 후 a()메서드를 오버라이드 할 수 없다.\public class A { public final void a() { } }public class B extends A { pub..

원격계정 접속관리
Database/MariaDB 2016. 8. 10. 17:32

원격계정 접속관리 MariaDB를 설치하면 기본적으로 로컬( localhost)에서만 접속이 가능하고 외부에서는접속이 불가능하게 되어 있다.외부에서 접속해보면 다음과 같은 오류 메시지가 나온다 Host '135.79.246.80' is not allowed to connect to this MySQL server 로컬에서 접속하여 SELECT Host,User,Password FROM mysql.user;​ 쿼리를 날려보면 localhost가 나온다.즉 root 계정으로는 로컬에서만 접속가능하다.(같은 방법으로 root 대신 다른 사용자명도 조회할 수 있다.) MariaDB 설정 /etc/ mysql/my.cnf 설정 변경bind_address 라인을 주석처리하거나0.0.0.0 또는* 로 세팅한다.$ s..

우분투에서 MariaDB 설치하기
Database/MariaDB 2016. 8. 10. 16:36

우분투에서 MariaDB 설치하기 설치 OS : Ubuntu 14.04LTS 1. MariaDB 다운로드 1-1. https://downloads.mariadb.org/ 에 들어가서상단에 linux 전용 repositry configuration tool 페이지로 진입. 1-2. step별로 항목 선택 : Ubuntu → 14.04 LTS 'trusty' → 10.1[Stable] → KAIST File Archive 1.3 아래 순서대로 입력 Here are the commands to run to install MariaDB on your Ubuntu system: $ sudo apt-get install software-properties-common$ sudo apt-key adv --recv-k..

article thumbnail
[Netty] Netty에서 Object객체 전송 및 ByteBuf로 변환하여 전송하기
Back-End/Netty 2016. 6. 1. 17:36

0. 공통사항- Object 타입 객체를 하나 만들었다.작업환경 : 스프링 4.2.5, netty 4.1.0final 로함/* 패키지와 임포트는 생략. (1) User.java 123456789101112131415161718192021222324252627282930public class User implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private String id; private int age; public String getId() { return id; } public void setId(String id) { this.id = id; } public int getAge() { retur..

FactoryBean을 사용해야하는 경우와 사용예제(link)
Spring 2016. 5. 26. 17:18

http://www.javajigi.net/pages/viewpage.action?pageId=1044

쓰레드
Language/Java 2016. 5. 25. 13:57

동시성 : 하나의 코어에서 멀티 스레드를 번갈아가며 수행하는 성질병렬성 : 멀티 코어에서 개별 스레드를 동시에 실행하는 성질 동기화(Synchronized)-싱글 스레드 프로그램에서는 한 개의 스레드 객체를 독차지해서 사용하면 되지만, 멀티 스레드는 스레드들이 객체를 공유해서 작업해야할 경우가 있다.이 경우, A를 사용하던 객체가 B에 의해 상태가 변경될 수 있기 때문에 A가 의도했던 것과 다른 결과를 얻을 수 있다.그래서 스레드가 사용중인 객체를 다른 스레드가 변경할 수 없도록 하려면 스레드 작업이 끝날 때까지 객체에 lock을 걸어서 다른 스레드가 사용할 수 없도록 해야한다. 멀티 스레드 프로그램에서 단 하나의 스레드만 실행하도록 할 수 있는 영역을 임계영역(Critical section)이라고 한다..

MVC2패턴으로 구현한 jsp & servlet 게시판
Front-End/JSP 2016. 4. 26. 14:28

MVC2패턴으로 구현한 jsp & servlet 게시판 Mysql, java 1.7, apache tomcat 7 필요 CRUD 계시판구현 및 파일 업로드 처리DB : 커넥션 풀 이용파일 업로드 : cos 라이브러리커넥션 풀 context 경로 : META-INF/context.xml DB 테이블 create table board ( code int(5) not null primary key auto_increment, name varchar(100), price int(8), filename varchar(50), filesize integer, filedate date, content varchar(1000)); 파일 다운로드

article thumbnail
Template Method Pattern(템플릿 메서드 패턴)

Template Method Pattern Template Method Pattern 이란?상위클래스에 탬플릿에 해당하는 추상 메서드가 정의되어 있고, 하위 클래스에서 상위 클래스의 추상메서드를 구현하는 것. 즉, 상위 클래스에서 처리의 뼈대를 결정하고, 하위 클래스에서 구체적인 내용을 구현하는 패턴이다. 구현 Template Method의 구현 클래스 1. AbstarctClass(추상 클래스)- 탬플릿 메서드를 구현하는 부분으로 추상메서드를 생성한다. 2. ConcreteClasee(구현 클래스)- AbstarctClass에 정의되어 있는 추상메서드를 구체적으로 구현하는 역할을 한다. 위 그림처럼 AbstractDisplay에서 추상메서드를 만들고, 하위 클래스인 StringDisplay와 CharD..

article thumbnail
Adapter Pattern

Adapter Pattern Adapter Pattern 이란? - Adapter Pattern은 A라는 클래스의 메서드나 기능들을 B에서도 그대로 사용할 수 있게 중간매개체인 교환장치를 만들어 주어 사용하는 패턴이며 Wrapper 패턴이라고도 불린다. 한국에서는 220볼트를 사용하지만 해외에서는 110볼트를 사용해야 한다. 그래서 220볼트를 110볼트로 사용하기 위해서는 중간매게체인 어댑터(Adapter)가 필요하다. 즉, 변환장치같은 역할을 하는 것이다. Adapter Pattern의 종류 1. 클래스에 의한 Adapter Pattern- 상속을 이용한 Adapter Pattern이다. 2. 인스턴스에 의한 Adapter Pattern(위임을 사용한 Adapter Pattern) 1. 클래스에 의한..

article thumbnail
Iterator Pattern

Iterator Pattern - 어떤 하나의 집합의 정보를 하나 씩 호출하여 전체를 순차적(차례대로)으로 검색하여 처리하는 방법으로 Iterator은 무언가를 '반복하다'라는 의미이다. 1. Iterator 인터페이스 - Iterator 인터페이스는 요소를 하나씩 나열하여 루프 변수같은 역할을 수행한다. 쉽게말하면 순서대로 검색하기위한 인터페이스다. Iterator 내의 메소드는 2개 이다. public interface Iterator {boolean hasNext();E next();} hasNext() : 다음요소가 있는지 검사하는 메서드이다. - 다음 요소가 존재한다면 hasNext 반환 값이 true가 되어 조건을 수행하게 되고 false 라면 수행을 멈춘다. next() : 다음요소의 데이터..