Stay Hungry. Stay Foolish. Don't Be Satisfied.

기술 뉴스 #38 : 15-09-01

웹개발 관련

  • 페이스북 React를 사용한 서버 사이드 렌더링 : React.js를 클라이언트 뿐만 아니라 서버사이드 렌더링에서 사용한 방법을 정리한 글이다. 최근 Isomorphic JavaScript로 주목받는 부분이므로 관심을 두고 읽어볼 만하다.(한국어)
  • GraphiQL : 페이스북에서 GraphQL의 쿼리를 웹 브라우저에서 실행해 볼 수 있는 IDE GraphiQL을 오픈소스로 공개했다. npm으로 설치해서 사용할 수도 있지만, 현재 버전에서는 크롬 외에는 쿼리변수 부분 UI가 잘 동작 안 하는 문제가 있다.(영어)
  • 하드웨어 가속에 대한 이해와 적용 : 웹 브라우저의 하드웨어 가속에 대해 설명한 글이다. 동적인 웹사이트의 성능을 높이기 위해 일부 요소에 하드웨어 가속을 적용하는데 이 하드웨어 가속의 동작방식과 실 적용 시에 주의해야 할 점을 구체적인 사례를 가지고 설명하고 있어서 이해하기 좋다.(한국어)
  • Microsoft Edge Status : IE Edge 브라우저의 기능 개발 상태를 볼 수 있는 사이트다.(영어)
  • Angular 1 and Angular 2 integration: the path to seamless upgrade : Angular 1을 사용하는 애플리케이션에서 Angular 2로 이전을 쉽게 할 수 있도록 1, 2 버전을 한 애플리케이션에서 같이 쓸 수 있도록 지원한다. ng-upgrade라는 라이브러리를 통해서 한 화면에서 Angular 1과 Angular 2를 함께 사용해서 자연스럽게 2로 이전할 수 있게 된다.(영어)

그 밖의 프로그래밍 관련

  • GitHub Desktop : Github에서 Github의 프로젝트를 관리할 수 있는 데스크톱 애플리케이션을 공개했다. 이 애플리케이션은 Mac과 Windows를 지원한다.(영어)
  • Announcing Windows Server 2016 Containers Preview : 윈도우 서버 2016 프리뷰 버전에 Docker 엔진이 포함된 윈도우 서버 컨테이너가 포함되었다.(영어)
  • Querydsl - 레퍼런스 문서 : Querydsl의 레퍼런스 문서의 한글 번역본이다.(한국어)
  • 스프링 프레임워크 레퍼런스 저장소 : 아라한사님이 번역한 스프링 프레임워크 관련 문서의 모음이다. 현재 스프링 데이터 JPA, 엘라스틱, 레디스와 스프링 세션의 문서가 번역되었다.(한국어)
  • 터미널 초보의 필수품인 Oh My ZSH!를 사용하자 : Bash 대신 사용할 수 있는 Zsh의 사용방법을 Oh My Zsh을 중심으로 정리한 글이다. Zsh로 넘어갈까 하다가 아직 Bash에 남아있는 사용자라서 이런 글을 보면 넘어갈까 하는 생각을 하게 된다.(한국어)

IT 업계 뉴스

볼만한 링크

  • Language Trends on GitHub : Github에서 저장소에 사용한 언어를 기반으로 변화 추이를 공개했다.(영어)
  • 배달의 민족 도현체 : 배달의 민족에서 한나체 주아체에 이어 도현체를 무료로 공개했다.(한국어)
  • 도도와 파이썬: 좋은 선택과 나쁜 선택 : spoqa가 Pycon에서 발표한 발표자료다. spoqa가 그동안 서비스를 개발하면서 선택한 내용에 대한 회고와 어떻게 개선해 나가고 있는지 생생한 경험이 담겨있다. 발표를 듣지 않아도 발표자료 만드렁서 읽어보기 좋다.(한국어)
  • Y-Combinator 이후의 슬럼프 : Loopt의 창업자인 Sam Altman이 작성한 The Post-YC Slump의 번역 글이다. 최고의 액셀러레이터 중 하나인 YC를 졸업한 이후 실패하는 스타트업이 어떤 부분을 잘못했다고 생각했는지 적은 글이다. 이 글에서 대부분의 스타트업이 액셀러레이터 졸업 후 YC 내에서 하던 일을 하지 않고 다른 일에 집중하면서 실패한다고 얘기하고 있다.(한국어)

프로젝트

  • falcor : Netflix에서 공개한 JavaScript 데이터 패칭 라이브러리. Vitural JSON 모델을 정의하고 이를 통해서 데이터를 서버에서 가져와 사용한다.
  • hackpad : Dropbox에서 웹 기반 리얼타임 위키인 Hackpad를 인수해서 오픈 소스로 공개했다.
  • Typeset : 웹에서 타이포그래피 표현을 위해서 사전 처리를 해주는 라이브러리. JavaScript없이 간격 등을 사전에 처리해서 보기 좋게 만들어 준다.
  • Git Radar : 커맨드라인에서 Git 저장소의 상태를 보여주는 도구. 현재 변경파일이 있는지 원격과 얼마나 다른지 등을 커맨드라인에서 바로 보여준다.
  • toxy : node.js로 작성된 HTTP 프록시 서버다. 다른 Proxy서버와 다르게 네트워크 실패나 속도 제한 등에 초점이 맞추어져 있어서 실패 시나리오는 테스트할 때 유용하다.

버전 업데이트

2015/09/01 03:52 2015/09/01 03:52

git이 추적하지 않는 untracked files 한꺼번에 삭제하기

git으로 프로젝트를 관리하다 보면 untracked 파일이 쌓이는 경우가 종종 있다.(나만 그럴지도...) 저장소에 넣을 파일은 아니지만, 테스트용으로 로컬에서 임시로 만들었다거나 이미지 등의 파일을 추가하려고 프로젝트 밑에 추가했거나 하는 등의 경우가 있다. 이런 파일을 .gitignore안에 넣어도 되지만 빌드파일 처럼 프로젝트 내에 원래 생기는 파일이 아니라 그냥 임시용으로 만들 거라면 딱히 패턴이 없는 경우가 많고 패턴이 있어도 굳이 ignore 시킬 필요까지는 없다. modified 파일을 한 번에 취소하려면 git co -- .같은 명령어로 지울 수 있지만, untracked 파일은 git이 관여하지 않아서 한곳에 모여있지 않는다면 일일이 지우는 것도 일이다.

$ git status
On branch feature
Untracked files:
  (use "git add <file>..." to include in what will be committed)

  data1.json
  data2.json
  data3.json
  data4.json
  images/

nothing added to commit but untracked files present (use "git add" to track)

$ git clean -f
Removing data1.json
Removing data2.json
Removing data3.json
Removing data4.json

$ git status
On branch feature
Untracked files:
  (use "git add <file>..." to include in what will be committed)

  images/

nothing added to commit but untracked files present (use "git add" to track)

이럴 때 위처럼 git clean -f를 사용하면 untracked 파일을 모두 지울 수 있고 디렉터리까지 지우려면 git clean -fd처럼 -d 옵션을 추가하면 된다.

$ git clean -fd
Removing data1.json
Removing data2.json
Removing data3.json
Removing data4.json
Removing images/

추적 안 하는 파일을 지우는 것이므로 실수하면 작업 중인 파일(아직 커밋하지 않은)을 모두 날릴 수 있다. 이럴 때 --dry-run 옵션을 추가하면 지워질 파일을 미리 확인해 볼 수 있다.(하지만 이럴 정신 있으면 실수라고 안 부르겠지만...)

$ git clean -fd --dry-run
Would remove data1.json
Would remove data2.json
Would remove data3.json
Would remove data4.json
Would remove images/
2015/08/20 04:13 2015/08/20 04:13