React로 사이드프로젝트를 하던 중 특정 변수에 대해 거의 모든 컴포넌트에서 참조를 하고 변경시 랜더링해줘야 하는 이슈가 생겼다. 개발 환경과 언어는 MacOS, React(v18.2.0), Typescript(v4.8.4), Redux(v4.2.0)이고, 배포는 docker로 묶어서 EC2에 띄울 예정이다. 그냥 App.tsx에서 useState로 State Hook 만들어서, 변수와 컨트롤러를 만들 수도 있었겠지만 depth가 커지는 컴포넌트가 생기면, 코드 가독성이 저해될 것 같았다.(사실 나만 보는 코드니까 상관은 없지만...) 그래서 상태 관리 라이브러리인 Redux를 사용해봤다. 이전에는 Redux가 react에 종속적인 라이브러리인줄 알았는데, 이번에 공부하며 찾아보니 JS를 위한 상태관리..
개발/React
현재 프로젝트는 Ubuntu(EC2)에서 nodejs+express+GraphQL로 백엔드 구성, 프론트는 React-Native와 약간의 React 기반 웹뷰로 진행되고 있다. Webview에서 React로 카카오 지도API를 띄우는 과정에서, 현재 사용자의 위치정보를 받기 위해 Geolocation API를 사용했는데, 로컬에서는 잘 돌아가는 것이 서버에 띄우니까 빈화면이였다... Geolocation PositionError 어쩌고 저쩌고 나오길래 구글링해봤더니 Geolocation API는 브라우저에서 지원하는 네이티브 API로 localhost가 아니면, https://에서 작동한다는 것이다. 유료 ssl을 쓰자니 아직 프로젝트 지원비 신청을 안해서 너무 비싸서 못쓰겠고, openssl 같은걸로..
http://dongjun.me wq0212 / Dongjun Shin dongjun.me 최근 새로운 사람만날일이 부쩍 많아졌다. 다들 처음 만나서 이름, 나이, 학력을 물어보고 기술스택을 물어보며 첫마디를 땐다. 아무래도 다들 팀원을 구하고 있어서 그런가 이름보다 기술스택을 먼저 물어보는 일도 허다하다. 어딜가나 본인을 소개하고, 본인을 어필하는 일이 반복되다보니 개인적으로는 적지 않은 피로감도 느낀다. 누굴 만나면 면접을 만난 복어마냥 촉을 세우고, 자기를 소개해야하고, 남이 소개하는걸 들으며 (심지어 받아적는 분들도 있다) 팀원을 물색해야한다. 앞으로 개발자로 계속 일하다보면 본인을 소개할 랜딩페이지 정도는 있으면 좋겠다 싶어, 도메인도 하나 지르고 아래 두 선배분들 페이지를 참고해서 만들어 보았..
fullpage.js는 스크롤 한번에 창을 한 단위로 내리는, 약간 PPT? 같은 느낌으로 웹 사이트가 동작하게 해준다. https://alvarotrigo.com/react-fullpage/ react-fullpage.js - Official React.js component for fullPage.js Official React.js component for fullPage.js. An easy to use wrapper for your react application. alvarotrigo.com 이런느낌으로 마우스 스크롤 한칸(?)에 한페이지가 통으로 넘어가서 사이트 첫 메인페이지에 써보고자 한다. 다른 프로젝트를 하면서 landing page를 만들때 리액트 없이 생으로는 써봤는데, 이번 Rea..
리액트는 '사용자 인터페이스를 만들기 위한 JavaScript 라이브러리'이다. Front : react Back : nodejs + express DB : mongodb 로 이뤄진 프로젝트를 기획중인데, 준비하며 리액트 공부를 해보고자 한다. 2편까지의 setting으로 node와 npm을 설치해준다. 1. npm의 상위호환인 yarn을 설치해준다. (성능 속도를 개선했다고 한다.) $ sudo npm install -g yarn 2. create-react-app을 설치하고, 프로젝트 폴더를 생성한다. (이하 myshop 자리엔 프로젝트 폴더) $ sudo yarn global add create-react-app $ sudo create-react-app myshop 생성되면 다음과 같이 뜸 3. ..