Frontend 4

[Storybook] 리액트로 프론트엔드 개발 시 유용한 컴포넌트 관리 도구, 스토리북을 도입해보기 - 1

리액트로 프론트엔드 개발 시 유용한 컴포넌트 관리 도구, 스토리북을 도입해보기 (CRA + ESLint + TypeScript + Storybook + chromatic) 예전 프로젝트에서 디자인이 수시로 변경되었는데, 디자인 버전 관리 체계도 제대로 이루어지지 않아서 어느 것이 최신 버전인지, 유효한 디자인인지 확인하기 어려웠다. Theme이 세 가지나 다른 디자인에 대해 각각 컴포넌트와 페이지를 다루기가 너무 난감했다. 작성하고 있는 컴포넌트는 재사용을 위한다고 가면, 너무 많은 prop이 걸려서 번번히 테스트 코드도 없는 와중에 디버깅 하기가 힘들었다. 그래서 이번 프로젝트에서는 디자이너와 협업 효율도 높이고, 시각적으로 컴포넌트들을 따로 볼 수 있으며, 개별적으로 개발해서 bottom-up 방식으..

🛠/Dev Tool 2022.01.28

SOP(Same-Origin-Policy), CORS(Cross-Origin-Resource-Sharing)

자주 마주치는 CORS 오류 프론트엔드 프로젝트를 할 때 자주 마주치는 오류 중 하나로 CORS가 있다. 토이 프로젝트를 할 때 API를 가져가 쓸 때도 빈번하게 발생했고, 현업에서 백엔드/프론트엔드 서버를 다르게 구축하고 개발할 때도 마찬가지이다. 토이 프로젝트를 할 때는 한 줄 코드를 넣어 프록시를 우회하도록 하며 API를 쓰거나(a), webpack 설정 파일에 개발 시에 사용할 수 있게 proxy 설정(b)을 해주곤 했다. 좀 더 큰 규모의 프로젝트를 진행하면서는 백엔드 개발자에게 CORS 해결을 위해 협조를 요청해서 해결했다. (사전 지식이 부족했을 때 프론트엔드 단에서 실수인가 싶어서 온갖 자료를 찾아보면서 방법을 강구해봤지만 AWS 서버 설정 페이지에서 단 한 번의 클릭으로 해결할 수 있는 ..

👩‍💻/Web 2021.05.10

[CSS] position의 이해. static/relative/absolute/fixed 그리고 sticky.

CSS 속성 중 fixed와 sticky 활용을 잘 못하는 것 같아서, 다시 한 번 점검용으로 또 면접 준비용으로 기록을 남겨보려고 한다. 우선 CSS의 position property에는 static, relative, absolute, fixed, sticky 다섯 종류가 있다. CSS의 각 속성은 top, right, left, bottom의 속성에 값을 넣어 최종적으로 문서 내 요소가 의도대로 배치될 수 있도록 도와준다. 단, static의 경우에는 해당 속성들은 물론, z-index 같은 속성의 도움을 받을 수 없다. 문서의 원래 흐름에 자연스럽게 위치되기 때문이다. relative 해당 속성을 가지는 요소는 원래의 문서 흐름을 배제하지 않지만, 자기 자신을 기준 삼아 top, bottom, r..

👩‍💻/CSS3 2021.04.24

DOCTYPE, HTML, XHTML, 그리고 HTML5

DOCTYPE 유규한 역사를 가진 HTML은 시간이 지나며 그때 그때 필요한 기능을 표준으로 하는 버전들을 계속 업데이트해왔다. 당연히 여러 버전이 존재할 수밖에 없고, 이들은 각각의 이름도 가지고 있다. 가까운 순으로 HTML5, XHTML 1.1, HTML 4 등을 들어볼 수 있는데, 버전 별로 지원하는 태그나 속성이 조금씩 다르다. 물론 deprecated된 기능도 있다. 그러다보니 웹 문서가 어떤 HTML 버전을 사용하는지 브라우저에게 알려줄 DTD(Document Type Declaration)이라 하는 문서 형식 지시자를 와 같이 HTML 문서 최상단에 작성하게 된다. 그러면 브라우저는 이를 읽고 선언된 버전에 맞는 문서를 렌더링해서 보여줄 수 있게 되는 것이다. deprecated 되는 몇 ..

👩‍💻/HTML5 2021.04.24