기본 콘텐츠로 건너뛰기

[git] diff를 이용하여 변경된 소스 확인하기, reset을 이용하여 head변경

git에서 diff를 이용하여 소스의 변경을 확인할 수 있다. 머 사실 git diff --cached랑 --staged만 쓰는데 둘다 결과가 똑같아서 무슨 차이인가 하고 검색 하다가 다른 옵션이 있길래 정리를 해본다. 결과론 적으로 --cached랑 --staged는 같은 기능임. $ git diff HEAD # Shows what has changed since the last commit . $ git diff HEAD ^ # Shows what has changed since the commit before the latest commit . $ git diff -- cached # Show what has been added to the index via git add but not yet committed . $ git diff # Show what has changed but hasn't been added to the index yet via git add . Working Directory < -- -- + -- -- -- -- + -- -- -- - + | | | | | diff HEAD | | V | | | "git add" | | | | | | diff | | | | V | | | Index < -- -- + -- -- - | -- -- -- --

[db] elasticsearch란? es 설치 방법

elasticsearch는 분산 검색엔진입니다. 분산 시스템이기 때문에 검색 대상 용량이 증가했을 때 대처하기가 매우 쉽다. elasticsearch에 대해서 알아보기 전에 elasticsearch가 나온지 꽤 된 저장소이다. 과연 얼마나 최근에 업데이트가 되었는지 github에서 살펴보았는데 최근 커밋 내역이 2분전이다... ㅋㅋㅋㅋ(죄송합니다.) 해당 포스트에서는 0.20 버전을 사용하지만 현재 5.x버전까지 나왔습니다 관계형 데이터베이스 VS elasticsearch 비교 관계형 데이터베이스 elasticsearch Database Index Table Type Row Document Column Field Schema Mapping Index Everything is indexed SQL Query DSL index라는 개념이 관계형에서의 개념이 잡혀있어서 문서에서 index라고 나올 때마다 Database로 딱 안 떠오른다 ㅋㅋ elasticsearch의 특징은 다음과 같다. JSON 기반의 스키마 없는 저장소 elasticsearch는 검색엔진이지만 NoSQL처럼 사용가능 Multi-tenancy 하나의 서버안에 여러 인덱스 저장가능. 여러 인덱스의 데이터를 하나의 쿼리로 검색 가능 확장성과 유연성 플러그인을 이용해 기능확장이 용이함. BigDesk, Head를 설치하면 elasticsearch 모니터링 기능을 사용할 수 있게 된다.(직접 사용해보니 플러그인을 설치하는 것이 상당히 쉬움) 분산 저장소 노드 추가의 용이함.  키에 따라 여러 샤드가 구

[mysql] mysqldump를 이용하여 데이터 백업, 복원하기

로컬 서버에 있는 디비를 분리하기 위해 기존의 디비에 있는 데이터를 백업해야 하는 일이 생겼다. 방법은 많지만 mysqldump를 이용하여 해결을 하였다. mysqldump는 해당 내부의 데이터를 sql 문으로 전부 바꿔주는 역할을 하는 툴이다. mysqldump의 경우 mysql이 설치가 되어있다면 같이 설치가 되므로 따로 설치를 할 필요는 없다 dumpfile 생성하는 방법 dumpfile이란 sql이라는 확장자를 가지는 파일을 말한다. $ mysqldump - u [ user ] - p -- all - databases > dump . sql # 디비 서버에 있는 모든 데이터 베이스 백업 $ mysqldump - u [ user ] - p -- databases [ db name ] > dump . sql # 디비 서버에 있는 [ db name ] 에 한에서만 백업 $ mysqldump - u [ user ] - p [ db name ] . [ table name ] > dqmp . sql # 특정 디비의 특정 테이블 백업 위 에서 --all-databases, --databases와 같은 옵션이 붙어 있는데, --all-databases는 모든 데이터 베이스를 의미한다. --databases는 특정 데이터 베이스를 선택할 때 사용한다 그외에 --opt : 버퍼링 비활성화 --allow-keywords, --quote-names: 예약어를 사용하는 테이블 덤프, 복원할 수 있게 함 -d, --no-data: 데이터 제외 스키마만 덤프 -t, --no-create-info: 스키마 제외 등이 있다. dump파일 복원하는 방법 mysql > source dump . sql 초 간단하다 ㅋㅋ 단, 주의할점이 있다면 .sql파일이 있는 경로