강력한 타입스크립트 제네릭을 활용한 사용법, Literal 분석을 통한 패러미터 추론에 대한 편입니다.
Go언어의 가장 강력한 기능은 내 생각에는, 단연코 goroutine이다. 경험상, goroutine은 병렬처리 환경에서 성능을 향상시키기 위한 세심한 조정 없이도 쉽게 병렬처리를 활용한 성능 향상을 달성할 수 있었다. goroutine은 병렬처리가 가능한 알고리즘
CommonJS와 ES-Module, 분명히 미래에는 ES-Module이 더 널리 쓰일 것이다.(적어도 난 그렇게 믿는다.) 하지만 분명 지금은 CommonJS가 더 널리 쓰이고, 새로운 프로젝트에서도 CJS를 지원하는 것은 당연하다. 따라서 내가 패키지를 만들고자
간단한 Go Iterator 구현을 만들어 보자. 다만 안타깝게도 제네릭의 제한 때문에 원하던 디자인으로는 만들지 못했다.
Go 언어에는 제네릭이 존재하지 않았다. 왜 없는가에 대해서는 인터넷에 검색만 해도 수십페이지 이상이 나올 정도로 논쟁적인 주제였고, 그것을 싫어하는 사람만큼 필요하다는 사람도 많았다. > 사실 내 주변에는 필요하다 이야기 하는 사람이 더 많았던 것 같다. 그런데
오래 전, Javascript는 오로지 브라우저에서 간단한 처리를 위해 태어났다. 따라서 js에는 import도, export도 존재하지 않았다. 그러다 commonjs라는 자바스크립트 모듈에 대한 표준을 정의한 사람 덕분에 우리는 오늘날 require, impor
flatten 이란 기능은 우리가 종종 오브젝트를 편하게 사용하기 위해 사용한다. 이때 flatten된 오브젝트는 type safe 하지 않다. 하지만 만약 type safe한 flatten 함수를 구현 가능하다면? 한번 해 보자!
우선 시작하기 전 이 글은 단순한 호기심에 따른 실험일 뿐이고 가능한지 아닌지만 확인할 뿐 실용적인 용도는 전혀 없는 단순 심심풀이에 불과하다. Go 언어의 string 우선 시작하기 전, Go 언어의 string은 immutable, 즉 수정 가능하지 않다. 예를
node 환경에서는 주로 npm을 통해서 패키지를 관리한다.yarn이나 pnpm등등 다른 패키지 관리자를 이용하기도 하지만 결국 그 근본은 npm이니 결국 npm의 중요성은 두말할 필요가 없다.또한 npm은 단순히 cli 명령어일 뿐만 아니라 https://w
최근 typescript 에서 에러 처리를 하는 라이브러리를 만들 필요를 느끼게 되었다. 그러던 중 타입스크립트의 제네릭을 이용해 정적으로 코드를 분석해주는 라이브러리를 만들게 되었다. 많은 장점이 있으니 한번 포스트를 보고 써 보는게 어떨까?
String과 SSO, 그리고 언어별로 string 구현에 대한 세부사항을 알아보자. 알아볼 대상은 libstdc++, libc++, rust, go 이다.
10편 : 아... 제일 힘든 시간... 디버깅과 단위테스팅, 그 3부 만드는 것은 즐겁지만, 그것이 좋은지 확인하는 과정은 언제나 고통스럽다. 왜냐하면 내가 만든 거니까. 내가 만들었고 내가 확인하기 때문에 실수는 눈에 잘 안 띈다. 그래서 내가 과연 정말로 잘
openSSL을 통해 TLS 서버 인증서를 만들때 PEM 형식으로 된 인증서를 내보내 본 적이 있다. 그래서 PEM이 뭔지 알고 있다고 생각하고 있었다. 그런데 최근데 JWT를 공부하면서 JWK 형태의 키를 사용하며 무척이나 혼란스러운 상황을 마주했다. 그 코드는
오늘은 내가 단위테스팅을 도입하면서 찾아낸 decode 파일의 문제점들을 짚어 보겠다. 다행히도 정말 큰 오류는 찾지 못했고 적당히 있을법한 실수만 찾아서 다행이였다.
에러를 발견했다. 별건 아니지만 내 실수였다. 다행이도 간단한 실수니 금방 수정이 가능하다. 정말 다행이였다. 이래서 졸릴때는 코딩하면 안된다.
단위 테스팅과 코드 커버리지는 프로그래머의 실수를 줄이는 데에 있어 매우 강력한 도구가 될 수 있다. Go 에서는 해당 기능을 위해 go test라는 도구를 지원하는데 이를 이용해 단위 테스트와 코드 커버리지 측정을 수행해보자.
프로그래머는 누구나 실수한다. 하지만 결과물에 실수가 있어서는 안된다. 따라서 에러가 프로그래머에게 실수를 알려줄 정도로 자세해야 하는 것은 필수다. 그러면 에러를 충분히 잘 묘사할 수 있도록 잘 코드를 짜 보자.
이번 글은 큰 내용은 없고 내가 어떻게 함수를 구성했는지를 적어 보았다. 이번에는 코드를 짜느라 기운을 다 빼서 글이 별로 영양가가 없는 것 같다.