일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java
- Python
- node.js
- bytecode
- rabbitmq
- Spring
- 자바
- 장고
- 디자인 패턴
- 데이터베이스
- 스프링 부트
- 개발
- Spring Boot
- 웹
- mysql
- 스프링
- JPA
- 자료구조
- 안드로이드
- 웹 개발
- 보안
- django
- BCI
- ORM
- db
- 스프링부트
- python3
- 파이썬
- HTTP
- 파이썬3
- Today
- Total
목록개발 (99)
semtax의 개발 일지
개요 이번 장에서는 expressjs가 무엇인지를 알아보고, expressjs를 설치하고 간단한 웹서비스를 만들어 보는것을 진행해보도록 하겠습니다. Expressjs란? expressjs는 node.js 기반의 MVC 웹 프레임워크 입니다. node.js 기반의 웹 프레임워크중에서 사용자가 가장 많은 프레임워크 입니다. 프로젝트 환경 설정 먼저 프로젝트 진행 전에, 먼저 node.js와 npm이 설치되어 있어야 합니다. 아래 명령어를 이용해서 expressjs 를 진행 할 프로젝트 환경을 설정합니다. npm init 위 명령어를 실행하면 package.json이 생성되는데, npm(node package manager)에서 저 파일을 이용하여 각 패키지들의 의존성을 관리합니다. 또한, package.js..
자바 시스템 클래스 들을 ASM으로 변경하는법 아래와 같이 자기가 직접 정의된 클래스 로더를 만들어서 수행하면 된다. 대충 순서는 다음과 같다. ClassLoader와 Class 클래스를 이용해서 변경하려는 클래스를 읽어 옴 setAccessible함수를 이용해서 권한을 수정가능한 상태로 변경함 reflection을 이용해서 ClassLoader.defineClass 을 호출하여 변경하려는 클래스에 접근 접근한 클래스를 변경후 반환 아래는 예제 코드이다. private Class loadClass(byte[] b) { // Override defineClass (as it is protected) and define the class. Class clazz = null; try { ClassLoader ..
1. ASM을 어디에다 쓰는가? 난독화 도구 제작등에도 사용 됨. JIT만들때도 활용이 가능 함. 그 외 기존 class 파일의 바이트 코드 패치를 할때 사용 됨. AspectJ 같은데서도 쓰인다고 함 2. ASM 라이브러리의 전체적인 구조 2-1. 전체 구성 Tree Based API와 Event Based API를 제공함 Tree Based API는 Top-Down으로 자바 바이트 코드를 파싱하여 생성된 AST를 순회하는 방식으로 동작 Event Based API는 순차적으로 바이트코드를 읽어들어서 특정 구문이 발견되었을때(Ex: 클래스 정의, 변수선언 등) 해당 구문이 발생하면 이벤트 핸들러가 실행되는 방식임 2-2. 주요 모듈 org.objectweb.asm : 이벤트 based API를 제공 o..