목록

'전체 글' 740건

코드로 놀고, 언어로 성장하는 공방.

  • 여러 컴포넌트를 가진 복잡한 GUI 만들기
    프로그래밍 언어/JAVA · 댓글 5
    컨텐트팬에 BorderLayout을 사용하면 5개의 컴포넌트만 출력 가능하고, GridLayout을 사용하면 격자 모양으로만 배치할 수 있는 등 컴포넌트의 개수와 배치 모양에 한계가 있습니다. 많은 컴포넌트을 배치하면서 다양한 모양의 GUI를 만들기 위해서는 여러 채널과 여러 배치관리자를 사용하면 됩니다. 여러 컴포넌트를 가진 GUI 만들기import javax.swing.*;import java.awt.*;public class MultiplePanelEx extends JFrame { public MultiplePanelEx() { super("Mutiple Panels and Layouts"); // 타이틀 setDefaultCloseOperation(JFrame.EX..
  • npm 알아보기 & package.json으로 패키지 관리하기
    프로그래밍 언어/NODE JS · 댓글 1
    npm 알아보기npm은 Node Package Manager의 약어로, 이를 그대로 노드 패키지 매니저입니다. 대부분의 자바스크립트 프로그램은 패키지라는 이름으로 npm에 등록되어 있으므로 특정 기능을 하는 패키지가 필요하다면 npm에 찾아 설치하면 됩니다.방대한 양의 패키지는 노드와 자바스크립트의 생태계를 더욱 견고하게 만들고 있습니다. 게다가 대부분 오픈 소스여서 노드를 사용해 웹을 개발할 때 많은 도움이 됩니다.npm에 업로드된 노드 모듈을 패키지라고 부릅니다. 모듈이 다른 모듈을 사용할 수 있는 것처럼, 패키지가 다른 패키지를 사용할 수도 있습니다. package.json으로 패키지 관리하기설치한 패키지의 버전을 관리하는 파일이 바로 package.json입니다. 따라서 노드 프로젝트를 시작하기 ..
  • 톰캣의 DataSource로 연동해 회원 정보 조회 실습
    프로그래밍 언어/자바 웹 · 댓글 1
    1. sec02.ex01 패키지를 만들고 MemberDAO, MemberServlet, MemberVO 클래스를 만듭니다.package sec02.ex01;import java.sql.Date;public class MemberVO { private String id; private String pwd; private String name; private String email; private Date joinDate; public MemberVO() { System.out.println("MemberVO 생성자 호출"); } public String getId() { return id; } public void setId(String id) { this.id = id; } public Strin..
  • 배치관리자 없는 컨테이너
    프로그래밍 언어/JAVA · 댓글 2
    배치관리자가 없는 컨테이너가 필요한 경우모든 컨테이너는 배치관리자를 가지고, 배치관리자가 컴포넌트의 위치와 크기를 결정하도록 하는 것아 자바 GUI의 기본 정신입니다. 배치관리자는 컴포난트를 절대적인 위치에 배치하지 않고, 다른 컴포넌트의 오른쪽이나 아래와 같이 상대적인 위치에 배치합니다. 그러므로 컨테이너의 크기가 변하면 컴포넌트의 위치도 함께 변합니다.배치 관리자를 사용하면 컴포넌트의 위치에 대해 신경쓰지 않아도 되지만, 한편으로 컴포넌트의 위치를 자동 결정하는 배치관리자가 오히려 불편한 경우들이 종종 있습니다. 컴포넌트의 크기나 위치를 개발자가 결정하고자 하는 경우게임 프로그램과 같이 시간이나 마우스/키보드의 입력에 따라 컴포넌트들의 위치와 크기가 수시로 변하는 경우여러 컴포넌트들이 겹치는 효과를 ..
  • cluster
    프로그래밍 언어/NODE JS · 댓글
    cluster 모듈은 기본적으로 싱글 프로세스로 동작하는 노드가 CPU 코어를 모두 사용할 수 있게 해주는 모듈입니다. 포트를 공유하는 노드 프로세스를 여러 개 둘 수도 있으므로, 요청이 많이 들어왔을 때 병렬로 실행된 서버의 개수만큼 요청이 분산되게 할 수 있습니다. 서버에 무리가 덜 가게 되는 셈입니다.cluster 모듈을 설정하여 코어 하나당 노드 프로세스 하나가 돌아가게 할 수 있습니다. 코어를 하나만 사용할 때에 비해 성능이 개선됩니다. 하지만 장점만 있는 것은 아니며, 메모리를 공유하기 못하는 등의 단점도 있습니다. 세션을 메모리에 저장하는 경우 문제가 될 수 있습니다. 이는 레디스 등의 서버를 도입하여 해결할 수 있습니다. cluster.jsconst cluster = require("clu..
  • DataSource 이용해 데이터베이스 연동하기
    프로그래밍 언어/자바 웹 · 댓글 1
    미리 데이터베이스와 연결시킨 상태를 유지하는 기술을 커넥션풀(ConnectionPool)이라고 부릅니다.커넥션풀 동작 과정1. 톰캣 컨테이너를 실행한 후 응용 프로그램을 실행합니다.2. 톰캣 컨테이너 실행 시 ConnectionPool 객체를 생성합니다.3. 생성된 커넥션 객체는 DBMS와 연결합니다.4. 데이터베이스와의 연동 작업이 필요한 경우 응용 프로그램은 ConnectionPool에서 제공하는 메서드를 호출하여 연동합니다. 톰캣 컨테이너는 자체적으로 ConnectionPool 기능을 제공합니다. 톰캣 실행 시 톰캣은 설정 파일에 설정된 데이터베이스 정보를 이용해 미리 데이터베이스와 연결하여 ConnectionPool 객체를 생성한 후 애플리케이션이 데이터베이스와 연동할 일이 생기면 Connecti..

여러 컴포넌트를 가진 복잡한 GUI 만들기

컨텐트팬에 BorderLayout을 사용하면 5개의 컴포넌트만 출력 가능하고, GridLayout을 사용하면 격자 모양으로만 배치할 수 있는 등 컴포넌트의 개수와 배치 모양에 한계가 있습니다. 많은 컴포넌트을 배치하면서 다양한 모양의 GUI를 만들기 위해서는 여러 채널과 여러 배치관리자를 사용하면 됩니다. 여러 컴포넌트를 가진 GUI 만들기import javax.swing.*;import java.awt.*;public class MultiplePanelEx extends JFrame { public MultiplePanelEx() { super("Mutiple Panels and Layouts"); // 타이틀 setDefaultCloseOperation(JFrame.EX..

npm 알아보기 & package.json으로 패키지 관리하기

npm 알아보기npm은 Node Package Manager의 약어로, 이를 그대로 노드 패키지 매니저입니다. 대부분의 자바스크립트 프로그램은 패키지라는 이름으로 npm에 등록되어 있으므로 특정 기능을 하는 패키지가 필요하다면 npm에 찾아 설치하면 됩니다.방대한 양의 패키지는 노드와 자바스크립트의 생태계를 더욱 견고하게 만들고 있습니다. 게다가 대부분 오픈 소스여서 노드를 사용해 웹을 개발할 때 많은 도움이 됩니다.npm에 업로드된 노드 모듈을 패키지라고 부릅니다. 모듈이 다른 모듈을 사용할 수 있는 것처럼, 패키지가 다른 패키지를 사용할 수도 있습니다. package.json으로 패키지 관리하기설치한 패키지의 버전을 관리하는 파일이 바로 package.json입니다. 따라서 노드 프로젝트를 시작하기 ..

톰캣의 DataSource로 연동해 회원 정보 조회 실습

1. sec02.ex01 패키지를 만들고 MemberDAO, MemberServlet, MemberVO 클래스를 만듭니다.package sec02.ex01;import java.sql.Date;public class MemberVO { private String id; private String pwd; private String name; private String email; private Date joinDate; public MemberVO() { System.out.println("MemberVO 생성자 호출"); } public String getId() { return id; } public void setId(String id) { this.id = id; } public Strin..

배치관리자 없는 컨테이너

배치관리자가 없는 컨테이너가 필요한 경우모든 컨테이너는 배치관리자를 가지고, 배치관리자가 컴포넌트의 위치와 크기를 결정하도록 하는 것아 자바 GUI의 기본 정신입니다. 배치관리자는 컴포난트를 절대적인 위치에 배치하지 않고, 다른 컴포넌트의 오른쪽이나 아래와 같이 상대적인 위치에 배치합니다. 그러므로 컨테이너의 크기가 변하면 컴포넌트의 위치도 함께 변합니다.배치 관리자를 사용하면 컴포넌트의 위치에 대해 신경쓰지 않아도 되지만, 한편으로 컴포넌트의 위치를 자동 결정하는 배치관리자가 오히려 불편한 경우들이 종종 있습니다. 컴포넌트의 크기나 위치를 개발자가 결정하고자 하는 경우게임 프로그램과 같이 시간이나 마우스/키보드의 입력에 따라 컴포넌트들의 위치와 크기가 수시로 변하는 경우여러 컴포넌트들이 겹치는 효과를 ..

cluster

cluster 모듈은 기본적으로 싱글 프로세스로 동작하는 노드가 CPU 코어를 모두 사용할 수 있게 해주는 모듈입니다. 포트를 공유하는 노드 프로세스를 여러 개 둘 수도 있으므로, 요청이 많이 들어왔을 때 병렬로 실행된 서버의 개수만큼 요청이 분산되게 할 수 있습니다. 서버에 무리가 덜 가게 되는 셈입니다.cluster 모듈을 설정하여 코어 하나당 노드 프로세스 하나가 돌아가게 할 수 있습니다. 코어를 하나만 사용할 때에 비해 성능이 개선됩니다. 하지만 장점만 있는 것은 아니며, 메모리를 공유하기 못하는 등의 단점도 있습니다. 세션을 메모리에 저장하는 경우 문제가 될 수 있습니다. 이는 레디스 등의 서버를 도입하여 해결할 수 있습니다. cluster.jsconst cluster = require("clu..

DataSource 이용해 데이터베이스 연동하기

미리 데이터베이스와 연결시킨 상태를 유지하는 기술을 커넥션풀(ConnectionPool)이라고 부릅니다.커넥션풀 동작 과정1. 톰캣 컨테이너를 실행한 후 응용 프로그램을 실행합니다.2. 톰캣 컨테이너 실행 시 ConnectionPool 객체를 생성합니다.3. 생성된 커넥션 객체는 DBMS와 연결합니다.4. 데이터베이스와의 연동 작업이 필요한 경우 응용 프로그램은 ConnectionPool에서 제공하는 메서드를 호출하여 연동합니다. 톰캣 컨테이너는 자체적으로 ConnectionPool 기능을 제공합니다. 톰캣 실행 시 톰캣은 설정 파일에 설정된 데이터베이스 정보를 이용해 미리 데이터베이스와 연결하여 ConnectionPool 객체를 생성한 후 애플리케이션이 데이터베이스와 연동할 일이 생기면 Connecti..