본문 바로가기

전체 글151

리눅스 명령어 chmod 파일 권한 변경 ls (목록 확인 옵션) -a : 모든 파일 출력(숨김파일 포함) -l : 각 파일의 종류, 권한, 업데이트일 출력 -t : 최근 생성 순서로 -R : 하위 디렉토리까지 -u : 파일 사용 순서로 -r : 현재 정렬의 역으로 pwd 현재 디렉토리 위치 확인 print working directory cd change directory 파일이나 directory의 권한 d : 디렉토리 : 파일 c : 캐릭터 디바이스 s : 네트워크 소켓 파일 l : 링크 파일 rwx : 읽기/쓰기/실행하기drwxr-xr-x 2023. 8. 30.
git 명령어 VS Code에서 많이 사용 clone 원격 저장소에 있는 프로젝트를 가져오는 역할 master 브런치를 자동으로 가져오며 origin으로 remote도 add **git clone ** pull 원격 저장소에서 로컬 저장소로 소스를 가져오는 명령어 원격 저장소의 소스를 가져오고 해당 소스가 현재 내 소스보다 더 최신 버전이라고 하면 지금의 버전을 해당 소스에 맞춰 업로드 (merge 명령어 사용) 원격저장소에서 fetch명령어로 가져온 후 merge까지 한번에 해 실제 파일의 내용이 변경되는 명령어 **git pull ** push 현재 프로젝트의 커밋된(HEAD) 내용을 원격 저장소로 내보내는 명령어 push로 내보내게 되면 원격 저장소에 저장되게 되며 이렇게 원격 저장소에 저장된 내용은 다른 사용자.. 2023. 8. 30.
Git Data Structures State Models commit한다고 서버(remote repository)에 업로드되는 것이 아니다. push를 해야 remote repository에 호환된다. A Detailed Explanation of the Underlying Data Structures and Principles of Git VS Code → Git History origin : remote repository를 의미 origin/develop origin/master origin 없으면 local repository를 의미한다. develop master 등 State Models commit한다고 서버(remote repository)에 업로드되는 것이 아니다. push를 해야 remote repository에 호환된.. 2023. 8. 30.
git branch 전략 Git Flow 전략 각 용도에 맞게 main(master), develop, feature, release, hotfix 브랜치를 분리해서 사용 명확한 릴리즈 기간과 주기적인 버전이 정해진 프로덕트를 개발하는 환경에 적합 릴리즈 버전 관리를 위한 release 브랜치를 따로 관리하기 때문에, 특정 버전에 대한 유지보수 기간이 길고, 여러 버전을 동시에 관리해야 할 필요가 있을때 유용함 2, 3과 같은 장점 때문에 소규모 팀보다는 규모가 있는 팀에 더 어울림 (https://sungjk.github.io/2023/02/20/branch-strategy.html 참고) Git-flow에는 5가지 종류의 브랜치가 존재합니다. 항상 유지되는 메인 브랜치들(master, develop)과 일정 기간 동안만 유지.. 2023. 8. 30.
React에서의 불변성(Immutability) 1. 불변성 - 변하지 아니하는 성질. - 공간 좌표의 반전, 시간 반전, 회전, 로런츠 변환 따위의 특정한 변환이나 연산으로도 변화하지 않는다고 하는, 물리량이나 물리 법칙이 갖는 성질 2. JavaScript에서 원시타입의 값들은 불변성을 가지고 있음 string, number, bigint, boolean, undefined, symbol, null 모든 원시 값은 불변하여 변형할 수 없음 (https://developer.mozilla.org/ko/docs/Glossary/Primitive) 참조형 값들(객체, 배열, 함수 등) 은 다르게 동작 number가 참조하고 있는 apple의 주소 값은 변경된다. 복사되는 것이 아닌 참조값을 갖게되기 때문에, 사본을 수정하게 되면 원본도 수정됨 let s.. 2023. 8. 30.
setState할 때 […] 하는 이유 (ChatGPT) setState 할때 […] ←— 하는 이유 분석하기 언제 써야하고, 안써야 하는지 setState 함수는 React 라이브러리에서 상태(state) 관리를 위해 사용되는 함수입니다. 이 함수를 호출하면 React 컴포넌트의 상태를 업데이트하고, 컴포넌트를 다시 렌더링하도록 스케줄링합니다. setState 함수에 전달되는 값은 변경된 상태를 나타내며, 이 값은 새로운 상태로 컴포넌트를 업데이트할 때 사용됩니다. setState 함수를 사용할 때 [...] 형태로 이전 상태를 업데이트하는 이유는, React의 상태 업데이트는 불변성(Immutability)을 유지하면서 이루어져야 하기 때문입니다. 이는 다음과 같은 이유로 중요합니다: 성능 최적화: React는 가상 DOM (Virtual DOM)을 사용하.. 2023. 8. 30.
setState할 때 […] 하는 이유 setState 역할 setState()가 쓰일 때, 컴포넌트의 state 객체에 대한 업데이트를 실행 state가 변경되면, 컴포넌트는 리 렌더링 state와 props의 차이점 props와 state는 Javascript 객체입니다. 두 객체 모두 렌더링 결과물에 영향을 주는 정보를 갖고 있습니다. props는 컴포넌트에 전달되며, state는 컴포넌트 안에서 관리되는 차이점이 있습니다. 언제 setState가 비동기로 작동할까? import React, { useState } from "react"; function App() { const [state, setState] = useState(1); const onClick = () => { setState(state + 1); console.log.. 2023. 8. 30.
React 사용자 인터페이스를 만들기 위한 JavaScript 라이브러리 선언형 React는 상호작용이 많은 UI를 만들 때 생기는 어려움을 줄여줍니다. 애플리케이션의 각 상태에 대한 간단한 뷰만 설계하세요. 그럼 React는 데이터가 변경됨에 따라 적절한 컴포넌트만 효율적으로 갱신하고 렌더링합니다. 선언형 뷰는 코드를 예측 가능하고 디버그하기 쉽게 만들어 줍니다. 컴포넌트 기반 스스로 상태를 관리하는 캡슐화된 컴포넌트를 만드세요. 그리고 이를 조합해 복잡한 UI를 만들어보세요. 컴포넌트 로직은 템플릿이 아닌 JavaScript로 작성됩니다. 따라서 다양한 형식의 데이터를 앱 안에서 손쉽게 전달할 수 있고, DOM과는 별개로 상태를 관리할 수 있습니다. 간단한 컴포넌트 React 컴포넌트는 render()라는 메서.. 2023. 8. 30.
React & JSX (Java Script XML) 메타에서 개발한 오픈 소스 자바스크립트 라이브러리. 프론트엔드 개발자 사이에서 AngularJS, Vue.js와 더불어 많은 인기를 얻고 있다. GitHub Star 수와 npm 패키지 다운로드 수는 React가 가장 많다. SPA을 전제로 하고 있으며, Dirty checking과 Virtual DOM을 활용하여 업데이트 해야하는 DOM 요소를 찾아서 해당 부분만 업데이트하기 때문에, 리렌더링이 잦은 동적인 모던 웹에서 엄청나게 빠른 퍼포먼스를 내는게 가능하다. 기본적으로 모듈형 개발이기 때문에 생산성 또한 상당히 높은 라이브러리인지라 순식간에 대세로 떠올랐다. 거기에 기본적으로 프레임워크가 아니라 라이브러리인지라 다른 프레임워크에 간편하게 붙여서 사용하는 것도 가능하며, React Hooks라는 강력.. 2023. 8. 30.