본문 바로가기

전체 글174

simple servlet 0. 개발환경 jdk 1.8 tomcat 7.0 eclipse 2021-06 1. new Dynamic Web Project (Dynamic web module version: 3.0) 2. new Servlet 3. Servlet1.java 코드가 생성됨. web.xml의 servlet-mapping을 사용하지 않고, @WebServlet이 이용되었다. package com.exmaple; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.H.. 2021. 11. 14.
spring bean 등록 확인 package smartsuite.web; import javax.inject.Inject; import org.springframework.context.ApplicationContext; public class AA { @Inject private ApplicationContext applicationContext; public void proc(String[] args) { String[] beans = applicationContext.getBeanDefinitionNames(); for (String bean : beans) { System.out.println("beanbeanbeanbeanbeanbeanbean : " + bean); } } } 2021. 10. 29.
simple express npm i express cors 1. 기본 const express = require('express'); var cors = require('cors'); const app = express(); const port = 3000; app.use(cors()); app.use(express.json({ limit: "50mb" })); app.use(express.urlencoded({ limit: "50mb", extended: false })); app.get('/*', (req, res) => { console.log('---------get---------'); console.log('req.url', req.url); console.log('req.query', req.query); res.s.. 2021. 9. 26.
빠르게 aws s3 세팅 s3 업로드 테스트를 위해서 세팅 1. 버킷 만들기 버킷 이름 AWS 리전 모든 퍼블릭 엑세스 차단 (체크 비활성화) 2. 버킷 상세 설정 [속성] 탭 "정적 웹 사이트 호스팅" 설정 [권한] 탭 버킷 정책 { "Id": "Policy1631175815016", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1631175814021", "Action": "s3:*", "Effect": "Allow", "Resource": "arn:aws:s3:::버킷명/*", "Principal": "*" } ] } IAM으로 사용자 추가 사용자 세부 정보 설정 사용자 이름 AWS 액세스 유형 선택 AWS 자격 증명 유형 선택: 액세스 키 – 프로그래밍 방식 액세스 권한.. 2021. 9. 10.
HotSwap, LiveReload, HotDeploy, HotReload ??? JRebel이 유료화가 되었다. JRebel 대신 DCEVM, springloaded를 사용하려고 하니 어느부분 버그가 있다. 제대로된 개발툴이 필요하다. node.js 진영에 비해 java 생태계의 dev tool이 점점 밀리는 느낌이다. 아니면 유료화... java에도 좋은 기능이 많지만 실제로 사용하는 예는 드물다... proxy, classloader, ASM, javassist, javaagent, eclipse plugin,, java1.8, eclipse로 spring web 개발을 한다고 가정하에 개발중에 소스코드를 변경시, 바로 적용하고 싶으면 1. Hot-swap 2. 서버 재가동 > 서버 재가동이 안전하지만 당연히 느리다. 컴퓨팅 속도를 높이면 가능할까? 서버 재가동을 빠르게 할 수 .. 2021. 7. 23.
lerna test # lerna 시작 npx lerna init # 패키지1 생성 npx lerna create test1 # 패키지2 생성 npx lerna create test2 # ignore 로 설정된 package 를 제외한 모든 package 의 npm install 을 실행한다. lerna bootstrap --hoist # 모든 package 의 node_modules 를 삭제하고, lerna bootstrap 다시 설치할 수 있다. lerna clean # 모든 package 에 설정된 devDependencies 을 root devDependencies 으로 옮긴다. # 그리고, dependencies 에 package 를 file:packages/package-1 형태로 연결한다. lerna link .. 2021. 6. 13.
lombok 같은 library를 만들면 node.js의 es6 등의 기능을 구현할 수 있지 않을까? java에서 가장 불편한 부분이 multiline string JSON 처리이다. 그리고 템플릿문자열(백틱)도 있으면 좋겠다. lombok은 없는 코드를 컴파일시에 자동으로 생성해주는데,,, 그렇다면, 여러 코드 규칙 생성해서 컴파일시에 자체적으로 변형시켜주면 되지 않을까???// TODO... 참고 https://free-strings.blogspot.com/2015/12/lombok.html Lombok은 어떻게 동작되나? 간단정리 개인적으로 개발관련 내용을 정리하는 잊지말자 블로그 입니다. free-strings.blogspot.com 이미 같은 생각은 가진 사람이 있었다. https://gyrfalcon.tistory.com/entry/.. 2021. 5. 17.
[deploy] Github Action / S3 / CodeDeploy / EC2 1년 전의 블로그들을 보더라도 Travis를 사용해서 Build를 했지만 이젠 github action(2019년)이 나와서 Travis조차도 필요없게 되었다. 아마 곧? 지금도? S3가 필요없을지도 모르겠다. 점점 CI/CD가 간소화된다. 개요: 1. Github main branch에 소스코드를 push하면, 자동으로 감지하여 Github Action에서 - 빌드하고, - 빌드결과인 jar와 관련된 파일(appspec.yml, deploy.sh)을 zip으로 압축한 다음에, - S3로 파일을 업로드 하고, - CodeDeploy기능을 실행한다.(= 업로드 된 파일을 EC2로 전송, 임의 공간에 압축 해제, appspec.yml의 내용을 실행) (소스코드ROOT/.github/workflows/main.. 2021. 5. 14.