タグ

ブックマーク / www.moongift.jp (47)

  • Life - Markdownで定義できるシンプルな年表

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 時間はどんどん流れていってしまうもので、止めることは誰にもできません。しかし流れていった時を振り返って形にすることはできます。その一つが年表です。 自分のこれまでの歩み、歴史事件、文明など様々な事柄を年表に表してみましょう。データをプロットするのが大変なイメージがありますが、Lifeを使えば簡単です。なぜならデータフォーマットがMarkdownだからです。 例えばサンプルのMarkdownファイルは次のようになっています。 life.md @USERNAME' life =============== - 24/02/1955 Born - ~1968 Summer job - 03/1976 Built a computer - 01/04/1976 Started a com

    Life - Markdownで定義できるシンプルな年表
  • Canvas+JavaScriptを使って画像解析·Resemble.js MOONGIFT

    Resemble.jsはCanvasを使って画像の解析、二つの画像の差分を抽出するJavaScriptライブラリです。 Canvasを使って何ができるかをみんな模索していると思いますが、特に多いのが画像解析、表示ではないかと思います。今回はJavaScript+Canvasによる画像解析ソフトウェアであるResemble.jsを紹介します。 一例。写真のRGB解析と明るさを解析しています。 二つの画像を比較しています。 色を排除した比較。 サンプル。これで間違い探しが快適になりますね。 Resemble.jsではresembleという関数を提供します。これにファイルデータを渡すと、RGBと明度の値が返ってきます。さらに二つ目の画像を渡すと差分のパーセントやその差分となる画像データが返却されます。そのまま使うのはもちろん、画像解析の手法として参考になる部分も多そうです。 Resemble.j

    Canvas+JavaScriptを使って画像解析·Resemble.js MOONGIFT
  • Gitリポジトリを自動同期するDropboxクローン·Ohajiki MOONGIFT

    OhajikiはGitリポジトリを使ったDropboxクローンです。 Dropboxはもはや手放せない存在です。しかし会社などで使えないケースもあるでしょう。そこで代替手段が必要になります。用意するのはGitリポジトリとOhajikiです。 GitHubのリポジトリに自動同期されます。 設定ファイル例。 Ohajikiは簡単に言うとフォルダ内のファイルの更新をキャッチして自動でコミット、Pushしてくれるツールです。さらに定期的にpullもしてくれるので複数のコンピュータであっても同期される仕組みです。バージョン管理ももちろん行われるDropboxクローン、使ってみてはいかがでしょう。 OhajikiはRuby製、MIT Licenseのオープンソース・ソフトウェアです。 MOONGIFTはこう見る Dropboxは2013年中の上場を目指していると噂されています。コンピュータのオンライン

    Gitリポジトリを自動同期するDropboxクローン·Ohajiki MOONGIFT
  • JavaScriptでXLSX形式を扱う·XLSX.js MOONGIFT

    XLSX.jsはJavaScriptExcelファイル(Base64エンコード)を読み込んだり、ダウンロードさせられるソフトウェアです。 Googleスプレッドシートをはじめ、Webブラウザ上で表計算表示を行ったり、編集したりするWebアプリケーションがあります。しかし最も有力なのはExcelでしょう。そこで試したいのがExcelファイルを読み書きできるJavaScriptライブラリ、XLSX.jsです。 ダウンロードされたファイルです。ちゃんとXLSXとして認識されます。 ファイルを読み込む処理のデモです。Base64エンコードされたデータが解析されています。 XLSX.jsはbase64のXLSXファイルを読み込み、JavaScriptオブジェクトに変換できます。後はいかようにも表示できるでしょう。また、シート名と各セルの値をHTMLテーブルから読み込んでXLSXファイルに変換してダ

    JavaScriptでXLSX形式を扱う·XLSX.js MOONGIFT
  • Yahoo Pipesのような表現やマインドマップにも·jsPlumb MOONGIFT

    jsPlumbはWeb上でオブジェクト同士のつながりを表現できるJavaScriptライブラリです。 情報は有機的に結びついています。マインドマップやネットワーク図などを描く際には必ずオブジェクト同士が何らかの連結しあっているでしょう。そんな図をWeb上で描くのに使えるライブラリとしてjsPlumbを紹介します。 Yahoo! Pipesに似た連結です。 アニメーションもできます。 マウスでドラッグして接続もできます。 複雑に結びつけました。 一つのオブジェクトから複数のオブジェクトに派生するデモ。 jsPlumbはレンダリング先としてSVG、Canvas、VMLが選択できます。また、ライブラリとしてjQuery/MooTools/YUI3が切り替えられます。オブジェクトはマウスで自由に場所を変更でき、コネクトしているラインは自動で再描画されます。 jsPlumbはJavaScript製、

  • RESTfulなAPIのドキュメントを管理·ApiDocco MOONGIFT

    ApiDoccoはRESTfulなWeb APIのドキュメントを作成できるWebサービスです。 Web APIを使ってWebサービスを作る、またはWebサービスを作ったらWeb APIを提供するというのは当たり前になってきました。その際に必要になるのがドキュメントです。一から作るのは大変ですが、ApiDoccoを使えばある程度手軽に作れるようになりそうです。 トップページです。APIは独自で追加もできます。 APIDoccoのAPIを見ています。RESTfulなメソッドが並んでいます。 GETアクセスの一覧系です。必須パラメータやそのレスポンスが確認できます。 POSTアクセスでも同じように表示されています。 切り替えはスムーズで内容も見やすいです。 ApiDoccoは左側にメソッドの一覧、右側に実行の際のパラメータとレスポンスを記します。その場で実行が出来る訳ではないようですが(将来的に

  • 1行のコードで既存のテーブルにソート機能を追加·Table Sorting MOONGIFT

    Table Sortingは既存のHTMLテーブルにソート機能を追加するJavaScriptライブラリです。 業務システムなどでテーブルを表示すると常に足らない機能を求められます。その第一が並べ替え機能でしょう。DBを操作しても良いですが、もっと単純に解決したいならTable Sortingを使ってみても良さそうです。 デモです。 カラムのクリックでソートが実行されます。 金額部分もきちんとソートされます。 JavaScriptのコードです。単純にクラスを指定するだけ。 HTMLのコードです。数値部分にも特に設定を行っていないところに注目。 Table Sortingは既存のテーブルを渡すだけで自動的にソート機能を追加してくれます。オブジェクトの型も判断して並び替えてくれるので手間いらずです。 Table SortingはJavaScript製、GPL v3のオープンソース・ソフトウェアで

  • PHPでもリアルタイムWeb。node.php·React MOONGIFT

    node.jsの魅力はノンブロッキングシステムにあります。そんなnode.jsの魅力をPHPで実現するソフトウェアがReactです。 サンプルコードです。読み込むたびに数字が繰り上がります。 同時に二つのファイルをダウンロードするデモです。パラレルで処理されています。 サーバを実行しているところです。 読み込むと数値が繰り上がっていきます。 ReactではApacheなどを使うのではなく、独自のWebサーバを立ち上げて実行します。また、そのままPHPを使うというよりはReactのライブラリでラッピングしながら作っていく形になります。そのため専用の作法を覚える必要がありそうですが、使い慣れたPHPを使ってノンブロッキングシステムを実現できるというのは魅力的かも知れません。 ReactPHP製、MIT Licenseのオープンソース・ソフトウェアです。 MOONGIFTはこう見る node.

    PHPでもリアルタイムWeb。node.php·React MOONGIFT
  • Protocol Bufferのデータを閲覧、編集·Protocol Buffer Message Editor MOONGIFT

    Protocol Buffer Message EditorはProtocol Bufferのデータを閲覧したり編集できるソフトウェアです。 Googleが以前発表したProtocol Buffer。各種言語向けのシリアライズメッセージ形式ですが、その内容が適切であるか読み取り、編集できるのがProtocol Buffer Message Editorです。 Java製のソフトウェアでインストーラーも付属しています。 立ち上げました。ファイルを指定して開きます。 こんな感じに表形式で読めます。 カラムが多くても問題なし。 ツリービュー表示です。 階層的になっている場合はこちらを。 1行だけ取り出して読んでいます。 Protocol Buffer Message EditorのベースになっているのはRecordEditorというCSV/TSV形式のファイルを編集するソフトウェアとなっています

  • これが決定版?フォルダを監視してCSS/JavaScript/HTMLを生成·Fire.app MOONGIFT

    Fire.appはフォルダを監視してSass/Compass/CoffeeScriptを自動変換するソフトウェアです。 最近はCSS/JavaScript/HTMLをそのまま書くのではなくSassやCoffeeScript、Haml/Markdownを使ってそれぞれのフォーマットに変換するのが当たり前になってきています。そこで使ってみたいのがFire.app、自動ファイル変換ソフトウェアです。 起動します。 メニュー常駐型です。 設定画面です。 Growlを使った通知に対応しています。 Livereloadに対応しています。 履歴です。 フォルダを指定しました。 プロジェクトテンプレートを生成してくれる機能があります。 生成しました。後は修正すると自動的に別フォーマットファイルを生成してくれます。 Fire.appはSass/CompassからCSSを、Haml/ERB/Markdown

    これが決定版?フォルダを監視してCSS/JavaScript/HTMLを生成·Fire.app MOONGIFT
  • Djangoで書かれた開発用ドキュメントビューワー·Read the Docs MOONGIFT

    Read the DocsはDjango製のドキュメントビューワーで、Python向けのドキュメントフォーマットSphinxに対応しています。 Pythonで作られたソフトウェア、ライブラリのドキュメントを閲覧、検索できるソフトウェアがRead the Docsです。Sphinxで書かれたドキュメントを読み取り、リッチな表示をしてくれます。 トップページです。様々なプロジェクトが登録されています。 登録されているソフトウェアのトップページです。バージョンやリポジトリなどの情報も載っています。ここからePubやmanpageのダウンロードもできます。 ビルドのリザルト一覧です。 ドキュメントです。右側に見出しが並んでいて左側に内容が記載されています。 次のトピックにも対応していてさくさく読めます。 検索機能ももちろんあります。 ユーザごとの参加プロジェクトです。 Read the Docsは

    Djangoで書かれた開発用ドキュメントビューワー·Read the Docs MOONGIFT
  • 社内でも立てられるGitHubクローン·GitLab MOONGIFT

    GitLabRuby/Ruby on Railsで作られたGitHubクローンです。 GitHubは有料でプライベートリポジトリが持てますが、それでもセキュリティ上の理由でリポジトリを外だしできないケースはあるかと思います。そんなときに使ってみたいのがGitLabGitHubクローンです。 ログイン必須になります。 ログインした後の画面です。登録済のプロジェクトが一覧表示されます。 一つのプロジェクトを閲覧しています。ソースツリーが出ます。ソースツリーは右へ右へスライドして表示されます。GitHubに似ています。 ソースコードハイライターも内蔵されています。rawでファイルをダウンロードできます。 タグやブランチを切り替えることもできます。 コミット履歴一覧です。 コミット詳細ではDiffが確認できます。 コミットに対するコメントも確認できます。 チーム設定です。複数人でのコラボレーシ

  • PHPのさらなる利用者増を目指し再定義する·PHP.reboot MOONGIFT

  • バージョン管理されているOpenDocumentファイルの差分チェックに·oodiff MOONGIFT

    oodiffはodt2txtを使ってOpenDocument同士の差分を出力する。各種バージョン管理システムに対応。 oodiffはBashスクリプト製のオープンソース・ソフトウェア。OpenOffice.orgやLibreOfficeはMS Officeと常に比較されてきた。互換性が完璧にならないと導入できないというなら、一生導入できないだろう。だが全員が全員MS Officeの高いライセンスを必要としているだろうか。 差分表示 特に開発メンバーなどについては必要としていないメンバーも多いのではないだろうか。むしろ開発ドキュメントなどはLibreOfficeの方が他のオープンソース・ソフトウェアとの親和性が高いかもしれない。その一つ、oodiffを紹介しよう。 oodiffはOpenDocument形式のファイルの差分をチェックできるソフトウェアだ。OpenDocumentなので、ワード

  • UIKitにインスパイアされたTwitter社製のUIフレームワーク·TwUI MOONGIFT

    TwUITwitter社が開発しているGPUなどを使ったUIフレームワーク。 TwUIMac OSX用のオープンソース・ソフトウェア。OSには大抵デフォルトで用意されているコンポーネントがあり、それを使うことでアプリケーションの開発を手軽にできるようにしている。だが、その枠内だけで十分かと言われるとそうでもない。 サンプルアプリ もっと複雑な描画をしたい、もっと高速化したいといったことを考えると標準の枠では収まらない新しい一手を考えなければならない。Twitterでさえそうだ。その実験モデルがTwUIになる。 TwUIは現在リリースされているTwitter for Mac OSXではない、次世代のTwitterクライアントに投入されるであろう技術のモックアップだ。起動するとテーブルビューが表示され、ウィンドウ下にツールバーが出る。iOS向けなどでよく知られるTwitterクライアント風

  • 規模の大きなプロジェクトで使いたいプロジェクト管理·NavalPlan MOONGIFT

    NavalPlanはエンタープライズクラスに向いたのJava製のプロジェクト管理システム。 NavalPlanはJava製/Webベースのオープンソース・ソフトウェア。企業規模によってプロジェクト管理に求めるものは変わってくる。小規模な組織であれば個人の裁量が大きく、コミュニケーションも活発なのでWeb上でまとめる情報はそれほど多くなくても良いかも知れない。 ガントチャート しかし何百人とプロジェクトに関わる人が増えてくるとそうも言っていられない。適切に管理を進めなければいざという時に大変なことになってしまう。そこで使えるのは大規模プロジェクト向けのNavalPlanだ。 NavalPlanはガントチャートが基になるプロジェクト管理だ。WebベースなのでWebブラウザさえあれば誰でも見られるのが利点だ。一つのプロジェクトだけでなく、複数のプロジェクトを全体的に見ることができる。各人員のリ

  • Mac OSXのメニューバー常駐型ソフトウェアをRubyで開発する·Mynu MOONGIFT

    MynuはMac OSXのメニュー常駐型ソフトウェアをRubyで作成するフレームワーク。 MynuはRuby製のオープンソース・ソフトウェア。Mac OSXではRubyと親和性が高い。MacRubyがあり、Rubyを使ってMac OSX用のソフトウェアを組むこともできる。だが実際に行われている事例はあまり多くない。あえてRubyを使ってGUIアプリケーションを組み上げたいとは思わないのだろう。 デモアプリ だがちょっとしたツールであればRubyを使って作りたいと思うかもしれない。そこでターミナルではなくメニューから呼び出せるMynuを紹介しよう。 MynuはRubyではあるのだが、メニューバーに常駐するソフトウェアを作るためのプラットフォームになっている。メニューバーにアイコンを表示し、そこから機能を呼び出せるようになっている。特定のコマンド実行はもちろん、アプリケーションを起動したりUR

  • MOONGIFT: » JavaScriptの物理エンジン「Box2DJS」:オープンソースを毎日紹介

    ※ 画像は公式サイトデモより コンピュータの中ながらにして、重力や慣性の影響を再現する物理エンジンはとても面白い。ビジュアルも関連することから、GUIを備え持ったプログラム言語で数多く実装されている。例えばJava、Flashなどだ。 JavaScriptで作られた物理エンジンだ そしてさらにもう一つ加わった。Box2DJSはJavaScriptで実装されているオープンソース物理エンジンだ。 Box2DJSはJavaScriptで実装されているので、ブラウザ上で物理エンジンを実現できる。ある一点を軸に回転するもの、固定位置のもの、クリックをした場所に出現し、落下していくものなど多彩なオブジェクトが用意されている。 ピストン運動のデモ デモも数多く登録されており、ピストンエンジン風に動くもの、振り子、ボックスやくさび形のオブジェクトが落下して相互作用しながら添加していくものなど様々だ。物理エ

    MOONGIFT: » JavaScriptの物理エンジン「Box2DJS」:オープンソースを毎日紹介
  • iOS向けにゲームを開発するならばぜひ知っておきたいフレームワーク「Sparrow」 | MOONGIFT | オープンソース・ソフトウェア紹介を中心としたITエンジニア/Webデザイナー向けブログ

    SparrowはiOSでゲームを開発するためのフレームワーク。 SparrowはiOS用のオープンソース・ソフトウェア。iPhone登場以前のスマートフォンというと、PDAの延長線上にあるもので、PIMを効率的に管理するためのガジェットでしかなかった。そのため高機能化した携帯電話と差異がなくなってきてしまった。 デモアプリ iPhoneは洗練されたインタフェース、マルチタッチやGPS、加速度センサーによってスマートフォンをゲームプラットフォームにまで昇華してしまった。そこでiOS上でゲーム開発を行うのに有益なフレームワークであるSparrowを紹介しよう。 SparrowはOpenGLやOpenALとアプリの間に立つフレームワークで、OpenGLのコードを書かずにグラフィカルなゲームを開発できるようになる。すべてObjective-Cで書かれており、習得の容易さを特徴にあげている。iPho

  • シンプルながらユーザビリティに大きな貢献。郵便番号から住所を入力補完する·js-zip2address MOONGIFT

    js-zip2addressはGoogle日本語入力APIを使い、Webブラウザ上での郵便番号から住所を入力補完する。 [/s2If] zip2address.jsはJavaScript製のオープンソース・ソフトウェア。ECサイトをはじめとして個人情報の入力フォームでは一般的になってきている郵便番号から住所を引く機能。実装方法は様々だか、この郵便番号と住所の変更は意外と回数が多い。 サンプル 回数が多いということはメンテナンスコストが大きいことを意味している。都度アップデートされるだけでなく、削除されるデータも多い。そこでメンテナンスフリーで使える手法を紹介しよう。それがzip2address.jsになる。 zip2address.jsの特徴は大きく分けて二つある。一つはデータ元としてGoogle日本語入力APIを利用しているという点だ。確かにGoogle日本語入力では郵便番号を入れると住