프론트 개발자를 위한 여정

모든 영역을 안내하는 개발자

Frontend 54

[npm trends] 파일 압축 및 다운로드 관련 주요 라이브러리 비교(archiver,filesaver,jszip,pako,zipjs-browserify)

여러 파일 압축 및 다운로드 라이브러리들이 npm에서 사용되고 있습니다. 각각의 라이브러리는 사용 목적이나 성능 면에서 차별화된 특성을 가지고 있기 때문에, 어떤 작업에 어떤 라이브러리가 적합할지 잘 알고 선택하는 것이 중요합니다. 이번 글에서는 **archiver, file-saver, jszip, pako, zipjs-browserify**의 주요 특성과 용도를 비교해보겠습니다.1. Archiver설명: archiver는 주로 서버 측에서 압축 파일을 생성하는 데 사용되는 라이브러리입니다. 다양한 형식(zip, tar, 7z 등)을 지원하며, 서버에서 파일을 생성하여 클라이언트로 전송할 때 매우 유용합니다.주요 기능:여러 압축 형식(zip, tar 등) 지원.서버 측에서 압축 파일을 동적으로 생성 가..

Frontend 2025.04.11

[Container/Presentational 패턴] Container/Presentational 패턴이란?

프론트엔드 개발자로서 4~5년 전 React 프로젝트를 진행하면서 Container/Presentational 패턴을 사용했던 경험이 있다.당시에는 패턴에 대해 깊이 이해한 상태는 아니었지만, 로직과 UI 코드가 얽혀 유지보수가 어려워지자 자연스럽게 관심사를 분리해야겠다는 필요를 느꼈고, 이 패턴을 도입했다.돌아보면 그 선택은 꽤 합리적이었다. 그리고 최근 React의 패턴 흐름을 공부하면서,과거의 구조와 현재의 방식이 어떻게 변화해왔는지를 다시 되짚어보게 되었다.🧩 Container/Presentational 패턴이란?1. 왜 나왔는가?React가 등장한 초기에는 컴포넌트 안에서 로직, 상태, UI 모두를 처리하는 방식이 일반적이었다.하지만 점점 규모가 커지고 협업이 늘어나면서, 다음과 같은 문제가 ..

Frontend/React 2025.04.09

[Custom Hook 패턴] Custom Hook 구조 및 작성 방법(MobX 클래스를 Custom Hook처럼 사용하면?)

1️⃣ Custom Hook 기본 구조Custom Hook은 기본적으로 함수형 컴포넌트 내부에서 재사용할 로직을 분리하는 패턴.📌 구성 요소반드시 use 접두사를 붙여야 함 → 예: useFetch, useAuth내부에서 React Hook(useState, useEffect, useContext 등)을 사용할 수 있음UI와 독립적이어야 하며 JSX를 반환하지 않음const useCustomHook = () => { // 상태 관리 const [state, setState] = useState(null); // 부수 효과 실행 useEffect(() => { // 로직 실행 setState('Hello Custom Hook!'); }, []); return state;};​ 이제 ..

Frontend/React 2025.04.06

[Custom Hook 패턴] Custom Hook이란? 왜 필요한가? 언제 사용하면 좋은가?

📌 Custom Hook 패턴 개요1️⃣ Custom Hook이란?Custom Hook은 React의 기존 Hooks(useState, useEffect, useContext 등) 을 조합하여반복되는 로직을 재사용 가능하도록 추출한 함수.컴포넌트 내부에서 자주 사용되는 로직을 별도의 함수로 분리함으로써 코드의 가독성과 유지보수성을 향상시킴.✅ 특징✔️ use 접두사를 반드시 붙여야 React가 Hook으로 인식함✔️ JSX를 반환하지 않음 (UI가 아닌 로직만 다룸)✔️ 다른 Hook(useState, useEffect, useMemo 등)을 내부에서 사용할 수 있음2️⃣ 왜 Custom Hook이 필요한가? (기존 React 개발 방식의 문제점)기존 방식에서는 반복되는 로직이 있을 경우, 여러 컴포넌..

Frontend/React 2025.04.05

JavaScript에서 int 범위를 초과하는 값 관리하기 : BigInt

JavaScript에서 큰 숫자를 다뤄야 하는 경우가 종종 있습니다. 특히 팩토리얼 같은 연산을 할 때 Number 타입의 한계를 경험하게 됩니다. 이 글에서는 JavaScript에서 큰 숫자를 관리하는 방법과 BigInt의 필요성, 그리고 실무에서 BigInt가 사용되는 사례까지 살펴보겠습니다. 💡1. JavaScript number 타입의 한계 🚧 JavaScript의 기본 숫자 타입인 Number는 64비트 부동소수점(double-precision floating point) 으로 표현됩니다. JavaScript에서 오차 없이 안전하게 표현할 수 있는 정수의 범위는 다음과 같습니다.console.log(Number.MAX_SAFE_INTEGER); // 9007199254740991console..

Frontend/JavaScript 2025.04.03

프론트엔드 개발에서 KLOC(Kilo Lines of Code)을 어떻게 활용할까?

KLOC이란 무엇인가? 📊KLOC는 Kilo Lines of Code의 약자로, 코드 라인의 수를 측정하는 지표입니다. 1 KLOC은 1,000줄의 코드 양을 의미해요. 소프트웨어 개발에서 KLOC은 코드의 크기나 복잡도를 파악하는 데 사용됩니다. 예를 들어, 대형 소프트웨어 프로젝트에서 KLOC을 통해 코드의 양을 측정하고 개발 리소스를 계획할 수 있습니다.KLOC을 측정하는 이유 🔍KLOC을 측정하는 이유는 다양합니다. 주로 프로젝트 관리, 유지보수, 품질 관리에 활용됩니다.1. 프로젝트 견적 및 일정 산정 ⏳KLOC은 소프트웨어 개발 프로젝트의 규모를 가늠하는 데 도움이 됩니다. 많은 코드 라인이 필요하다면, 그만큼 개발 기간과 인력이 더 많이 소요될 가능성이 높습니다.2. 코드 품질 및 복잡도..

Frontend 2025.04.01

프론트엔드도 알아야 할 Availability(가용성)과 Reliability(신뢰성)

프론트엔드 개발자들은 UI 관리를 하며 아래와 같은 문제를 경험할 수 있어요."API 응답이 없을 때 UI를 어떻게 조절해야 할까?""사용자가 많이 접속할 때 네트워크 지연이 발생하면 어떻게 대처해야 할까?"과거에는 Availability(가용성)과 Reliability(신뢰성)이 백엔드와 인프라 중심의 개념이었지만, 이제는 프론트엔드 개발에서도 중요한 요소가 되고 있어요.프론트엔드 개발에서 Availability과 Reliability를 어떻게 적용할 수 있는지 쉽게 정리해볼게요!프론트엔드에서 가용성 (Availability)프론트엔드에서 Availability이 중요한 이유프론트엔드에서 가용성이란 사용자가 언제든지 웹페이지를 사용할 수 있도록 보장하는 것을 의미해요.예를 들어, API 응답이 늦거나 ..

Frontend 2025.03.31

AI 코딩 시대, 개발자는 ‘감’으로 코딩하고 있을까?

🤔 AI 코딩 도구, 어디까지 발전했을까?최근 몇 년간 AI 코딩 도구는 비약적인 발전을 이루었다. 2025년 3월 현재, AI는 단순한 코드 추천을 넘어 전체 프로젝트 구조 설계, 리팩토링, 디버깅, 테스트 자동화까지 지원하고 있다. 과거에는 개발자가 일일이 코드 작성과 오류 수정을 해야 했지만, 이제는 AI가 이를 자동으로 제안하고 보완해 준다. 💡 대표적인 AI 코딩 도구GitHub Copilot: 코드 자동 완성 및 추천 기능으로 개발자의 생산성을 크게 향상Tabnine: AI 기반 코드 보완 및 예측CodeWhisperer: AWS 기반의 AI 코딩 도우미Cursor: AI 기반의 코드 리뷰 및 리팩토링 지원ChatGPT 코드 해석 기능: 코드 설명 및 리팩토링 도움이제 개발자는 AI의 도움..

Frontend 2025.03.28

2025년 프론트엔드 개발자 로드맵

2025년 프론트엔드 개발자 로드맵 💻✨프론트엔드 기술의 변화는 빠르지 않아요. 🚀 새로운 기술이 등장하지만, 기존 기술을 완전히 대체하는 경우는 드물죠.예를 들어, 리액트(React)는 여전히 강세를 보이며, 이를 대체할 기술이 등장하려면 정말 압도적인 장점이 필요합니다.그럼, 2025년을 대비한 프론트엔드 개발자 로드맵을 함께 살펴볼까요? 👇필수 CS 지식 🧠프론트엔드 개발자에게 중요한 CS 기초는 필수입니다!자료구조, 알고리즘, 네트워크 📚 → 프론트엔드 개발자에게 꼭 필요한 지식!데이터베이스, 운영체제 💾 → 배우면 좋지만, 후순위로 공부해도 괜찮습니다.프론트엔드 핵심 기술 스택 🚀프론트엔드 개발에서 중요한 기본기를 다지는 것이 가장 중요합니다.HTML, CSS, JavaScript ..

Frontend 2025.03.27