일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- useState
- Fe
- CSS
- form
- github
- zustand
- svelte
- 브라우저 동작
- PullRequest
- Pr
- Context API
- 개발자
- tailwind css
- 사과게임
- react-query
- 비제어
- 티스토리챌린지
- 오블완
- frontend
- ci/cd
- 개발
- Study
- 협업
- next.js
- barrel export
- 회고록
- js
- javascript
- react
- 프레임 워크
- Today
- Total
목록Study (27)
ougi FE

오늘 제가 소개할 것은 Shadow DOM인데 어쩌다 Shadow DOM을 소개하게 되었냐면 공부할 것을 찾으면서 FrontEnd 로드맵을 보다가 잘 모르는 Shadow DOM이라는 것이 있길래 찾아보게 되었습니다❓ Shadow DOM이란? Shadow DOM은 웹 컴포넌트(Web Components)의 핵심 기술 중 하나로 DOM 요소에 캡슐화된 DOM 트리를 제공하여 외부의 CSS나 JavaScript의 영향을 받지 않도록 하는 기능입니다웹 컴포넌트 spa 프레임워크에서 제공하는 html코드 조각들을 컴포넌트화 하여 관리하는 것과 같은 기술들을 칭합니다 캡슐화 Shadow DOM에서의 캡슐화는 DOM 트리, 스타일, 그리고 동작을 외부로부터 격리시켜, 컴포넌트의 내부 상태를 보호하는 것을 뜻합니다 다..

오늘은 얼마 전에 스터디에서 선배님이 오늘 주제에 대해서 질문을 해주셨는데 좀 더 유연하게 대답하지 못한 것 같아 이 둘에 대해서 좀 더 자세히 알아보려고 합니다❓ 제어 비제어? 그게 뭘까?먼저 제어 컴포넌트는 사용자의 입력을 state로 관리하고 업데이트합니다React에서 state 값이며 setState로 업데이트 됩니다import { useState } from "react";export function Example() { const [value, setValue] = useState(""); return ( setValue(e.target.value)} /> );} 비제어 컴포넌트는 DOM을 직접 조작하여 데이터를 관리합니다상태를 가지지 않으며 입력에 대한 DOM ..

오늘은 여러 블로그에서 여러 글에서 봤었는데 공부하기가 귀찮아 미루던 Closure에 대해서 소개드리겠습니다!❓ Closure? 그게 뭘까?내부함수와 그 함수가 선언될 때의 렉시컬 환경(Lexical Environment)의 조합입니다.사전적 의미로 Closure은 폐쇄라는 의미인데 Closure의 핵심은 스코프를 이용해 변수의 접근 범위를 폐쇄하는 것입니다.Closure의 특징들을 말해보자면 외부에서 내부는 불가능하지만 내부에서 외부로 스코프 접근이 가능합니다.외부 함수가 반환된 후에도 이 접근이 유지됩니다.내부함수란?다른 함수 내부에 정의된 함수렉시컬 환경함수가 선언될 때 생성되는 환경으로 해당 함수의 스코프에 있는 모든 변수와 함수를 포함❓ 왜 Closure 함수로 작성할까?function exte..
개발하다가 보면 이 아마 두가지 파일을 본 적이 있을 것입니다 이름도 비슷한 두가지 대체 무슨 차이가 있을까요?오늘은 package.json과 package-lock.json의 차이를 알아보겠습니다❓ 그 파일들이 뭔데?먼저 package.json은 npm 패키지 설치를 위해서 존재하는 파일로 일반적으로 프로젝트의 이름, 버전, 설명, 프로젝트 실행에 필요한 의존성 목록들을 포함하고 있습니다가끔 정확히 명시하지 않아서 팀원과 버전 문제가 발생할 수 있습니다..package-lock.json은 패키지들의 정확한 버전 정보를 명시하고 있는 파일입니다 ❓그래서 둘이 무슨 차이?package.json는 version range를 사용합니다쉽게 말하자면 18.2.0버전을 사용합니다 라고 명시하는 것이 아닌 ^1..

오늘은 개발을 할 때 사용하는 개발자 도구를 효율적으로 잘 사용하기 위해개발자 도구의 여러 기능들과 꿀팁들에 대해서 알아봅시다저는 크롬을 자주 사용하여서 크롬 개발자 도구를 기준으로 설명했습니다❓ 개발자 도구 여러 기능들과 꿀팁들은?먼저 F12를 눌러서 개발자 도구를 열어봅시다!그리고 말해드릴 순서를 말씀드리겠습니다개발자 도구 설정요소 (Element)소스 (Source)네트워크 (Network)애플리케이션 (Application)Lighthouse개발자 도구 설정개발자 도구 오른쪽 상단에 있는 톱니바퀴를 누르면 이렇게 여러 설정들을 할 수 있습니다 제가 추천하는 몇 가지 설정들을 말하자면 1. 언어 ( setting(톱니바퀴) > 환경 설정 > 디자인 )저기 위에 보이는 언어를 자신에게 맞게 변경하고..

오늘은 제가 React에서 배열에 map() 함수로 자식을 처리할 때각 요소마다 key 값을 넣어야 하는 것에 대해서 설명드리겠습니다최근에 저는 친구가 개발하는 것을 도와주다 친구가 key 값을 왜 주어야 하는지 질문을 하였는데좋은 답변을 해주지 못한 것 같아서 이렇게 글로 정리하게 되었습니다!❓ 왜 그럴까?" Warning: Each child in a list should have a unique "key" prop "( 경고: 리스트의 각 자식은 고유한 "key" prop을 가져야 합니다. ) React에서 자식 요소에 key 값을 주지 않으면 이러한 오류가 뜨는 것을 볼 수 있습니다왜 키 값이 필요할까요? 공식 문서를 보면 React가 어떤 항목을 변경, 추가 또는 삭제할지 식별하는 것에 도움을 ..

저는 Tailwind를 이용해 웹페이지를 구현할 때동적인 스타일링을 구현하기 위해서 종종 삼항 연산자를 사용해왔습니다.하지만 이 방법은 코드가 너무 지저분해진다는 문제가 있었습니다. 오늘은 그 문제를 해결해 줄 수 있는 classnames 라이브러리를 소개해 드리겠습니다.❓ classnames란?classnames 라이브러리는 조건부로 CSS 클래스를 적용할 수 있게 해주는 JavaScript 라이브러리입니다.여러 개의 CSS 클래스를 간편하게 결합하거나 특정 조건에 따라 클래스 이름을 동적으로 추가할 수 있습니다.Tailwind 또는 CSS Modules와 많이 쓰인다고 합니다.장점코드 가독성이 높아집니다.동적 스타일 적용이 쉬워집니다.라이브러리 크기 작아집니다.단점기본적으로 타입이 정해져 있지 않아서..

안녕하세요 오늘은 React-Hook-Form에 대해서 소개해드릴 것인데요 저는 요즘 로그인, 회원가입 페이지를 구현하면서 어떻게하면 효율적으로 form을 관리할 수 있을지 고민이 많았습니다그래서 블로그를 살펴보다가 React-Hook-Form 라이브러리에 대해서 알게 되어 이렇게 글을 적게 되었습니다React-Hook-Form이란?React-Hook-Form 라이브러리는 사용하기 쉬운 유효성 검사 기능을 가지고 있고 확장가능한 form을 제공합니다이 라이브러리를 사용하면 코드가 매우 줄어들고 불필요한 렌더링을 제거해서 성능도 개선이 되는 효과가 있습니다🎯 사용법 저는 기본적으로 React-Hook-Form 사용에 필요한 register함수와 handleSubmit함수를 소개드리고 오류처리, 유효성 검..

오늘은 제가 Context API글을 작성하면서 알게 된 Zustand라는 전역 상태관리 라이브러리에 대해서 설명해보겠습니다❓ Zustand란? Zustnad는 전역 상태 관리 라이브러리 중 하나입니다 작은 패키지 크기와 직관적인 사용법 덕분에 Redux와 Mobx와 더불어 많은 개발자들로 부터 사랑받고 있습니다 불필요한 리렌더링을 최소화하였고 학습곡선이 낮습니다단방향으로 소통하는 React이기 때문에 component의 수가 많으면 복잡하게 props drilling 과정을 거치게 되는데 이렇게 되면 유지보수를 할 때에도 피곤하고 성능이 저하될 우려 또한 존재합니다 Props drilling이란? 부모 컴포넌트에서 자식 컴포넌트로 데이터를 전달할 때 중간에 있는 컴포넌트들이 해당 데이터를 직접 사용하..

오늘은 제가 여러 전역 상태관리 라이브러리들에 관심이 생겨서 이렇게 글을 쓰게 되었습니다오늘은 전역 상태관리 라이브러리 중 Context API 라이브러리에 대해서 설명드리겠습니다❓ Context API? 그게 뭘까Context API는 React의 내장 API입니다props를 사용하지 않고도 state를 쉽게 공유할 수 있게 해 줍니다모든 컴포넌트에서 사용할 수 있는 데이터(상태, 함수 등등)를 전달할 때 유용합니다(예: 사용자 로그인 정보, 테마 설정, 언어 설정 등)🔍 장단점장점React에서 자체적으로 제공하는 기술이기 때문에 따로 설치할 필요가 없습니다다른 전역 상태관리 라이브러리들보다 배우기 쉽습니다코드 구성이 간결합니다단점상위 컴포넌트 state가 변화하면 하위 컴포넌트가 모두 리렌더링 된다..