[React] Note2. Protected Route
·
dev/React
Note1. Proetected Route- Protected Route는 React Router에서 특정 경로 접근 전에 인증/권한을 확인하는 컴포넌트이다. - 중요한 자원 (관리자 대시보드 등) 의 UI 노출을 방지할 수 있다. 하지만 개발자 도구로 우회가 가능하기에 완전한 보안은 불가능하고 서버단에서 API 접근에 대한 보안처리는 반드시 따로 해줘야만 한다. 이것은 CSR (Client-Side-Rendering)의 한계로 Spring MVC나 Next.js같은 SSR(Server-Side-Rendering) 방식을 사용하는 프레임워크는 Nginx 같은 프록시에서 html 자원 호출 자체를 서버단에서 제한할 수 있으나, CSR은 불가능하기 때문이다. 예시로 사용자가 .../admin 페이지로 접근..
[Git] Your local changes to the following files would be overwritten by chekcout
·
dev/Git
error: Your local changes to the following files would be overwritten by checkout: NimdaLandingPage/package-lock.jsonPlease commit your changes or stash them before you switch branches.Aborting 현재 브랜치의 파일과 이동하고자 하는 브랜치의 파일이 일치하지 않을 때 발생하는 오류이다.해결 방안은 현재 브랜치의 변경 사항을 커밋하거나 stash 명령어를 사용해 현재 브랜치의 변경사항을 임시로 저장한 뒤 이동할 브랜치에서 작업을 마치고 다시 되돌아와서 임시로 저장한 내용을 제거하면 된다. git stash git stash list로 stash된 파일 이력..
React Note1. state, variable useState, useEffect
·
dev/React
Note1. React Rendering mechanism React의 Component는 Rendering 상태가 변경될 때마다 함수를 다시 렌더링한다. 상태(State) : React가 감시하는 데이터이다. 상태가 변하면 리액트는 UI를 다시 렌더링한다. 변수(let, const) : 렌더링될 때마다 초기화되며 값이 변하더라도 UI는 렌더링되지 않는다. 즉, 상태가 변경되면 리액트는 변경된 컴포넌트를 추적해 업데이트된 상태를 반영하여 UI를 자동으로 리랜더링 하지만 변수가 변경된다고 하더라도 UI를 자동으로 랜더링하지는 않는다. Note2. useState useState는 컴포넌트 내부에서 동적 데이터를 관리할 때 사용하는 일종의 기억 장치이다. state : 현재 상태 값setState : 상..
[Git] Branch Protection Rule
·
dev/Git
해당 글은 Github에서 Branch를 보호하는 룰을 설정하는 방법에 대해 다룬다. 특히 팀 협업에 있어서 Main Branch의 Rule을 설정하는 것은 매우 중요하다. 우선 Team Repository에 들어가 브랜치 규칙을 할당할 팀을 먼저 생성한다. Branch Name & Enforcement StatusRepository Settings Rulesets로 들어가 Ruleset Name, Enforcement Status를 Active한다. Bypass list Rulset을 무시하고 직접 브랜치에 Merge, Push 가능한 Organization Group을 설정한다. 프로젝트 리더나 중요한 멤버만 설정할 수 있도록 하자. Target branches BranchRule을 적용할 Br..
[Android] Activity, Fragment, Inflater
·
dev/Android
개인적인 학습 용도로 정리한 글이기에 잘못된 내용을 포함하고 있을 수 있습니다. Inflater란?xml로 정의한 레이아웃을 메모리에 올리고 객체화시키는 함수모든 xml 레이아웃은 Inflater를 통해 객체화된다. Activity With InflaterActivity로 화면을 생성할 경우 Java/Kotlin 소스코드와 xml 레이아웃 파일 2개가 생성된다.나는 Activity로 화면을 생성했을 때 Inflater를 호출한 적이 없는데?라고 생각할 수 있으나Activity에서 onCreate() 메서드 내부의 setContentView() 메서드가 내부 생명주기에서 자동으로 Inflater를 호출해 주기에 inflater를 사용하지 않는 것처럼 보이는 것이다. public class MainActi..