본문 바로가기

Java28

spring3 legacy 0. eclipse 에서 maven project 생성 1. pom.xml 4.0.0 com.example SpringCxfTest 0.0.1-SNAPSHOT war SpringCxfTest Maven Webapp http://www.example.com UTF-8 1.7 1.7 3.2.8.RELEASE org.springframework spring-webmvc ${spring.framework.version} SpringCxfTest maven-clean-plugin 3.1.0 maven-resources-plugin 3.0.2 maven-compiler-plugin 3.8.0 maven-surefire-plugin 2.22.1 maven-war-plugin 3.2.2 maven-install-plu.. 2023. 1. 30.
log4j2, jersey, jdk1.8 log4j2 보안 이슈 때문에 jdk1.8 시스템에 log4j 1.x -> log4j 2.17.0 으로 변경하는 작업중 java.lang.ArrayIndexOutOfBoundsException 에러 발생. 보통 java.lang.ArrayIndexOutOfBoundsException 이슈는 고정된 배열의 크기를 넘어가면 발생하는데, 또다른 상황에서도 발생한다. 람다. lambda. lambda가 포함된 class를 읽고, 파싱할 때, lambda를 지원하지 않는 라이브러리에서도 동일한 에러가 발생한다. class 파일이 클래스로더 등에서 읽힐 때, byte[] 배열로 취급되기 때문에 배열 관련된 java.lang.ArrayIndexOutOfBoundsException 에러가 발생한 걸까? 더 깊게는 안봄.. 2021. 12. 30.
eclipse 기본 세팅 eclipse.ini -Xms256m -Xmx2048m theme 설정 (File > Import > Preferences) http://www.eclipsecolorthemes.org/ http://www.eclipsecolorthemes.org/?view=theme&id=30 window > preferences jre, server 설정 workspace 설정(utf-8) startup and shutdown 해제 show heap status show print margin 해제 java folding 해제 Auto Activation 해제 validation 해제 spelling 해제 Project > Properties Builders 확인 기타 자동정렬시 maximun line width *.. 2021. 11. 15.
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.
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.
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.