티끌모아 로키산맥 🏔
search
로ᄏl
배움에 끝은 없다... 개발 또한 그러하다.
Today
Yesterday
프로그래밍 공부 (31)
Stream 성애자인 나는 오늘도 코딩 테스트 문제나 비즈니스 로직을 짜면서 Stream을 쓰고있다. 하지만 코딩 테스트를 풀면서 생긴 의문점이 있다. 바로 정렬을 해주는 sorted() 라는 함수인데 이 안의 파라미터로 Comparator 타입이 들어간다는 갓텔리제이의 TMI한 설명이 있다. 중요한건 이 문제를 이렇게도 풀 수 있지만, 아래와 같이 Music 클래스가 Comparable 인터페이스를 구현하고, compareTo 메서드를 재정의 함으로써도 해결할 수 있다. sorted 함수의 파라미터를 Music의 comparTo 메서드로 변경하였다. (조금 거슬리는 부분은 compareTo 메서드를 임의로 역순으로 정렬되게 설정하였다는 것이다) 여전히 파란불이 떳다! 둘다 돼네~ 하고 넘어가자고 하니,..
먼저 npx create-react-app 명령어로 리액트 프로젝트를 생성할 때의 이점을 모른다면 아래의 글을 보자! 조금 간략하게 설명해서 리액트 프로젝트를 생성할 때만 필요한 파일들을 임시적으로 가져오고 프로젝트를 생성한 후, 불필요한 파일들을 다시 삭제함으로써, 불필요한 파일들이 남는 것을 방지해준다. (필자와 같이 적은 용량의 노트북을 쓴다면 꼭 써야할 것이다. 사실 npm으로 -g (global)로 create-react-app을 다운로드하고 이 라이브러리를 통해서 리액트 프로젝트를 만드는 것은 권장되지 않는 방식(지원하지 않는 방식?) 이라고 직접 생성해보면 터미널에 경고(안내?)창이 나온다. https://helloinyong.tistory.com/177 [2019.08.12] CRA(Cre..
최근에 List 타입이나 Map의 반환타입을 가진 메서드나 혹은 필드를 일급컬렉션으로 대체해보라는 코멘트를 받았다. 일급 컬렉션.... 일급컬렉션 ... 분명 들어본...것 같은데? 뭐였지... 뭐였더라? 이런 생소한(?), 혹은 알듯 말듯한 용어가 나올때마다 당황스럽지만 우리에게는 구몬 아니 구글 선생님이 계신다! 오픈카톡방에서 조졸두님이라 불리우는 동욱님의 블로그에 '일급 컬렉션'에서 원하는 내용이 있었다. 그것도 자세히! 간단하게 정리해보면서 내 것으로 만들어 보려고 한다. (오늘도 동욱님의 공유지식에 감사함을 느끼며.... 정리를 시작해보자) 일급 컬렉션은 나뿐만 아니라 대부분의 개발자들에게 쉽지 않은 개념이였던 것 같다. 일급 컬렉션은 객체지향적으로, 리팩토링하기 쉬운 코드를 만들기 위해 필요하..
자바로 개발을 하다보면 객체를 복사할 일이 있다. 이럴 때 나오는 개념이 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy) 개념인데, 두 개념의 차이를 간단하게 말하면 얕은 복사는 객체의 참조값(주소값)을 복사하고, 깊은 복사는 객체의 실제 값(value)를 복사한다. 1. 얕은 복사(Shallow Copy) 객체를 복사할 때, 해당 객체만 복사하여 새 객체를 생성한다. 복사된 객체의 인스턴스 변수는 원본 객체의 인스턴스 변수와 같은 메모리 주소를 참조한다. 따라서, 해당 메모리 주소의 값이 변경되면 원본 객체 및 복사 객체의 인스턴스 변수 값은 같이 변경된다. 2. 깊은 복사(Deep Copy) 객체를 복사 할 때, 해당 객체와 인스턴스 변수까지 복사하는 방식. 전부를 복사하여 새 주..
Gradle 5.x 버전에서 Lombok이 실행되지 않는 현상이 있다. 이전에도 다른 프로젝트를 진행하다가 결국 그래들을 4.X 버전으로 다운그레이드하게 만들었다... 이번에 공부하면서 해결책을 찾아서 적용해보고자 했다. 아래의 사이트에서 제시한 방법이 롬복이 제대로 실행되게하였다. 참고: https://eblo.tistory.com/70 2019031801-Spring boot에서 Gradle 5.x 빌드 시 Lombok 관련 컴파일 오류 처리 환경 - gradle-5.2.1 - spring boot 2.1.3.release - jdk 1.8 - eclipse Gradle 빌드시 Lombok으로 처리하던 getter, setter, log 쪽이 모두 컴파일 오류가 납니다. 구글 검색을 해보고 annot..
매일 사용하고 있음에도 가장 무지한 부분이 아닌가 생각한다. 어쩌면 가장 기초적인 내용임에도 불구하고 잘 모르고 썻던 것 같다. 개발 서적에 자주 언급되는 J2EE, J2SE(백엔드 공부를 하다보니 J2SE를 더 자주 접했던것 같기는 하다)가 어떤 것인지 간략히 정리해본다. J2EE : 위키백과 링크 자바 플랫폼, 엔터프라이즈 에디션 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 자바 플랫폼, 엔터프라이즈 에디션(Java Platform, Enterprise Edition; Java EE)은 자바를 이용한 서버측 개발을 위한 플랫폼이다. Java EE 플랫폼은 PC에서 동작하는 표준 플랫폼인 Java SE에 부가하여, 웹 애플리케이션 서버에서 동작하는 장애복구 및 분산 멀티티어를 ..