반응형
조금은 안전하게 ngrok 사용하기
Tool 2022. 9. 24. 19:47

PC에서 개발한 API를 로컬 서비스로 띄워서 공유하고 싶을 때 어떻게 할까? 필자의 경우, ngrok을 사용한다. 방화벽 넘어서 외부에서 로컬에 접속 가능하게 하는 터널 프로그램이다. 쉽게 외부로부터 접근을 할 수 있고, 활용 범위도 넓어서 많은 개발자가 사용한다. 그런데 기본적인 사용에 있어서 꺼림찍한 부분도 있다. 공유 URL만 있으면 누구나 접근이 가능하다는 것. 생각해보았다. ngrok에는 분명 이런 경우를 고민해서 인증절차를 만들어 놓았을 것이라고. 아니나 다를까 ID/Password 형태로 접근을 제한하는 방식이 있었다. 그 방법을 공유해보고자 한다. ngrok - Online in One Line Zero Trust Add SSO, Mutual TLS, IP Policy, and webho..

리팩터링 2판 - JS 모르는 사람도 샘플코드 실행해보기
Dev Note 2022. 9. 5. 16:43

물.론. 처음부터 끝까지 책만보고 실습을 해도 좋다. 하지만 21세기를 사는 우리에게 하루 24시간은 너무 짧다. 있는 걸 돌려보는 것만해도 어느 정도 학습효과가 분명 있다. (변명 x 9999999) 그래서 이미 준비된 실습 코드를 실행해보기로 했다. 공식적으로 마틴 파울러가 제공하는 실습코드는 없다. 대신 리팩터링 2판을 출판한 출판사에서 실습코드가 있는 좌표를 찍어주었다. 필자는 가능한한 덜 고생해서 최대한 많은 것을 얻으려는 날먹 정신(?)이 강하기 때문에 여기서부터 시작한다. 해당 링크는 아래를 참고하시길. GitHub - wickedwukong/martin-fowler-refactoring-2nd: Practice refactoring techniques in the Martin Fowler'..

피, 땀, 눈물없이 할 수 없는 게임 이야기 (피, 땀, 리셋)
Study 2022. 8. 28. 23:55

한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다...만진심이 담겨있습니다. 허위 사실 유포는 😎일절 없음. 프로젝트. 크면 클수록 시간도 비용도 많이 들지만 사람의 정신적 에너지 소모도 크다. 어디든 그렇겠지만 게임은 비교적 더 자극적이다. 게임이라는 공학적인 기술의 산물이 유저에게 예술적으로 소비가 되기까지 겪어도 되지 않을 일들을 겪는다. 순수히 공학적인 접근으로 일을 했지만 예술적인 관점으로 인해 프로젝트가 중단이 되거나 없어지거나 공중분해되기도 한다. (음? 다 똑같은 말인가?) 게임 개발 속 숨은 영웅들의 이야기라는 부제를 가진 책. '피, 땀, 리셋'은 지나친 정신적 에너지 소모를 겪어본 사람들의 이야기들이 모여있다. 처음 읽을 때는 좀 불쌍한 사람들 이야기 정도. 그런데 읽을수록 마..

Enum Converter와 Enumerated 어노테이션
Spring 2022. 8. 19. 15:53

타입이나 상태를 구분하기 위해 Enum class를 사용한다. 그리고 enum값을 저장하기 위해 Enum Converter 혹은 Enumerated 어노테이션을 이용하게 된다. 이 둘의 차이는 무엇이며 어떤게 더 선호되는지 확인해보려고 한다. Enumerated 어노테이션 Enumerated 어노테이션은 원하는 필드에 추가하는 것만으로도 (DB와 같은)소스에 String값을 입력해준다. 물론 순서값을 입력해주는 Option인 ORDINAL로 입력이 가능하지만 의도치않게 enum값의 순서가 바뀌는 경우가 생기면 데이터가 꼬이기 때문에 권장하지 않는다. enum class UserType { NORMAL, ADMIN; } @Column(name = "user_type", length = 70) @Enume..

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

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

728x90
반응형