문제점 npm run build 명령을 통해서 떨어지는 최종 결과물에, Code Split를 적용하기 위해서 아래와 같은 옵션을 적용했다. module.exports = { configureWebpack: { optimization: { minimize: true, splitChunks: { chunks: "all" // 이거 }, }, }, } Entry파일을 여러개로 나눈, Multiple Entry 형태의 구조로 개발을 하기위해서 공통으로 활용되는 npm 패키지들을 하나로 묶고자 위와 같이 설정한 것인데...위와 같이 정의하고 npm run build로 webpack을 동작시키면 의도한대로 최종 빌드된 html과 js파일들은 잘 생성이 된다. 하지만, npm run serve를 통해 webpack-..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/L6n8Q/btq4XyF1VKc/td0yAUZ6ikd0pacBVuTthK/img.png)
알고리즘 카테고리의 첫 포스팅은, KMP 알고리즘이다. Knuth, Morris, Pratt 이라는 세 사람의 첫 글자를 따선 만든 알고리즘인데, 쉽게 정의하자면 서로 다른 문자열을 비교하는 알고리즘이라고 보면 된다. 예를 들어, 'aaaabbccaab' 라는 문자열이 있을때, 'aab'라는 문자열이 몇번째 인덱스에 있는지 찾고자한다면 어떻게 찾아야 할까? 당장 떠오르는 방법은 아마도 'aaaabbccaab'의 첫번째글자와 'aab'의 첫 번째 글자를 비교해서 동일하면, 각각 두번째 글자를 비교하고 또 동일하면 세번째 글자를 비교하고. 만약 세번째에서 동일하지 않다면, 비교의 시작점이었던 'aaaabbccaab'의 두번째 글자로 돌아와서, 다시 'aab'의 첫 번째 글자와 비교를 할 것이다. 이 방법의 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bYHP0t/btq4PmxxF3H/GpLx11cTBK64ngeBvrthMk/img.png)
이건, 좀 의아한 기록이고 왜 그런지 모르겠어서 남기는 메모인데... 요즘 해커랭크에서 문제를 풀어보는 편인데, 가볍게 풀려고 Easy 난이도의 Two Strings 라는 문제를 봤다. 설명하자면, 그냥 문자열 2개 비교해서, 서로 동일한 문자가 있으면 'YES', 없으면 'NO'를 리턴하는건데 내가 어떤 부분에서 이해가 되질 않아서 이렇게 포스팅까지 하냐면... 처음에 아래와 같이 쉽게 for문 2개 코드로 작성 제출했는데 function twoStrings(s1, s2) { // Write your code here for(let i = 0, length = s1.length; i < length; i++){ for(let j = 0, jlength = s2.length; j < jlength; j+..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/djphLz/btq20FAz7IB/CIvFqliOtMM0ilsReSZxIk/img.png)
문제점 npm run build 명령을 통해서, Vue Cli로 만든 프로젝트를 빌드하려했는데... Accessing non-existent property 'cd' of module exports inside circular dependency Accessing non-existent property 'chcmod' of module exports inside circular dependency Accessing non-existent property 'cp' of module exports inside circular dependency ..... 위와 같은 메세지가 콘솔창에 가득차며 되게 에러처럼 보이는 무언가를 뱉어낸다. 물론 이 메시지가 끝난 이후에도 build가 정상적으로 끝난 것처럼 정적 리..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/OLAtc/btq17ZM2lLh/bgQTI8vYV7UTFSSoWzakA1/img.png)
문제점 개발중인 Vue.js 기반의 프로젝트에서, 배포를 위해 빌드를 하던중에 배포된 상태의 용량을 최대한 줄이기 위해서 import된 npm 패키지들을 분석하던 도중에, 컴포넌트 쪽 패키지가 생각보다 너무 크길래 줄이려고 시도하다가 난 이슈다. 확인결과 해당 컴포넌트 패키지를 import 하는 대상이, minify & uglify가 적용되지 않은 js를 사용하고 있었기에 minify & uglify 된 파일을 import 하는 형태로 바꿨는데...콘솔이 에러메시지로 가득차버렸다. did you register the component correctly? For recursive components, make sure to provide the "name" option. 사실, 이 에러는...Vue 파일..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bBioKB/btq1TNM6UTN/KfNfxM40SpDDWng8FLQHF0/img.gif)
안녕하세요, 오랜만에 Vue.js 관련 포스팅을 합니다. 와...벌써 2021년 4월이라니...Vue.js 관련 마지막 포스팅이 작년 11월이네요. ([Vue.js_#04_2] 라우터(vue-router) vol.2) 무려 4개월이 넘는 시간동안 포스팅을 하지 않다니... 바쁘다는 건 늘 핑계라고 생각하는 성격상 입이 열개라도 할 말이 없습니다......만! 그래도 열 한 번째 입이라도 강물에 둥둥떠서 살아보고자 이 포스팅을 쓰게 되었습니다. 사실, 티스토리에서 못 다한 Vue 가이드 포스팅을 Github Page에서 완성해버렸답니다? 에헷>_
그레이입니다, 오랜만이네요. 놀랍게도 마지막 기술 포스팅이 작년 11월이네요. 그러니까 대충 100일 정도는 아무런 글도 쓰지 않았다는거죠. 9월 중순경 투입된 프로젝트가 12월에 운영레벨로 최종이관이 되었고 그 과정에 있어서 11월부터 주말출근이 이어지는 빡센 일정과, 이관해야 할 메뉴얼정리를 비롯해서 운영자들 교육까지 호로록 달렸더니 어느새 2020년을 지나 2021년이더군요. 사실 1월은 제법 한가했습니다. 흔히 말하는 농한기라고하죠. 실은 프로젝트가 마무리되어가는 시점에 또 다음 프로젝트지가 정해져서 1월에 이미 투입되었어야합니다만 코로나로 인해 프로젝트 일정 전체가 딜레이되버리는 바람에 차일피일 투입이 미뤄지고, 그로인해 한가해져버린거죠. 그래서 이때다 싶은 생각에, 대기하면서 하고싶었던 일과 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/DL5Uk/btqNcFWMTar/VnmgKJeaUp15Vefz6HKgYK/img.png)
어,음…저번 포스팅때 이번편부터 본격적으로 Vue 파일들에 대해 파헤쳐보겠다고 했던 거 같은데, 생각해보니 라우터와 관련해서 못 다한 이야기가 있어서 이렇게 또 라우터를 주제로 작성하게 됐습니다. 그냥 나중에 좀 더 상세한 내용을 담는 포스팅에서 쓸까하다가, 그냥 나온김에 쓰자 싶어서요. (제 성격이 방학숙제조차도 미뤄놓으면 되게 찜찜해하는 타입이라 그렇습니다) 그래서 이번편은 #04_2편 입니다. 1. vue-router는 사실 2개야. 우선, Vue에서 라우터 기능을 사용하기 위해서 우리는 하나의 npm 패키지를 설치해줘야 합니다. 대략 vue-router 라는 이름을 가진 npm 패키지구요, Vue.js를 활용하신다면 필수적으로 사용할 수 밖에 없는 라이브러리입니다. 근데 여기서 중요한 점은 포스팅..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/UNCHk/btqLNrr84e6/k66rUZ1yi1nNq9ktzjeyj0/img.png)
문제점 npm install 명령어를 통해서 패키지를 설치하는데, 아래와 같이 run `npm audit fix` to fix them, or `npm audit` for details 라는 에러가 발생했다. npm을 다룬지도 한참됐는데...처음보는 에러라서 또 뭔가 프록시 설정을 누락했거나, npm config 설정값에 문제가 있는 줄 알았는데, 그게 아니고 npm audit 라고, 각 패키지들이 가진 취약점을 체크해주는 로직이 들어 왔다는 거였다. npm 패키지 자체가 install 시에 물고물고물린 의존성에 따라 여러 패키지들을 알아서 설치해주다보니, 그 과정에 발생할 수 있는 이슈를 대비하기위해 해주는 거라고 한다. 해결법 생각보다 심플하다. 해당 audit 옵션을 쓰지 않겠다는 옵션을 아래와 같..