본문 바로가기

JAVA/Java Study20

[동적 컴파일] 자바 동적 컴파일러 public class DynamicCompiler { public static void main(String[] args) { String sourceCode = "public class HelloWorld {" + " public void sayHello() {" + " System.out.println(\"Hello, World!\");" + // 누락된 세미콜론 추가 " }" + "}"; try { // 컴파일된 클래스를 메모리에 저장하기 위한 임시 경로 File tempDir = new File(System... 2024. 12. 18.
[Java] 한글 자소분리 한글 검색을 할때 초성만으로 완성된 음절을 사용해야 되는 경우가 있을수 있다. 다음은 예시 화면이다.    다음에 유니코드 표를 참조하면 아래와 같은 코드를 생성 가능하다 public class KoreanDecomposer { public static void main(String[] args) { String text = "초성테스트"; for (char ch : text.toCharArray()) { System.out.println(decompose(ch)); } } public static String decompose(char ch) { // 유니코드 상에서 한글 초성, 중성, 종성의 시작 위치 .. 2024. 11. 8.
[Java] Record 기존 자바에서 사용되는 Vo, Dto 등을 대체하기 위해 나온 클래스이다. getter를 자동으로 생성되며 불변 객체인것이 특징이다.  대부분 프로젝트에서 사용되는 mybatis등 기능등과 연동이 어려울것으로 보여 과연 사용될지는 .... 개인 프로젝트에서 불변객체 사용하는 경우에는 대체해볼법 하다.  Record 자세한 내용은 아래에서 참고해볼수 있다.    Java 14부터 프리뷰 기능으로 소개된 `Record`는 Java 16에서 정식으로 도입된 데이터 클래스로, 불변 객체를 더욱 쉽게 정의할 수 있도록 설계되었습니다. `Record`를 사용하면 필드 정의와 `getter`, `equals`, `hashCode`, `toString` 메서드를 자동으로 생성하여 개발자의 반복 작업을 줄여줍니다. 다음.. 2024. 10. 30.
[GIS] 1. Shp 파일 http://www.gisdeveloper.co.kr/?p=2332 대한민국 최신 행정구역(SHP) 다운로드 – GIS Developer www.gisdeveloper.co.kr GIS 작업을 집적 해야 되는 경우가 있다면  Shp 파일이 필요하다. 요기 블로그가 년도별 파일이 잘 정리 되어있다.  먼저 국토부 자료를 사용하게되면 먼저 개념적으로 잡고 가야 될 부분이 있다.  법정동과 행정동에 차이를 알아야 한다. 행정동과 법정동 차이가 있으며 일반적으로 많이 사용하는 동이 행정동일 것이다.  하지만 .... 국토부 데이터는 법정동 기준이다. 다음 화면을 살펴 보자.      매년 행정 체계 법정동 체계 바뀔때마다 새로 코드 바꿔야된다....  ㅠ  그나마 1년 단위 체계로 진행이 된다면 조금 나은 편일.. 2024. 9. 6.
[Java] Mvc 패턴 Model1 , Model2 MVC 모델 1MVC 모델 1은 뷰와 컨트롤러의 역할이 합쳐져 있다.흔히 웹 개발을 하면 Jsp가 뷰 역할을 하는데, MVC 1에서 Jsp는 뷰와 컨트롤러의 역할을 모두 감당한다. MVC 모델 1위와 같이 Jsp가 뷰와 컨트롤러 역할을 모두 수행하면, Jsp에 Java 코드와 Html, css 등의 코드가 섞여 있어, 소스가 복잡해지고 읽기가 어려워져 유지보수가 힘들어 진다.하지만 상대적으로 설계가 간단하여 개발 속도가 빠르고 작은 프로젝트에 알맞다.    MVC 모델 2MVC 모델 2은 모델 1에서 유지보수가 힘들다는 단점을 보완하기 위해 나온 모델이다.기존에 뷰와 컨트롤러의 역할을 모두 수행하던 JSP는 뷰의 역할만 하게 하고, 대신 컨트롤러 역할을 Servlet이 수행한다.모델은 기존 MVC 1 방.. 2024. 6. 25.
[Java] Virtual Thread Java21 버전에 Virtual Thread 새로 포함되었다.  기존에 쓰레드 생성 속도및 스위칭 시간이 감소 했다고 한다.  간단한 테스트 정도는 해보았지만 톰캣과 연동등을 통한 밴치마킹을 진행해 봐야겠다.   다음 링크는 해당 내용과 관련된 링크이다.  https://techblog.woowahan.com/15398/ https://d2.naver.com/helloworld/1203723 https://www.youtube.com/watch?v=BZMZIM-n4C0&t=3729s 2024. 6. 5.