전체 글 23

업무시 깔끔한 Email 작성법

도입부 최근 Spring Email을 통한 Email 전송 개발을 하기도 하면서, 외부 개발사와 협력을 해서 개발을 해야할때 , AWS관련 이메일을 보낼 때 등등.. 여러 상황속에서 이메일을 주고 받을때가 많아졌습니다. 그러다 보니, 이메일을 제대로 보내야겠다는 생각을 했고, 관련한 내용을 참고삼아 글을 작성해보려고 합니다. 내가 쓰는 이메일은 구성이 필요하다. 내가 다니는 회사, 또는 지금 독자가 속한 회사에서 격식이 있는지 알아봅시다. 꼭 틀에 맞춰서 작성하는것이 아니여도 되지만, 일반적으로 카톡이나 문자 메시지를 보내는 것처럼 보내게되면 어렵습니다. 최근 업무를 진행하면서 여러 회사들과 소통을 하게 되는데, 틀에 갖춰서 보기좋은 이메일도 있었고, 당장의 빠른 소통을 위해서 카톡처럼 전송하는 회사들도..

이슈관리 2021.06.07

SSH 접속시 RSA 공유키 충돌 문제

도입부 최근 자바 어플리케이션 배포를 위해 리눅스 서버를 만들고 있었습니다. 고객사에서 필요한 서버환경은 Cafe24 리눅스 호스팅의 환경이였습니다. 환경을 만들던 도중 잘못 만든 부분이 있어서 다시 OS를 설치해야하는 시점이 있었습니다. OS 재설치 이후 다시 접속하려고 하는데 다음과 같은 에러메시지가 나왔습니다. CPUU$ ssh cpuu@-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE I..

버그리포트 2021.04.30

스프링 부트를 자바 9+ 업데이트 한 후에 발생하는 ClassNotFoundException: JAXBException 오류

도입부 최근 Java 11을 기본으로 사용하고 있다. 자바 8은 그만큼 오래된 버전이기도 하고 곧있으면 종료한다길래 차츰차츰 적응해보고자 11로 모든 프로젝트를 마이그레이션 하고 있었다. 하지만 Java 11로 업그레이드 한 후에는 다음과 같은 오류를 확인할 수 있었다. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor': Invocation of init method failed; nested exception is java.lang.NoCl..

버그리포트 2021.04.29

AWS 구디 모임 발표 후기

도입부 지난달 해당 모임에서 오거나이저가 다음달 주제는 다음과 같이 의견을 나누자고 했습니다. 바로 비용 과 관련된 주제였는데, 최근 우리회사에서 겪은 내용을 얘기하면 좋겠다고 생각해서 경험을 공유하기로 마음을 먹었습니다. 4월 구디모임 주제로 비용 관련 경험공유를 정했는데요, 이 문서 들어가셔서 내용을 채워주시면 4월 밋업때 다루도록 하죠~ 단독 발표를 원하신다면 DM주시거나 말씀주세요. 발표자분께는 크레딧과 배민쿠폰(확정!)을 드립니다~ 이전 블로그에도 경험을 공유했었는데, 참고하시면 좋을것 같습니다. AWS 해킹 과금 추적 / 대처방안 도입부 우리는 현재 Cafe24 호스팅을 사용하고 있습니다. 아무래도 php 호스팅이다 보니, 측정되는 양도 제한적이고 인접한 서버가 문제가 생기면 같이 서버가 다운..

개인 발표 2021.04.06

AWS 사용 실수 모음

최근 AWS를 통한 클라우드 웹어플리케이션을 만드는 도중에 사용하는 서비스들에대한 의문이 있었습니다. 내가 과연 한게 알맞은 방법인가? 최근 AWS KRUG에 계신 분들에게 물어보았고 그에 대한 여러 팁들을 얻을 수 있었습니다. 저도 최근에 자주했던 실수들이고 그것이 실 운영에 올라갔을 경우 장애대비를 하기 힘들다는것을 알게 되었습니다. 여러분도 한번씩 점검을 해보셔서 적용을 해보시면 좋을것 같습니다. S3 데이터 관리 측면 종료 방지 기능측면 기본 VPC 사용 VPC CIDR 생각 안하고 사용 AutoScling 서비스 관리 S3 데이터 관리 많은 이용자가 S3버켓을 실수로 삭제하는 경우가 있습니다. 이 경우 복구가 될까요? 라는 질문을 많이 한다고 합니다. 중요한 파일들을 보관하는 용도로 사용하고 있..

AWS 2021.03.21

AWS JAVA sdk 버전 관리에 대하여

도입부 우리는 프로젝트를 진행하면서 AWS 대부분 사용합니다.(S3 , SQS 등등) Java 개발자다 보니까 Java sdk를 이용하게 되는데, 스프링프레임워크에서 제공되는 Spring cloud aws가 있고,AWS에서 제공하는 Java aws sdk가 있습니다. 둘중 하나를 선택하셔서 사용해도 무방하지만, 저는 aws sdk를 사용하는게 더 익숙하기에 해당 sdk를 사용하고 있었습니다. AWS문서를 보던 도중에 문득 궁금한 점이 생겼습니다. SDK버전 1.x와 2.x가 나뉘어져 있더군요! 현재 1.x버전을 이용하고 있었는데, "내가 사용하는 버전이 지원이 종료되나?" 라는 의문이 생겼고 바로 질문을 드렸습니다 본문 한국 아마존 유저그룹에 질문을 했는데 다음과 같은 답변을 받을 수 있었습니다. 만약에..

AWS 2021.03.15

AWS IAM Role 이란?

IAM Role 이란? IAM 역할은 특정 권한을 가진 계정에 생성할 수 있는 IAM 자격 증명입니다. 역할과 사용자 모두 AWS에서 자격증명으로 할수 있는것과 없는것을 결정하는 권한 정책을 포함하는 AWS 자격 증명입니다. IAM 역할은 다음과 같은 주체가 있습니다. AWS 계정의 IAM 사용자 AWS의 서비스 외부 자격 증명 공급자 서비스에 의해 인증된 외부 사용자 특징 액세스 키와 같은 표준 가기 자격증명이 없습니다. 임시 보안 자격 증명을 제공합니다. 한 사람과만 연관되지 않고 해당 역할이 필요한 사람이라면 누구든지 맡을 수 있어야 합니다. 역할의 주체 동일한 AWS 계정의 IAM 사용자 역할과 다른 AWS 계정의 IAM 사용자 Ec2 , CodeDeploy 등 AWS가 제공하는 웹 서비스 SAM..

AWS 2021.03.04

IntelliJ와 Jira를 연동해서 이슈 관리하기

안녕하세요. 팀단위의 개발을 하기 위해서는 이슈에 대해서 관리를 하는게 중요합니다. 언제 내가 무엇을 개발했는지, 팀원들은 무엇을 개발해야하는지 등등 한 눈에 알아보기위해서는 여러가지 업무 이슈관리 프로그램을 사용합니다. 대표적으로 Github Issue , Jira , 레드마인 등이 있습니다. 우리 팀에서는 Jira를 선택했는데요. 이유는 다음과 같습니다. 설치하지 않아도 되는점. JetBrain IDE와 연결이 쉬운점. 컨플루언서랑 연결이 쉬운점. 이외에도 여러가지 장점이 있는데, 오늘은 IntelliJ와 Jira를 연동해서 이슈를 처리하는 과정을 보겠습니다. JIRA에서 API 토큰 얻기 Jira 웹 사이트로 접속을 해야합니다. 현재 사용하고있는 일감 보드입니다. 오른쪽 위를 보시면 프로필 사진에서..

Devops/GitHubAction 2021.01.11

JetBrain 온라인페어프로그래밍 Code With Me 사용하기

Code With Me 사용방법 최근에 TDD, Clean Code with Java 강의에서 자바지기님이 모각코를 제안하셨다. 원래는 오프라인에서 모이려고 했으나, 코로나가 심해지는 시기라 아쉽지만 온라인에서 하기로 했다. 그 중 참가자 한분이 온라인 페어프로그래밍을 제안했고 이번에 새로 나온 젯브레인의 code with me로 같이 페어프로그래밍을 제안하셔서 좋은 기회다 싶어서 사용을 하기로 마음을 먹었다. 사용법은 되게 간단했다. 현재 인텔리 제이의 버젼을 확인합니다. 2020년 12월 10일 기준으로 "Version: 2020.3" 버전이 최신입니다. 최신버전으로 업데이트를 해줍시다. 최신버전으로 업데이트 하고나면, 플러그인들을 새로운 버전으로 받을수 있습니다.. 맥OS를 기준으로 Intellij..

스터디 2020.12.10

Gradle(그레이들) 기본 task를 알아보자

Gradle을 사용하면서 최근 젠킨스로 CI/CD작업을 하면서 gradle에 대해 궁금점이 생겼다. 과연 그레이들은 테스트가 실패했을경우에 내가 처리해야할 점들은 무엇일지 고민을 했다. 테스트가 실패를 하면 당연히 배포를 중단해야 할것만 같았다. 그래서 우리는 젠킨스에서 gradle build를 했을 경우 테스트가 실패했을때 jar가 생기질 않기를 바랬다. 그런데?! 그냥 jar가 생겨서 배포가 되는게 아닌가? 그래서 나는 찾기 시작했다. 그 중 gradle에서 task들이 있었는데 그레이들에 task 들이 무엇이 있을지 정리를 해보았다. 여러가지 기본 task들이 정의되어 있다. 보통 우리는 intellij를 사용하기 때문에 오른쪽에 플러그인으로 지원이 되나 인텔리 제이를 안쓰는 경우에는 터미널에서 사..

Devops 2020.12.06