IT/공통9 git stash 복구 방법 실수로 git stash list에 있는 항목을 삭제했을 때 복구하는 방법이다. # stash의 hash 값과 저장 시간을 확인한다. git fsck --unreachable | grep commit | cut -d ' ' -f3 | xargs git log --merges --no-walk # 위 명령어에서 확인한 hash 값을 이용해서 apply한다. git stash apply {hash} 2023. 1. 2. [Git] 브랜치 일괄 삭제 git에 생성된 branch를 일괄 삭제하는 방법 git branch | grep "\[삭제하고싶은 이름\]" | xargs git branch -D Example git branch | grep "feature/" | xargs git branch -D 2022. 8. 23. [VS Code] 파일 저장할 때 ESLint 동작하게 하기 예전에는 VS Code의 Extension인 ESLint의 설정메뉴에 Auto Fix On Save라는 메뉴가 있었다. 이 항목을 체크하면 설정이 됐었는데, 최근에 확인해보니 해당 설정 항목이 없어졌다. Auto Fix On Save를 설정하는 방법은 다음과 같다. Mac 기준으로 VSCode에서 Cmd + Shift + P 를 입력하면 명령 팔레트가 등장하는데, Open Settings를 입력한다. 입력으로 열린 settings.json에서 다음 항목을 입력하면 된다. "editor.codeActionsOnSave": { "source.fixAll.eslint": true }, "editor.formatOnSave": true, 2022. 1. 27. [정리] 브라우저 동작 원리 요약 HTML 마크업을 처리하고, DOM 트리를 빌드한다. (”무엇을” 그릴 지 결정한다.) CSS 마크업을 처리하고, CSSOM 트리를 빌드한다. (”어떻게” 그릴 지 결정한다.) DOM 및 CSSOM을 결합하여 렌더링 트리를 형성한다. (”화면에 그려질 것”만 결정한다.) 렌더링 트리에서 레이아웃을 실행하여 각 노드의 기하학적 형태를 계산한다. (”Box-Model”을 생성한다.) 개별 노드를 화면에 페인트한다. 브라우저의 주요 기능 브라우저의 주요 기능은 사용자가 선택한 자원을 서버에 요청하고, 브라우저에 표시하는 것이다. 자원은 보통 HTML 문서지만, PDF나 이미지, 다른 형태일 수 있다. 자원의 주소는 URI(Uniform Resource Identifier)에 의해 정해진다. 브라우저의 기.. 2022. 1. 16. REST API 정리 REST API란, REST란, REpresentational State Transfer의 약자이다. 2000년도에 로이 필딩(Roy Fielding)의 박사학위 논문에서 최초로 소개되었다. 그는 웹(HTTP) 설계의 우수성에 비해 제대로 사용하지 못해 웹의 장점을 최대한 활용할 수 있는 아키텍처로 REST를 발표했다. REST의 구성 자원(Resource) - URI 행위(Verb) - HTTP Method 표현(Representations) REST 특징 Uniform Interface URI로 지정한 리소스에 대한 조작은 통일되고, 한정적인 인터페이스로 수행하는 아키텍처 스타일이다. Stateless REST는 작업을 위한 상태 정보를 따로 저장하거나 관리하지 않는다. 세션이나 쿠키를 별도로 저장하.. 2022. 1. 7. [Web Security] X-Frame-Options 헤더 X-Frame-Options는 사이트가 iframe 내에서 프레임을 구성하는 방법을 제어할 수 있는 HTTP 헤더이다. Clickjacking은 악성 사이트가 사이트에 전혀 존재하지 않는 것처럼 보이지만, 사용자가 사이트에 있는 링크를 클릭하도록 속이는 실질적인 공격이다. 따라서, X-Frame-Options 헤더의 사용은 모든 새로운 웹 사이트에 필수이며, 모든 기존 웹 사이트는 가능한 빠르게 X-Frame-Options에 대한 지원을 추가할 것으로 예상된다. 매개변수 DENY: iframe 사이트 시도를 허용하거나 미허용(권장) SAMEORIGIN: 사이트에서 자체 iframe을 허용 ALLOW-FROM uri: deprecated; 예시 # X-Frame-Options와 CSP로 사이트가 프레인되지.. 2021. 10. 8. [Web Security] X-XSS-Protection 헤더 X-XSS-Protection은 Cross-Site Scripting(XSS) 공격이 감지되었을 때, 페이지 로딩을 멈추도록 하는 Internet Explorer와 Crome의 기능입니다. 이러한 보호는 사이트가 Inline Javascript(unsafe-inline)의 사용을 비활성화하도록 강력하게 Content Security Policy를 구현했을 때, 모던 브라우저에서는 거의 필요하지 않을 수는 있습니다. 그러나 아직 CSP를 지원하지 않는 이전 웹 브라우저의 사용자에게는 여전히 보호 기능을 제공할 수 있습니다. 새로운 웹 사이트는 이 헤더를 사용해야 하지만, 오탐지 위험이 적기 때문에, 기존 사이트에만 권장됩니다. 이 헤더는 API에 필요하지 않으며, 대신 제한적인 Content Securit.. 2021. 7. 15. [npm] 패키지 설치 시, ENOSELF 에러 react-redux를 공부하다가 npm으로 react-redux 패키지를 설치하는데 에러가 발생 해당 에러는 설치하려는 패키지의 이름과 프로젝트 이름이 같아서 발생한 에러 [해결방법] 프로젝트 디렉토리 명 변경 package.json의 name 변경 [결과] 2020. 3. 4. npm install -g 시, 발생하는 Permission Denied Error npm을 업데이트하는 도중에 Permission Denied 에러가 발생했습니다. 제 컴퓨터는 mac입니다. npm install -g npm npm ERR! Error: EACCES: permission denied원인 npm 설치경로에 대한 권한을 갖고 있지 않아서 발생했습니다. 해결방법 1 npm이 global로 설치되는 디렉토리 경로를 자신의 home directory로 변경합니다. # 1. .npm-global 디렉토리 생성 mkdir ~/.npm-global # 2. 해당 디렉토리를 npm config set으로 설정 npm config set prefix '~/.npm-global' # 3. ~/.profile 파일에 PATH를 지정 vi ~/.zshrc # 4. 제일 마지막에.. 2020. 3. 1. 이전 1 다음