본문 바로가기

전체 글

(27)
JAVA로 구현한 TEXT를 IMAGE로 변환하는 방법 준비 CustomText CustomTextType CustomImage 이미지 변환 소스코드 준비 문득 블로그를 하다가 보니 글 자주 작성하진 않아 리스트가 휑해 보이는 것도 있겠지만 필연적으로 기술 블로그이다 보니 이미지가 없어 왠지 글이 허전해 보인다는 생각이 들었습니다. 그래서 머라도 채워 넣을까 하는 생각에 TEXT를 간단하게 IMAGE로 변환해 주는 사이트를 찾다가 그냥 귀찮아서 로그를 만들기 위한 용도로 코드를 작성해 봤습니다. 순전히 개인적으로 사용할 목적으로 만들었기 때문에 실제 사용할 때 부족한 부분이 발생할 수 있다는 점 염두해 주시길 바랍니다. 먼저 프로젝트에서 lombok 라이브러리를 사용할 예정이니 다운로드 후 프로젝트 환경설정에 추가해 줘야 합니다. lombok download..
Spring Cloud Stream 사용해보기 1 개요 Object와 MSA 메시지 주도 MSA 메시지 브로커 RabbitMQ vs Apache Kafka 개요 이번에는 Spring Cloud Stream의 기능과 사용법에 대해서 설명하도록 하겠습니다. Spring Cloud Stream 은 RabbitMQ, Apache Kafka 등과 같은 메시지 브로커와 연결할 수 있는 공통 기능을 제공해 줍니다. 이것은 각기 다른 메시지 브로커들을 하나의 인터페이스로 사용할 수 있게끔 추상화시킨 라이브러리라고 할 수 있습니다. 이 때문에 어떤 종류의 메시지 브로커를 사용하는지와 상관없이 항상 동일한 소스 코드를 이용해 동일한 메시지 전송을 구현할 수 있게 해 줍니다. Spring Cloud Stream 은 메시지 브로커의 종류와 상관없이 동일한 인터페이스로 메시지..
일상 190817 모든일이 끝난 다음날 차가운 맥심 아이스 커피를 마시며 일기를 쓰고 있다. 문득 올해는 여름 해수욕을 한번도 하지 못했다는 사실이 떠올라 언젠가 가기로 했던 강릉 바닷가를 가기로 했다. 때마침 이번주가 강릉 바닷가 마지막 개장이라고 하니 더는 미룰 수 없었다. 하지만 당연하게도 주말 연휴이기 때문에 해가 중천이 되어서 눈을 떴고 그냥 가지말까 라는 생각이 강하게 들었지만 자신과의 싸움을 이겨내고 길을 나서기로 했다. 출발이 늦은 관계로 점심은 간단히 빵과 우유로 해결하고 저녁은 물회를 먹어야 하나 막국수를 먹어야 하나 둘다 먹기에는 시간이 부족한데 라며 괜히 설랜 기분으로 길을 나섰다. 하지만 역시 연휴 주말이였다. 차가 정말 막혔는데 다들 어디로 가는 것인가 ? 서울에 사람이 이렇게 많았나 ? 혼자 속..
자바로 함수형 인터페이스 사용하기 (Functional Interface) 자바 8 함수형 프로그래밍 자바가 8로 접어 들면서 가장 크게 변화된 것은 함수형 개발 페러다임을 지원하기 시작 했다는 점 입니다. 하지만 기본적으로 자바라는 언어는 객체지향 언어 입니다. 그렇기 때문에 함수형으로 개발 하기 위해서는 어떤 점이 변경 되었고 또한 어떻게 적용할 수 있는지를 알아야 합니다. 생각해 보면 굳이 객체지향으로 설계된 자바라는 언어에 함수형 개발 방식을 접목 시켜야 될 이유가 뭐가 있을까요? 자바는 함수형 개발 방식을 사용할 수 있게 됨으로서 조금 더 재사용이 가능한 코드 조각을 만들 수 있게 되었고 이 때문에 조금 더 유연한 개발을 할 수 있는 가능성이 늘어 났습니다. 함수형 VS 객체지향 함수형 개발 방식과 객체지향 개발 방식을 비교할때 큰 차이는 값을 취급하는 단위가 어디까지..
190816 일상 우연찮게 락 페스티벌 티켓을 구했다. 락을 좋아하지도 않는데 락 페스티벌이라니 심지어 강원도 인제에서 하는 페스티벌이다. 그래도 좋아하는 크라잉 넛이 나오기 때문에 한번 가보기로 했다. 여차하면 크라잉 넛 공연만 보고올 요량이였다. 당연하게도 쉬는날이기 때문에 늦잠을 잤고 이미 늦어버린김에 옆 동네 춘천에서 닭갈비를 먹고 가기로 했다. 이미 늦어버린건 어쩔 수 없다며 찾아간 닭갈비 집은 황교익이 죽기전에 먹어봐야 할 집으로 소개 했다는게 미심쩍은 느낌이 들었지만 푸짐하고 맛있는 집이였다. 도착한 페스티벌 장소는 정말 이래도 되나 ? 싶을 정도로 사람이 없었는데 몇천명은 수용할 수 있을 것 같은 넓은 잔디 공연장에 몇백명의 관객들이 난 정말 락을 사랑한다는 듯한 복장으로 헤드벵잉을 하고 슬램을 하며 즐기고..
Spring Rest Docs 로 API 명세서 자동 생성하기 사용기술 java 11 Spring Boot 2.1.6.RELEASE maven 개요 이제 다양한 프로젝트에서 모듈간 통신을 하는 방법으로 Rest API 를 사용하는 것은 당연한 일이 되었고 이렇게 만들어 놓은 Rest API 명세를 작성하고 관리 하는 것 역시 중요한 일이 되었습니다. 하지만 항상 요구 사항은 변경되기 마련이고 이에 따라 언제든 Rest API 가 변경될 가능성이 높아졌지만 작성해둔 Rest API 의 명세서가 최신 내용을 반영하고 있다고 확신하기는 어렵습니다. 손으로 문서를 변경하는 것은 한계가 있기 때문입니다. Spring 에서 Rest API 의 명세서를 작성하는 방식은 크게 Swagger 과 RestDocs 로 나뉘어 지는데 이중 TDD 개발 방식과 접목하여 소스 코드에 영향을..
OSX 환경에서 jenv 를 활용한 버전별 JDK 사용하기 앞서 OpenJDK를 사용하는 이유와 방법에 대해 이야기했었다. https://jogeum.net/14?category=795151 OSX 환경에서 OpenJDK 12 설치하기 일반적으로 java 로 개발된 프로그램을 실행 시키거나 관련된 개발 작업을 하기 위해 JDK (Java Development Kit) 를 설치해야 한다. JDK 에는 크게 2011 년에 Sun 사를 인수한 Oracle 이 개발하고 발전시키는 Ora.. jogeum.net 이때 설치되는 OpenJDK는 12 버전인데 문제는 아직도 여러 라이브러리와 프로그램이 JDK 8 기준으로 동작이 된다는 점이다. 그렇기 때문에 환경에 맞춰 로컬의 JDK 버전을 변경하면서 사용을 해야 되는데 이것을 위해 jenv를 설치해 JDK 버전을 유동적으로..
OSX 환경에서 OpenJDK 12 설치하기 일반적으로 java 로 개발된 프로그램을 실행 시키거나 관련된 개발 작업을 하기 위해 JDK (Java Development Kit) 를 설치해야 한다. JDK 에는 크게 2011 년에 Sun 사를 인수한 Oracle 이 개발하고 발전시키는 OracleJDK 와 오픈소스인 OpenJDK 가 있다. 하지만 영원히 무료로 제공될 줄 알았던 OracleJDK 의 라이센스가 변경이 되었는데 일반적인 목적의 컴퓨팅 에만 사용시 무료이며 일반적이지 않은 목적의 사용에는 과금을 하겠다고 하였다. 하지만 그럼 어떤게 일반적이지 않은 목적인지에 대해서 명확하게 이야기 하지 않은 라이센스의 애매한 표현 때문에 대부분의 상업적인 목적을 가진 업체는 다 OpenJDK 로 전환하는 추세이다. OracleJDK 와 OpenJDK..