목록분류 전체보기 (163)
Simple&Natural
투자에 대한 생각 역발상 주식 투자 월가의 영웅 100배 주식
자바에서 가끔 객체의 동일성을 판단해야 하는 경우가 있다. 이때 무조건 hashcode나 identityHashcode를 쓰면 될 것 같지만 사실 이 둘은 완벽한 고유성을 보장해주지 않는다. 정확히 말하면 해시코드 값이 다르면 서로 다른 객체이지만 객체가 서로 다르다고 하여 반드시 다른 해시코드 값을 갖지는 않는다. 소스코드로 확인해보자. 출력값) Exception!, treeSet's size = 99 Finished at count = 122354 중복을 허용하지 않는 Key 값의 집합인 TreeSet에 임의의 객체를 생성하여 해당 객체의 hashcode를 넣어주는 예제이다. 만약 중복이 발생한다면 생성된 object의 갯수(objSize)와 treeSet의 크기가 일치하지 않을 것이다. 위의 예제는..
안드로이드 프로젝트를 장기간 숙성[?]시킨 후 다시 불러와서 빌드하다보면 각종 라이브러리들이 엄청난 레거시 코드를 만들어내면서 불지옥을 만들어낸다. 오늘은 예전에 연습용으로 썼던 프로젝트 소스코드에서 레거시 문제가 터져서 헤메던 중이었다. 모듈이 참조하고 있는 라이브러리에 해당 클래스가 사라진 것으로 보임. gradle과 라이브러리를 확인해본다. 동적패스로 지정해놓아 자동으로 최신 버전의 라이브러리를 잡고 있었다. LegacyAudioDeviceModule Class가 존재하지 않는다. 이 경우 라이브러리가 업데이트되면서 해당 레거시 코드가 사라졌을 가능성이 높기에 버전들을 검토하며 해당 레거시 코드가 존재하는 버전으로 바꿔주면 일단 문제는 해결된다. 해당 라이브러리의 구글 저장소를 가면 이런 버전들이 ..