반응형
Event 처리는 비동기가 아니다?
Spring 2022. 8. 17. 13:25

비동기 처리를 위해서 이벤트를 발행하는 방식을 선택하는 경우가 있다. 나 역시도 그랬는데 사용하다가 궁금증이 생겼다. 그냥 Async 어노테이션을 달아 놓은 것과 EventListener를 적용한 것은 어떤 차이가 있을까? 결과부터 얘기하자면 모든 Event 처리 방식은 비동기가 아니다. 그것을 확인할 수 있는 테스트를 해보았다. 해당 테스트는 정아마추어님 블로그를 상당히 많이 참고했다. 테스트 전 준비 먼저 Event 모델을 만들었다. EventListener를 그냥 사용했을 때와 Asnyc 어노테이션과 함께 사용했을 때를 구분하기 위한 모델을 각각 만들었다. data class SampleEvent( val name: String, val email: String ) // 비동기용 data class..

재그지그 블로그의 대나무숲 슬랙 앱 따라하기
Dev Note 2022. 8. 1. 23:12

재그지그 블로그에서 대나무숲 슬랙 앱을 만든 것을 공유하였다. 사용해본 입장에서 '와우' 소리가 절로 나왔다. 블로그 글을 봐도 누구나 따라서 슬랙 앱을 만들 수 있어 보일 정도로 잘 정리되어 있었다. 하지만 나처럼 아무런 지식없이 맨땅에 헤딩하는 분들은 고생할 포인트가 여러군데 있다. 자바스크립트도 타입스크립트도 잘 모르고 헤로쿠를 처음 써보았고 Bolt.js는 처음 들어보았고 슬랙앱 하나 만들어본적 없는 필자의 재그지그 블로그의 대나무숲 슬랙앱 따라하기를 해보겠다. 시작하기 전에 반드시 재그지그 블로그를 먼저 읽어보길 바란다. 어디까지나 해당 블로그의 글과 재그지그 Github를 바탕으로 만든 것이기에 본 포스팅보다 원리나 정리면에서는 훨씬 뛰어나다. 여기는 단순히 따라하는 방법만 제시할 뿐. 지식적..

[JPA + Stream] 각 그룹의 최댓값을 가진 데이터만 보고 싶다면
Dev Memo 2022. 7. 31. 17:20

⚠️ 경고 ⚠️ 본 카테고리, Dev Memo는 필자가 깊게 다루기는 귀찮지만 궁금한 것들을 체험해보고 간단하게 기록을 남기는 공간입니다. 디버깅 노트, 써드파티 라이브러리 사용기, 버전 업데이트, 어이없는 실수, 오탈자 발견 등. 각종 시덥지 않은 내용이 들어 갈 수 있다는 점 참고바랍니다. (우헤헿) 일단 다음과 같은 환경을 갖춘 상태이다. 스프링부트 + JPA + Kotlin User와 Club 테이블은 양방향 조인 ID는 Auto Increment 다음은 요구사항이다. 클럽에 가입 신청 혹은 신청 승인된 User를 찾는다 특정 기간 내 가입 신청한 User들을 찾는다 해당 유저들은 클럽별로 묶는다 클럽별 가장 최근에 가입 신청한 User를 모아서 Return해준다 고민해보았다. 과연 Spring..

노션으로 다크모드 웹사이트 만드는 3가지 방법
Tool 2022. 7. 30. 21:54

노션(Notion)은 무료 버전으로도 충분히 많은 표현이 가능하기에 수많은 유저들이 이용중이다. 기본적으로는 노트툴이지만 외부에 공유를 한다면 웹페이지처럼 사용도 가능하다. 그런데 노션은 마크다운으로 작성이 된다. 마크다운은 레이아웃의 배경색을 변경하지 못한다. 물론 노션툴이나 앱에서는 다크모드를 제공하기에 검정색 배경의 테마를 이용할 수 있지만 외부에 공유되는 웹페이지는 마크다운만 옮겨지기 때문에 배경색이 하얀색으로 표현된다. 그렇다면 다크모드 공유를 포기해야 할까? 우회 방법이랄까. 방법이 있다. 외부 서비스를 이용한 2가지 방법과 직접 만드는 방법 1가지를 알려주겠다. Simple.ink Simple.ink는 노션을 바탕으로 정적 웹페이지를 만들어준다. 서비스 이름으로 도메인도 제공해줘서 노션의 긴..

스프링부트에서 쿠키(Cookie)를 구워보자
Spring 2022. 7. 28. 19:19

쿠키? 먹는거 그거? 크롬 브라우저를 열고 네이버에 접속해서 로그인을 한다. 그리고 새로운 탭을 열어서 네이버에 접속하면 로그인된 화면을 볼 수 있다. 이 상태에서 엣지나 웨일같이 다른 브라우저를 통해 네이버에 접속하면 해당 화면에서는 로그인이 되어 있지 않은 모습을 볼 수 있다. 당연하다고 생각했던 모습. 그런데 생각해보면 신기하다. 새로운 탭 화면과 새로운 브라우저 화면, 이 두가지 경우에 어떤 차이가 있길리 다르게 나타나는 것일까? 답은 쿠키(Cookie)에 있다. 쿠키는 일종의 파일이다. 유저가 통신 중에 본인을 인증하기 위해 클라이언트에 보관하는 파일이다. 저장된 쿠키를 서버에 전달해서 이 사용자임을 확인한다. 앞 예시를 떠올려보자. 크롬 브라우저에 쿠키가 저장을 할 수 있어서 새 탭으로 네이버..

728x90
반응형