Programming language/Java
-
DTO를 타입으로 갖는 리스트에서 String 타입의 리스트로 변환하는 예제입니다. CoffeeDTO.java package com.java.dto; public class CoffeeDTO { private String name; private int price; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public CoffeeDTO(String name, int price) { this.name = na..
[Java]Stream 활용 : List<DTO> -> List<String> 2022. 7. 16. -
자바8부터 지원되는 stream은 기존 배열,컬렉션을 다루는 방법을 보다 간결하게 표현할 수 있도록 도와줍니다. 최근에 stream을 사용하는 일이 많아지면서 시간이 날 때마다 정리를 해야겠다는 들었습니다. 아래는 두 리스트간 중복되거나 중복되지 않는 값만 추출하는 예제입니다. list2.stream().noneMatch(Predicate.isEqual(old))) Predicate 함수형 인터페이스의 isEqual() 함수를 이용해 인자값으로 전달된 객체(old : list1의 아이템)와 같은지 비교할 조건식을 만듭니다. list1의 스트림 객체에서 해당 조건식을 만족하는 값만 필터링합니다.(list1 : list2의 값이 다른것만) 그리고 collect() 함수를 이용해 Stream의 아이템들을 리스..
[Java]Stream 활용 : 두 리스트의 중복값 찾기 2022. 6. 1. -
오늘 포스팅할 내용은 자바를 이용한 이미지 포맷을 변환하는 방법입니다. 아래 사이트를 참고하여 코딩했고, 소스를 분석한 내용을 정리해봤습니다. 자바에서는 ImageIO 클래스를 이용해 이미지를 컨트롤할 수 있습니다. 이미지 포맷 변환 프로세스는 다음과 같습니다. 사용자가 파일 저장 서버단에서 파일 전송 후 PNG 파일인 경우 파일 포맷을 변경(PNG to JPG) 변환된 JPG 파일 저장 아래 소스에서 사용된 ImageIO의 메소드는 read와 write입니다. File beforeFile = new File(PATH + fileName + "_" + fileUploadTime + "." + fileType); File afterFile = new File(PATH + fileName + "_" + fi..
[Java]이미지 포맷 변환 / Convert PNG to JPG 2020. 11. 5. -
브라우저 체크를 할 때마다 매번 구글링을 해가며 커스텀해서 사용하곤 했었는데 정리를 한번 해두면 좋을 것 같아 포스팅을 남깁니다. 브라우저 체크의 핵심은 User-Agent입니다. 클라이언트에서 서버로 요청하는 HTTP 헤더에는 다양한 정보가 있는데 그 중, User-Agent 라고 하는 필드에는 요청에 기반한 사용자 브라우저 및 운영체제 정보를 포함하고 있습니다. 예제 소스는 다음과 같습니다. indexOf 메소드를 사용하여 각각의 브라우저를 구분할 수 있는 문자를 체크하여 그 결과를 리턴하는 구조입니다. (* indexOf 메소드는 특정 문자열의 위치를 반환(첫 발견된 인덱스값)하는데 해당 문자가 없다면 -1을 반환합니다) 소스를 복사하여 테스트해보면 브라우저별로 어떤 정보가 담겨있는지 확인이 가능합..
[Java]User-Agent를 이용한 브라우저 체크 2020. 10. 29. -
YYYYMMDD 형태로 문자열을 입력받았을 때, 날짜를 계산할 수 있는 코드입니다. 공통 함수로 뽑아 사용하면 좋을 듯 합니다. package com.company; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; public class DateTest { public static void main(String[] args) { Calendar cal = new GregorianCalendar(Locale.KOREA);// 국제표준시(한..
[Java]날짜 계산하기 2019. 12. 31. -
오늘은 Gmail을 이용한 메일 보내는 기능을 구현해봤습니다. 자바에서 메일을 보내기 위해서는 SMTP 서버가 있어야 합니다. SMTP는 "Simple Mail Transfer Protocol"의 약자로 전자 메일 전송을 위한 표준 프로토콜입니다. 아래 그림과 같이 우리가 보낸 메일은 SMTP 서버로 전송이 되고 SMTP 서버가 해당 메일 주소로 메일을 전송해주는 역할을 합니다. 때문에 자체적인 SMTP 서버가 없다면 외부의 SMTP 서버를 이용하는 방법이 있습니다. 본 포스팅에서는 Gmail의 SMTP 서버를 이용한 메일 보내기를 해볼 것입니다. 먼저 메일을 보내기 위해서는 mail.jar 라이브러리가 필요합니다. ☞ https://mvnrepository.com/artifact/javax.mail/m..
[Java]Gmail SMTP를 이용한 메일 보내기 2018. 11. 16. -
java.lang.UnsupportedClassVersionError 해당 에러가 뜬다면 당황하지 말고 아래와 같이 진행하면 됩니다. 먼저 PC에 설치된 자바 버전 확인합니다. 1) 윈도우의 cmd를 실행합니다. 2) 처음 화면에서 cd/ 키를 입력합니다. 3) java -version을 입력합니다.(환경 변수에서 path를 설정했다고 가정) 빨간 네모 표시된 부분이 현재 설치된 자바의 버전입니다. 다음 이클립스의 자바 버전을 확인합니다. 1) 상단 메뉴에서 Project - Properties를 클릭합니다. 2) 왼쪽 메뉴에서 Java Compiler를 클릭하면 아래와 같은 화면이 나옵니다. 빨간 네모 표시된 부분이 현재 사용중인 자바의 버전이라고 보면 됩니다. PC에 설치된 자바의 버전과 이클립스의 ..
[Error]java.lang.UnsupportedClassVersionError 2018. 8. 24. -
오늘은 자바의 예외처리 try catch finally문에 대해 정리를 해보려고 합니다. try catch finally 우리가 사용하는 프로그램은 수행 중 예상치 못한 상황에 맞닥뜨릴 수 있습니다. 이를 오류(Error)라고 하는반면 예상을 할 수 있는 상황이 있는데 이를 예외(Exception)라고 합니다. 예외가 발생하면 프로그램은 비정상 종료됩니다. 따라서 예외 처리를 해주어 프로그램이 비정상 종료되는 것을 미연에 방지해주는 것이 좋습니다. 자바에서는 예외가 발생하면 JVM(자바가상머신)이 관련 예외 클래스에서 예외 객체를 생성해 넘겨줍니다. 우리는 JVM으로부터 받은 예외 객체를 try catch finally로 잡아주면 됩니다. 결론적으로 try catch finally는 자바의 예외처리를 핸..
[Java]try catch finally 2018. 8. 17.