본문 바로가기
반응형

Java & Kotlin23

Eclipse Mat 메모리 할당 크기 조정 (Mac OS) Heap Dump를 분석하기 위해 Eclipse mat를 종종 사용한다. 너무 큰 덤프 파일을 불러오면 다음과 같이 OOM 이슈가 발생한다. An internal error occurred during: "Parsing heap dump" Out of Memory mat 에 할당된 메모리를 높여야만 대용량의 덤프 파일을 불러 올 수가 있다. 이를 위한 설정은 다음과 같다. 설정 모든 설정은 MAC OS를 기준으로 한다. mat 설정은 /Applications/mat.app/Contents/Eclipse/MemoryAnalyzer.ini 위치에 존재한다. 그래서 필요한 에디터로 (여기서는 vi) 해당 파일을 열어서 vim /Applications/mat.app/Contents/Eclipse/MemoryAn.. 2023. 10. 8.
Spring Boot 3.x 실행이 안될 경우 (feat. IntelliJ) 스프링 부트 3.0 이 출시되었다. (현재 최신은 3.0.1 이지만) 3.0 부터는 Java 17부터 지원된다. 그러다보니 기존에 Java8, 11등을 사용하시던 분들은 3.x 스프링 부트 프로젝트를 실행할때 에러들을 만나게 되는데, 이번에 나도 똑같이 경험해서 정리하게 되었다. 문제 스프링 부트 3.0.1 프로젝트를 실행할 일이 생겼다. 그래서 기존에 설치된 IntelliJ에서 Gradle Import를 시켰더니 다음과 같이 방다한 에러 메세지와 함께 실행이 되지 않았다. 기존 노트북에서 모두 Java 11로 프로젝트를 구동시켰었다. No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.1 was found. The .. 2023. 1. 20.
(Kotlin) 단일 함수만 존재하는 경우 파일명은 어떻게 해야할까? NextStep의 이펙티브 코틀린 with TDD, Refactoring, Clean Code 을 수강중이다. 내가 작성한 코드에 대해 이렇게 많이 리뷰 받는게 오랫만이다 이번에 받은 리뷰중에서는 납득이 잘 안되는게 있어서 리뷰어이신 재성님(Jason) 과 이런저런 토론을 진행했었다. 논의 논의 대상인 코드는 public 함수 하나(main)만 존재하기 때문에 파일명을 main.kt로 만들었다. 이에 대해 재성님은 소스 파일은 전부 PascalCase를 쓰는게 좋다는 의견이셨다. 이에 대한 이유는 Kotlin Convention 에서 UpperCamelCase (PascalCase) 을 추천하기 때문이였다. 안드로이드 코틀린 공식 가이드에서도 소스 파일에 대해서는 PascalCase를 언급하기도 한다. .. 2022. 5. 17.
일급 컬렉션 (First Class Collection)의 소개와 써야할 이유 최근 클린코드 & TDD 강의의 리뷰어로 참가하면서 많은 분들이 공통적으로 어려워 하는 개념 한가지를 발견하게 되었습니다. 바로 일급 컬렉션인데요. 왜 객체지향적으로, 리팩토링하기 쉬운 코드로 갈려면 일급 컬렉션이 필요한지에 대해 많은 분들이 공감하지 못하는걸 보게 되었습니다. 그래서 이번 시간에는 일급 컬렉션 (First Class Collection) 이 무엇인지, 어떤 장점들이 있는지에 대해 소개드립니다. 일급 컬렉션이란 단어는 소트웍스 앤솔로지 의 객체지향 생활체조 파트에서 언급이 되었습니다. 규칙 8: 일급 콜렉션 사용 이 규칙의 적용은 간단하다. 콜렉션을 포함한 클래스는 반드시 다른 멤버 변수가 없어야 한다. 각 콜렉션은 그 자체로 포장돼 있으므로 이제 콜렉션과 관련된 동작은 근거지가 마련된셈.. 2019. 4. 1.
패스트캠퍼스 자바 웹 프로그래밍 CAMP 정리 2016.07 ~ 2016.08 진행 자바지기(박재성)님의 패스트캠퍼스 자바 웹 프로그래밍 CAMP 강의 내용 정리 광고 아니라 진심으로 150만원 상당의 수강료가 아깝지 않은 명품 강의였다. 참고로 현재 박재성님은 NextStep에서 교육하신다. 1일차 - TDD 시작 일반적인 main()을 이용한 테스트 방식의 문제점 이클립스에서 Junit 사용법 (난 중간중간 인텔리제이로 검색해서 적용함) @Before 사용하는 이유 : 각 테스트들간의 고유한 객체를 생성해주기 위해 선 테스트코드 작성후 실제 코드 개발 구현 -> 테스트 -> 리펙토링 과정으로 진행 테스트 메소드는 production 코드에서 exception을 던질수 있기 때문에 웬만하면 throws Exception을 추가하는게 좋다 priva.. 2018. 6. 3.
[Java8] 메소드를 파라미터로 전달하기 안녕하세요? 이번 시간엔 java8에 새로 추가된 기능 중 메소드 파라미터에 대해 다시 정리해볼 예정입니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 예제 여기에서는 간단한 프로그램을 기존 자바 코드로 해결하면서 발생하는 문제를 자바8에서 어떻게 개선할 수 있는지 비교해볼 예정입니다. 단, 람다식/스트림 등등의 자세한 내용은 다음 포스팅에 포함될 예정입니다. 여기선 자바8의 변화로 메소드를 파라미터로 넘기는 이유와 장점에 대해 소개할 예정입니다. 과일 재고 프로그램 예를 들어 과일 재고 목록을 관리하는 어플리케이션을 만든다고 가정하.. 2017. 10. 9.

728x90
반응형