일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- style-dictionary
- vite
- typescript
- css framework
- compound component
- javascript
- 다짐
- 2021년
- c#
- 24년 계획
- design token
- react
- 디자인 토큰
- 2020년
- 프로그래밍
- 2023 회고
- npm
- 개발자
- 23년 회고
- front
- component
- 디자인시스템
- design-system
- design
- 회고
- nextjs
- 2024 계획
- 라이브러리제작
- frontend
- 뇌를자극하는C#
- Today
- Total
목록react (9)
개탕 IT FACTORY
개요회사내에서 기존 로그인 방식을 변경하여 JWT 토큰 로그인 방식으로 변경하게 되었다.JWT 토큰 로그인 방식은 많이 알려진 방식이긴 하나 대부분 백엔드에서 많이 처리해줘서 이번에 처음 프론트에 관심사가 모두 전달되어서 로그인 시 토큰관리 및 재갱신 부분도 만들게 되었다.구현도중 토큰이 만료되었을시 실패했던 API 갯수만큼 refresh 토큰 재발급 api가 중복으로 호출되는 이슈를 확인하여 해결했던 부분을 남길려고 한다.문제의 시작회사내 로그인 시스템을 기존 백엔드에서 세션을 모두 관리하던 방식에서 → JWT 토큰 방식으로 변경하게되었다물론 회사의 모든 백엔드 시스템과 프론트를 모두 교체해야되는 대규모 공사여서 굉장히 부담이 되는 프로젝트였던 것은 사실이다(사실 프론트팀과 같이 할려했으나 회사내 또 ..
디자인시스템 구축전 글에서 compound component와 Polymorphic component에 대해서 다뤄봤고,추가적으로 디자인 토큰이 어떤 것인지에 대해서도 알아보았다. 이번에는 디자인시스템 라이브러리 구축을 위한 과정을 한번 다뤄볼까한다. 디자인 시스템 구축 과정사실 Rollup으로 구축할려고했으나 vite의 강세와 더불어 내부로직으로 Rollup 설정이 가능한 vite로 빠르게 구축후 Rollup으로 포팅하는 과정을 할려고한다.고려사항최소한의 번들 사이즈를 유지하게 만든다 (tree shacking 기능이 있는걸 사용한다)storybook을 적극활용하여 컴포넌트를 관리한다Typescript기반으로 개발한다React 개발환경에 맞춰 개발한다 (다른 것들은 추후고려대상)개발 구축빠른 개발환경 ..
개요 기존에 Polymorphic Component에대해서 알아보았다. 다양한 환경에서 다양하게 적용가능한 컴포넌트를 적용하기 위해서는 다형성을 가진 컴포넌트를 제작하였다. 이번에는 그 확장판인 Compound Component (합성컴포넌트)에대해서 알아볼까한다. Compound Component(합성컴포넌트) 무엇인가? Compound components are a React pattern that provides an expressive and flexible way for a parent component to communicate with its children, while expressively separating logic and UI. 출처 상위 구성 요소가 하위 구성 요소와 통신할 수 있..
개요 회사내에서 (지금은 전직장) 디자인 시스템 제작을 위해 다양한 자료를 찾아보던 와중에 Polymorphic 컴포넌트에 대해서 알게 되어서 관련 내용을 정리해볼까 한다. 디자인 시스템 제작한지는 상당히 시간이 오래지났지만 (23년 봄부터 시작했으니…) 관련된 참고내용과 내가 실제로 적용했던걸 바탕으로 글을 작성할려구 한다. 이 내용은 추후 디자인 시스템 구축을 위한 발판을 위한 기본글임을 알립니다. Polymorphic이란? 사전적 의미는 다형성이라고 표시되는데, 프로그래밍 특히 객체지향에서는 오버로딩과 오버라이딩등 다양하게 표현되곤한다. 물론 여기서는 그런뜻이 아닌 다양한 형태를 가질수있는 컴포넌트라고 이해하면 쉬울 것 같다. 다양한 형태는 어떤 형태를 말하는 걸까? 태그에 얽매이지 않는 컴포넌트 ..
RIP CRA(Create-React-App) CRA(Create-React-App)이 죽었다… 아 죽었다는 표현보단는 deprecated가 맞는 표현 같다 React에서는 새로운 문서 https://react.dev/ 를 공개하고 이전 문서의 지원을 중단했는데 충격적이게도… 새프로젝트 생성부분에 CRA(Create-React-App)부분이 존재하지 않았다 충격 실화! 근데 사실 전부터 이런 이슈는 존재해왔는데 어떤점이 문제였고, 그러면 어떤부분이 바뀌었는지 확인해보자 이후 Create-React-App는 CRA로 표현 💡 들어가기 앞서 이영상을 참고하면 좋을거 같다 https://www.youtube.com/watch?v=M4CLvtCS2YU 성능 이슈 사실 이문제는 전부터 존재하였지만, 새로운 모듈러..
1. 개요 개인 공부를 하던 와중에 친구와 공부내기에서 떠올린 프로젝트이다. 친구와 몇시간 혹은 특정 장소에서 공부한걸 인증한걸 공유하자 (도서관, 카페) 대신 집과 거리가 멀고, 공부를 하지 않고 인증만해도 그정도의 정성은 인정하자는 분위기였다. 근데 매번 타이머키고 인증하고, 또 공부 타이머앱 깔고 분석하기엔 뭔가 별루였다… (뭔가 보상이 없달까?) 그래서 뭔가 보상도 있고, 인터페이스도 쉬우면서, 동기부여가 되는 타이머앱을 만들기로 했다. 2. 기능 기본기능 타이머 : 당연하다, 타이머 앱이니까 타이머는 기본 탑재이다 분석기능 : 기본적인 목표치를 설정 주단위 분석 또는 달단위 분석 기능을 탑재할까 싶다 공유기능 : 자신의 공부시간 혹은 공부량등을 자랑할수있게 공유기능을 넣을예정 커뮤니티 기능 : ..
개요프로젝트를 진행할때마다 CRA를 활용한 어플개발을 많이 하였다. 일단 환경 구축등의 시간 단축이 좋다는 이유로 많이 사용하였지만, CRA의 단점은 커스텀이 어렵다는 부분이 있다.물론 npm run eject을 통해서 webpack설정을 바꿀순 있지만, 기존에 지원하던 좋은 장점을 버리는 거라 추천은 하지 않는다 (사실 직접 webpack으로 골라 만드는게 좋을듯…)그래서 SSR, SSG의 장점이 가진 Nextjs를 나만의 boilerplate로 제작해볼까 한다.준비사항일단 어떤 요소를 넣어야 하는지에 대한 부분이 필요했다.필수요소typescriptESLintPrettierReact-testing-library, jeststyled-componentstailwindCSS데이터페칭위 필수요소를 기반으로 ..
DOM이란 무엇인가? MDN 문서에 따르면 문서 객체 모델(The Document Object Model, 이하 DOM) 은 HTML, XML 문서의 프로그래밍 interface 이다 쉽게 말하면 일종의 웹페이지 문서라고 생각하면 편하다. 그러면 DOM이 왜중요한가? 브라우저 동작 방식을 이해할려면 DOM에 대한 이해가 있어야된다 아래는 Webkit 동작과정이나 브라우저엔진의 동작과정은 대부분 비슷하게 동작한다 DOM Tree 생성 브라우저가 HTML을 전달받으면, 브라우저 렌더 엔진이 이를 파싱 DOM 노드(Node)로 이루어진 트리생성 Render Tree 생성 외부 CSS파일 및 엘리먼트의 inline스타일을 파싱, 스타일 정보를 사용하여 DOM트리에 따라 새로운 트리 생성 Render Tree 이..