전체 글 49

[React.js] Viewport와 동적으로 meta 태그 수정하기

많이 부족했지만 웹 애플리케이션 기능을 모두 구현한 후에 모바일에 대응하는 작업을 했습니다. 다른 일반적인 기능 페이지의 경우 미디어 쿼리를 사용하여 반응형으로 쉽게 구현할 수 있었습니다. 🤔 크기가 고정된 문서를 어떻게 한눈에 보여줄까? 문제는 다른 프로젝트에서 문서와 관련된 기능을 현재 프로젝트에 옮겨 사용 중에 있었는데 해당 문서는 크기가 cm로 지정되어 있어 모바일에서 보기엔 맞지 않는 큰 크기였습니다. 당장 떠오르는 해결방식은 크게 두 가지였습니다. 페이지 크기를 수정하여 적용하는 방식 문서의 스케일을 줄이는 방식 페이지 크기를 수정하는 방식은 이미 잘 구성되어 있는 문서를 각 부분 다시 크기를 수정하고 맞춰야 하기 때문에 시간상 불가능할 것이라 판단했습니다. 그래서 문서의 스케일을 줄이는 방식..

DEV/WebProgramming 2023.01.31

[React] Table 사용기

인턴 하게 되어 회사에서 프로젝트를 진행했습니다. 로그인, 회원가입 화면 구성 및 기능 구현하는 등 프로젝트의 일부분을 전담하면서 회사 일을 시작하게 되었습니다. 🤦‍♂️ 실무에서의 table 첫 대면, 오류 발생 그중에 일부 만들어진 기능을 현재 프로젝트로 옮겨야 하는 작업을 하게 되었습니다. 같은 React로 만들어진 기능이라 손쉽게 옮겨질 줄 알았는데 브라우저 콘솔창에 문제를 맞닥뜨리게 되었습니다. 사실 바닐라 js에선 문제없던 부분이기도 했고 React도 js이기 때문에 문제가 없을 거라고 생각했지만 다음과 같은 오류를 보게 되었을 때는 의아했습니다. 🤔 해당 오류는 왜 발생하나? 해당 오류는 태그나 태그가 태그 바로 밑에 오게 되면 생깁니다. 즉, React에서는 꼭 , 태그가 , 태그 내부에 ..

DEV/WebProgramming 2022.12.27

[TypeScript] TypeScript란, React에 적용하기

기존 emotion-diary 프로젝트를 적용해보려 했지만 TypeScript가 익숙하지 않고 완성된 프로젝트에 적용하기엔 힘들다고 판단하여 새로운 프로젝트를 만들며 처음부터 적용해보려 한다. 목차 0. TypeScript란 1. TypeScript 적용 2. TypeScript 사용하기 TypeScript란 // 예시 (코딩앙마 Typescript #1 영상 중) // 기존 javascript 실행시 function add(num1, num2){ console.log(num1 + num2); } add();// NaN add(1);// NaN add(1,2);// 3 add(3,4,5);// 7 add("hello", "world");// "helloworld" // typescript 적용 funct..

DEV/WebProgramming 2022.07.28

[React] Index.html 파일 수정하기

인프런, 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지의 내용 중 Index.html 파일 수정에 대한 내용을 정리한다. 목차 1. // 페이지마다 제목을 수정할 경우 각 페이지에서 아래와 같이 설정 useEffect(() => { const titleElement = document.getElementsByTagName("title")[0]; titleElement.innerHTML = `페이지 제목`; }, []); Open Graph 설정하기 프로젝트의 링크를 입력했을 때 사이트에 대한 간략한 썸네일과 제목, 설명을 Open Graph를 통해 설정할 수 있다. Open Graph를 설정하거나 수정 후 반영되지 않을 때는 Open Graph 캐시를 초기화해야한다.ㅁ 프로젝트 마..

DEV/WebProgramming 2022.07.14

[React] 프로젝트 빌드 및 배포

인프런, 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지의 내용 중 프로젝트 빌드 및 배포에 대해 내용을 정리한다. 목차 1. 프로젝트 빌드하기 2. Firebase를 이용하여 배포하기 프로젝트 빌드하기 프로젝트 배포에 앞서 프로젝트에서 필요한 파일을 추리고 파일 내용의 각종 공백을 삭제함으로써 용량을 줄여 압축하는 빌드 작업이 필요하다. pakage.json 파일에서 스크립트에 build 명령어가 존재한다. 해당 명령어를 통해 프로젝트를 빌드한다. serve 명령어를 통해 로컬에 배포하여 테스트가 가능하다. serve 명령어는 기본적으로 설치되어 있지 않기 때문에 글로벌 플래그를 사용하여 설치한다. 만약 배포된 파일에서 수정이 필요하다면 프로젝트 수정 후 다시 빌드하여 배포한다. ..

DEV/WebProgramming 2022.07.12

[React] Local Storage

인프런, 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지의 내용 중 Local Storage에 대해 내용을 정리한다. 목차 1. Web Storage API 사용하기 2. Local Storage 확인하기 3. 프로젝트에 적용하기 Web Storage API 사용하기 따로 데이터 베이스가 없다면 페이지를 테스트하고 난 후 껐다 켜거나 새로고침 할 경우 데이터가 처음 그대로 돌아가게 된다. 이럴 때 Web Storage API를 사용하여 LocalStorage에 데이터를 저장시키고 불러와 데이터를 보존한다. Web Storage API에는 두 가지로 나뉜다. session storage와 local storage가 있으며 session storage는 브라우저가 열려있는 동안 데이터를..

DEV/WebProgramming 2022.07.08

[VSCode] 웹 프로그래밍시 유용한 확장 프로그램(22.05.28)

웹 프로그래밍시 VSCode를 사용하면서 코드 작성시 유용한 확장 프로그램을 정리한다. 목차 1. Auto Close Tag 2. Auto Rename Tag 3. Live Server 4. ES7 + React / Redux / React-Native snippets(React 관련 snippets) 5. Material Icon Theme 6. Prettier - Code formatte Auto Close Tag 앞의 태그를 작성하면 자동적으로 태그를 닫아주는 기능 Auto Rename Tag 앞의 태그를 수정하면 닫히는 태그 또한 같이 수정하는 기능 Live Server html파일 코드에서 우클릭 후 "Open with Live Server" 클릭하게 되면 로컬 아이피로 html 파일이 작동하는..

DEV/WebProgramming 2022.05.29

[의미있는 삶을 위하여 | 알렉스 룽구] 자신에 대한 깨닭음

읽는 걸 미루고 중간중간 읽다 보니 몇 개월 걸린 알렉스 룽구의 "의미있는 삶을 위하여"를 읽고 생각에 대해 정리해보려 한다. 읽는데 오래 걸리기도 했고 드문드문 기억나는 부분이 많아 생략되는 부분이 많을 거라 생각된다. 비교적 최근에 읽은 뒷부분에 대한 기억이 진하게 남아있다. Introduction 책을 구매할 당시 내 인생에서 가장 방황하던 시기였다. 그 혼돈을 바로 잡아 보겠다고 많은 책을 구매하고 읽었다. 조던 피터슨의 "12가지 인생의 법칙", "질서 너머", 애덤 그랜트의 "싱크 어게인" 등 자기 계발 종류를 많이 구매했었다. 거기에 더해 유튜브를 시청할 때 이전엔 게임 영상들로 가득했었지만 자기 계발과 관련된 영상들이 많아지고 알고리즘도 그에 맞춰 추천해주었다. 유튜브를 보다가 알렉스 룽구..

취미/Book Review 2022.05.20

[React] Page Routing

인프런, 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지의 내용 중 Page Routing에 대해 내용을 정리한다. 목차 1. Page Routing 이란 2. React Router Dom v6 사용하기 3. React Router Dom v6의 유용한 기능 Page Routing 이란 Routing이란 - 어떤 네트워크 내에서 통신 데이터를 보낼 경로를 선택하는 일련의 과정 - 이때 데이터 경로를 Route, 데이터 경로를 실시간으로 지정해주는 역할은 Router 라고 함 Page Routing이란 - Browser에서 웹서버에 경로에 대한 요청을 보내고 웹 서버가 보내는 문서를 받아보는 과정 - 즉, 요청에 따라 어떤 데이터를 돌려줄지 결정하는 과정 - Page Routing은..

DEV/WebProgramming 2022.05.17

[React] useReducer, useContext

인프런, 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지의 내용 중 useReducer, useContext를 사용한 프로젝트 정리 대해서 수강하고 내용을 정리한다. 목차 1. useReducer - 복잡한 상태변화 로직 분리 2. useContext - 컴포넌트 트리에 데이터 공급 useReducer - 복잡한 상태변화 로직 분리 simple-diary 프로젝트에서 App 컴포넌트에는 많은 상태변화 함수가 존재한다.(ex. getData, onCreate, onRemove 등) 복잡하고 긴 상태변화 로직을 컴포넌트 밖에 정의하여 컴포넌트 코드를 좀 더 단순히 만들 수 있다. // reducer 함수 // switch문을 통해 action.type을 확인하여 상태변화 처리 // re..

DEV/WebProgramming 2022.05.09