Category: etc

0

WebSocket Server에서 Connection `close` 이벤트를 받지 못할 때

WebSocket 서버를 운영하다보면 가끔 Client WebSocket Connection이 끊겨졌음에도 서버에서는 close이벤트를 수신하지 못할 때가 있다.아마 WebSocket 서버에서 WebSocket Connection이 close될 때 해당 Connection과 관련된 데이터를 정리하는 코드를 작성해놨을텐데,close 이벤트가 제대로 동작하질

0

Interface Separation Principle

ISP (인터페이스 분리 원칙)ISP(Interface Separation Principle)는 SOLID 원칙의 I를 맡고 있는 원칙으로 Wikipedia에서는 아래와 같이 설명한다. 123456인터페이스 분리 원칙은 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다.인터페이스 분리 원칙은 큰 덩어리의 인터페이스들을 구체적이고 작

0

적당히 괜찮은 소프트웨어 개발하기

사내 스터디 발표를 위해 준비한 자료를 블로그에 올려놓습니다. SlideShare: https://www.slideshare.net/YoungCheolSon/developing-good-enough-software .width150px { width: 150px; } .width250px { width: 250px; } 적당히 괜찮은 소프트웨

0

BCrypt로 Password Hashing 하기

사용자의 비밀번호와 같은 credential한 값은 hashing을 통해 관리자 조차도 원래 값을 알 수 없도록 암호화하여 저장해야한다.이번 포스팅은 비밀번호 암호화 관련하여 BCrypt를 적용한 것과 관련하여 알아본 바를 정리한다. SHA는 사용하지 마라일반적으로 Hashing에 사용되는 SHA 방식의 경우 비밀번호와 같은 보안과 관련되서는 사용되지 않는

0

source로 다른 소스의 변수 불러오기

문제 상황회사에서는 AWS Lambda 위에서 node application을 돌리는데,그 중에서 어느 기능이 Redis를 사용하게되서, ioredis를 사용해서 개발을 하였다. local에서 개발과 개발자 테스트를 하고 production으로 함수를 배포하기 전 development로 함수를 배포하고 테스트를 하는데,이때 개발용으로 간단하게 VPC 설정을

0

Sync & Async / Blocking & Non-Blocking

나는 원래 Java를 사용하여 개발을 했는데, 이제는 Node.js 기반으로 개발을 하는 입장으로서 Non-Blocking에 대한 개념이 중요하게 됐고,이에 더해서 Sync와 Blocking에 대한 차이도 이해하는 것이 필요하다고 느꼈는데,최근 Slipp에서 주최한 세미나에서 자바지기님의 발표를 통해서 이러한 점이 명쾌하게 이해가 되었다.이번 글은 그 기반

0

Learn IntellJ IDE Features - 2. Refactoring, Code Assitance & Navigation

Refactoring⇧F6: 이름 변경⌘⌥V: 변수나 필드로 빼기⌘⌥M: Method로 추출하기 ⌘⌥C: 상수로 빼기 ⌘⌥P: 메서드 파라미터로 빼기 Code Assistance⌘⌥L: Code formatting코드 정렬을 자동으로 해준다. ⌘P: Paramater 정보코드 내에서 메서드의 파라미터 정보를 보여준다. F1: Quick Popup메서드

0

serverless-http 사용 시 Lambda Context 객체 사용하기

AWS Lambda를 사용할 때 Serverless framework을 사용하면 AWS Lambda를 손쉽게 관리 및 배포할 수 있고, DB와 같은 다른 AWS의 인프라도 Serverless framework를 통해 코드로써 관리할 수 있다.(AWS에서 직접 관리하는 SAM도 있다.) 또한 serverless-http 패키지를 사용하면 손쉽게 expres

0

Learn IntellJ IDE Features - 1. Basics

나는 원래 Windows를 사용했었는데 이직을 하면서 MacOS를 사용하게 됐고 최근 Macbook Pro를 샀다.Windows에서 MacOS로 갈아타면서 적응이 안되는 것들 중 하나가 IDE 단축키이다.그래서 이번 기회에 IntelliJ plugin 중 하나인 IDE Feature Trainer를 통해 단축키와 편리한 기능들을 정리하고자 한다. 기능 검

0

Firebase Cloud Funtions 사용 시 EAI_AGAIN 오류

Firebase의 Cloud Functions를 사용하여 개발을 하는데, EAI_AGAIN 오류가 발생한 것에 대해 원인을 찾아보고 관련해서 정리한다. 로컬에서 함수를 실행하여 테스트할 때 node-fetch로 정상적으로 호출되던 것이 Firebase 서버로 배포를 하고나면 EAI_AGAIN 오류가 나는 것이었다.아래는 해당 에러 로그이다. 12345678