Stack & Queue는 프로그래밍을 할 때 절대로 빼놓을 수 없는 알고리즘이다. 마치 수학의 정석에도 닳고 닳게 보던 집합 챕터같은 느낌이랄까. 은연중에 우리는 많은 코딩방식을 Stack과 Queue를 통해 하고있으며, 본 포스팅에선 이를 정리하려하는데... ...사실, Stack & Queue는 내가 2018년에 블로그 포스팅을 통해 정리를 한 번 했었다. 티스토리 블로그가 아닌 Github 블로그에 말이다. 링크를 걸어놓은 Github 레파지토리는, Git이 뭔지도 몰랐던 신입사원시절에 '일단 Github가입부터' 했던 시절의 계정이며 지금은 활용되지않아 사장된 계정이다(저때도 기술 블로그와 에세이 블로그를 따로 만들고 디자인 어떻게 할 지 고민하다가 대략 만들어놓고 흐지부지 된 곳이다) 이후에,..
문제점 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-..
알고리즘 카테고리의 첫 포스팅은, KMP 알고리즘이다. Knuth, Morris, Pratt 이라는 세 사람의 첫 글자를 따선 만든 알고리즘인데, 쉽게 정의하자면 서로 다른 문자열을 비교하는 알고리즘이라고 보면 된다. 예를 들어, 'aaaabbccaab' 라는 문자열이 있을때, 'aab'라는 문자열이 몇번째 인덱스에 있는지 찾고자한다면 어떻게 찾아야 할까? 당장 떠오르는 방법은 아마도 'aaaabbccaab'의 첫번째글자와 'aab'의 첫 번째 글자를 비교해서 동일하면, 각각 두번째 글자를 비교하고 또 동일하면 세번째 글자를 비교하고. 만약 세번째에서 동일하지 않다면, 비교의 시작점이었던 'aaaabbccaab'의 두번째 글자로 돌아와서, 다시 'aab'의 첫 번째 글자와 비교를 할 것이다. 이 방법의 ..
이건, 좀 의아한 기록이고 왜 그런지 모르겠어서 남기는 메모인데... 요즘 해커랭크에서 문제를 풀어보는 편인데, 가볍게 풀려고 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+..
문제점 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가 정상적으로 끝난 것처럼 정적 리..
문제점 개발중인 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 파일..
안녕하세요, 오랜만에 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월에 이미 투입되었어야합니다만 코로나로 인해 프로젝트 일정 전체가 딜레이되버리는 바람에 차일피일 투입이 미뤄지고, 그로인해 한가해져버린거죠. 그래서 이때다 싶은 생각에, 대기하면서 하고싶었던 일과 ..
어,음…저번 포스팅때 이번편부터 본격적으로 Vue 파일들에 대해 파헤쳐보겠다고 했던 거 같은데, 생각해보니 라우터와 관련해서 못 다한 이야기가 있어서 이렇게 또 라우터를 주제로 작성하게 됐습니다. 그냥 나중에 좀 더 상세한 내용을 담는 포스팅에서 쓸까하다가, 그냥 나온김에 쓰자 싶어서요. (제 성격이 방학숙제조차도 미뤄놓으면 되게 찜찜해하는 타입이라 그렇습니다) 그래서 이번편은 #04_2편 입니다. 1. vue-router는 사실 2개야. 우선, Vue에서 라우터 기능을 사용하기 위해서 우리는 하나의 npm 패키지를 설치해줘야 합니다. 대략 vue-router 라는 이름을 가진 npm 패키지구요, Vue.js를 활용하신다면 필수적으로 사용할 수 밖에 없는 라이브러리입니다. 근데 여기서 중요한 점은 포스팅..