들어가며 List에 있는 Item들을 대상으로 고유한 ID별로 합계를 구해야 하는 상황이 발생했다. 문제 상황 id와 duration을 가지는 MyClass가 있고 MyClass List을 받아 id별 duration의 합을 가지는 Map을 반환해야 한다. class MyClass { public String id; public Float duration; } private Map sum(List list) { return ???? } 해결방법 일단 코드부터 보자면 아래와 같다. private Map sum(List list) { return list.stream().collect(Collectors.toMap(e -> e.id, e -> e.duration, Float::sum)); } 좀더 자세하게 ..
들어가며 Stream API를 이용하여 여러 List를 합쳐야 하는 상황이 발생했다. 문제 상황 아래와 같이 List를 value로 담고 있는 Map이 있고, Map이 담고 있는 모든 List를 합치고 싶은 상황이다. Map testMap; 해결방법 flatMap() 사용 List mergeList = testMap.values() .stream() .flatMap(list -> list.stream()) .collect(Collectors.toList()); 참고 Java 8: merge lists with stream API I have the following situation Map map; public class ListContainer{ List lst; } I have to merge all..
들어가며 최근 InteliJ를 업데이트(2019.3) 하면서 갑자기 한글깨짐 현상이 발생하기 시작했다. 그래서 이것저것 찾아보면서 조치를 취해보았는데 (Encoding 설정 등등) 그래도 현상은 여전했다. 그러다가 겨우겨우 찾은 방법으로 해결을 하게 되었다. 해결방법 Settings(Preference) -> Grradle 선택 후 Build and run using 을 InteliJ IDEA로 변경 (default는 gradle로 되어 있음 끝으로 이 글이 도움이 되었다면, Google 광고 한번씩 클릭 부탁 드립니다. 🙏🙏🙏 광고 클릭은 많은 힘이 됩니다!
들어가며 Selenium 사용시 예상치 못한 Alert 창이 생겨 "unexpected alert open"이라는 오류가 발생한적이 있었습니다 Selenium을 사용하여 alert 창 발생시 alert 창을 close하는 방법을 알아보겠습니다. ※ Selenium 사용법은 아래를 참고해주세요. [크롤링] Java Selenium 사용법 이번 시간에는 Java로 selenium을 사용하는 방법에 대해서 알아보도록 하겠습니다. 이번 시간에는 설치 및 적용을 해보는 방법을 알아보고 실습은 따로 알아보도록 하겠습니다. Selenium이란? selenium은 웹드라이.. jinseongsoft.tistory.com 해결방법 alert 창을 닫는 방법은 여러가지가 있습니다. 1. alert 개별 처리 방법 간단한 ..
들어가며 크롬 브라우저를 사용하다 보면 스크롤이 있는 화면이거나 여러가지 이유로 전체화면(full screen)을 캡쳐해야 할 때가 있습니다. 그럴때 따로 프록르램이나 확장 프로그램 사용하지 않고 간단한 Command로 전체화면 캡쳐방법을 알아보겠습니다. Chrome 전체 화면 캡쳐 방법 순서대로 설명하겠습니다. 1. 브라우저에서 '개발자 도구' 열기 '개발자 도구'를 여는 방법은 여러가지가 있습니다. 오른쪽 상단 에서 메인 메뉴 클릭 -> 도구 더보기 -> 개발자 도구 클릭 단축키 사용 Windows는 Control + Shift + I, Mac은 Command + Option + I 웹 페이지 상에서 오른쪽 클릭 -> 검사 클릭 2. Command 메뉴 열기 Command를 입력하기 위한 Comman..
들어가며.. Selenium으로 파싱을 하는데 iframe 안에 있는 정보를 파싱을 하고자 했다. (Java 사용) 이리저리 알아보다 간단한 방법을 알아내었다. 방법 iframe 파싱 예졔 코드 'driver.switch_to.frame' 메서드를 사용하여 iframe element로 switch를 해주는 것으로 보임 아래 코드 사용 후 iframe 안에 컨텐츠를 파싱 //파싱 하고자하는 iframe elements를 찾아 switch함 //파이썬 예제 driver.switch_to.frame(driver.find_element_by_tag_name("iframe")) //자바 예제 driver.switchTo().frame(driver.findElement(By.tagName("iframe"))) 다시..
(Effective Java) 규칙18. 상속보다는 컴포지션을 사용하라 계승(Inheritance) 계승(Inheritance)은 재사용을 돕는 강력한 도구지만, 항상 최선이라고 할 순 없다. 계승을 적절히 사용하지 못한 소프트웨어는 깨지기 쉬움. 계승은 상위 클래스와 하위 클래스 구현을 같은 프로그래머가 통제하는 단일 패키지 안에 있을 경우 안전하다. 일반 객체 생성 클래스(concrete class)라면, 해당 클래스가 속한 패키지 밖에서 계승을 시도하는 것은 위험하다. 이 책에서는 계승(Inheritance)이라는 용어를 구현 계승 (implementation Inheritance)의 의미로 사용 즉 한 클래스가 다른 클래스를 'extends' 한다는 소리, 인터페이스 끼리의 계승은 해당하지 않음 ..
(EffectiveJava) 규칙 1. 생성자 대신 정적 팩터리 메서드를 고려하라 정적 팩터리 메서드 클래스를 통해 객체를 만드는 일반적인 방법은 public 으로 선언된 생성자 (constructor)를 이용하는 방법이다. 그러나 모든 프로그래머가 반드시 알고 있어야 하는 방법이 하나 있다. 클래스에 public으로 선언된 정적 팩터리 메서드(static factory method)를 추가하는 것 Boolean(Java의 기본 타입 중 하나인 boolean을 클래스화 한 것) 클래스에 대한 간단한 예제 //boolean의 값을 Boolean 객체에 대한 참조로 변환 public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean...
- Total
- Today
- Yesterday
- 자전거
- 일본 자전거 여행
- git
- 자전거 여행
- effectivejava
- JavaFX Window Close
- intelij
- 텐트
- 이펙티브자바
- JavaFX 종료
- JavaFX
- springboot
- 일본여행
- 자바
- windows
- Java UI
- 스프링부트
- 방통대 과제물
- JavaFX 테이블뷰
- 일본 여행
- 이펙티브 자바
- 일본 배낭여행
- effective java
- JavaFX Table View
- java
- 이펙티브
- TableView
- 배낭 여행
- 배낭여행
- 인텔리제이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |