본문 바로가기

java

java, stream api에서 NPE 발생 주의 java stream api를 많이 사용하실텐데요. 예상치 못하게 NullPointerException 발생을 맞이하는 경우가 있어서 정리해보고자 합니다. 예시 SimpleEntry keyValue = new SimpleEntry("test", null); System.out.println(keyValue.getValue()); SimpleEntry는 java.util의 key - value를 담을 수 있는 클래스입니다. (HashMap에서 사용하는 그것) 위를 실행하면 어떤 결과가 나올까요? 네. 예상하신것 처럼 "null"입니다. SimpleEntry keyValue = new SimpleEntry("test", null); List list = Arrays.asList(keyValue); Objec..
java, optional의 orElse와 orElseGet의 차이 java8의 optional api 많이들 사용하실텐데요. 어찌보면 당연하지만 햇갈리는 내용에 대해 다뤄보겠습니다. 마무리 연산인 orElse와 orElseGet의 차이입니다. 귀찮으신분들을 위해 요약을 먼저 하자면 orElse는 null이던말던 항상 불립니다. orElseGet은 null일 때만 불립니다. 예시 String username = "이름"; String result1 = Optional.ofNullable(username).orElse("no name"); System.out.println(result1); String result2 = Optional.ofNullable(username).orElseGet(() -> "no name"); System.out.println(result2);..
java, checked excepton을 아름답게 unchecked exception으로 바꾸기 checked exception과 unchecked exception이 대체 뭐고, 무슨 차이가 있는지에 대한 내용은 과감히 생략합니다. 그냥 RuntimeException으로 감싸면 되는거 아냐? 맞습니다. 1234567public List getSheetValues(String spreadSheetId, String sheetName, String range) { try { return sheets.spreadsheets().values().get(spreadSheetId, sheetName + "!" + range).execute().getValues(); } catch (IOException e) { throw new RuntimeException(e); }}Colored by Color Scri..
java, google api 이용하기 (인증, sheet, youtube 등) (2019 ver) 잊고있던 블로그. 그나마 개발 관련 글은 딱 한 건인데 이게 5년간 조회수가 4천회가 넘었습니다. 개발자들이 많이 찾는 내용인것 같은데 4년전 내용이다보니 업데이트 할 필요가 있다는것을 느끼고 다시 써 봅니다. 준비물 첫번째 준비물, https://console.cloud.google.com/apis/dashboard 에서 어떤 API를 사용할지 세팅 - 앱을 생성하지 않았다면 앱 이름부터 잘 지어서 생성하도록 합시다. - 저의 경우 YouTube Data API v3, Google Sheets API, Google Drive API 이 3개를 지정했습니다. - 참고로 구글스프레드시트를 사용할거면 Google Drive API도 꼭 사용 설정을 해야합니다. 두번째 준비물, https://console.c..
java, google sheet api 이용하기 2019/03/12 - [개발이/개발노트] - java spring boot에서 google api 이용하기 (sheet, youtube 등) (2019 ver)더 최신의 관련 정보를 알고싶으시면 윗 글을 참고해주세요. 1. 프롤로그 서비스를 운영할때, 운영자(혹은 기획자)들이 쉽게 사용할 수 있도록 운영툴 "잘" 만들어주는것은 매우 귀찮은 일중에 하나이다. 그러나 이를 제대로 만들어 주지 않을 때는 기획자들의 요구에 따른 작업을 서버개발자가 항상 도와줘야 하므로 이는 더 큰 귀찮음을 낳게 된다. 따라서 운영툴.. 귀찮지만 더 안귀찮아 지려면 잘 만들놔야 한다. 우리회사의 기획자들은 엑셀에 능숙하다. 문서를 만들때도 엑셀, 일정을 짤 때도 엑셀, 자료 정리도 엑셀.. 내가 운영툴에 부트스트랩으로 아무리 ..