본문 바로가기

분류 전체보기

(871)
Electron ≥ 12.x : 컨텍스트 분리(Context Isolation) 3년전에 둘째 출산 휴가 때 진행했던 serami 프로젝트를 얼마 전에 다시 보게 되었다. 이메일 인증을 개발하면서 템플릿의 결과를 확인하게 위해 사용을 했는데 개발한지 오래되었다보니 Github에서 버전 업데이트에 대한 경고를 그 동안 지속적으로 받고 있었다. 라이브러리 업데이트를 하고나서 보니 "Uncaught ReferenceError: require is not defined" 에러가 발생했다. 에러의 부분을 찾아보니 리액트를 bootstrap 하는 부분인 require 이라는 부분에 문제가 발생하였다. 일단 찾아보니 Electron 12 부터 Context Isolation 이라는 것이 활성화 되었고 Renderer Process 에서 수행할 수 있는 것들이 제한이 생겼다. stackoverfl..
[apple] 나의 이메일 가리기 iOS13에서 Sign with Apple 이라는 기능이 추가가 되었다. 이 기능을 사용하면 실제 이메일이 아닌 랜덤생성되는 중계용 이메일 계정을 이용하여 원래 본인의 이메일을 숨길 수 있다. 실생활에서 안심번호나 가상카드번호(VCN)이랑 비슷한 개념의 보안 서비스이다. kim_kilgo@icloud.com 이라는 원래 이메일이 있으면 아래와 같이 난수로 만든 값에
Google 본인 인증 정책: 3번까지 전송 가능 마스킹은 * 가 아닌 x로 하고 마지막 번호 두 자리를 보여줌 (주)한국모바일인증을 통해 대행을 하고 있음 - 전화번호: 02-2033-8500
Chrome Web Store에서의 Email Verification 아침에 일어났는데 구글에서 메일이 와있었다. 2021-10-30 01:12에 도착 메일의 내용은 2021년 12월 1일부터 크롬 웹 스토어에서 계정 설정의 일부로 입력된 모든 이메일은 검증이 되어야 한다는 내용이었다. 이 메일을 보면서 느낀 것은 최근에 이메일 인증 백엔드를 개발하고 있는데 고민하고 있던 용어가 실제로 사용되고 있지 않았다는 것이었다. 프로젝트의 이름은 "이메일 인증"이었다. 코드를 짜면서 인증이라는 우리말을 영어로 표현해야 했다. 처음에는 본인 인증시에 리오님이 만들어놓았던 certification을 쓰려고 했었다. 하면서 두 이름이 비슷했고 인증이라는 말을 사전에서 찾아보니 증명을 뜻하는 certification 보다는 식별에 내용을 담고 있는 authentication을 사용하는 것..
[WebFlux] block()/blockFirst()/blockLast() are blocking, which is not supported in thread 후기 백엔드를 개발하다가 이제 회원 백엔드를 맡으면서 Spring WebFlux를 다루게 되었다. 아직 Reactive Stack에 대한 경험이 부족해서 도메인 객체를 포함해서 DB연결 및 Redis 연결을 동기식으로 처리를 했다. 그런데 이전에 개발된 회원 번호에 대한 유효성 확인을 하는 함수가 Mono 를 반환하게 되어 있었다. 어디서 들은 지식으로 block()을 이용해서 블로킹 처리를 하려고 했더니 아래와 같은 에러 메시지가 발생했다. block()/blockFirst()/blockLast() are blocking, which is not supported in thread reactor-http-nio-2 누가 이렇게 에러를 던지나 찾아보았다. Mono의 block()은 아래와 같이 구현되어 ..
"백업 및 동기화"가 "Google Drive" 앱으로 대체 2017년에 "Google 포토 백업" 앱이 "백업 및 동기화" 앱으로 대체되었다는 글을 쓴 적이 있다. 2021년에는 "백업 및 동기화"앱이 없어지고 "Google Drive" 앱으로 대체가 된다고 고지가 왔다. - 2021-11-11 시점에는 이미 더 이상 백업 및 동기화가 정상 작동하지 않았다. 대체되는 앱은 Google Drive이다. 설치 과정 기존 애플리케이션의 업데이트에 Google Drive 애플리케이션으로 업데이트 하는 기능이 들어갔다. 마이그레이션 과정 설치 이후 Google Drive 를 실행하면 기존 앱의 데이터를 마이그레이션을 하는 절차가 진행된다. 계정에 로그인을 하는 절차가 있다. 브라우저를 통한 이증 방식을 사용한다. 근데 localhost 의 50095 포트를 이용하고 있다..
[Kotlin] switch to when with enum 자바의 switch는 when으로 변경할 수 있다. 자바의 switch는 문(statement)이지만 코틀린의 when은 식(expression)이다. 코들린의 When을 쓰면서 좋은 점은 enum에 대한 분기를 할 때 default를 넣지 않아도 된다는 것이다. 예를들어 아래와 같은 2대 통신사의 열거형이 있다고 하면, public enum Telecom { SKT, KT, } 어떤 처리기를 만들어주는 팩토리를 구현을 할 때 아래와 같이 만든다면 switch 끝의 라인에 에러를 만난다. interface TelecomHandler { void handle(); } class TelecomFactory { public TelecomHandler create(Telecom telecom) { switch ..
[Jira & Confluence] 20분마다 로그아웃 되는 현상! 몇 주전부터 Jira & Confluence이 20분마다 로그인이 풀리는 현상이 발생했다. JIRA는 그렇다고 쳐도 Confluence는 글을 20분 이상 쓰는 경우도 있어 갑자기 로그아웃을 하면 작성하던 내용이 날라가지 않나 당황하게 된다. 이게 별것 아니라고 생각할 수도 있는데 생각할 수록 불편했다. 20분마다 로그아웃이 된다는 것은 손목시계의 StopWatch로 lap을 찍어보니 대략 그런 주기로 로그아웃이 되고 있어서 실험적으로 알게 되었다. 그렇다면 누군가 20분 마다 로그아웃을 유발 시키고 있다는 것인데 Atlassian 제품을 설치 및 관리하고 있는 부서에서도 딱히 찾지 못했다. IntelliJ IDEA에서 Tasks 관리에서 JIRA를 등록해서 사용하고 있는데 혹시나 이것이 범인이 아닌가 ..