2020/09 47

짧은 코멘트와 함께하는 이펙티브 자바) #11 equals를 재정의하려거든 hashCode도 재정의하라

짧은 코멘트 equals 관련 코멘트에서 다루었던 것처럼 @EqualsAndHashCode 를 사용할 수 있다. 단, 이때 컬렉션이나 순환참조 객체 등을 @EqualsAndHashCode 대상 필드에 포함시키면 문제가 될 수 있다. IntelliJ 에서 command + N(윈도우는 아마 control + N..?) 을 눌러, equals And hashCode를 자동으로 만들어줄 수 있다. hashCode equals를 재정의한 클래스 모두에서는 hashCode도 재정의 해야 한다 hashCode의 규약 중 일부는 이렇다 - equals 비교에 사용되는 정보가 변경되지 않았다면, 애플리케이션이 실행되는 동안 그 객체의 hashCode 메소드는 몇 번을 호출해도 일관되게 항상 같은 값을 반환해야 한다 -..

짧은 코멘트와 함께하는 이펙티브 자바) #10 equals는 일반 규약을 지켜 재정의하라

짧은 코멘트 1. 테스트를 작성할때 equals를 활용할 수 있다. // 1. getter를 사용하는 방식 Person result = getPerson(); assertThat(result.getName()).isEqualTo("lannstark"); assertThat(result.getAge()).isEqualTo(20); // 2. equals를 사용하는 방식 Person result = getPerson(); assertThat(result).isEqualTo(new Person("lannstark", 20)); 2. lombok의 @EqualsAndHashCode를 이용하면 편리하다. 3. 실무에서 DB Table과 매핑되는 객체에 사용하기에는 다소 어려움이 있다. 필드가 굉장히 많기 때문. ..

짧은 코멘트와 함께하는 이펙티브 자바) #9 try-finally 보다는 try-with-resources를 사용하라

짧은 코멘트 당연히 try with resources를 사용해야 한다. JDK 7부터 try with resources를 사용할 수 있게 되었는데 혹시 프로젝트가 JDK 6이라면.... (와.. AWS AMI에서 JDK8도 사라지고 JDK11을 권장하고 있는데, JDK 6이요..?) 다른회사로 도망쳐야 한다 try-finally 보다는 try-with-resources를 사용하라 자바 라이브러리에는 close 메소드를 호출하여 직접 닫아줘야 하는 자원이 많다. (ex. InputStream, OutputStream, java.sql.Connection) 자원 닫기는 클라이언트가 놓치기 쉬워서 예측할 수 없는 성능 문제로 이어지기도 한다 전통적으로 자원 닫힘을 보장하는 수단으로는 try - finally가..

현대건설기계 분석 (2020 09 25)

회사 정보 총 19,700,793주 소액주주 비율 53~54% 정도 종가 24,550원 기준 시총 4,837억원 BM 건설기계, 산업차량, 관련 부품 및 A/S 가 매출을 차지하고 있음. 사업의 특징은 건설기계 산업분석에서 살펴보았음 전세계 M/S는 1.5% 정도이고, 인도 내에서는 18.4%, 중국은 2~3% 수준으로 추정 20년 2분기에는, 현재 세계적으로 중국이 코로나 종식(?) 이후 인프라에 막대한 돈을 때려 붓고 있어서 YoY 45.3%로 매출을 캐리한 모습이다. 한 가지 아쉬운 점은, 중국 지사에 대한 지분을 현대건설기계가 100% 가지고 있지 않다는 점이다. (현대강소공정기계유한공사에 대해서는 실질적으로 36% 소유하고 있는듯) P는 global하게 경쟁이 치열해서 올리기 쉽지 않고 (2년 ..

[건설기계] 리포트 읽기 (2020 09 25)

2019 10 21 기계 DB금투 19년 3분기의 한국산 굴삭기 전체 수출액은 5.0억불로 YoY -31.4% 굴삭기 수출 감소율을 YoY 비교시, 8월에 바닥을 찍고 9월은 감소 폭이 소폭 줄어들었다. 14~19년도 월별 굴삭기 수출 추이를 보면 3~4월이 가장 높은 가운데 상반기 수출액이 하반기 수출액을 넘어서는 계절성을 보였다. 중국에서는 추세적인 굴삭기 판매량 증대가 이어지는 모습을 보인다 (중국의 고정자산투자금액이 17~19년도 증가 추세 → 두산이프라코어, 현대건설기계 수혜) 중국에서 19년 9월 굴삭기 판매량은 공정기계협회 기준 13,182대로 18년 9월의 11,719대 대비 12.5% 증가했다. 2020 04 08 건설기계 삼성증권 전반적으로 사실보다 의견이 많은 리포트! 내 생각이 필요..

[건설기계 산업] 굴삭기 종류 정리

굴삭기의 온갖 종류 흔히 포크레인이라 부르는 것. (포크레인은 프랑스의 포클랭이라는 회사명에서 유래했다고 한다) 미니굴삭기부터 대형굴삭기까지 출력과 버켓용량에 따라 다양하게 구분된다. 로더 : 굴삭기와 유사하긴 한데 버켓이 다르게 생겼다...? 굴삭장비 종류들 (출처 : https://blog.naver.com/jhmillennium/221412528886) Excavator는 360도 회전하며 작업하고, Back hoe loader는 약 160도까지만 회전한다. Excavator는 대형까지 있으며 back hoe는 상대적으로 장비가 작다 (용량과 작업반경의 차이) Back hoe : 토사의 굴착용 기계. 붐 끝에 부착한 호 버킷으로 아래쪽에서 앞쪽으로 긁어 올리듯이 조작하여 토사를 굴착한다. 기체보다도..

[건설기계 산업] 두산인프라코어/현대건설기계 사업보고서 간단 정리

2020년도 반기보고서 두산인프라코어 사업보고서 계절적 수요의 변동성이 큰 산업이다. 한국 시장은 가동률이 떨어지는 우기 및 동절기는 비수기로서 건설기계 시장의 수요가 크게 줄어들고, 상하수도 공사 및 토목공사가 활발해지는 3~5, 9~11월은 성수기로서 시장이 크게 증가하는 경향을 보인다. 중국 시장은 정부 정책 및 투자가 집행되는 3~5월은 성수기로서 시장 수요가 최고로 증가하며 중국 남부 지역의 우기가 시작되는 6~8월은 비수기로서 시장 수요가 감소한다. 16년 이후 세계 건설기계 시장에는 글로벌 경기 회복 및 재구매 수요 증가에 따라 성장 모멘텀이 이어졌으며 19년에는 북미 비주택 및 공공건설 부문의 성장, 유럽 주택 수요 및 인프라 투자 증가, 중국 정보 주도 인프라 투자 지속 확대 등에 힘입어..

짧은 코멘트와 함께하는 이펙티브 자바) #8 finalizer와 cleaner사용을 피하라

짧은 코멘트 실제로 사용해본적이 없다. ThreadPoolExecutor가 finalizer 역할을 제공한다고 되어 있지만 JDK 버전에 따라 다른 모습을 보여준다. (모든 버전을 확인해본 것은 아니지만, 9버전부터 아무것도 하지 않게 변경된 것 같다. // Override without "throws Throwable" for compatibility with subclasses // whose finalize method invokes super.finalize() (as is recommended). // Before JDK 11, finalize() had a non-empty method body. /** * @implNote Previous versions of this class had a ..

AWS SQS 들이파기

안녕하세요~~ 여러분~! 공부하는개발자 입니다 ㅎㅎㅎ 이번 시간에는 바로바로~ SQS에 대해서 알아보려고 합니다. SQS란 무엇인지, Java + Spring으로 어떻게 사용할 수 있는지, 사용시 주의할 점 등은 무엇인지 간단바리(들이파기라 해놓고 간단바리..?)로 살펴보겠습니다. 바로 시작해보죠! AWS SQS란? SQS는 Simple Queue Service의 약자입니다. 애플리케이션 간의 메시지를 전달하기 위한 아주 '간단한' Queue 라고 생각하면 됩니다. 홈페이지 설명에 따르면, 지속성이 우수하고 사용 가능한 보안 호스팅 대기열을 제공하며, dead-letter queue, 표준대기열, FIFO 대기열을 지원하고 있습니다. SQS와 MQ의 차이점 RabbitMQ를 들어본 적이 있는 사람이라면,..

[AWS SQS 들이파기] DLQ(Dead-Letter Queue) 설정하기

이제 DLQ를 설정하고 테스트를 해보겠습니다. 우선 삭제된 Message가 들어갈 Queue를 새로 하나 만들어 주어야 합니다. sqs-study-dlq 라는 이름을 가진 Standard Queue를 빠르게 만들었습니다 ㅎㅎㅎ (한 번 해봤으니 쉽죠..?) 그리고 sqs-study 로 들어가 편집 > 배달 못한 편지 대기열을 설정해 주었습니다. 간단합니다 ㅎㅎ..저장을 누르면 이렇게 나옵니다. 이제 테스트를 해보겠습니다! 간단하게 console로 쓱-샥 해볼 예정 ㅎㅎ 1. sqs-study에서 메시지 전송 2. 메시지 폴링을 반복적으로 클릭! 폴링 진행 상황이 가득차면 그 위에 있는 메시지 폴링을 클릭할 수 있습니다 ㅎㅎㅎ 3. 메시지 수신수가 5를 넘어가게 되면..! 어느덧 사용 가능한 메시지가 0으..