ETC
-
[ETC] API url에 /api/v1를 붙이는 이유ETC 2022. 12. 3. 19:54
https://stackoverflow.com/questions/70440506/why-do-we-have-to-put-api-in-front-of-routes Why do we have to put api in front of routes? I am learning express and the http methods, but I cannot find any documentation on it. Is /api/value just for the json data, like an address just for that data? Just any extra info on it would be stackoverflow.com api prefix 꼭 필요한 것은 아니다. API url에 api prefix가 붙어..
-
[ETC] CDN(콘텐츠 전송 네트워크)ETC 2022. 11. 15. 11:14
CDN은 지리적으로 분산된 여러 개의 서버, 웹 콘텐츠를 사용자와 가까운 곳에서 전송함으로써 전송 속도를 높인다. CDN은 웹 페이지, 이미지, 비디오 등의 콘텐츠를 사용자의 물리적 위치와 가까운 프록시 서버에 캐싱한다. CDN은 마치 ATM처럼 생각해도 좋다. 여러 곳에 ATM을 설치해 놓으면 사용자가 빠르고 효율적으로 현금을 찾을 수 있다. 은행에서 긴 줄을 서서 기다릴 필요 없이 가까운 곳에 있는 ATM을 바로 사용하면 된다. CDN의 미션은 지연 시간을 줄이는 것, 지연 시간은 웹 페이지 또는 비디오 스트리밍 콘텐츠가 디바이스에 완전히 로딩되기 전에 발생하는 불편한 지연을 의미한다. CDN이 보다 광범위하고 넓게 분산되어 있으면 사용자와 최대한 가까운 곳에 콘텐츠를 배치함으로써 웹 콘텐츠를 보다 ..
-
[ETC] Promise.all로 성능 개선하기ETC 2022. 11. 10. 16:30
기존 로직 const a = await updateA(); const b = await updateB(); const c = await updateC(); return { a, b, c } updateA, updateB, updateC 로직이 끝난 후 return문에서 값을 반환해야 하기 때문에 3개의 로직은 동기적으로 처리되어 있다. 여기서 놓친 포인트가 있었는데 3개의 로직이 다 끝난 후에 return문을 거쳐야 하는 것은 맞지만 3개의 로직이 동시에 처리될 필요는 없었다. 그렇기 때문에 아래와 같이 개선할 수 있었다. 개선된 로직 const [a, b, c] = await Promise.all([ updateA(), updateB(), updateC(), ]); return { a, b, c } 위..
-
[ETC] Webpack 이란?ETC 2022. 7. 17. 13:47
Webpack Webpack은 여러개 파일을 하나의 파일로 합쳐주는 모듈 번들러(Module bundler)이다. 1. import / export가 없던 모듈 이전 상황 JavaScript는 script 태그를 사용하여 외부의 스크립트 파일을 가져올 수는 있지만, 파일마다 독립적인 파일 스코프를 갖지 않고 하나의 전역 객체를 공유한다. ... a.js function mul(x, y) { return x * y; } b.js mul(3, 4) console.log(mul(3, 4)); // 12 문제는 mul이 전역 스코프라는 것이다. 만약 mul에 다른 값을 할당해버리면 mul을 사용하지 못하게 된다. 2. IIFE 즉시 실행 함수 표현(IIFE, Immediately Invoked Function ..
-
[ETC] npm, yarn의 차이는?ETC 2022. 7. 17. 12:42
npm NPM(Node Package Manager)은 자바스크립트 언어를 위한 패키지 관리자로, Node.js의 기본 패키지 관리자이다. 전세계적으로 가장 많이 사용하고 있는 패키지 관리 툴이다. 이러한 관리 툴을 이용하여 Node.js로 만들어진 모듈을 웹에서 받아서 쉽게 설치하고 관리해주는 프로그램으로 개발자 입장에서는 단 몇 줄의 command로 기존 공개된 모듈들을 설치하고 활용할 수 있다. 또한 그렇게 설치된 모듈들이 업데이트되었는지를 체크해주는 등 JavaScript로 진행하는 프로젝트를 편하게 진행할 수 있도록 도움을 준다. command-line client인 npm과 온라인 데이터베이스인 npm registry로 이루어져 있으며, 일반적으로 command-line client를 npm이..
-
[ETC] ESLint, Prettier란?ETC 2022. 7. 17. 12:22
ESLint 동적 타이핑 언어인 JavaScript는 코드 에러가 자주 발생한다. 동적 타이핑 언어이기 때문에 에러가 있는 상태에서 코드가 배포될 수 있다. 이를 해결하기 위해 ESLint는 JavaScript의 코드를 정적으로 파악하여 에러를 찾아내거나 일관성 있는 코드를 유지하게 도움을 준다. Prettier Prettier는 코드의 형식을 일관되게 해주는 Formatter 이다. ESLint, Prettier를 사용하는 이유 프로젝트 진행 시, 코드의 유지보수와 협업을 용이하게 하기 위하여 통일된 형식, 문법 즉, 코딩 컨벤션을 정하고 작업을 하게 되는데 이를 쉽게 적용하기 위한 도구. 예를 들어 Git을 사용할 시 Prettier를 사용하지 않고 개발자 각각이 본인의 스타일로 작업하게 되면 잦은 ..
-
[ETC] 컴파일과 인터프리팅ETC 2021. 9. 23. 16:23
https://honggom.tistory.com/155 [일기] 기술 면접에서 시원하게 뚜드려 맞은 날 ^^ 오늘 내가 지원한 회사 중 하나에서 화상으로 기술면접을 봤다. 일단 결과적으로 참담했다.. 내가 정말 아무것도 모르는 먼지 같은 존재였다는 것을 뼈저리게 깨달았다 ㅎㅎ 나름 그동안 열심히 honggom.tistory.com 위 글에서 예고한 .. 복수 일지 그 대망의 첫 번째 '컴파일과 인터프리팅' 에 대하여 알아보는 시간이다. 우선 컴파일에 대하여 알아보자. 컴파일이란? 고급 프로그래밍 언어로 작성된 소스코드를 오브젝트 코드로 변환하는 것. 우선 고급 프로그래밍 언어가 뭘까? 멍청한 컴퓨터는 0과 1(기계어)밖에 이해를 못한다. 따라서 컴퓨터에게 어떤 명령을 시키려면 이진법으로 작성된 코드를 ..