목록

'전체 글' 740건

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

  • MouseEvent와 MouseListener, MouseMotionListener, MouseWheelListener
    프로그래밍 언어/JAVA · 댓글 1
    Mouse 이벤트Mouse 이벤트는 사용자의 마우스 조작에 따라 총 8가지 경우에 발생합니다. 이 중에서 5가지 경우는 MouseListener의 메서드가 호출되고, 2가지 경우는 MouseMotionListener의 메소드가, 나머지 1가지는 MouseWheelListener의 메소드가 호출됩니다. 모든 스윙 컴포넌트가 Mouse 이벤트를 받을 수 있으며, Mouse 이벤트가 발생하면 MouseEvent 객체나 MouseWheelEvent 객체가 리스너의 메서드에 전달됩니다. 마우스가 눌러진 위치에서 그대로 떼어지면 다음 순서로 메서드가 호출됩니다.mousePressed(), mouseReleased(), mouseClicked() 하지만 마우스가 드래그되면 다음 순서로 호출됩니다.mousePresse..
  • static
    프로그래밍 언어/NODE JS · 댓글
    static 미들웨어는 정적인 파일들을 제공하는 라우터 역할을 합니다. 기본적으로 제공되기에 따로 설치할 필요 없이 express 객체 안에서 꺼내 정착하면 됩니다. 다음과 같이 사용합니다.app.use('요청 경로', express.static('실제 경로'));app.use("/", express.static(path.join(__dirname, "public"))); 함수의 인수로 정적 파일들이 담겨 있는 폴더를 지정하면 됩니다. 현재 public 폴더가 지정되어 있습니다. 예를 들어 public/stylesheets/style.css는 http://localhost:3000/stylesheets/style.css로 접근할 수 있습니다. public 폴더를 만들고 css나 js, 이미지 파일들을 p..
  • morgan
    프로그래밍 언어/NODE JS · 댓글
    morgan 연결 후 localhost:3000에 다시 접속해보면 기존 로그 외에 추가적인 로그를 볼 수 있습니다.3000 번 포트에서 대기 중모든 요청에 다 실행됩니다.GET / 요청에서만 실행됩니다.Error: 에러는 에러 처리 미들웨어로 갑니다.// 에러 스택 트레이스 생략GET / 500 13.548 ms - 50 현재 콘솔에 나오는 GET / 500 7.409ms - 50 로그는 morgan 미들웨어에서 나오는 것입니다. 요청과 응답에 대한 정보를 콘솔에 기록합니다.morgan 미들웨어는 다음과 같이 사용합니다.app.use(morgan('dev')); 인수로 dev 외에 combined, common, short, tiny 등을 넣을 수 있습니다. 인수로 바꾸면 로그가 달라집니다. 개발 환경에..
  • 바인딩
    프로그래밍 언어/자바 웹 · 댓글 1
    서블릿에서 다른 서블릿 또는JSP로 대량의 데이터를 공유하거나 전달하고 싶을 때는 바인딩(binding) 기능을 사용헙니다.바인딩의 사전적 의미는 "두 개를 하나로 묶는다"는 것입니다. 이는 웹 프로그램 실행 시 자원(데이터)을 서블릿 관련 객체에 저장하는 방법으로, 주로 HttpServletRequest, HttpSession, ServeltContext 객체에서 사용되며 저장된 자원(데이터)은 프로그램 실행 시 서블릿이나 JSP에서 공유하여 사용합니다.실제 모델2, 스트릿츠, 스프링 프레임워크로 구현하는 웹 프로그램은 이 바인딩 기능을 이용해 서블릿이나 JSP 간 데이터를 전달하고 공유합니다. 서블릿 객체에서 사용되는 바인딩 메서드관련 메서드기능setAttribute(String name, Objec..
  • KeyEvent와 KeyListener
    프로그래밍 언어/JAVA · 댓글 1
    Key 이벤트와 포커스Key 이벤트는 사용자가 키를 입력할 때 발생하는 이벤트이며, 모든 컴포넌트가 Key 이벤트를 받을 수 있습니다. 그러나 응용프로그램 내에 포커스(focus)를 가진 컴포넌트가 키 입력을 독점하기 때문에, 현재 포커스를 가진 컴포넌트에만 Key 이벤트가 전달됩니다. 포커스란 키 입력의 독점권을 뜻합니다. 버튼을 누르기 위해 키를 입력하더라도 버튼이 포커스를 가지고 있지 않다면 Key 이벤트를 받을 수 없습니다.어떤 컴포넌트에게 키를 입력하고자 하면 키나 마우스 클릭으로 포커스를 그 컴포넌트에게 이동시키켜야 합니다. 스윙 응용프로그램에서는 강제로 임의의 컴포넌트에 포커스를 주기 위해 다음 두 코드가 모두 필요합니다.component.setFocusable(true); // comp..
  • 자주 사용하는 미들웨어
    프로그래밍 언어/NODE JS · 댓글
    미들웨어는 익스프레스의 핵심입니다. 요청과 응답의 중간(middle)에 위치하여 미들웨어라고 부릅니다. 라우터와 에러 핸들러 또한 미들웨어의 일종으므로 미들웨어가 익스프레스의 전부라고 해도 과언이 아닙니다. 미들웨어 요청과 응담을 조작하여 기능을 추가하기도 하고, 나쁜 요청을 걸러내기도 합니다.미들웨어는 app.use와 함께 사용됩니다. app.use(미들웨어) 꼴입니다. 익스프레스 서버에 미들웨어를 연결해봅시다.app.jsconst express = require("express");const path = require("path");const app = express();app.set("port", process.env.PORT || 3000);app.use((req, res, next) => { ..

MouseEvent와 MouseListener, MouseMotionListener, MouseWheelListener

Mouse 이벤트Mouse 이벤트는 사용자의 마우스 조작에 따라 총 8가지 경우에 발생합니다. 이 중에서 5가지 경우는 MouseListener의 메서드가 호출되고, 2가지 경우는 MouseMotionListener의 메소드가, 나머지 1가지는 MouseWheelListener의 메소드가 호출됩니다. 모든 스윙 컴포넌트가 Mouse 이벤트를 받을 수 있으며, Mouse 이벤트가 발생하면 MouseEvent 객체나 MouseWheelEvent 객체가 리스너의 메서드에 전달됩니다. 마우스가 눌러진 위치에서 그대로 떼어지면 다음 순서로 메서드가 호출됩니다.mousePressed(), mouseReleased(), mouseClicked() 하지만 마우스가 드래그되면 다음 순서로 호출됩니다.mousePresse..

static

static 미들웨어는 정적인 파일들을 제공하는 라우터 역할을 합니다. 기본적으로 제공되기에 따로 설치할 필요 없이 express 객체 안에서 꺼내 정착하면 됩니다. 다음과 같이 사용합니다.app.use('요청 경로', express.static('실제 경로'));app.use("/", express.static(path.join(__dirname, "public"))); 함수의 인수로 정적 파일들이 담겨 있는 폴더를 지정하면 됩니다. 현재 public 폴더가 지정되어 있습니다. 예를 들어 public/stylesheets/style.css는 http://localhost:3000/stylesheets/style.css로 접근할 수 있습니다. public 폴더를 만들고 css나 js, 이미지 파일들을 p..

morgan

morgan 연결 후 localhost:3000에 다시 접속해보면 기존 로그 외에 추가적인 로그를 볼 수 있습니다.3000 번 포트에서 대기 중모든 요청에 다 실행됩니다.GET / 요청에서만 실행됩니다.Error: 에러는 에러 처리 미들웨어로 갑니다.// 에러 스택 트레이스 생략GET / 500 13.548 ms - 50 현재 콘솔에 나오는 GET / 500 7.409ms - 50 로그는 morgan 미들웨어에서 나오는 것입니다. 요청과 응답에 대한 정보를 콘솔에 기록합니다.morgan 미들웨어는 다음과 같이 사용합니다.app.use(morgan('dev')); 인수로 dev 외에 combined, common, short, tiny 등을 넣을 수 있습니다. 인수로 바꾸면 로그가 달라집니다. 개발 환경에..

바인딩

서블릿에서 다른 서블릿 또는JSP로 대량의 데이터를 공유하거나 전달하고 싶을 때는 바인딩(binding) 기능을 사용헙니다.바인딩의 사전적 의미는 "두 개를 하나로 묶는다"는 것입니다. 이는 웹 프로그램 실행 시 자원(데이터)을 서블릿 관련 객체에 저장하는 방법으로, 주로 HttpServletRequest, HttpSession, ServeltContext 객체에서 사용되며 저장된 자원(데이터)은 프로그램 실행 시 서블릿이나 JSP에서 공유하여 사용합니다.실제 모델2, 스트릿츠, 스프링 프레임워크로 구현하는 웹 프로그램은 이 바인딩 기능을 이용해 서블릿이나 JSP 간 데이터를 전달하고 공유합니다. 서블릿 객체에서 사용되는 바인딩 메서드관련 메서드기능setAttribute(String name, Objec..

KeyEvent와 KeyListener

Key 이벤트와 포커스Key 이벤트는 사용자가 키를 입력할 때 발생하는 이벤트이며, 모든 컴포넌트가 Key 이벤트를 받을 수 있습니다. 그러나 응용프로그램 내에 포커스(focus)를 가진 컴포넌트가 키 입력을 독점하기 때문에, 현재 포커스를 가진 컴포넌트에만 Key 이벤트가 전달됩니다. 포커스란 키 입력의 독점권을 뜻합니다. 버튼을 누르기 위해 키를 입력하더라도 버튼이 포커스를 가지고 있지 않다면 Key 이벤트를 받을 수 없습니다.어떤 컴포넌트에게 키를 입력하고자 하면 키나 마우스 클릭으로 포커스를 그 컴포넌트에게 이동시키켜야 합니다. 스윙 응용프로그램에서는 강제로 임의의 컴포넌트에 포커스를 주기 위해 다음 두 코드가 모두 필요합니다.component.setFocusable(true); // comp..

자주 사용하는 미들웨어

미들웨어는 익스프레스의 핵심입니다. 요청과 응답의 중간(middle)에 위치하여 미들웨어라고 부릅니다. 라우터와 에러 핸들러 또한 미들웨어의 일종으므로 미들웨어가 익스프레스의 전부라고 해도 과언이 아닙니다. 미들웨어 요청과 응담을 조작하여 기능을 추가하기도 하고, 나쁜 요청을 걸러내기도 합니다.미들웨어는 app.use와 함께 사용됩니다. app.use(미들웨어) 꼴입니다. 익스프레스 서버에 미들웨어를 연결해봅시다.app.jsconst express = require("express");const path = require("path");const app = express();app.set("port", process.env.PORT || 3000);app.use((req, res, next) => { ..