1. Array => Object 순서 보장

    2024년 08월 19일

    Array => Object를 변환해야 하는 일은 너무나 빈번하다. 근데 그 와중에 순서를 보장해야 하는 일은 그렇게 빈번하진 않다고 생각한다. (객체로 변환 후 Object.keys…

  2. webpack => vite 마이그레이션

    2024년 01월 07일

    빌드 시간이 너무 길고 레거시 환경을 개선하고자 webpack을 vite로 마이그레이션하는 작업을 23년 10월쯤에 진행했었는데, 업무가 너무 바쁘다는 핑계로 지금에야 정리를해본다. 차이점 webpack은 빌드 시점에 모든 것을 번들링하지만, vite…

  3. scss(sass) mixin의 함정

    2023년 09월 03일

    우린 js를 쓸 때 함수를 잘게 쪼개서 재사용성을 높이곤 한다. 그리고 css의 전처리기인 scss에도 스타일을 재사용하고 코드 중복을 줄이기 위한 mixin이 존재하는데, js와는 다르게 mixin…

  4. 1일 1커밋 1주년 회고록

    2023년 08월 21일

    1일 1커밋을 시작했을 때는 듬성듬성한 잔디들이 얼마 전 github를 들어가 보니 꽉 찼기에 기간을 확인해보니 어느덧 1년이 지났다. 1일 1커밋을 하면서 느낀 점과 1년 동안 내가 무엇을 했는지 간략하게 적어보려 한다.…

  5. 대량의 Array 컨트롤 (feat. Vue, scatter chart)

    2023년 05월 18일

    100만 개 이상의 데이터를 가진 배열을 주기적으로 갱신할 때, 어떻게 해야 할까? 3주나 걸린 고민의 흔적을 남겨본다. 문제의 시작은 이렇다. Vue를 기반으로 한 사내 라이브러리 EVUI의 scatter chart를 활용하여…

  6. node patch-package

    2023년 03월 12일

    예전에 patch-package…

  7. Regex 정규 표현식

    2023년 01월 10일

    알고리즘을 풀면서 다른 사람들이 풀이를 보면 정규 표현식을 쓰는 경우가 있는데 나도 필요성을 느껴서 공부한 걸 정리하고자 한다. 아래의 코드는 regexr…

  8. Vue watch의 세번째 인자 "flush"

    2022년 12월 28일

    최근 vue3에서 watch를 사용하면서 겪은 시행착오를 적어본다. 결론부터 말하자면 watch의 세 번째 인자인 flush로 callback의 발생 타이밍을 조절할 수 있다. 아래는 내가 겪은 상황이다. api로 데이터를 받아와서 pinia…

  9. copilot 실무 사용기

    2022년 12월 17일

    전 직장 개발자분하고 얘기를 나누던 중에 copilot에 대한 찬사를 듣고 나도 3개월 전부터 실무에서 써보았다. 처음 2개월은 무료로 사용해보고, 꽤나 유용해서 1년치(100달러)를 끊었다. 아래 내가 느낀…

  10. vuex vs pinia

    2022년 11월 08일

    작년만까지만 해도 react와는 다르게 vue는 상태관리를 위한 라이브러리가 “vuex” 단 한 가지 밖에 없었다. 그러나 vuex가 5.x를 앞둔 상태에서 vuex 공식 문서에서 pinia가 vue…

  11. Javascript에서의 BigO

    2022년 11월 03일

    나는 알고리즘을 많이 짜는 직군은 아니지만 그렇다고 아예 안쓰는 직군도 아니다. 그래서 빅오표기법에 대해 찾아봤고 Udemy강의 중 Colt Steele의 Javascript…

  12. SQL Fundamentals

    2022년 10월 05일

    최근 공부 중인 SQL 기본 문법에 대해 정리하고자 한다. postgreSQL, MySQL 기준으로 작성하였다. DB는 udemy postgreSQL, udemy MySQL에서 가져왔다. 데이터 유형 string, numeric, date and…

  13. ejs vs handlebars vs pug(jade)

    2022년 09월 21일

    요즘은 실무에서 프론트엔드 프레임워크를 위주로 쓰니 html template engine을 안 쓰는 편이다. (react, vue에서도 쓰는 경우가 종종 있다.) html template engine은 서버 데이터를 정적 파일(html…

  14. 1일 1커밋 한달 후기

    2022년 09월 02일

    한 달간 꼬박꼬박 1일 1커밋한 후기를 적는다. 한 달 동안 알고리즘 조금, nextjs 조금, react-native 조금, vue…

  15. 1일 1커밋

    2022년 08월 02일

    난 꾸준히 공부를 하는 편이라고 생각한다. 아니 생각했다… 2022년 8월 2일 기준 내 github…

  16. jQuery에 의존하지 말아야하는 이유

    2022년 07월 05일

    작년에 이 회사에 입사하고서 스크립트 쓴거를 봤는데 죄다 jQuery 투성이였다. 심지어 리액트에도 jQuery 투성이였다. 요즘에도 jQuery에만 의존하는 회사가 있다는 거에 놀랐고, 나도 javascript…

  17. IOS Safari css rotate bug

    2022년 06월 07일

    이번에 간단한 프로모션 페이지를 작업하는데 예상치 못한 버그가 있었다. IOS Safari에서만 발견된 문제였는데 css의 transform: rotate를 animation(transition도 마찬가지)을 걸었을 때 position: fixed…

  18. EventHandler (feat. bootstrap 5)

    2022년 05월 23일

    bootstrap 5를 써본 사람은 알겠지만 내가 만든 UI Component가 비슷하다는 것을 알 것이다. 왜냐하면… 내가 그걸 참고 해서 만들었으니까! 부트스트랩 라이브러리를 사용했다는 건 아니고 거기에 쓰인 Components…

  19. CustomEvent, dispatchEvent

    2022년 05월 23일

    Javascript의 addEventListener가 기본으로 제공하는 100가지 정도의 이벤트리스너를 말고 이벤트를 직접 만들 수 있는 CustomEvent를 알아보자. 이전 글들에서 짤막하게 소개했었는데 나는 주로 UI Component…

  20. TransitionEvent, AnimationEvent (2)

    2022년 05월 20일

    이전 글에 이어 이번 글에선 AnimationEvent에 대해 알아보자. TransitionEvent와 거의 비슷하나, 개인적으로 AnimationEvent를 선호한다. 실무에서 썼을 때 transitionEvent…

  21. TransitionEvent, AnimationEvent (1)

    2022년 05월 19일

    스타일을 작성할 때 단조로움을 피하기 위해서 transition과 animation 효과를 많이 쓰게 된다. 그리고 그걸 활용할 수 있는 javascript 기본 API인 TransitionEvent와 AnimationEvent…

  22. 간단할줄 알았던 블로그 만들기

    2022년 05월 16일

    난 2년 전에 포트폴리오를 만들 때 gatsbyJS를 썼다. gatsby 경험자니까 무난할 줄 알았다. 하지만 오산이었다. 포트폴리오를 만들 때는 기능이 단순했을 뿐이었다. 처음에 gatsby-starter-blog…

  23. 드디어 시작

    2022년 05월 12일

    블로그를 만들어야겠다고 생각한건 작년부터였는데… 4월부터 시간이 될 때마다 만들기 시작하여 드디어 어느정도 글을 쓸 준비가 되어 첫 글을 쓴다. 이 블로그는 gatsby-starter-blog…