본문 바로가기
반응형

IT/Java394

List 와 map 에 대해서 이전 포스팅에서 list, map , set 에 대해서 다룬적이 있다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. 이번 포스팅은 list/map 실 사용 코드를 정리해두려고 한다. List List list = new ArrayList(); 이렇게 선언이 되고 수십개의 값이 채워졌다고 하면 추가하는 법은 list.add("a"); 이런식으로 추가가 되지만 변경을 하기 위해선 아래 같이 해야한다. list.set(index, value); 즉, list.set(0,"TEST"); 이런식으로 해야 0번째의 값이 test로 변경이 된다. 그밖에 list 에서는 아래 메서드를 주로 사용하니 참고 하도록 하자. 값 추가하기 - add() 값 변경하기 - set() 값 삭제하기 - remove(), clear.. 2022. 12. 2.
자이썬(Jython) 이란? 자이썬은 파이선의 자바 구현으로 실제로는 자바 코드이며 모든 자바 가상머신에서 작동을 한다. 파이선 모듈 대신 자바 클래스를 사용하며 위키에서 자이선은 다음과 같이 설명된다. 자이썬(Jython)은 파이썬의 자바 구현으로, Jim Hugunin에 의해 처음으로 만들어졌다. 처음에는 파이썬 표준 구현의 이름(CPython)을 따라 JPython라는 이름을 썼다. 자이썬은 자바 언어로만 작성되었기 때문에, 모든 자바 가상 머신에서 동작한다. 자이썬 프로그램은 모든 자바 클래스를 바로 불러올 수 있다. 몇몇 표준 모듈을 제외하면, 자이썬 프로그램은 파이썬 모듈 대신 자바 클래스를 사용한다. 자이썬은 표준 파이썬 배포판의 거의 모든 모듈을 포함하고 있으나, 기존에 C로 구현된 일부 모듈은 포함하지 않는다. 예를.. 2022. 12. 1.
Stream 이란? 기존에는 자바에서 컬렉션 데이터를 처리할때 특정 조건에 따라 필터링을 하려면 아주 복잡한 과정을 거쳐야했다. 그에 비해 SQL 에서는 아주 간단한 쿼리로 데이터를 검색하고 그 방법은 명시적이기도 하여 주로 이용이 되었다. java8 에서부터 새롭게 추가된 기능인 스트림(Stream)은 자바의 컬렉션 데이터에 대해 sql 질의문처럼 데이터를 처리할수 있게 해준다. 기존 기존에는 컬렉션 데이터를 다루러면 for 나 for each 등 루프를 돌면서 처리를 해줬고 점점 무거워짐에 따라 성능이 많이 저하가 되었다. 스트림 스트림에서는 데이터를 선언형 으로 쉽게 처리할 수 있다. 복잡한 루프를 돌지 않아도 되고 루프 중첩때매 성능저하를 두려워할 필요도 없다. 또한 스트림은 병령 처리를 별도로 멀티스레드 구현 없이.. 2022. 11. 28.
객체 생성 방법 ( 생성자 / 정적팩토리메서드 / builder) 자바에서는 객체 생성을 하기 위해 다음 세가지 방법을 주로 쓰곤 한다. 하나씩 살펴보면 다음과 같다. 생성자 말그대로 새롭게 빈 객체/혹은 값을 채워진 상태로 객체를 생성하는 것이다. new 를 사용하여 생성을 하며 아래와 같이 사용을 한다. Member member = new Member(); 정적 팩토리 메서드 정적 팩토리 메서드는 메서드를 사용해서 객체를 생성하는 것이다. 그럼 해당 객체의 class 안에 new Member() 를 리턴해주는 메서드를 만들어도 되고, 다양한 방법으로 값을 채우고 리턴해주는 새로운 객체를 부르는 메서드를 만들고 나서 Member member = createOf("name"); 이런식으로 하고 객체의 클래스에는 public class Member { private St.. 2022. 11. 27.
Eclipse에서 IntelliJ 단축키 사용하기 먼저 IntelliJ의 Idea Key Schema를 받아야 합니다. 해당 파일은 아래에서 받을 수 있다. https://code.google.com/archive/p/ideakeyscheme/downloads Google Code Archive - Long-term storage for Google Code Project Hosting. code.google.com 해당 파일을 받고 난 후에는 이 파일을 Eclipse에 적용해주어야 합니다. 아래의 그림과 같이 해당 파일을 이클립스 설치경로(eclipse)-dropins/plugins에 넣어준다. 그리고 나서 Eclipse를 실행시킨 뒤 아래의 화면과 같이 Window - Preferences - General - Keys 로 들어가서 Scheme 중 .. 2022. 11. 26.
JPA 로그 설정 관련 application.yml spring: jpa: properties: hibernate: show_sql: true // 로그 보이기 format_sql: true // 들여쓰기 등 포맷에 맞춰서 보이기 use_sql_comments: true // 주석 표시하기 logging: level: org: hibernate: type: descriptor: sql: trace // 파라미터값 표출 (사용 안하면 기본 파라미터 값이 뭔지 모르고 바인딩 쿼리로만 보임) application.properties spring.jpa.properties.hibernate.show_sql=true spring.jpa.properties.hibernate.format_sql=true spring.jpa.properti.. 2022. 11. 24.
Java File 존재여부 체크 자바에서 파일을 읽다가 파일 존재 여부를 체크하는 방법에 대해서 정리를 해둔다. 크게 2가지가 있다. Try Catch 문FileReader fr;try{    fr = new FileReader(path);}catch (FileNotFoundException e) {    logger.debug("찾을 수 없는 파일");}   파일을 읽고 없을시 FileNotFoundException 으로 처리를 하였다. File 객체의 exists()private boolean checkFile(String filePath) {        File file = new File(filePath);        return file.exists();    }exists 함수를 사용하여 존재 여부를 판단할수 있다. 2022. 11. 23.
Java 에서의 Apache POI 아파치 POI(Apache POI)는 아파치 소프트웨어 재단에서 만든 라이브러리로서 마이크로소프트 오피스 파일 포맷을 순수 자바 언어로서 읽고 쓰는 기능을 제공한다. 주로 워드, 엑셀, 파워포인트와 파일을 지원하며 최근의 오피스 포맷인 Office Open XML File Formats [1] (OOXML, 즉 xml 기반의 *.docx, *.xlsx, *.pptx 등) 이나 아웃룩, 비지오, 퍼블리셔 등으로 지원 파일 포맷을 늘려가고 있다. -> 위키 백과 마이크로소프트 오피스 파일 포맷을 순수 자바 언어로서 읽고 쓰는 기능을 제공 사용법 먼저 라이브러리를 사용하기 위해서는 maven dependency 를 pom.xml 에 추가해줘야한다. org.apache.poi poi 4.1.2 org.apach.. 2022. 11. 22.
Spring AOT 란? Sprint AOT 란? Spring AOT 엔진은 빌드 시 스프링 애플리케이션을 분석하고 최적화하는 도구이다. 또한 AOT 엔진은 GraalVM Native Configuration이 필요로 하는 reflection configuration을 생성해준다. 이것은 Spring native 실행 파일로 컴파일 하는데 사용되고 이후에 애플리케이션의 시작 시간과 메모리 사용량을 줄일 수 있게 된다. 위 그림에서 보면 AOT가 Spring Boot 환경에서 하는 일들과 순서를 알 수 있다. AOT 적용시 효과 런타임 시 검증할 조건 수 감소 런타임시 Spring 인프라를 적게 사용 리플렉션을 줄이고 프로그래밍적 Bean 등록 방식 사용 신규 Spring 버전의 AOT 부분 2022. 11. 21.
반응형