안녕하세요, 하마연구소 입니다.spring-data-jpa에서 entity의 CUD 이력을 남기기 위한 audit 기능을 제공해줍니다.몇몇 설정한하면 아주 편리하죠.https://docs.spring.io/spring-data/jpa/reference/auditing.html Auditing :: Spring Data JPASpring Data provides sophisticated support to transparently keep track of who created or changed an entity and when the change happened.To benefit from that functionality, you have to equip your entity classes with a..
안녕하세요, 하마연구소 입니다.저는 갤럭시워치를 사용하고 있습니다.이유는?휴대전화가 갤럭시이기 때문이죠.만족스럽지 않은 것도 있지만 나름 잘 활용하고 있습니다.그런데 시계화면이 저에게 딱 맞는 것이 없어서, 기본 페이스로 이것저것 조절해가며 아쉬운데로 사용하고 있습니다.스토어에서도 만족 할만한 것은 아직 못찾았고요.그래서 만들기로 했습니다.생각보다 어렵지 않네요.삼성에서는 Watch Face Studio 라는 개발툴을 제공해줍니다.그리고 가이드도 있고요.https://developer.samsung.com/watch-face-studio/ko/overview.html 워치 페이스 스튜디오 | Samsung DeveloperThe world runs on you.developer.samsung.com 제가..
안녕하세요, 하마연구소 입니다.Kotlin 버전 2.0.0이 공식으로 출시되었습니다.https://kotlinlang.org/docs/whatsnew20.html What's new in Kotlin 2.0.0 | Kotlin kotlinlang.org 아직 무엇이 변경되었고, 얼마나 좋아졌는지 정확하게 모릅니다.솔직히 관심이 예전만큼 없습니다.지금도 만족하고 있거든요.그만큼 요즘은 코틀린의 깊숙한 기능을 사용하지는 않습니다.어차피 Java 기반의 어플리케이션 위에서 코딩의 편리성이나 효율성을 위하여 코틀린이라는 문법을 사용할 뿐입니다.그래도 시간내서 살펴보아야겠습니다.감사합니다.
안녕하세요, 하마연구소입니다.요즘 개인 프로젝트를 시작했으며 HTML 파싱이 필요하였습니다.고민하지도 않고 jsoup을 사용하고 있습니다.역시 부족한거 없이 잘 사용하고 있습니다.https://jsoup.org/ jsoup: Java HTML parser, built for HTML editing, cleaning, scraping, and XSS safetyjsoup: Java HTML Parser jsoup is a Java library that simplifies working with real-world HTML and XML. It offers an easy-to-use API for URL fetching, data parsing, extraction, and manipulation usin..
안녕하세요, 하마연구소 입니다. Java에서 프로그래밍 할 때 편의를 위하여 Lombok을 거의 필수로 이용합니다. 보통 클래스변수의 getter()와 setter()를 자동으로 생성해주는 @Data 어노테이션을 붙이는 것을 많이 사용합니다. 그리고 @Log, @Slf4j 등 logger 객체를 쉽게 얻을 수 있는 기능을 제공하는데, 꽤 유용합니다. 코드가 많이 간단해집니다. Kotlin으로 프로그래밍하면서 이와 같은 logger 객체를 쉽게 얻어주는 라이브러리를 찾아보았지만, 찾지 못했습니다. 최근 Kotlin 버전에서는 Lombok을 공식적으로 사용할 수 있게 되었습니다. (https://kotlinlang.org/docs/lombok.html) 하지만 아직(현재버전 1.5.21) @Log, @Log..
JSONP 처리를 기본 기능으로 제공하였지만, 스프링부트 2.1(스프링프레임워크 5.1)부터 없어졌다. 이미 Deprecated 처리되어 언제가는 없어질 것을 예상했지만, 담당하고 있는 시스템에서는 아직 JSONP가 필요하였다. 없어진 AbstractJsonpResponseBodyAdvice.java 소스: https://github.com/spring-projects/spring-framework/blob/5.0.x/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/AbstractJsonpResponseBodyAdvice.java spring-projects/spring-framework Spring Fra..
스프링 기반의 어플리케이션을 개발할 때, 환경설정으로 보안정보를 다루기 위하여 Vault를 이용하게 된다. 일반적으로 가장 간단하게 Vault를 이용하는 방법은 @VaultPropertySource 또는 @VaultPropertySources 어노테이션을 사용하는 것이다. import org.springframework.context.annotation.Configuration; import org.springframework.vault.annotation.VaultPropertySource; @Configuration @VaultPropertySource(value = { "secret/hippolab/wallet1", "secret/hippolab/wallet2", "secret/hippolab/wa..
블랙홀이 실제로 존재하는지 처음으로 발견되었다네요. 지구에서 거리가 5천5백만 광년 거리에 있다니, 얼마나 먼지 전혀 감이 않오네요. 빛의 속도로 5500만년 떨어져 있는것을 어떻게 촬영한 것일까? 정말 신기하고 대단하네요. 무엇보다 지금으로부터 104년전인 1915년에 제시된 아인슈타인의 일반상대성이론이 이번 블랙홀 관측으로 입증되었다고 합니다. 아인슈타인도 대답합니다. 원문: https://news.v.daum.net/v/20190410221158578 인류가 최초로 관측한 블랙홀 모습 인류가 ‘블랙홀’의 핵심부를 영상으로 확인하는 데 성공했다. 아인슈타인이 1915년 일반상대성이론을 제시하면서 처음 개념이 등장한 블랙홀의 존재를 직접적인 증거를 통해 눈으로 확인한 것은 이번이 처음이다. 연구를 이끈..
살다보면 YouTue(유튜브) 동영상의 특정 장면을 얻어야 경우가 있다. 이럴때는 동영상을 정지 시켜두고 화면 캡쳐를 하거나, 다른 싸제 레코딩 프로그램으로 녹화한 후에 원하는 곳의 화면을 얻을 수 있다. 귀찮다. 정말 원하는 위치의 장면을 이미지로 얻는 것이 아니라면, 기본 썸네일 이미지를 쉽게 얻을 수 있다. 썸네일은 YouTube에서 자동 추출되거나 동영상 게시자가 업로드한 별도 이미지가 있다. 공식적으로는 YouTube Developers에서 제공하는 API를 사용해야한다. YouTube Developers: https://developers.google.com/youtube/ YouTube | Google Developers Integrate YouTube videos and functional..
따뜻한 수돗물 틀어서 컵이나 바가지에 받으면 뭔가 가루약을 탄 것처럼 뿌옇게 보인적이 자주 있었는데, 항상 왜 그럴까 궁금하기만하고 이유를 찾아보지는 않았네요. 단순하게 염소 또는 다른 불순물인줄 알고 그냥 버렸었죠. 그런데 다시 받아도 또 하얀빛을 띄는 물이 나오고, 또 나오고... 다들 경험있으시죠? 드디어 이유를 알았습니다. 원본 YouTube: https://youtu.be/jPywATCgTtU 초간단 이유 요약 물이 데워지면서 공기가 물속에 녹아 들어갑니다. 수도관 밖으로 물이 나오면 공기가 다시 물속에서 빠져나오는데, 이때 거품이 발생하여 하얀색으로 보인답니다. 결론: 수질에는 전혀 이상없다!