설계의 중요성을 설명하기가 왜 어려웠을까?
설계가 후순위가 되면 시스템을 개발하는 비용이 더 많이 들고, 일부 또는 전체 시스템에 변경을 가하는 일이 현실적으로 불가능해진다. - Clean Archictecture, 21P 돌아가는 행위(외부 품질)만 중시하고, 설계(내부 품질)를 등한시하면 유지...
Express.js 서버는 왜 304를 반환하는 걸까?
1. Express.js는 정적 리소스 요청과 동적 리소스 요청을 구분한다. 정적 리소스에 대한 설정은 express.static으로 지정하도록 구분해 놓은 것이 그렇다. 2. 어떤 리소스 요청이든, Express.js는 모든 응답에 Etag를 자동으로 생성해서 헤더에...
CORS 실패 시, 응답 개체의 status는 왜 0일까?
문제를 만나다 클라이언트의 도메인과 서버의 도메인이 서로 다른 경우, 브라우저는 크로스 도메인(Cross Domain) 보안 정책에 따라 요청을 차단한다. 이 상황을 우회하는 몇 가지 해법이 있는데, 스마트에디터 원은 주로 CORS를 이용하고...
나는 그동안 무엇으로 성장했을까?
"API 수집가" 개발 어린이 시절에는 다양한 라이브러리와 프레임워크를 사용해 보는 것을 성장이라고 생각했다. 새로운 기술을 찾고, 예제 코드를 작성하고, 사용해봤다는 걸 열심히 자랑했다. 사용해 본, 또는 공부한 프레임워크의 종류는...
Webpack 4의 Tree Shaking에 대한 이해
회사에서 만들고 있는 새로운 버전의 스마트에디터는 Webpack 4를 빌드 도구로 사용한다. 초기 로딩 성능을 최적화하기 위해서 Webpack 4의 Tree Shaking 지원을 검토하다가 삽질을 많이 했다. 공부 안 하고 대충하면 될...