목록

'홈' 729건

  • querystring
    프로그래밍 언어/NODE JS · 댓글
    WHATWG 방식의 url 대신 기존 노드의 url을 사용할 때, search 부분을 사용하기 쉽게 객체로 만드는 모듈입니다. querystring.jsconst url = require("url");const querystring = require("querystring");const parsedUrl = url.parse( "http://www.gilbut.co.kr/?page=3&limit=10&category=nodejs&category=javascript");const query = querystring.parse(parsedUrl.query);console.log("querystring.parse():", query);console.log("querystring.stringify():", q..
  • FirstServlet을 이용한 실습
    프로그래밍 언어/자바 웹 · 댓글
    사용자 정의 서블릿 만들기실제 웹 프로그래밍에서 사용되는 사용자 정의 서블릿은 HttpServlet 클래스를 상속받아서 만듭니다.그리고 3개의 생명주기 메서드, 즉 init(), doGet(), destory() 메서드를 오버라이딩해서 기능을 구햔합니다. 사용자 정의 서블릿 형식public class FirstServlet extends HttpServlet { @Override public void init() { ... } @Override public void doGet(HttpServletRequest req, HttpServletResponse res) { ... } @Override public void destory() { ... }} 톰캣의 servlet-api.jar 클래스 패스 ..
  • 서블릿의 생명조기 메서드
    프로그래밍 언어/자바 웹 · 댓글
    서블릿도 자바 클래스이므로 실행하면 당연히 초기화 과정 그리고 메모리에 인스턴스를 생성하여 서비스를 수행한 후 다시 소멸하는 과정을 거칩니다. 이런 단계를 거칠 때마다 서블릿 클래스의 메소드가 호출되어 초기화, 데이터베이스 연동, 마무리 작업을 수행합니다. 각 과정에서 호출되어 기능을 수행하는 메소드들이 서블릿 생명주기 메소드입니다.따라서 서블릿 생명주기(Life Cycle) 메서드란 서블릿 실행 단계마다 호출되어 기능을 수행하는 콜백 메서드를 말합니다. 서블릿의 생명주기 메소드 기능생명주기 단계호출 메서드특징초기화init()서블릿 요청 시 맨 처음 한 번만 호출됩니다.서블릿 생성 시 초기화 작업을 주로 수행합니다.작업 수행doGet()doPost()서블릿 요청 시 매번 호출됩니다.실제로 클라이언트가 요..
  • 컬렉션의 순차 검색을 위한 Iterator
    프로그래밍 언어/JAVA · 댓글
    Vector, ArrayList, LinkedList, Set과 같이 요소사 순서대로 저장된 컬렉션에서 요소를 순차 검색할 때 java.util 패키지의 Iterator 인터페이스를 사용하면 편리합니다. 여기서 에는 컬렉션의 메개변수와 동일한 타입을 지정해야 합니다. Iterator의 메소드 간단하지만 매우 강력합니다. 다음 백터가 있다고 합시다.Vector v = new Vector(); // 요소가 Integer 타입인 백터 다음과 같이 벡터 v의 iterator()를 호출히여, 벡터 v의 각 요소를 순차적으로 검색할 수 있는 Iterator 객체를 얻어냅니다. Iterator 객체를 반복자라고 부릅니다.Iterator it = v.iterator(); // 벡터 v의 요소를 순차 검색할 Iterat..
  • url
    프로그래밍 언어/NODE JS · 댓글
    인터넷 주소를 쉽게 조작하도록 도와주는 모듈입니다. url 처리에는 크게 두 가지 방식이 있습니다. 노드 버전 7에서 추가된 WHATWG(웹 표준을 정하는 단체의 이름) 방식의 url과 예전부터 노드에서 사용하던 방식의 url이 있습니다.가운데 주소를 기준으로 위쪽은 기존 노드의 url 구분 방법이고, 아래쪽은 WHATWG의 url 구분 방법입니다.  url.jsconst url = require("url");const { URL } = url;const myURL = new URL("https://melocoding.tistory.com/");console.log("new URL():", myURL);console.log("url.format():", url.format(myURL));console.l..
  • 서블릿 API 계층 구조와 기능
    프로그래밍 언어/자바 웹 · 댓글
    서블릿은 클래스 간의 계층 구조를 가집니다. 서블릿 API는 Servlet과 ServletConfig 인터페이스를 구현해 제공하며 GenericSerclet 추상 클래스가 이 두 인터페이스의 추상 메서드를 구현합합니다. 그리고 이 GenericServlet을 다시 HttpServlet이 상속받습니다. 서블릿 API 기능서블릿 API 구성 요소 특징서블릭 구성 요소기능Servlet 인터페이스javax.servlet 패키지에 선언되어 있습니다.Servlet 관련 추상 메소드를 선언합니다.init(), service(), destory(), getServletInfo(), getServletConfig()를 선언합니다.ServletConfig 인터페이스javax.servlet 패키지에 선언되어 있습니다.Ser..
  • ArrrayList<E>
    프로그래밍 언어/JAVA · 댓글
    ArrayList(이하 ArrayList)는 가변 크기의 배열을 구현한 컬렉션 클래스로서 경로명은 java.util.ArrayList이며, Vector 클래스와 거의 동일합니다. 크게 다른 점은 ArrayList는 스레드 간에 동기화를 지원하지 않기 때문에, 다수의 스레드가 동시에 ArrayList에 요소를 삽입하거나 삭제할 때 ArrayList의 데이터가 훼손될 유려가 있습니다. 하지만 멀티스레드 동기화를 위한 시간 소모가 없기 때문에, ArrayList는 Vector보다 속도가 빨라, 단일 스레드 응용에는 더 효과적입니다.ArrayList 객체의 내부 구성을 보여줍니다. 내부의 배열을 가지고 있으며 이 배열을 가변 크기로 관리합니다. ArrayList는 인덱스로 요소를 접근할 수 있으며, 인덱스는 0..
  • path
    프로그래밍 언어/NODE JS · 댓글
    폴더의 파일의 경로를 쉽게 조작하도록 도와주는 모듈입니다. path 모듈이 필요한 이유 중 하나는 운영체제별로 경로 구분자가 다르기 때문입니다. 크게 윈도 타입과 POSIX 타입으로 구분됩니다. POSIX는 유닉스 기반의 운영체제들을 의미하여 맥과 리눅스가 속해 있습니다.윈도: C:\Users\Zzangchae처럼 \로 구분합니다.POSIX: /home/zzangchae처럼 /로 구분합니다.path 모듈의 속성과 메소드를 알아봅시다.path.jsconst path = require("path");const string = __filename;console.log("path.sep:", path.sep);console.log("path.delimiter:", path.delimiter);console.lo..
  • Vector<E>
    프로그래밍 언어/JAVA · 댓글
    Vector는 배열을 가변 크기로 다룰 수 있게 하고, 객체의 삽입, 삭제, 이동이 쉽도록 구성한 컬렉션 클래스입니다. 벡터는 는 삽입되는 요소의 개수에 따라 자동으로 크기를 조절하고, 요소의 삽입과 삭제에 따라 자동으로 요소들의 자리를 이동합니다.백터 생성객체를 생성할 때, Vector의 E에 요소로 사용할 타입을 지정합니다. 예를 들어, 정수 값만을 다루는 벡터를 만들고자 하면 다음과 같이 E에 Integer를 지정합니다.Vector v = new Vector(); 벡터 v는 int, char, double 등의 기본 타입은 E에 사용할 수는 없습니다.Vector v = new Vector(); // 오류. int는 사용 불가 레퍼런스 변수 선언과 벡터 생성을 분리하여 코드를 만들 수 있으며, 문자열..
  • 서블릿이란?
    프로그래밍 언어/자바 웹 · 댓글
    서블릿은 서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스입니다. 서블릿은 자바로 작성되어 있으므로 자바의 일반적인 특징을 모두 가집니다. 하지만 서블릿은 일반 자바 프로그램과 다르게 독자적으로 실행되지 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다는 점에 차이가 있습니다.서블릿은 서버에서 실행되다가 웹 브라우저에서 요청을 하면 해당 기능을 수행한 후 웹 브라우저에 결과를 전송합니다. 서버에서 실행되므로 보안과 관련된 기능도 훨씬 안전하게 수행할 수 있습니다. 클라이언트가 웹 서버에 요청하면 웹 서버는 그 요청을 톰캣과 같은 웹 애플리케이션 서버(WAS)에 위임합니다. 그러면 WAS는 각 요청에 해당하는 서블릿을 실행합니다. 그리고 서블릿은 요청에 대..
  • OS
    프로그래밍 언어/NODE JS · 댓글
    웹 브라우저에 사용되는 자바스크립트의 정보를 가져올 수 있지만, 노드는 os 모듈에 정보가 담겨 있어 정보를 가져올 수 있습니다. os.jsconst os = require("os");console.log("운영체제 정보---------------------");console.log("os.path():", os.arch());console.log("os.platform():", os.platform());console.log("os.type():", os.type());console.log("os.uptime()", os.uptime());console.log("os.hostname()", os.hostname());console.log("os.release()", os.release());consol..
  • 웹 애플리케이션 서비스하기
    프로그래밍 언어/자바 웹 · 댓글
    톰캣에 배치하기개발을 마친 후에는 프로젝트를 war 압축 파일을 만든 후 FTP를 이용해 톰켓이 설치된 리눅스나 유닉스 같은 운영 서버에 업로드합니다. 그리고 텔넷(telnet)을 이용해 bin 폴더의 Tomcat.exe를 다시 실행하면 톰캣 실행 시 war 파일의 압축이 해제됨과 동시에 자동으로 등록되어 웹 애플리케이션이 실행됩니다.1. 이클립스 상단 메뉴에서 File > Export...를 선택합니다.  2. Web 항목의 WAR file을 선택한 후 Next를 클릭합니다. 3. Browse... 클릭해 war 파일을 저장할 위치를 지정합니다. 4. 톰캣 폴더의 webapps 디렉터리를 저장하고 webShop.war라는 파일 이름으로 저장합니다.  5. 지정한 war 파일의 경로를 최종 확인한 후 F..

querystring

WHATWG 방식의 url 대신 기존 노드의 url을 사용할 때, search 부분을 사용하기 쉽게 객체로 만드는 모듈입니다. querystring.jsconst url = require("url");const querystring = require("querystring");const parsedUrl = url.parse( "http://www.gilbut.co.kr/?page=3&limit=10&category=nodejs&category=javascript");const query = querystring.parse(parsedUrl.query);console.log("querystring.parse():", query);console.log("querystring.stringify():", q..

FirstServlet을 이용한 실습

사용자 정의 서블릿 만들기실제 웹 프로그래밍에서 사용되는 사용자 정의 서블릿은 HttpServlet 클래스를 상속받아서 만듭니다.그리고 3개의 생명주기 메서드, 즉 init(), doGet(), destory() 메서드를 오버라이딩해서 기능을 구햔합니다. 사용자 정의 서블릿 형식public class FirstServlet extends HttpServlet { @Override public void init() { ... } @Override public void doGet(HttpServletRequest req, HttpServletResponse res) { ... } @Override public void destory() { ... }} 톰캣의 servlet-api.jar 클래스 패스 ..

서블릿의 생명조기 메서드

서블릿도 자바 클래스이므로 실행하면 당연히 초기화 과정 그리고 메모리에 인스턴스를 생성하여 서비스를 수행한 후 다시 소멸하는 과정을 거칩니다. 이런 단계를 거칠 때마다 서블릿 클래스의 메소드가 호출되어 초기화, 데이터베이스 연동, 마무리 작업을 수행합니다. 각 과정에서 호출되어 기능을 수행하는 메소드들이 서블릿 생명주기 메소드입니다.따라서 서블릿 생명주기(Life Cycle) 메서드란 서블릿 실행 단계마다 호출되어 기능을 수행하는 콜백 메서드를 말합니다. 서블릿의 생명주기 메소드 기능생명주기 단계호출 메서드특징초기화init()서블릿 요청 시 맨 처음 한 번만 호출됩니다.서블릿 생성 시 초기화 작업을 주로 수행합니다.작업 수행doGet()doPost()서블릿 요청 시 매번 호출됩니다.실제로 클라이언트가 요..

컬렉션의 순차 검색을 위한 Iterator

Vector, ArrayList, LinkedList, Set과 같이 요소사 순서대로 저장된 컬렉션에서 요소를 순차 검색할 때 java.util 패키지의 Iterator 인터페이스를 사용하면 편리합니다. 여기서 에는 컬렉션의 메개변수와 동일한 타입을 지정해야 합니다. Iterator의 메소드 간단하지만 매우 강력합니다. 다음 백터가 있다고 합시다.Vector v = new Vector(); // 요소가 Integer 타입인 백터 다음과 같이 벡터 v의 iterator()를 호출히여, 벡터 v의 각 요소를 순차적으로 검색할 수 있는 Iterator 객체를 얻어냅니다. Iterator 객체를 반복자라고 부릅니다.Iterator it = v.iterator(); // 벡터 v의 요소를 순차 검색할 Iterat..

url

인터넷 주소를 쉽게 조작하도록 도와주는 모듈입니다. url 처리에는 크게 두 가지 방식이 있습니다. 노드 버전 7에서 추가된 WHATWG(웹 표준을 정하는 단체의 이름) 방식의 url과 예전부터 노드에서 사용하던 방식의 url이 있습니다.가운데 주소를 기준으로 위쪽은 기존 노드의 url 구분 방법이고, 아래쪽은 WHATWG의 url 구분 방법입니다.  url.jsconst url = require("url");const { URL } = url;const myURL = new URL("https://melocoding.tistory.com/");console.log("new URL():", myURL);console.log("url.format():", url.format(myURL));console.l..

서블릿 API 계층 구조와 기능

서블릿은 클래스 간의 계층 구조를 가집니다. 서블릿 API는 Servlet과 ServletConfig 인터페이스를 구현해 제공하며 GenericSerclet 추상 클래스가 이 두 인터페이스의 추상 메서드를 구현합합니다. 그리고 이 GenericServlet을 다시 HttpServlet이 상속받습니다. 서블릿 API 기능서블릿 API 구성 요소 특징서블릭 구성 요소기능Servlet 인터페이스javax.servlet 패키지에 선언되어 있습니다.Servlet 관련 추상 메소드를 선언합니다.init(), service(), destory(), getServletInfo(), getServletConfig()를 선언합니다.ServletConfig 인터페이스javax.servlet 패키지에 선언되어 있습니다.Ser..

ArrrayList<E>

ArrayList(이하 ArrayList)는 가변 크기의 배열을 구현한 컬렉션 클래스로서 경로명은 java.util.ArrayList이며, Vector 클래스와 거의 동일합니다. 크게 다른 점은 ArrayList는 스레드 간에 동기화를 지원하지 않기 때문에, 다수의 스레드가 동시에 ArrayList에 요소를 삽입하거나 삭제할 때 ArrayList의 데이터가 훼손될 유려가 있습니다. 하지만 멀티스레드 동기화를 위한 시간 소모가 없기 때문에, ArrayList는 Vector보다 속도가 빨라, 단일 스레드 응용에는 더 효과적입니다.ArrayList 객체의 내부 구성을 보여줍니다. 내부의 배열을 가지고 있으며 이 배열을 가변 크기로 관리합니다. ArrayList는 인덱스로 요소를 접근할 수 있으며, 인덱스는 0..

path

폴더의 파일의 경로를 쉽게 조작하도록 도와주는 모듈입니다. path 모듈이 필요한 이유 중 하나는 운영체제별로 경로 구분자가 다르기 때문입니다. 크게 윈도 타입과 POSIX 타입으로 구분됩니다. POSIX는 유닉스 기반의 운영체제들을 의미하여 맥과 리눅스가 속해 있습니다.윈도: C:\Users\Zzangchae처럼 \로 구분합니다.POSIX: /home/zzangchae처럼 /로 구분합니다.path 모듈의 속성과 메소드를 알아봅시다.path.jsconst path = require("path");const string = __filename;console.log("path.sep:", path.sep);console.log("path.delimiter:", path.delimiter);console.lo..

Vector<E>

Vector는 배열을 가변 크기로 다룰 수 있게 하고, 객체의 삽입, 삭제, 이동이 쉽도록 구성한 컬렉션 클래스입니다. 벡터는 는 삽입되는 요소의 개수에 따라 자동으로 크기를 조절하고, 요소의 삽입과 삭제에 따라 자동으로 요소들의 자리를 이동합니다.백터 생성객체를 생성할 때, Vector의 E에 요소로 사용할 타입을 지정합니다. 예를 들어, 정수 값만을 다루는 벡터를 만들고자 하면 다음과 같이 E에 Integer를 지정합니다.Vector v = new Vector(); 벡터 v는 int, char, double 등의 기본 타입은 E에 사용할 수는 없습니다.Vector v = new Vector(); // 오류. int는 사용 불가 레퍼런스 변수 선언과 벡터 생성을 분리하여 코드를 만들 수 있으며, 문자열..

서블릿이란?

서블릿은 서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스입니다. 서블릿은 자바로 작성되어 있으므로 자바의 일반적인 특징을 모두 가집니다. 하지만 서블릿은 일반 자바 프로그램과 다르게 독자적으로 실행되지 못하고 톰캣과 같은 JSP/Servlet 컨테이너에서 실행된다는 점에 차이가 있습니다.서블릿은 서버에서 실행되다가 웹 브라우저에서 요청을 하면 해당 기능을 수행한 후 웹 브라우저에 결과를 전송합니다. 서버에서 실행되므로 보안과 관련된 기능도 훨씬 안전하게 수행할 수 있습니다. 클라이언트가 웹 서버에 요청하면 웹 서버는 그 요청을 톰캣과 같은 웹 애플리케이션 서버(WAS)에 위임합니다. 그러면 WAS는 각 요청에 해당하는 서블릿을 실행합니다. 그리고 서블릿은 요청에 대..

OS

웹 브라우저에 사용되는 자바스크립트의 정보를 가져올 수 있지만, 노드는 os 모듈에 정보가 담겨 있어 정보를 가져올 수 있습니다. os.jsconst os = require("os");console.log("운영체제 정보---------------------");console.log("os.path():", os.arch());console.log("os.platform():", os.platform());console.log("os.type():", os.type());console.log("os.uptime()", os.uptime());console.log("os.hostname()", os.hostname());console.log("os.release()", os.release());consol..

웹 애플리케이션 서비스하기

톰캣에 배치하기개발을 마친 후에는 프로젝트를 war 압축 파일을 만든 후 FTP를 이용해 톰켓이 설치된 리눅스나 유닉스 같은 운영 서버에 업로드합니다. 그리고 텔넷(telnet)을 이용해 bin 폴더의 Tomcat.exe를 다시 실행하면 톰캣 실행 시 war 파일의 압축이 해제됨과 동시에 자동으로 등록되어 웹 애플리케이션이 실행됩니다.1. 이클립스 상단 메뉴에서 File > Export...를 선택합니다.  2. Web 항목의 WAR file을 선택한 후 Next를 클릭합니다. 3. Browse... 클릭해 war 파일을 저장할 위치를 지정합니다. 4. 톰캣 폴더의 webapps 디렉터리를 저장하고 webShop.war라는 파일 이름으로 저장합니다.  5. 지정한 war 파일의 경로를 최종 확인한 후 F..