본문 바로가기 메뉴 바로가기

실전 압축 코딩

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

실전 압축 코딩

검색하기 폼
  • 분류 전체보기 (128)
    • 알고리즘 (20)
      • SW 역량기출문제 (2)
    • 프로젝트 (8)
      • Healthy Tracking (2)
      • FairyTaleBook (6)
    • 백엔드 (7)
      • 공부 (5)
    • 앱개발 (1)
      • Android (1)
    • 프론트엔드 (1)
      • React.js (13)
      • Vue.js (11)
    • javacsript (0)
      • 공부 (8)
    • typescript (1)
  • 방명록

전체 글 (128)
크롬 확장 프로그램 개발하기 - Vite 기반 프로젝트 세팅 (crxjs/vite-plugin)

Vite 기반으로 크롬 확장 프로그램 개발하기Vite를 사용하여 크롬 확장 프로그램을 개발하는 과정을 단계별로 자세히 설명하고, 배포까지의 팁을 알아보겠습니다.1. 왜 Vite를 사용해야 할까요?기존 크롬 확장 프로그램 개발은 웹팩(Webpack)과 같은 번들러를 사용하는 경우가 많았습니다. 하지만 Vite는 다음과 같은 장점으로 개발 경험을 크게 향상시킵니다.빠른 개발 서버: ES 모듈을 기반으로 온디맨드 컴파일을 수행하여 개발 서버 시작 및 핫 리로드 속도가 압도적으로 빠릅니다.간편한 설정: 복잡한 설정 파일 없이 바로 개발을 시작할 수 있습니다.다양한 프레임워크 지원: Vue, React, Preact 등 다양한 프레임워크를 기본적으로 지원합니다.최적화된 빌드: Rollup을 기반으로 최적화된 번들..

프론트엔드 2025. 7. 4. 15:46
[TypeScript] Type annotation(타입 명시) 과 Type inference(타입 추론) 균형점을 찾아서

🎯 TypeScript: 타입 명시와 타입 추론, 균형점을 찾아서TypeScript를 사용하는 핵심적인 이유는 타입 안정성과 개발 편의성을 동시에 확보하는 데 있다. 이 두 마리 토끼를 잡기 위한 TypeScript의 강력한 무기가 바로 타입 명시(type annotation)와 타입 추론(type inference) 이다.하지만 "항상 타입을 명시하라"는 조언도, "추론이 있으니 명시할 필요 없다"는 주장도 모두 완벽한 정답이 아닐수 있다. 중요한 것은 상황에 맞는 적절한 균형을 찾는 것이다.이 글에서는 TypeScript에서 왜 타입 명시가 중요한지, 타입 추론의 숨겨진 비용은 무엇인지, 그리고 과도한 타입 명시가 오히려 독이 되는 이유까지, 다양한 관점에서 살펴보려 한다.✅ 타입 명시는 왜 적극 ..

typescript 2025. 6. 28. 22:31
[React.js / 디자인 패턴] Render Props 패턴을 활용한 Table 컴포넌트 구현

React에서 Render Props로 유연한 테이블 컴포넌트 구현 하기복잡한 UI 컴포넌트를 구현할 때 가장 먼저 고민되는 것은 "재사용성과 확장성" 이다.특히 테이블 컴포넌트는 데이터 구조와 디자인 요구사항이 다양하기 때문에, 단순한 하드코딩 방식으로는 금방 한계에 부딪히게 된다 이번 포스팅에서는 React의 Render Props 패턴을 활용해유연하면서도 타입 안정성이 높은 테이블 컴포넌트를 구현하는 방법을 소개 해보겠다.🧠 Render Props란?Render Props는 컴포넌트의 UI 일부를 외부에서 함수로 주입하여 렌더링을 위임하는 패턴 이다.이를 통해 컴포넌트의 내부 로직은 재사용하고, UI는 상황에 맞게 자유롭게 변경할 수 있게 된다. {data.name}} /> 이처럼 render라는..

프론트엔드/React.js 2025. 6. 25. 20:24
[D3.js / React] 데이터 업데이트 부드럽게 처리 하기 (with join / transition)

D3.js의 핵심 개념인 enter(), update(), exit() 패턴과 이를 더욱 효율적으로 결합한 join() 메서드를 활용하여, 데이터가 추가되거나 변경되거나 사라질 때 바 차트가 어떻게 자연스럽게 전환되는지 보여주는 React 컴포넌트 코드를 자세히 살펴보려 한다. 데이터 변경에 대한 효율적인 대응의 중요성 일반적인 웹 애플리케이션에서 차트 데이터는 초기 마운트 시의 고정된 값이 아닌, 서버로부터 주기적으로 업데이트되거나 사용자 상호작용에 따라 동적으로 변경되는 경우가 많다. 이때 가장 단순한 방법은 새로운 데이터가 들어올 때마다 기존에 그려진 차트를 완전히 지우고( removeAll() ) 다시 그리는 것이다. 그러나 이 방법은 다음의 문제가 있다.비효율성: 매번 모든 DOM 요소를 생성하..

프론트엔드/React.js 2025. 5. 23. 20:08
React Fiber 아키텍쳐 - setState 후 Batch Update 처리 과정

배치 처리가 왜 필요한가?현대 웹 애플리케이션에서 상태 관리는 가장 핵심적인 부분 중 하나 이다. React 개발팀은 초기 버전부터 여러 상태 업데이트를 효율적으로 처리하기 위해 배치(Batch) 업데이트 시스템을 도입하였다. 이 시스템은 단순한 성능 최적화를 넘어, React의 핵심 철학인 "예측 가능한 동작"을 구현하는 기반이 되었다.배치 처리의 중요성을 이해하기 위해 실제 시나리오를 살펴보겠다. 사용자가 장바구니에 상품을 추가하는 버튼을 클릭할 때 다음과 같은 일이 발생할 수 있다.장바구니 아이콘의 숫자 업데이트총 결제 금액 재계산추천 상품 목록 갱신할인 쿠폰 적용 가능 여부 확인이 모든 상태 변경이 개별적으로 처리된다면 불필요한 리렌더링이 4번 발생하게 된다. React의 배치 시스템은 이러한 연..

프론트엔드/React.js 2025. 4. 14. 15:05
React Fiber 아키텍처 - Lane 모델

React의 렌더링 혁명React는 사용자 인터페이스를 구축하기 위한 강력한 라이브러리로, 그 핵심에는 Fiber 아키텍처가 자리잡고 있다. 특히 React 18에서 도입된 동시성 기능(Concurrent Features)의 기반이 되는 Lane 모델은 React의 성능을 한 단계 끌어올렸다. 이 글에서는 Fiber 아키텍처와 Lane 모델이 어떻게 작동하는지 깊이 있게 살펴보겠다.1. React Fiber 아키텍처 이해하기1.1 Fiber란 무엇인가?Fiber는 React 16에서 도입된 새로운 재조정(reconciliation) 엔진이다. 기존 스택 기반 재조정자의 한계를 극복하기 위해 설계되었다// 간단한 Fiber 노드 구조 예시const fiberNode = { type: 'div', ..

프론트엔드/React.js 2025. 4. 14. 14:15
React 에서 Vue.js 의 반응형 객체(Reactive, Ref) 구현해 보기 (With proxy)

React에서 상태를 관리할 때 항상 setState를 직접 호출해야 값이 변경된다.React는 불변성(immutability)을 기본 철학으로 삼고 있으며, 명시적으로 상태를 변경하는 구조가 핵심 이기 때문이다.하지만 Vue.js를 써본 사람이라면, Vue(3)의 ref()나 reactive()처럼 값을 직접 변경하면 반응적으로 UI가 갱신되는 구조가 더 직관적이고 편리하게 느껴질 수도 있다. 예를 들어, Vue(3)에서는 아래처럼 쓸 수 있다.const state = reactive({ count: 0 });state.count++; // 자동으로 반응!   React에서도 이런 방식으로 상태를 관리해보고 싶다는 생각이 들어,Proxy 객체를 활용해 Vue처럼 동작하는 useReactive 훅을 구현..

프론트엔드/React.js 2025. 3. 21. 12:22
[LeetCode] 394. Decode String 풀이 (javascript)

https://leetcode.com/problems/decode-string/description/?envType=study-plan-v2&envId=leetcode-75 간만에 올리는 알고리즘 포스팅 이번 문제는 leetcode의 394. Decode String 이다. 문제를 보자마자 기존에 접했던 괄호 채우기 stack 유형을 떠올렸다. 그런데 디테일한 로직을 짜려고 하니 머리가 너무 아팠다. 공간 지각 능력이 좀 부족해서  이런 문제를 풀때는 시물레이션을 돌리면서 차근 차근 로직을 세워 푸는것이 좋다.  로직을 세워 보자! 우선 for loop으로 문자열 s를 순회해 주자. 순회 시, 문자열 s의 character 마다 분기처리를 해주어야 한다. 1. digit은 괄호 [] 안에 들어갈 문자열의..

알고리즘 2025. 2. 19. 22:57
[React.js 3D 에니메이션 만들기(3)] Leva 라이브러리를 사용해 조명 설정하기

https://ljy1011.tistory.com/225 [React.js 3D 에니메이션 만들기(2)] 3D text geometry 생성 및 조명 설정 with react three fiberhttps://ljy1011.tistory.com/224 [React.js] generator(제네레이터) 를 활용해 3D 에니메이션 만들기! with react three fiber/ framer-motion / react포트폴리오 제작중, 3d text mesh의 역동적인 움직임을 중심으로 나를 표현ljy1011.tistory.com이어서. React Three Fiber와 Leva로 조명 제어하기 3D 웹 애플리케이션을 만들 때 조명은 씬의 분위기를 설정하는 중요한 요소 이다. 이번 포스팅에서는 React ..

프론트엔드/React.js 2024. 12. 1. 16:38
[React.js 3D 에니메이션 만들기(2)] 3D text geometry 생성 및 조명 설정 with react three fiber

https://ljy1011.tistory.com/224 [React.js] generator(제네레이터) 를 활용해 3D 에니메이션 만들기! with react three fiber/ framer-motion / react포트폴리오 제작중, 3d text mesh의 역동적인 움직임을 중심으로 나를 표현 하는 3d 에니메이션을 만들어 보고 싶다는 생각이 들었다. 그래서 three.js 관련된 라이브러리를 사용해 구현해 보기로 하ljy1011.tistory.com이어서. 이번에는 react-trhee-fiber 를 활용해 3d text geometry를 생성해 보도록 하겠다. 설치 라이브러리npm i three three-stdlib @react-three/fiber @react-three/drei @re..

프론트엔드/React.js 2024. 11. 20. 10:52
이전 1 2 3 4 ··· 13 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 크롬 확장 프로그램 개발 환경
  • 크롬 확장 프로그램 번들링
  • vue3
  • react 배치
  • crxjs/vite-plugin
  • 리액트 배치
  • table render props
  • vitre
  • react render props
  • 크롬 확장 프로그램 vite
  • react lane
  • renderlane
  • react batch
  • react ref reative
  • type annotation type infer
  • 크롬 확장 프로그램 핫 리로딩
  • vue reactive
  • eslint
  • 크롬 확장 프로그램 개발
  • render props
  • react setstate
  • crxjs/vite-plugin typeerror: crypto.hash is not a function
  • react vue
  • vue ref
  • typescript
  • 크롬 확장 프로그램 hmr
  • 타입 어노테이션과 타입 추론
  • vue react
  • vue
  • Vue.js
more
«   2025/07   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바