전체 글 236

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

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으..

[AWS SQS 들이파기] SQS에서 메시지 받기 II (Java + Gradle + Spring)

모든 코드는 github에 올라가 있습니다. SQS로부터 메시지를 받는 두 번째 방법은~~ 바로바로 Annotation을 이용하는 방법입니다. 아래의 PersonListener 코드를 봐보죠! @Slf4j @Component // Bean 등록을 꼭 해줘야 한다! public class PersonListener { @SqsListener(value = "sqs-study", deletionPolicy = SqsMessageDeletionPolicy.NEVER) public void listen(@Payload Person person, @Headers Map headers, Acknowledgment ack) { log.info("{}", person); log.info("{}", headers); l..

[AWS SQS 들이파기] SQS에서 메시지 받기 I (Java + Gradle + Spring)

모든 코드는 github에 올라가 있습니다. 이제 메시지 보내는 것은 성공했으니 보낸 메시지를 받아보려고 합니다. 그 전에 MessageConverter 에 대해서 간단히 알아 봅시다 ㅎㅎ QueueMessagingTemplate은 단순한 String을 주고받는 메소드 외에, Java Object를 받는 다양한 전송 메소드들이 존재합니다. 그 중에 convertAndSend() 와 receiveAndConvert()는 MessageConveter 인터페이스에게 직렬화/역직렬화 책임을 위임하고 있습니다. 실제로 코드를 살펴보면 아래와 같습니다. AbstractMessageSendingTemplate (spring-messaging) @Override public void convertAndSend(Stri..

[AWS SQS 들이파기] AWS SQS로 메시지 보내기 (Java + Gradle + Spring)

SQS로 메시지를 보내는데 몇 가지 방법이 있을 것 같지만, 저는 Java Spring (boot) 개발자이니 해당 스택으로 SQS에 메시지를 쏴보겠습니다 ㅎㅎ 아하 생각해보니 새 PJ을 만들어야 하네요..! 모든 코드는 github에 있습니다. 1. 의존성 설정 plugins { id 'org.springframework.boot' version '2.3.3.RELEASE' id 'io.spring.dependency-management' version '1.0.10.RELEASE' id 'java' } group = 'com.lannstark' version = '0.1.0' sourceCompatibility = '11' configurations { compileOnly { extendsFrom ..

[AWS SQS 들이파기] SQS 만들어보기

1. AWS console에서 SQS를 검색해 들어갑니다. 2. 대기열 생성을 눌러줍니다. Amazon SQS > 대기열이라고 있는데, Queue를 대기열로 번역했네요. 뭔가 어색합니다 ㅋㅋㅋㅋ 3. 대기열 세부정보 설정 가장 먼저 나오는 것은 대기열 유형을 표준으로 고를지, FIFO로 고를지에 관한 것입니다. 둘의 가장 큰 차이점으로는 크게 4가지가 있습니다. 순서 : 표준 Queue는 순서를 가능한 보장하려 하나 항상 보장되는 것은 아니지만, FIFO Queue는 순서를 무조건 보장합니다. 특정 메시지 전송 횟수 : 표준 Queue는 메시지큐에 쌓여있는 메시지를 최소 1회 전송하지만, 가끔 한 개 이상의 메시지 사본이 배달될 수 있습니다. 때문에 메시지를 Application에서 idempotent을..

Unable to load AWS credentials from any provider in the chain 해결

spring-cloud-aws 를 사용할때 이런 에러가 날 수 있다. com.amazonaws.SdkClientException: Unable to load AWS credentials from any provider in the chain: [com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper@64c19877: Failed to connect to service endpoint: , com.amazonaws.auth.profile.ProfileCredentialsProvider@7f570ac4: profile file cannot be null 이 경우, credeitnals를 넣어주어야 하고 몇 가지 해결책이 있다. 1. Access Key 발급받아..

EV/EBITDA란?

EV와 EBITDA를 각각 알면 쉽게 구할 수 있다. 가운데 / 는 우리가 알고 있는 그 나누기가 맞다. EV EV(Enterprise Value, 기업의 시장가치)는 시가총액이다. 하지만 실무적으로는 시가총액 + 순차입금을 하는 경우가 있다. 생각해보면 PER 구할때도 시총에서 순현금 빼시는 분들이 계시다 ㅎㅎ EBITDA EBITDA(Earnings Before Interest, Tax, Depreciation and Amortization)는 세금과 이자를 내지 않고 감가상각도 하지 않은 상태에서의 이익을 의미한다. 영업이익에서 감가상각비를 더하면 바로 알 수 있다. 연결 기준으로는 살짝 애매할 수 있는게.. 연결재무제표 영업이익은 뻥튀기 되어 있는 경우가 많다. (지배지분과 비지배지분이 섞여 있음..