Programming language
-
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. -
요즘 이직을 앞두고 이곳저곳 면접을 보는 중입니다.오늘은 면접 중에 나온 질문에 대해 포스팅을 남겨보려고 합니다.추상클래스하나 이상의 추상 메소드를 포함하는 경우 이것을 추상 클래스라고 말합니다. 다만 추상 클래스에 반드시 추상 메소드가 있어야 하는 것은 아닙니다.추상 클래스는 abstract로 정의되어 사용됩니다.추상 메소드는 선언만 되어 있고 구현되어 있지 않은 메소드를 말합니다. 그렇기 때문에 추상 클래스는 인스턴스화가 불가능합니다. 여기 리그오브레전드라는 게임을 예제로 만들어봤습니다.게임 리그오브레전드는 플레이할 챔피언과 스펠이라는 옵션을 선택해 플레이하게 된다. 이 예제에서는 탑, 미드, 바텀 포지션 클래스를 만들고 Champion 클래스를 상속받도록 해보겠습니다. Champion이라는 추상 클..
[Java]추상클래스와 인터페이스 2021. 11. 9. -
오늘 포스팅할 내용은 자바를 이용한 이미지 포맷을 변환하는 방법입니다. 아래 사이트를 참고하여 코딩했고, 소스를 분석한 내용을 정리해봤습니다. 자바에서는 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. -
콤보박스를 만들 때 흔히 사용하는 select 태그와 관련해 유용한 플러그인을 하나 소개해드릴까 합니다. select 태그에는 일반적으로 option 값에 대한 검색이 불가능합니다. 하지만 select2 플러그인을 추가하면 option 값을 검색할 수 있습니다. 클라이언트의 요청으로 어떻게 구현하면 좋을지 구글링하던 중 발견한 플러그인으로 사용법이 간단하여 편하고 유용하게 잘 사용했던 기억이 납니다. 1) 사용을 위해 아래 링크를 프로젝트에 Import 하는 방법이 있고, 파일을 내려받아 Import 하는 방법이 있다. 아래 사이트에서 자세한 설명 확인이 가능하다. Installation | Select2 - The jQuery replacement for select boxes Installation ..
[jQuery]select2 플러그인 2020. 10. 20. -
Bootstrap을 이용해 Modal창으로 기능을 구현하던 중 발견한 버그(?)를 해결하는 법을 포스팅으로 남깁니다. Modal 창 안에 있는 modal-body(클래스)에 특정 페이지를 load 시킨 다음, 해당 페이지에서 입력창에 포커스를 주고자 했다. load가 되고 Modal 창이 열리면 위와 같이 창이 뜨면서 포커스가 되야 된다. 그런데 되지 않았다. 정확하게는 첫 오픈시에는 포커싱이 되는데 두번째 오픈부터 되지 않았다... 프로세스는 아래와 같다. Modal open ☞ A페이지 load ☞ Modal show ☞ A페이지에 $(document).ready(function() { $("#id").focus(); }); 작성 이해가 가지 않아서 다양하게 시도를 해보고 구글링을 했다. 다행히도 나..
[jQuery]Bootstrap Modal 사용시 focus()가 안되는 현상 2020. 9. 10. -
스크립트 함수를 실행하는 방법은 다양하다. 버튼을 클릭한다거나, 페이지가 로드되는 경우 등, 우리는 이벤트가 발생한 이후이거나 또는 이전인 경우. 원하는 경우에 함수를 실행시킬 수 있다. - 버튼을 클릭했을 때 함수 실행 TEST함수실행 - html 페이지가 화면에 뿌려진 이후 함수 실행 TEST함수실행 이처럼 스크립트에서 함수는 함수의 이름을 호출함으로써 실행이 가능하다. 그런데 최근에 새롭게 알게된 내용이 있다. 문자열로 된 함수명을 인자값으로 받아 함수를 실행할 수 있었다. fnct1이라는 함수가 있다고 했을 때, fnct1라는 문자열을 인자값으로 받아 함수를 호출하는 것이다. 아래 코드를 보면 두 개의 버튼에서 클릭시 각 인자값을 태워 callFunction 함수를 호출하고 있c다. TEST함수실..
[jQuery]문자열로 함수 호출하기 2020. 6. 3.