끄적끄적 코딩
article thumbnail
왜 지금도 React를 사용할까?
FrontEnd 2025. 4. 11. 11:43

서론프론트엔드 개발을 처음 접했을 때는 JavaScript만으로도 UI를 만들 수 있다는 사실이 흥미로웠습니다. 버튼 클릭이나 입력값에 따라 화면이 바뀌는 간단한 동작들은 Vanilla JS만으로도 충분히 구현할 수 있었고, 그 자체만으로도 재미있었습니다. 하지만 점점 기능이 늘어나고, UI 요소와 상태가 복잡해질수록 "이걸 매번 수동으로 관리해야 하나?" 하는 생각이 들기 시작했습니다. 코드가 늘어나면서 버그도 자주 발생했고, 유지보수는 갈수록 어려워졌습니다.이런 JavaScript의 한계를 극복하기 위한 시도로 다양한 프레임워크와 라이브러리들이 등장했습니다. Angular는 가장 먼저 등장해 MVC 구조 기반의 복잡한 앱 설계를 가능하게 했고, 이후 등장한 React는 상태 기반의 선언형 UI라는 새..

article thumbnail
상태관리란 무엇일까?
FrontEnd 2025. 4. 10. 07:20

서론웹 애플리케이션을 만들다 보면 화면이 사용자와 상호작용하면서 계속 바뀌는 상황을 자주 마주하게 됩니다. 사용자가 버튼을 클릭하거나, 데이터를 입력하거나, 서버로부터 응답을 받을 때마다 애플리케이션은 그에 따라 다른 동작을 해야 합니다. 이런 변화들을 가능하게 해주는 핵심 개념이 상태(state)입니다.상태라는 개념을 처음 접할 때 추상적으로 느껴질 수 있고, 왜 상태를 관리 해야할까? 라는 고민이 들 수 있습니다. 이 글에서는 상태란 무엇인지, 왜 상태관리가 필요하며, 어떻게 다룰 수 있는지 정리해보았습니다.상태란?상태(state)란 애플리케이션이 특정 시점에 가지고 있는 데이터나 정보, 그리고 그에 따라 달라지는 화면(UI)의 모습을 말합니다. 쉽게 말하면, 애플리케이션이 지금 어떤 상황인지를 나타..

article thumbnail
웹 실시간 통신에 대해서 알아보자
FrontEnd 2025. 4. 9. 10:51

서론초기의 웹은 단순한 문서를 주고받는 정적인 플랫폼이었습니다. 하지만 채팅, 알림, 실시간 주식 시세, 온라인 게임과 같은 실시간 상호작용 기능이 필요해지면서 기존 HTTP 통신 방식으로는 실시간 상호작용에 한계가 있었고, 이를 보완하기 위한 다양한 통신 기술이 등장하게 되었습니다.이 글에서는 HTTP의 구조적 한계를 짚어보고, 그에 대한 대안으로 등장한 다양한 통신 기술들을 정리해보려 합니다. 각각의 기술이 어떻게 발전해 왔는지, 어떤 상황에 적합한지 확인해보겠습니다.실시간 통신이란?HTTP 웹 통신 구조웹에서 가장 기본이 되는 HTTP(HyperText Transfer Protocol)는 클라이언트가 요청을 보내고 서버가 응답을 반환하는 구조입니다. 이 요청-응답이 완료되면 연결은 종료되며, 기본적..

article thumbnail
BFF(BackEnd-For-FrontEnd)란 무엇일까?
FrontEnd 2025. 4. 8. 07:02

서론웹과 모바일을 포함해 다양한 디바이스 환경에서 서비스가 제공되면서, 각각의 플랫폼이 요구하는 데이터 구조나 응답 방식도 점점 달라졌습니다. 이제는 프론트엔드가 단순히 화면만 그리는 역할에서 벗어나, 어떤 데이터를 어떻게 가져오고 가공할지까지 함께 고민해야 할 때가 많아졌습니다.이 과정에서 자연스럽게 등장하게 된 개념이 바로 BFF입니다. 필요에 따라 프론트엔드에 최적화된 전용 백엔드 계층을 두어, 중복된 연산이나 불필요한 데이터 전달을 줄이고, 개발 효율성과 사용자 경험을 높일 수 있게 도와줍니다.이번 글에서는 BFF가 등장하게 된 배경과 개념, 실무에서 어떻게 활용되는지, 그리고 구현 시 어떤 점을 고려하면 좋은지 정리해보려고 합니다.BFF란?BFF(Backend for Frontend)는 프론트엔..

article thumbnail
웹 접근성에 대해서 알아보기
FrontEnd 2025. 4. 6. 23:35

서론웹사이트는 누구에게나 동일하게 제공되어야 합니다. 시각장애인, 청각장애인, 노년층 사용자, 키보드만 사용하는 사람도 문제없이 콘텐츠를 이용할 수 있어야 합니다. 그러나 현실은 그렇지 않은 경우가 많습니다. 웹접근성은 이러한 장벽을 없애고 모두를 위한 웹 환경을 만들기 위한 기본적인 조건입니다.웹접근성이란?웹접근성(Web Accessibility)은 장애 유무, 연령, 디바이스 종류에 관계없이 누구나 웹 콘텐츠에 접근하고 이해하며 활용할 수 있도록 보장하는 개념입니다. 이는 단순한 기술적 고려가 아니라, 모든 사용자를 위한 기본적인 개발 철학입니다.접근성은 장애인만을 위한 기술이 아닙니다. 모바일 환경, 일시적 부상, 노안, 밝은 야외 등 다양한 사용 조건에서도 모두가 웹을 사용할 수 있도록 해야 합니..

article thumbnail
WebP와 AVIF를 알아보기
FrontEnd 2025. 4. 6. 09:57

서론웹사이트 성능을 높이기 위한 방법은 다양하지만, 이미지 최적화는 가장 기본이자 효과적인 방법입니다. 페이지 로딩 속도에 큰 영향을 주는 이미지 파일을 얼마나 가볍고 효율적으로 처리하느냐에 따라 사용자 경험이 크게 달라지기 때문입니다.기존에는 JPEG, PNG, 그리고 벡터 포맷인 SVG 등이 이미지 포맷의 표준으로 사용되어 왔습니다. 하지만 각각의 포맷은 한계를 가지고 있습니다. JPEG는 고화질 이미지를 저장하기에 적합하지만 손실 압축 특성상 반복 저장 시 품질 저하가 발생하고, PNG는 무손실 압축과 투명도 지원이라는 장점이 있지만 상대적으로 용량이 큰 편입니다. SVG는 해상도에 영향을 받지 않는 벡터 이미지이지만 실사 이미지에는 적합하지 않습니다.이러한 한계를 보완하기 위해 Google과 AO..

article thumbnail
왜 Vite는 빠르고 가볍게 느껴질까?
FrontEnd 2025. 4. 5. 09:07

서론최근 다양한 프론트엔드 도구들이 등장하면서 기존에 사용하던 번들러들의 구조와 역할에 대한 이해도 중요해졌습니다. 특히 Vite는 빠르다는 인상을 주는 도구로 많이 소개되고 있는데, 실제로 사용해보니 Webpack과는 체감되는 속도 차이가 있었습니다. 어떻게 이런 차이를 만들어내는지 궁금해졌고 Webpack과 비교하면서 Vite의 동작 방식을 정리해보게 되었습니다.번들러가 필요한 이유브라우저가 ES Modules을 네이티브로 지원하기 전까지는 자바스크립트 모듈을 브라우저에서 직접 실행할 수 없었습니다. 그래서 여러 모듈을 하나의 파일로 묶는 번들링이 필요했고, 이를 자동으로 처리해주는 도구들이 등장했습니다. Webpack, Rollup, Parcel 등이 대표적인 예입니다.  이러한 번들러들은 프론트엔..

article thumbnail
추상구문트리(AST)란 무엇일까?
FrontEnd 2025. 4. 4. 13:06

서론프론트엔드 개발을 하다보면 ESLint, Prettier, Babel 같은 도구들을 접하게 됩니다. 이들의 핵심에는 모두 추상 구문 트리가 존재합니다. 이 글에서는 프론트엔드 관점에서 AST란 무엇인지, 왜 알아야 하는지, 실무에서 어떻게 활용되는지를 정리해보겠습니다.AST란 무엇인가?AST는 Abstract Syntax Tree, 추상 구문 트리라는 뜻입니다. 소스 코드를 컴퓨터가 이해할 수 있도록 구조화한 자료구조이며, 프로그래밍 언어의 문법적 구조를 트리 형태로 표현합니다. 우리가 작성한 코드는 단순한 문자열이지만, 컴퓨터는 이 문자열을 해석하고 실행하기 위해 내부적으로 여러 단계를 거치며 그 중 하나가 바로 AST를 생성하는 과정입니다.코드가 AST로 바뀌는 과정은 언어학에서 문장을 이해하는 ..

검색 태그