분류 전체보기 72

React image 미리보기

image 미리 보기 # 시작하며 회사 내에서나, 학교에서 react 프로젝트를 진행하다 보면 빼먹지 않고 등장하는 기능이 사진 첨부 기능이다. 사진 말고도 다양한 데이터들을 DB에 저장하지만, 사진 첨부는 다른 데이터보다 까다롭다. 또한 사진을 첨부하기 위해서는, 첨부 후 완료를 표시하기 위한 사진이나 사진 이름을 미리 보기로 추가해 주어야 하기 때문에 부가적인 요구사항이 많아진다. 오늘은 이러한 사진 첨부를 위한 미리보기 기능에 대해 알아보자. # 사진 미리보기 앞서 말한 사진을 첨부하는 등의 image를 핸들링하면서 미리보기 기능을 구현하고 싶은 경우가 자주 발생한다. 이미지를 업로드하기 전에 어떤 이미지를 선택했는지 미리 보여주고, 대표 이미지를 설정하거나 필요 없는 파일은 삭제하도록 하는 기능을..

Web Frontend 2022.08.03

React SPA란?

SPA # 시작하며 프론트 웹 개발을 한다면, 한번쯤은 SPA에 대해 들어볼 수 있을 것이다. 하지만 SPA가 무엇이냐? 라는 질문에 선뜻 대답을 하지 못한 경험이 있어, 개인적으로 복습하며 정리해 보려고 한다. 이제는 너무나 당연하듯이 사용하고 있어 웹 개발 자체에 녹아들어버린 느낌이 드는 SPA 개발이란 무엇일까? 전통적인 웹 사이트의 경우에는, 문서 하나에 전달되는 데이터의 양이 많지 않았다. 따라서 어떠한 요소를 한번 클릭했을 경우에, 완전히 새로운 페이지를 서버에서 전송해 주는 방식을 자주 사용했다. 이러한 방식이 문제가 되는 경우는, 점차 웹 사이트가 고도화됨에 따라 한 페이지에 할당되는 용량이 커졌을 때 발생하게 된다. # SPA(Single Page Application) 위의 문제를 해결..

Web Frontend 2022.07.29

Tailwind CSS

Tailwind CSS # 시작하며 오늘은 현재 프론트엔드 인턴으로서 근무하며 사용하고 있는 Tailwind CSS에 대해 정리해보려 한다. 현재 많은 실무에서 Tailwind CSS를 적극적으로 도입하고 있으며, 다양한 장점들로 인해 개발 속도가 확실히 빨라지는 효과를 경험해 볼 수 있었다. 무엇보다 클래스 이름을 직관적으로 각각 설정하고, 스타일 시트를 옮겨가며 *context switching을 할 필요가 없어서 좋았다. 또한 페이지를 생성한 후, 수정 작업을 진행할 때 코드를 한눈에 파악이 가능할 수 있어 스타일 수정에 시간 단축을 할 수 있었다. *context switching - 현재 진행하고 있는 Task(process, thread)의 상태를 저장하고 다음 진행할 Task의 상태 값을 읽..

Web Frontend 2022.07.28

TDD, DDD, BDD란

TDD, DDD # 시작하며 요즘 개발자들 사이에서 주로 사용하는 언어들을 보면, TDD와 DDD로 개발을 진행한다라는 말를 쉽게 들어볼 수 있다. 다소 생소할 수도 있는 해당 용어는 어떠한 의미를 가지고 있을까? * 단위 테스트 - 시스템의 각 구성요소가 올바르게 연동되는지 확인 * 통합 테스트 - 개별 코드나 컴포넌트가 기대한 대로 동작하는지 확인 해당 TDD 서비스가 바탕을 두고 있는 것은 바로 단위 테스트이다. 해당 단위 테스트(Unit Test)는 코드 수정 및 기능 추가 시 빠른 검증이 가능하고, 리팩토링의 안정성을 확보할 수 있다. 또한 개발 및 테스팅에 대한 시간과 비용 역시 절감할 수 있다는 장점이 있다. 모든 서비스가 출시를 위해 애플리케이션을 실행하고, 검증하는 내부 테스트를 진행하는..

Web Frontend 2022.07.27

React JSX

JSX # 시작하며 리액트 프로젝트를 생성하여 사용하기 위해서는, 다음과 같이 React를 import하는 것이 필요하다. import React from 'react'; 위 코드는 React를 불러와 사용이 가능하도록 해준다. 리액트 프로젝트를 만들 때 npm install 명령어를 통해 node_modules라는 디렉터리도 함께 생성하는데, 해당 과정에서 node_modules 디렉터리 내부에 react module이 생성된다. 따라서 최종적으로 import 구문을 통해 리액트를 불러와 사용할 수 있는 것이다. 이렇게 모듈을 불러와 사용하는 것은 브라우저에는 없던 기능이다. 브라우저가 아닌 환경에서 JS 실행을 가능하게 하는 환경인 Node.js에서 지원하는 기능이다. 이러한 기능을 브라우저에서 사용..

Web Frontend 2022.07.26

React

React # 시작하며 현재 자바스크립트는 많은 개발자들에게 사용되고 있으며, 웹 애플리케이션에서 핵심적인 역할을 차지하고 있다. 또한 서버사이드와 모바일, 데스크톱 애플리케이션(Slack, Atom, VS Code)에서도 활약하고 있다. 이렇게 확장되는 범위 속에서, 규모가 큰 애플리케이션을 프론트엔드 사이드에서 관리하려면, 다양한 프레임워크(Vue.js, Angular, Backbone.js 등)의 사용이 필요하다. 프레임워크들은 주로 MVC, MVVM 아키텍처를 주로 사용한다. 이와 같은 프레임워크는 공통적으로 애플리케이션에서 사용하는 데이터를 관리하는 영역인 Model과 사용자에게 보이는 부분인 View를 가진다. 프로그램이 사용자에게 어떠한 작업을 입력받으면, 컨트롤러는 해당 모델의 데이터를..

Web Frontend 2022.07.15

React Hooks

React Hooks # 시작하며 오늘은 앞서 class component와 function component에 대한 챕터에서 잠시 언급했던 React Hooks에 대해 알아볼 것이다. Hooks는 class component에서는 가능하지만 function component에서는 사용하지 못하는 단점을 보완하기 위해 React v16.8부터 도입된 기능이다. 함수형 component에서도 상태관리가 가능하도록 useState() 개념을 도입하고, rendering 직후 함수 초기에 실행되는 작업을 설정하는 useEffect() 등의 기술을 제공하여 기존의 함수형 component에서 할 수 없었던 다양한 작업을 가능하게 한다. # 개요 useState useEffect useReducer useMemo..

Web Frontend 2022.07.14

React Lifecycle method

Liftcycle # 시작하며 모든 사람이 그러하듯이, 지금까지 공부한 Component에는 Lifecycle, 즉 수명이 존재한다. Component의 수명은 페이지에 렌더링되기 전, 준비 과정에서부터, 페이지에서 사라질 때까지이다. React 프로젝트를 설계함에 있어, 첫 렌더링을 실시할 때 어떠한 작업을 수행하거나, Component 업데이트 전 후로 작업을 수행해야 하는 경우가 발생한다. 이러한 경우에 바로 Lifecycle method를 사용하여 해결할 수 있다(Class Component에서만 가능). # Lifecycle method의 이해 Lifecycle method의 종류는 모두 9가지이다. Will이 붙은 method는 의미와 동일하게 어떤 작업을 작동하기 전에 실행 Did 역시 의미..

Web Frontend 2022.07.12

React ForEach, Map

ForEach, Map # 시작하며 오늘은 React에서 사용하는 반복문인 ForEach와 Map에 대해 알아볼 것이다. 물론 React 내부에서 For 반복문을 사용할 수도 있지만, ForEach와 Map이 사용되는 이유와, 두 가지 반복문의 차이점에 대해서도 공부해볼 것이다. # ForEach and Map ForEach와 Map에 대해 알아보기 전에, For문에 대해 살펴보면, 기존에 알던 것과 동일하다. for(initialization ; condition ; final-expression) statement 이에 추가로 break와 continue를 사용하여 상태변화를 조정할 수 있다. 다음으로 forEach와 map에 대해 알아보자. 두 가지 모두 반복을 사용한다는 공통점이 있기 때문에 자칫..

Web Frontend 2022.07.12

React Component

Component # 개요 React를 사용하여 애플리케이션, 웹 페이지 인터페이스를 설계할 때, 사용자가 볼 수 있는 요소는 여러 가지 Component로 구성되어 있다. Component는 데이터가 주어지면, 해당 데이터를 통해 UI를 구성하고 api를 이용하여 component가 화면에 나타나고 사라지는 변화를 처리할 수 있다. 또한 임의의 method를 만들어 특별한 기능을 추가하는 것도 가능하다. # 종류 Function Component Class Component # Function Component component를 선언하는 방식은 크게 두 가지로 나뉜다. 하나는 Function Component이고, 다른 하나는 Class Component이다. import React from 'rea..

Web Frontend 2022.07.07
728x90