전체글 236

짧은 코멘트와 함께하는 이펙티브 자바) #13 clone 재정의는 주의해서 진행하라

짧은 코멘트 Cloneable을 실제로 구현해본 적은 없는 듯 하다. 백엔드 개발자로써 특정 객체에 복제를 해야할 일이 드물기 때문이다. 얕은 복사(shallow copy)와 깊은 복사(deep copy) 차이는 알아두는 것이 좋다. 얕은 복사는 객체 내부에 있는 참조 객체가 복제되지 않는 것이고, 깊은 복사는 객체 내부에 있는 참조 객체까지 복제되는 것이다. clone 재정의는 주의해서 징행하라 Cloneable은 복제해도 되는 클래스임을 명시하는 용도의 믹스인 인터페이스이다. 믹스인 : 클래스가 구현할 수 있는 타입. 믹스인이라 부르는 이유는 실제 클래스가 가지고 있는 주된 기능에 특정 타입을 구현함으로써 선택적인 기능을 혼합하기 때문이다 예시) public interface Comparable { ..

짧은 코멘트와 함께하는 이펙티브 자바) #12 toString을 항상 재정의하라

짧은 코멘트 lombok의 @ToString을 사용하면 Object의 toString을 쉽게 재정의할 수 있다. 모든 객체에 @ToString을 붙일 필요는 없지만, DTO에 붙이는 것은 디버깅시 꽤 유용했던 경험이 많다. toString을 항상 재정의 하라 Object 클래스의 기본 메소드 toString은 클래스이름@해시코드를 반환한다. 때문에 모든 클래스의 toString은 항상 재정의 하는 것이 좋다. 심지어 Object 클래스의 tostring의 규약은 “모든 하위 클래스에서 이 메소드를 재정의하라”이기도 하다. toString은 그 객체가 가진 주요 정보 모두를 반환하는 게 좋다. 또한 toString을 작성할 때 의도를 명확히 밝혀야 한다. 포맷 명시 toString을 구현할 때면 반환값의 ..

2020 10 01 포트폴리오 점검

현금 33.9% 유진기업 33.3% (1.4% 상승, 코스피가 약간 조정받으며 주가 하락이 되었을때 평단 아래에서 기계적으로 매수함) 저번에 약간 비중 조절 한 것이 괜찮았음 스토리 & 목표치 변하지 않았음 현대건설기계 9.3% 25000원대에서 많이 담지 못해 아쉬운 것은 사실이지만 기다리면 기회가 더 올 것 배당 250~300원 수준 예상, 비중 30% 이상으로 확대 예정 기회 더 주겠지? ㅋㅋㅋㅋ 한일시멘트 2.58% 시멘트 → 레미콘 골조 체인에서 레미콘이 더 유리하다는 생각에는 변화가 없으나, 시멘트 역시 P, Q, C 모두 긍정적이라고 판단하여 valuation이 가장 유리한 한일 시멘트를 일부 편입 배당도 괜찮고 ㅎㅎㅎ 잔잔잔~ KTG 1.3% 진리의 KTG, 아 배당 받지 뭐~ 잔잔잔~ 삼..

패커 (Packer) 시작하기

안녕하세요 여러분! 공부하는~ 개발자 입니다 :) 이번 시간에는 바로바로 하시코프(HashiCorp)에서 만든 Packer에 대해 알아보겠습니다! Getting Started 공식 문서 : https://learn.hashicorp.com/collections/packer/getting-started Packer란 여러 type의 머신 이미지 생성을 자동화하는 도구입니다. 가상 머신 이미지를 만들어주는 오픈소스라고 생각하시면 됩니다. 하나의 스크립트로 GCP, AWS, VMWare 등의 이미지를 한 번에 만들 수 있는거죠. 네, 저도 잘은 모르는데요 일단 바로 한 번 Getting Started를 따라해보겠습니다. 1. Packer 설치 첫 단계는 Packer 설치네요.. 저는 Mac을 사용하고 있기 때..

짧은 코멘트와 함께하는 이펙티브 자바) #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 : 토사의 굴착용 기계. 붐 끝에 부착한 호 버킷으로 아래쪽에서 앞쪽으로 긁어 올리듯이 조작하여 토사를 굴착한다. 기체보다도..