이재홍의 GitHub 탐험기 2014/07/31

저작권 안내
  • 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
  • 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.

boris - A tiny REPL for PHP

https://github.com/d11wtq/boris

PHP REPL입니다. REPL은 Read-eval-print loop의 약어인데요. 스크립트 언어를 파일로 작성하지 않고, 커맨드라인에서 입력만하면 바로 실행되는 방식입니다. 요즘 나오는 스크립트 언어는 REPL이 다 내장되어 있는데 PHP는 지금까지 REPL이 없었습니다.

스크립트 언어에서 복잡하거나 애매한 문법을 확인할 때, 간단한 스크립트를 테스트할 때 유용합니다.


socat - Multipurpose relay

https://github.com/craSH/socat

SOcket CAT입니다. 소켓 통신을 다른 채널로 전달하는 도구입니다. 채널은 파일, 파이프, 장치(시리얼, pseudo 터미널 등), 소켓(유닉스 소켓, TCP, UDP 등)이 있습니다.

Docker에서 다른 호스트에 있는 컨테이너를 연결할 때 Ambassador 컨테이너라는 것을 사용하는데요. Ambassador 컨테이너는 특별한 것이 없고, socat으로 TCP 통신을 다른 IP로 전달만 합니다.

ambassador/Dockerfile

CMD env | grep _TCP= | \
    sed 's/.*_PORT_\([0-9]*\)_TCP=tcp:\/\/\(.*\):\(.*\)/socat \
    TCP4-LISTEN:\1,fork,reuseaddr TCP4:\2:\3 \&/'  \
    | sh && top

v86 - x86 virtualization in JavaScript, running in your browser and NodeJS

https://github.com/copy/v86

JavaScript로 x86 가상화를 구현한 것입니다. 펜티엄1 수준의 인스트럭션을 지원하고, 아직 MMX나 SSE는 안됩니다.

8042 키보드 컨트롤러, 8254 타이머, 8259 PIC를 지원하는군요. 오랜만에 듣는 이름입니다.


mono - Mono open source ECMA CLI, C# and .NET implementation

https://github.com/mono/mono

Microsoft의 .NET 프레임워크를 오픈소스로 구현한 것입니다. 나온지는 정말 오래되었습니다. 처음에 이거 만들어질 때, 왜 MS껄 베끼고 앉았냐고 오픈소스계에서 많은 비난을 받았었죠.

처음엔 WinForms를 구현해서 윈도우와 동일한 환경을 제공하고자 했는데, WinForms가 워낙 방대해서 동일하게 구현하는 건 힘들 듯 합니다. 그래서 아직도 미완성 상태입니다.

이렇게 한참 죽쑤다가 모바일 시대가 도래하면서, 웃기게도 모노가 빵 떴습니다.

모바일 게임엔진하면 유니티인데요. 유니티가 모노 기반으로 구현되어 있습니다. 다들 알다시피 언어는 C#이고, 개발툴이 MonoDevelop입니다. 그리고 게임엔진 자체도 모노 가상머신 위에서 돌아갑니다. 유니티가 급속하게 퍼지면서 덩달아 모노도 뜬거죠.


pdf.js - PDF Reader in JavaScript

https://github.com/mozilla/pdf.js

JavaScript로 구현한 PDF 리더입니다. Adobe Acrobat Reader를 설치하지 않아도, 웹 브라우저에서 PDF 파일을 보여줄 수 있게 되었습니다.

정말 대단합니다. 이런 프로젝트가 세상을 좀더 발전시키는 프로젝트가 아닌가 싶습니다.

데모 페이지


이상 끝.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

2014-07-31