본문 바로가기
안녕하세요, 프론트엔드 개발자 김현우라고 합니다. 제 블로그에서는 개발과 관련된 다양한 이야기들을 풀고있어요. 아무리 어려운 문제라도, 쉽게 풀어 설명할 수 있는 방법은 무조건 존재한다고 생각을 해요. 제가 연재해드리는 내용이 선한 영향력을 가져다 주었으면 좋겠어요.

전체 아티클158

2023년, 그리고 지금의 2024년 회고록 목차 · 긴 대학 생활의 끝을 마치며 · 개발자로의 첫 취업 · 다시 우물 밖으로 점프해보기 · 지란지교, 그리고 꿈꿔왔던 직장 중 하나로 · 그리고 2024년 현재의 나 긴 대학 생활의 끝을 마치며 2023년 2월 졸업을 했다. 학교에서의 4년이라는 시간은 오랜 기간이었지만, 뒤돌아보면 그렇게 오래 느껴지지 않았던 소중한 순간 중 하나였다. 학교에서 다양한 사람들을 만나고 이야기하면서 사람 사귀는 법들을 알게 되었고, 정말 내성적이었던 성격은 외향적으로 바뀌었다. 덕분에 `멋쟁이사자처럼`을 시작으로 다양한 대외활동 등에 도전할 수 있었고, 하나하나 이뤄가는 성취해나가는 과정을 대학 공부를 하면서 처음 깨달았던 것 같다. 1학년부터 2학년때는 대외활동에 미쳐 살았던 나머지 학점을 놔주었던 기억이 있고, .. 2024. 3. 22.
Vue 공식 문서 훑어보기 - 감시자 · 템플릿 참조 · 조건부 및 목록 렌더링 목차 · 감시자(Watch) · 템플릿 참조 · 목록 렌더링 · 조건부 렌더링 감시자(Watch) 종종 반응형 상태가 변경 되었을 때를 감지하여 다른 작업 (데이터 패칭 등)을 수행해야하는 경우가 있습니다. 예를 들어 어떠한 상태가 변경되었을 때 DOM을 변경하거나, 비동기 작업을 하여 다른 상태를 변경하는 것입니다. Composition API의 watch 함수를 사용하여 반응형 상태가 될 때마다 특정 작업을 수행할 수 있습니다. const message = ref(`Hello World`); /** * 첫 번째 매개변수에는 데이터 변경을 감지하고자 하는 인자가 들어갑니다. * 이때, 첫번째 매개변수는 ref, reactive, computed, getter, array 타입과 같은 다양한 타입이 들어.. 2024. 3. 19.
Vue 공식 문서 훑어보기 - 라이프사이클 · 이벤트 핸들링 · 바인딩(폼, 클래스, 스타일) 목차 · 라이프 사이클 · 이벤트 핸들링 · 클래스 바인딩 · 스타일 바인딩 · 폼 바인딩 라이프 사이클 각각의 Vue 컴포넌트 인스턴스는 생성되고, 소멸될 때 사전에 정의된 몇 단계의 과정을 거치게 되는데 이를 라이프사이클(liftcycle)이라고 합니다. 라이프사이클 훅(Lifecycle hooks)은 라이프사이클 단계에서 사용자가 자신의 코드를 추가할 수 있는 단계 별 기능(function)입니다. Lifecycle Hooks 등록 컴포넌트가 렌더링을 완료하고 DOM 노드를 만든 후, onMounted hooks를 사용하여 코드를 실행할 수 있습니다. import { onMounted } from 'vue'; export default { setup() { onMounted(() => { conso.. 2024. 3. 19.
Vue 공식 문서 훑어보기 - 템플릿 문법 · 반응형 기초 · 계산되어진 속성 목차 · 템플릿 문법 · 반응형 기초 · 계산되어진 속성 템플릿 문법 데이터 바인딩의 가장 기본적인 형태는 `이중 중괄호` 문법을 사용하는 방법입니다. 메시지 : {{ msg }} 이중 중괄호 태그 내 msg 는 해당 컴포넌트 인스턴스의 msg 속성의 값으로 대체된다. 또한 msg 속성이 변경될 때마다 업데이트가 되어집니다. 이중 중괄호는 데이터를 HTML이 아닌 일반 텍스트로 해석합니다. 실제 HTML을 출력하려면 v-html 디렉티브를 사용해야합니다. v-html 이라는 새로운 속성은 디렉티브라고 하며, 디렉티브는 Vue에서 제공하는 특수한 속성임을 나타내기 위해 접두사 v-를 사용하며, 렌더링된 DOM에 특별한 반응적 동작을 적용합니다. 텍스트 보간법 사용 : {{ rawHtml }} v-html .. 2024. 3. 19.
Vite 환경에서 emotion의 pragma 반복을 줄여보기 목차 · 포스팅 동기 · vite.config.js 설정해주기 · tsconfig.json 설정해주기 · [부록] 타입스크립트를 사용하는데, DetailedHTMLProps 에러가 발생한다면? 포스팅 동기 최근 프로젝트에서는 tailwind를 접했지만, 다시 다양한 프로젝트를 접하면서 emotion을 사용할 일의 빈도가 많아졌다. 요즘에는 Vite 환경에 매료되어, 다양하게 배워보고자 Vite 환경과 pnpm을 접목한 프로젝트를 진행을 하였고, 프로젝트 안에서 각 컴포넌트마다 pragma를 기재해주는 것이 매번 불편한 상황 중 하나였다. /** @jsxImportSource @emotion/react */ import { css } from "@emotion/react"; 더보기 /** @jsxImpor.. 2024. 3. 2.
v-model의 특징 및 문제점, 그리고 활용 방식 목차 · v-model 속성 · v-model은 어떤 방식으로 동작할까? · 무조건 v-model을 사용해도 되는걸까? · v-model 문법을 사용하여 IME 입력을 처리하는 방법은? · [부록] Emit과 Listen · [부록] 컴포넌트에서 emit v-model 속성 공식 문서에 안내된 v-model 속성의 사용법은 다음과 같다. 이렇게 사용자의 입력을 받는 UI 요소들에 v-model 이라는 속성을 사용하면 입력 값이 자동으로 뷰 데이터 속성에 연결이 되어진다. v-model은 어떤 방식으로 동작할까? v-model 속성은 v-bind와 v-on의 기능 조합으로 동작한다. 매번 사용자가 일일히 v-bind와 v-on 속성을 지정해주지 않아도 좀 더 편하게 개발을 할 수 있게 고안된 문법이며, 앞.. 2024. 2. 29.
Vue3로 업데이트 되면서 어떤 부분이 변화했을까? 목차 · 성능 개선 · Composition API · Fragments · Global API · 라이프 사이클의 변화 · 익스플로러 미지원 성능 개선 Vue3는 V-DOM과 렌더링 성능을 개선하였으며 스캐폴딩을 통해 어플리케이션을 생성 시에 기본적으로 Vite를 사용하여 빠른 렌더링 속도를 제공한다. Composition API Vue2와 Vue3의 가장 큰 변경점이라고 한다면, 바로 Composition API가 도입된 것이다. 이로 인해 스크립트 영역의 소스 코드 영역이 크게 변하게 되었다. Composition API는 Vue2에서도 플러그인과 같은 확장 기능으로 도입하는 것이 가능하기는하지만, Vue2에서 기본적으로 Options API를 이용하는 경우가 많다. Options API에서는 Co.. 2024. 2. 29.
[rollup.js] rollup -c 실행 시, Cannot use import statement outside a module 목차 · rollup -c 실행 시, 오류가 발생하다. · 해결 방법 · 왜, 이 오류가 발생했을까? rollup -c 실행 시, 오류가 발생하다. rollup -c 실행 시에 Cannot use import statement outside a module 오류가 발생했다. 그 이유는 rollup.config.js에 import 방식을 사용하면서 발생을 했는데, package.json에 type을 module로 지정을 해주지 않으면 commonJS로 인식이 되어진다. 이때, rollup.config.js에서 ESM 방식의 import 방식을 사용해서 발생을 하고 있었다. 해결 방법으로는 간단하게 type을 module로 명시를 해줘 ESM 방식으로 호환이 되게 하는 것인데, 이렇게 해결을 하게 되면 라이.. 2023. 11. 30.
PWA랑 Git Action을 첨가한 멋쟁이사자처럼 피드 개발기 목차 · 홈페이지에 피드를 넣어보면 어떨까? · 그렇다면 주기적으로 데이터를 가져와야하는데, 어떻게 가져올 수 있을까? · 멋쟁이사자처럼 대학 공식 홈페이지가 되다 · 앞으로는 어떻게 할까? 홈페이지에 피드를 넣어보면 어떨까? 우리 학교의 멋쟁이사자처럼 대학 페이지를 만들고, 계속해서 신규기능과 리팩토링을 진행하고 있다. 점차 멋쟁이사자처럼 출신의 팀원들이 많아지면서, 개발자라면 한번씩 만들어본다는 기술 블로그를 모아보면 좋은 그림이 되지 않을까 싶었다. 그래서 기술 블로그를 원활하게 작성을 하는 친구들의 블로그 주소를 받아, RSS를 통해 블로그 포스팅 내용을 멋쟁이사자처럼 홈페이지에서 보여주고자 하였다. RSS란? RSS(Rich Site Summary)는 뉴스나 블로그 사이트에서 주로 사용하는 콘텐.. 2023. 11. 27.