목록분류 전체보기 (54)
우리네 장

"Inside the Java Vitual Machine" 이라는 Contents를 참고하여 작성한 글입니다. class의 byte code가 실행되면서 코드적으로 참조하는 특정 클래스의 method에 대한 정보를 어디서 가져오는 지에 대한 의문에서 시작 하였습니다. 단순히 생각하면 Method Area 어디쯤에 있다고 판단이 들었으나, 확실히 짚고 넘어가고자 하여 위 컨텐츠를 참조하여 정리하였고, 오역으로 인해 잘못된 정보가 있을 수 있습니다. instance variable vs class variable - class variable : static 변수를 의미한다. 이때의 static 변수는 non-final을 의미한다. final static 변수는 변수보다는 상수에 가까우며 둘은 다르게 처리된..

빌더 패턴은 생성자 패턴 중 하나로써, 인스턴스를 생성하는 방법을 정의한다. 위와 같이 TourPlan 이라는 클래스가 존재 할 때 해당 인스턴스를 생성 할 때 모든 속성 값이 초기화 되어야 하는 경우가 있고, 불필요 하여 임의의 속성들만 값이 초기화 되어야 하는 경우가 있다. 이를 생성자로 구현하게 되면, 초기화 할 변수에 따라서 여러 개의 생성자가 생길되어 코드가 복잡해 질 수 있다. 혹은 전체 파라미터를 세팅하는 생성자 하나만을 가지고 사용할 수 있으나 파라미터를 넘겨줄 때 코드 상에서 NULL 값을 사용하게 된다는 단점이 있다. 이럴 때 빌더 패턴을 적용하게 되는데, 위와 같이 불필요한 생성자를 만들지 않아도 될 뿐만 아니라 특정 타입의 인스턴스를 생성하는 생성 프로세스를 정의할 수 있다는데 의미..

dynamic web project를 maven project로 옮기면서, maven central repository에서 지원하지 않는 lib를 pom.xml에 정의하기 위해 local repository를 생성해야 할 필요가 있었다. 참고 ) 이제는 maven central repository 에서도 ojdbcX.jar 를 불러올 수 있다..! maven에 대한 깊은 이해가 있는게 아니라서 간략히만 정리해 보도록 하겠다. - modelVersion의 4.0.0은 maven 버전을 의미한다. - groupId와 artifactId는 계층적인 구조를 표현해주기 위해 사용된다. groupId가 artifactId 보다 상위에 속한다. - artifactId + version + . + packaging 이..

😏 Servlet 이란 ? 😏 java EE 표준 플랫폼에 따른 java program servlet 단독으로 기동될 수 없다. 🎅 Servlet Container이란 ? 🎅 서블릿 컨테이너도 결국에는 java program 사용자 요청 시 마다 java thread를 생성 ( 처리 후에는 소멸 ) [ JSP와 servlet 실행 환경 구성 ] - 웹 서버와 서블릿 간의 통신 지원 ( AJP protocol 기반 ) - 통신을 위한 socket을 관리하고 stream을 조작, 리스닝 포트 설정 - 웹 서버로부터 들어온 Http Request를 바탕으로 HttpRequest와 HttpResponse 객체를 생성 - web.xml 설정에 따라 요청을 처리할 적절한 servlet을 매핑 시켜 줌 ( web.x..

※GET / POST 방식의 차이 GET POST request header에 데이터를 담아 패킷을 전송한다. request body에 데이터를 담아 패킷을 전송한다. Content-Type header 속성이 적용되지 않는다. Content-Type header 속성이 적용 된다. 1차원적인 데이터만 parameter로 전달할 수 있다. 객체속의 객체, 2차원 배열 등을 parameter로 전달할 수 있다. 웹 서버에서 cache 기능을 사용할 수 있다. 웹 서버에서 cache 기능을 사용할 수 없다. GET / POST 속도 견해 4번째 차이로 인해 발생한다. GET 방식은 캐싱 기능을 사용할 수 있어 WAS 까지 진입하지 않고도 client에 response 할 수 있어 속도면에서 더 빠르다. GE..

* Connection : 어플리케이션과 데이터베이스가 네트워크 상에서 연결되는 것을 의미한다. * connection pool : connection 객체를 맺고 끊을 때 많은 비용이 요구되기 때문에, 어플리케이션을 실행하고 나서 connection을 맺는 것이 아니라 서버에서 미리 connection 객체들을 만들어 놓고 준비해 놓는것. * datasource : application 단에서 connection pool을 관리하기 위한 용도로 사용되는 인터페이스 connection을 가져와서 사용하거나 다시 반납하는 등의 작업을 한다. [ jdbc / dbcp / jndi ] 1) jdbc 자바에서 dbms에 따라 유동적으로 데이터베이스 연결을 도와주는 드라이버 보통 jdbc는 앱 상에서 connec..

### EC2 linux2의 기본 user는 'ec2-user' 고정 ###환경 변수란? ### 엄청 큰 범위의 전역 변수 느낌? OS가 참조하는 변수를 의미한다. 만약에 환경 변수가 설정 되어있지 않으면, cmd창에서 'java -version'과 같은 명령어는 실행되지 않는다. jdk 는 개발과 실행 모두를 위한 directory이고, jre는 실행만을 위한 directory라서 개발 시에는 jdk가 안정성이 더 높다. EC2에서는 지원하는 linux를 'yum list java'로 확인 할 수 있고 install 명령어로 설치 가능하다. java 명령어는 java 파일을 compile해서 실행하는 명령어이고, javac 명령어는 java 파일을 class파일로 compile 해주는 명령어 이다. -..

개발 하다가 알게 된 내용들 정리! index 1. jsp에서 controller로 파라미터 넘겨줄 때 사용하는 @어노테이션 종류 2. jsp에서 ajax를 사용하여 controller로 List 넘기는 방법 1. jsp에서 controller로 파라미터 넘겨줄 때 사용하는 @어노테이션 종류 구글에 찾아보면 많은 자료가 있으므로 간단하게 정리 1) HttpServletRequest 객체에서 가져오는 방법 HttpServletRequest.getParameter("xx") : String type의 파라미터를 다룰 때 HttpServletReqeust.getAttribute("yy") : Object type의 파라미터를 다룰 때 *** 많이 사용하는 방식은 아님 *** 2) @RequestParam 2-..