Archive: 2020

0

Interface Separation Principle

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

0

Am I a professional?

Well it’s kind of hard to say but, I don’t think I am. I changed my skill set from Java and Spring to Javascript, Typescript.Actually those are very attractive skills because I can make simple applica

0

Class method vs field function

Javascript와 같은 함수를 일급 객체(first class citizen)로 취급하는 언어는 함수를 값처럼 사용할 수 있기 때문에 온갖 곳에 사용할 수 있다.그러면 class의 field에 함수를 사용하는건 어떨까??아래 Typescript 코드를 보자 123456789101112class Person { constructor( pr

0

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

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

0

Go로 스크립트 작성하기

전에 Go를 스크립트 언어로 사용한다는 Cloudflare의 블로그 글을 본 적이 있다.읽을 당시엔 잘 이해가 안갔지만 Go를 공부하면서 어떻게 Go를 스크립트 언어로 사용한다는 것인지 궁금해져서 관련해서 정리하는 글이다. 간단한 Hello World 스크립트를 Bash로 작성하고 실행하는 과정을 알아보고, 이를 다시 Go 스크립트로 구현하는 예제로 Go

0

winston 02 - Logging Level

이번 포스팅은 winston의 Logging Level에 대해 알아보도록 하겠다. Logging Level은 error / warn / info / http / verbose / debug / silly 이렇게 나뉜다. (http는 자세히 모르겠다)참고: https://github.com/winstonjs/winston#logging Logging Lev

0

winston 01 - Logger

winston은 node.js logging library로 사용하기 편하고 logging 관련하여 강력한 기능들을 제공한다. 이번 포스팅은 winston의 Logger에 대해 알아보도록 하겠다. Logger는 logging을 수행하는 객체로 아래와 같이 winston.createLogger 함수를 통해 생성할 수 있다. 1234567891011const

0

Array and Slice

Go를 공부하는데 Array와 Slice의 사용법이 거의 같은데 무슨 차이가 있는지에 대해 정리한 바이다. Array정해진 크기가 있는, 데이터를 순서대로 저장하는 자료구조이다. 123456789101112131415arr1 := [4]int{1, 2, 3}fmt.Println(arr1) // [1, 2, 3, 0]// array 크기

0

DI with Nest.js

코드는 여기에서 확인할 수 있다. Nest.js는 기본적으로 DI를 지원하기 때문에 별도의 library를 설치하지 않아도 DI를 적극적으로 사용할 수 있게 도와준다. Hexagonal architecture와 같이 특정 인프라 스트럭쳐에 의존하지 않는 코드를 작성한다면Repository와 같이 특정 인프라 스트럭쳐를 사용하는 기능은 interface로

0

BCrypt로 Password Hashing 하기

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