부제: IntelliJ에서 S3 연동하기, Spring Boot AWS 연동 이번 포스팅에서는 Spring Boot에서 Spring Cloud AWS를 활용하여 S3를 연동하는 법을 알아보겠다. 절차는 크게 3가지(의존성 설정, Properties 파일 설정, 구현)로 나눌 수 있다. 1. 의존성 설정 Spring Cloud AWS를 활용하면, 의존성만 추가해도 간편하게 AWS의 모든 기능을 활용할 수 있다는 장점이 있다. 아래 내용을 build.gradle에 추가하자. (버전은 알아서 적절히 넣도록 한다.) 12compile("org.springframework.cloud:spring-cloud-aws-context:${springCloudVersion}")compile("org.springframew..
부제: 샤오미 이어폰, 샤오미 피스톤4, 샤오미 전자제품 추천 엘지 전자의 G어폰(쿼드비트 시리즈)와 함께 가성비 이어폰으로 정평이 나있는 샤오미 피스톤4를 구매했다. 우리나라에는 수입 대행사를 통해 정식 판매되고 있는 듯 하다. 포장 컨셉이 원래 이런것인지.. 외계인이 생각나게 하는 포장 디자인이다. 천천히 개봉을 해봤다. 내부에 이어캡이 따로 들어있고, 중국어로 쓰여있는 설명서도 들어있다. 특이하게도, 이어폰의 연결단자부터 이어폰 선이 나눠지는 부분까지는 로프형태이다. 3만원도 안하는 이어폰치고는 나름 세심한 배려라고 할 수 있다. 이어폰 리모컨은 오른쪽에 있는데, 볼륨조절과 재생/정지 버튼이 있다.사진에는 보이지 않지만 마이크도 달려있다. 그런데 IOS(아이폰, 아이패드 등)에서는 볼륨조절버튼이 동..
부제: 싸융짱문오, 싸융짱, 김영민, 김영민개명, 기아 타이거즈, 2:2 트레이드, 유재신 오늘은 2016시즌 구원왕을 차지(KBO 역대 두번째 무패 구원왕)하고, 2017시즌 도중 넥센 히어로즈에서 기아 타이거즈로 트레이드 된 김세현 선수의 별명에 대해 알아보겠다. 김세현(김영민에서 개명) 선수의 대표적인 별명은 '사이버'이다. 김세현 선수는 06년에 현대 유니콘스에 지명된 이래 5년 넘게 부진과 부상 재활을 반복했는데, 현실에서는 안보이고 가상에만 존재하는 투수라고하여 팬들이 붙여준 이름이다. 현대 유니콘스 - 넥센 히어로즈 팬들에게 김세현은 애증의 존재이다. 프로야구 역사에 남을 06년 신인 드래프트에서 현대의 2라운드 지명(1라운더는 MLB에서 활약중인 강정호)을 받았지만, 최고 160에 육박하는..
Spring Boot를 활용하여 Restful 서버 개발을 하다보면, 다른 API를 호출할 일이 종종 생기는데, RestTemplete을 활용하면 좋다고한다. 나는 GPS 좌표(경도, 위도)를 파라미터로 하여 호출할 경우, 주소(도로명 및 지번주소)를 돌려주는 API를 활용하기로 했다. https://developers.naver.com 에서 위 그림과 같은 명세를 찾을 수 있다. (다른 API를 활용하는 경우에도 참고하길 바란다.) 나같은 경우, 안내된 URL로 GET요청을 날려야 했는데 NAVER에서 제공하는 JAVA 예제는 너무 길고 불편했다. 그래서 RestTemplete를 활용하기로 했는데, 구글링하면 대체로 getForObject, getForEntity를 활용하는 방법을 소개한다. 아래의 소..
Iaas: Infrastructure as a Service 서버, 스토리지, 네트워크를 가상화 환경으로 만들어, 필요에 따라 인프라 자원을 사용할 수 있게 서비스를 제공하는 형태. 이해하기 편하게 설명하자면, 컴퓨터의 하드웨어를 가상화 환경에서 제공하는 것이라고 보면 된다. IaaS를 사용하는 개발자는, OS 설치부터 각종 서버 환경을 직접 세팅하는 고통을 겪어야 해야한다. (예: AWS EC2) ▶ IaaS, PaaS, SaaS를 도식화하여 비교한 자료. PaaS: Platform as a Service 애플리케이션이나 서비스가 동작할 수 있는 환경을 제공하는 형태. IaaS에서 '동작환경세팅'이 이루어진 형태이며, SaaS의 개념을 개발플랫폼에도 확장한 것이다. 애플리케이션의 시작을 위한 복잡한 환..
부제: hibernate auto reconnect, spring boot JPA reconnect, org.hibernate.exception.jdbcconnectionexception could not prepare statement 문제 해결 Spring Boot + JPA + Hibernate로 MySQL을 연동하여 웹 앱을 구현했는데, 아래와 같은 문제가 발생했다. 구글링을 해보니, Mysql의 Connection Pipe(?)가 끊어진 것이다. 쉽게 말하면 연결을 잃어버린 것인데, Mysql의 경우 8시간 이상 요청이 없으면 연결을 끊어버린다고 한다. 내 앱을 쓰는 사람이 많은 것도 아니고, 밤에 자고 일어나는 것 감안하면 8시간은 너무 짧았다. 대책이 필요하다고 생각하여, 방법을 찾아봤는데 ..
사진 관련 웹 애플리케이션을 개발하다보니, 썸네일처리를 신경쓸 수밖에 없었다. 조금 고민을 해보니 썸네일 처리는 결국 두가지의 큰 흐름으로 나뉘게 된다. 그것은 바로.. 미리미리 vs 그때그때 여기서 '미리미리'라 함은, 사진을 최초 업로드할 때 썸네일을 생성하여 같이 S3서버에 저장하는 방식을 의미한다. 반면, '그때그때'는 이미지 조회를 요청할 때마다 썸네일을 생성하여 응답으로 돌려주는 방식을 의미한다. ▶ 구글에서 발표한 이미지 리사이징 라이브러리 SKIA. C/C++과 Python버전만 있어서 사용은 못해봤다. 나는 깊은 고민을 하지 않고 '그때그때' 썸네일을 생성하려고 했는데 자칫 위험할 수 있는 행동이었던 것 같다. 그래서 '미리미리'와 '그때그때'의 장점을 한번 정리해봤다. '미리미리'의 장..
우리나라에서 가장 인기있는 스포츠 중 하나인 야구. 워낙 인기가 있다보니, 스포츠 중에서 팬문화도 가장 활성화 되어있고 그러다보니 야구선수들을 부르는 별명(애칭)도 많이 생겼다. 이번 포스팅에서는 넥센 히어로즈에서 연습생 성공신화를 쓰고있는 서건창 선수의 별명에 대해 알아보겠다. 2008년 LG트윈스 신고선수로 시작했으나, 1군 딱 한경기 뛰고 방출. 그 후 육군 현역 복무하고, 제대 후 신고선수로 넥센히어로즈에 입단하여 몇개월만에 개막전에 데뷔. 2012년 신인왕, 2014년 MVP를 수상하며 류현진 이후 신인왕과 MVP를 둘 다 수상한 첫 선수. 2016년 넥센히어로즈 주장선임.. 굴곡진 시작이었지만 지금은 성공신화를 쓰고있는 서건창 선수의 별명은 다양하다. 그런데 그 시작은 '서센세'이다. 한국어로..
부제: Excutable JAR AutoConfiguration 문제 해결, Spring boot JAR 배포, Spring boot 원격 서버에 배포하기 Spring boot가 기존의 Spring에 비해 편리한 점은 꽤 많을 것이다. 그 중에서도 대표적인 것 하나를 꼽으라면 실행가능한 JAR(Executable JAR)라고 할 수 있다. Maven, Gradle등의 dependency tool을 이용하여 WAR파일을 생성한 후(build) tomcat과 같은 WAS에 배포하여 웹 애플리케이션을 구동하는 것이 기존의 Spring이었다. 반면에 Spring boot는 JAR파일에 내장 톰캣이 존재하여, JAR파일을 빌드하고 단순히 실행하는 것만으로 웹 애플리케이션 구동이 가능하다. ▶ JAR의 사전 속 의..
부제: 가성비 기계식 키보드 추천, 적축 키보드 추천, 적축 기계식 키보드 추천, 샤오미 키보드 후기, 적축 키보드 후기, 텐키리스 키보드 추천 집에 놓을 텐키리스 기계식 기보드가 필요해서 뭘 살지 고민하다가, 샤오미 기계식 키보드의 가성비가 그렇게 좋다길래 하나 질렀다. 가격은 5만원 선에 형성된다. 상자의 겉모습. (영롱하다..) 내부에는 키보드 덮개(플라스틱 재질), 키보드 본체, 설명서, 키보드 선이 들어있다. 키보드의 외관은 이렇게 생겼다. 완전히 흰색에 LED까지 흰색이다. LED는 총 5단계 밝기로 조절되는데, 5만원짜리 치고 상당히 디테일하다는 느낌을 받았다. LED 밝기는 펑션(FN)키와 상하화살표(↑,↓)키로 조절할 수 있다. 고정버튼인 CapsLock과 Scroll Lock버튼은 붉은..