웹을 사용할 때, 응답속도는 매우 중요하다.하지만 같은 시간이 걸리더라도, 답답할 때가 있고 덜 답답할 때가 있다.위처럼 돌아가면서 뭔가를 진행중임을 알려주는 것들을 스피너라 한다.일반적으로 걸리는 시간은 같지만, 뭔가를 하고 있다는 인상을 줌으로서 이런 요소들은 사용
mybatis collect은 언제나 정답일까? 한번 해 보니 아닐 수도 있다는 생각이 든다. 장단점이 있기는 하지만.
현대 CPU에서 try 블록 안의 코드는 Exception이 일어나기 전까지는 Zero Cost라고 합니다. 즉 에러가 발생하기 전까지는 try 블록 안에서의 성능 하락이 아예 존재하지 않습니다. 하지만 throw가 일어나면 에러 복구를 위해 수백에서 수천 사이클의
카카오 블라인드 채용을 합격했다. 처음으로 블라인드 채용에 도전하려는 분들이 있다면 한번 이를 보며 절차를 알아보면 좋을 것이다.
나는 당연히 웹소켓을 알고 있다 생각했다. 내가 틀렸다. 나는 웹소켓에 전혀 아는 것이 없었다. 그래서 이번에는 Go 소스코드를 보고 웹소켓 연결 방식을 이해해 보고자 한다.
이 문제는 다음과 같은 경우 확인해 봐야한다.terraform을 이용해 EKS를 구축하였다.VPC-CNI 에드온을 사용 중이다.Retrying waiting for IPAM-D가 무한반복된다.새로 추가된 노드에 kube-proxy는 올라갔는데 aws-node는 runn
타입스크립트에서 빈 오브젝트를 정의할 때는 {}를 사용하면 안된다. 정확히는, 이렇게 사용하면 예상치 못한 값이 들어갈 수 있다. 다음 예시들을 살펴보자.
yarn berry는 매우 훌륭하지만 그 특징으로 인해 기존 패키지 정의가 말썽을 피울 수도 있다. 다음 사례를 보자.
우연히 오픈소스 코드를 보던 중 한 오픈소스에서 재미있는 코드를 보게 되었다. 문제의 코드는 다음과 같다. 얼핏보면 크게 문제가 없는데 한가지 이상한 점이 있다 ? 프로퍼티의 타입을 정의하면서 | undefined로 굳이 한번 더 불필요해 보이는 타입을 덮어 씌운
갑자기 잘 작동하던 소스코드에서 DOMException [AbortError]가 발생한다면 이 내용을 읽으면 이유를 알 수 있을 것이다.
만약 fastify, @fastify/websocket 사용 중 fastify.close를 사용하면 생기는 기묘한 문제를 알게 되었다. 혹시 나와 같은 사례가 있다면 이를 확인해보면 좋을 것 같다.
자바스크립트는 인터프리터 언어로 처음에는 간단한 사용을 위해 만들어 진 언어였다.하지만 이젠 단언코 아니라고 장담 할 수 있다.자바스크립트는 이젠 서버 프로그래밍에도 쓰일 정도로 성공적으로 주류 언어가 되었다.주류 언어가 될 수 있던 이유는 물론 여러가지가 있지만, 그
강력한 타입스크립트 제네릭을 활용한 사용법, 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 함수를 구현 가능하다면? 한번 해 보자!