タグ

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

  • これは凄い。JavaScriptで作られたPHP VM·php.js MOONGIFT

    php.jsはJavaScriptで作られたPHP VMです。PHPコードをJavaScriptに変換して実行します。 世の中には色々変わったことを考える人がいます。Webブラウザでデフォルトで実行できるプログラミング言語がJavaScriptだけなんて許しがたい、そう考えたPHPプログラマーが生み出したのがphp.jsです。その名の通り、PHPの実行エンジンをJavaScriptに実装したというとんでもないソフトウェアになります。 確かに実行できています。PHPのコードからJavaScriptに変換を行っているようです。 配列、クラスさらにvar_dumpまで実装されているのが興味深いです。 かなり突っ込んだPHPの処理もできている模様です。これは面白い。 ダブルクオートの中に変数を入れて普通に出力できているのが興味深いです。 php.jsではPHPのコードがそのまま実行できます(もちろ

    syuu1228
    syuu1228 2015/11/09
  • 9m - Unicode文字を使った短縮URL

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Twitter、Facebook、GoogleAmazon…最近では数多くのサービスが独自の短縮URLサービスを提供しています。また、オープンソース実装の短縮URLサービスも数多いので自分たちのサービスに短縮URLを組み込むのも難しくありません。 そんな短縮URLサービスと言えば基は英数字4〜5桁程度の組み合わせなのですが、9mはそこに工夫をこらしています。なんとUnicodeを使っています。 9mの使い方 実際どれくらいの文字列があるかというと、U+0041〜U+1F6C5までの文字列であれば61,229文字だそうです。この2桁ということは37億通り(!)になります。URLでも日語が使えるようになっていますし、漢字を使ったURLは海外ウケするかも知れません。 9mはHask

    9m - Unicode文字を使った短縮URL
    syuu1228
    syuu1228 2014/06/07
  • jagrid - Excel方眼紙をWeb上に再現! MOONGIFT

    これは凄いかも知れない…。 最近のCSSフレームワークは幅を12分割した上でデスクトップ、タブレット、スマートフォンに適応させるスタイルになっています。しかしこれでは緻密な画面設計を求められる日の業務システムにはマッチしません。 日の業務システムと言えばExcel方眼紙がデフォルトです(断定)。そのUIに慣れ親しんだ人のためのグリッドレイアウトフレームワークがjagridです。 jagridの使い方 こんにちは、Excel方眼紙! うん、まさにExcel方眼紙です。 表はまさにお手の物。 セル3つ分、といった指定も簡単にできます(data-widthで指定)。 従来のWebコンポーネントと合わせることもできます。ちゃんと文字の頭が合っているのに注目。 こんな緻密な画面も簡単に設計できます。 Webデザインにおいてこれほど緻密な画面を設計しようと思うと、かなり苦労するはずです。しかしja

    jagrid - Excel方眼紙をWeb上に再現! MOONGIFT
    syuu1228
    syuu1228 2014/05/11
    やめろぉぉぉぉぉ:jagrid - Excel方眼紙をWeb上に再現! MOONGIFT
  • すごい!mrubyをJavaScriptに変換してWebブラウザ上で実行·webruby MOONGIFT

    webrubyはWebブラウザ上で動作するmrubyです。 mrubyは組み込み用として開発されたミニマムなRuby実行環境ですが、ミニマム故に使いどころが色々とありそうです。今回はなんとWebブラウザ上で動作するmruby、webrubyを紹介します。 WebGLを使うデモ。 結構ぐりぐりと動きます。 FPSも53とあって滑らかです。 こちらはirbです。コードを書いてその場で実行して結果を得られます。 確かにちゃんと記述できます。 普通にmrubyです。 以前に紹介したJsMrubyの場合は機能拡張としてインストールされるものでしたが、webrubyの場合はemscriptenを使ってmrubyのソースコードをJavaScriptに変換しているのが特徴です。まだまだおもちゃレベルとのことですが、今後発展すると面白いプロジェクトになりそうです。 webrubyJavaScript製のオ

    すごい!mrubyをJavaScriptに変換してWebブラウザ上で実行·webruby MOONGIFT
    syuu1228
    syuu1228 2013/11/05
  • 200行で実現するJavaScript VNCクライアント·JavaScript VNC MOONGIFT

    JavaScript VNCはnode/JavaScript製のオープンソース・ソフトウェア(MIT License)です。 最近は何でもJavaScriptでやってしまおうという試みが多数立ち上がっています。今回はなんとVNCクライアントをJavaScriptで作ってしまおうという野心的な試みをJavaScript VNCが行っています。 接続前の画面。RealVNCがサーバに使えます。 接続しました。レスポンスはあまり良くありませんのでご注意を。 JavaScript VNCの面白いところは僅か200行で出来ていることでしょう。node向けに既に提供されているWebSocketsなどのライブラリを使って、VNCと通信する部分をサーバが、その結果をWebブラウザでレンダリングする方式をとっています。解説記事も充実していて、これだけで出来てしまうのかと圧巻の作りになっています。 MOONG

    200行で実現するJavaScript VNCクライアント·JavaScript VNC MOONGIFT
    syuu1228
    syuu1228 2013/09/15
    200行で実現するJavaScript VNCクライアント「JavaScript VNC」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ
  • Google Chromeを使って出退勤を入力·Google Chrome Kintai MOONGIFT

    Google Chrome KintaiGoogle Chrome用のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。 Webベースで勤怠管理を行っている企業が増えていますが、つい入力を忘れてしまったりします。そこでクリック一つで出退勤を管理できるGoogle Chrome Kintaiを使ってみましょう。 設定画面です。出退勤を打刻するURL、ログイン画面、出退勤する時間をそれぞれ設定します。 Google Chrome Kintaiはアドレスバーの横に待機します。 時間になるとダイアログが出ますので、OKを押せば良いだけです。 Google Chrome Kintaiは外部の就業管理サービスに対応しているようです。特定のパラメータを飛ばすだけで出退勤が管理できるのでChromeからも簡単に運用ができそうです。他にも色々応用ができそうです。 MOON

    Google Chromeを使って出退勤を入力·Google Chrome Kintai MOONGIFT
    syuu1228
    syuu1228 2013/08/29
    おうちから出勤できちゃいそうな…?:Google Chromeを使って出退勤を入力「Google Chrome Kintai」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ
  • これは凄い!iOSアプリ内で動作するPHP·iPHP MOONGIFT

    iPHPはObjective-C製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。 iOS上で動作するプログラミング言語と言えばObjective-CやJavaScriptくらいと思われています(アプリを開発できる言語はもっとありますが)。しかしその壁を打ち破るソフトウェアがiPHPです。名前の通り、PHPの実行エンジンをiOSアプリ内に埋め込んだソフトウェアです。 立ち上げました。さっそくphpinfoを実行します。 見慣れた画面です。PHPのバージョンは5.4.15となっています。 curlも組み込まれています。外部コンテンツを取り込んで…といったこともできるでしょう。 fileinfoやgdもあります。色々な使い方ができそうです。 evalを使って入力したテキストを評価させることができます。 こちらはベンチマークを実行した結果です。 iPHPは思

    これは凄い!iOSアプリ内で動作するPHP·iPHP MOONGIFT
    syuu1228
    syuu1228 2013/07/06
    それはNGじゃなかったけ、と思ったがStoreに申請はできてねぇんだよな、たぶん。:これは凄い!iOSアプリ内で動作するPHP「iPHP」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブロ
  • GraphvizのDOT言語をJavaScriptで実装·canviz MOONGIFT

    canvizはCanvasを使ってDOTファイルをグラフ化するソフトウェアです。 フローチャートなど複雑なグラフを描くのに適しているのにDOT言語が知られています。通常、Graphvizを使って画像化するのですが、今回はcanvizを紹介します。なんとDOTファイルを読み込み、Webブラウザ上にCanvasタグで描き出してくれます。 例。かなり複雑な関係性を表示しています。 別なグラフ。こちらも関係性が複雑です。 レイアウトを変更するとグラフも全く別物になります。 表示の大きさは自由に変えられます。 こんな図も。 複数線がつながっている、そんな表示も実現します。 色付きの枠。 グルーピング。 グルーピングでさらに色付き。 ノード自体が色付き。 14の頂点で相互につながっています。 同じグラフもレイアウトを変えるとこんな感じに。 Graphvizを使う場合は主に個人用途、もしくは変換後の画像

    GraphvizのDOT言語をJavaScriptで実装·canviz MOONGIFT
    syuu1228
    syuu1228 2013/05/06
    GraphvizのDOT言語をJavaScriptで実装「canviz」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ
  • MySQL/SQLiteのER図を描くPHPスクリプト·mysqlviz MOONGIFT

    mysqlvizはMySQL/SQLiteの構造を可視化するライブラリです。 DBを使ったシステムを構築していると必要になるのがER図ではないでしょうか。そんなER図を実際のデータベースのダンプファイルをベースに描き出すのがmysqlvizです。 ヘルプです。 まずdotファイルを生成します。 さらにdotファイルをpngに変換して得られた結果です。 mysqlvizはMySQLSQLiteに対応しています。MySQLの場合はダンプファイル、SQLiteの場合は実際のデータベースファイルを読み込んでdotファイルを出力します。後はGraphvizを使ってPNG画像に変換する仕組みになっています。 mysqlvizはPHP製、GPL v3のオープンソース・ソフトウェアです。 MOONGIFTはこう見る mysqlvizの面白いところはMySQLについてはダンプファイルを使っているということ

    MySQL/SQLiteのER図を描くPHPスクリプト·mysqlviz MOONGIFT
    syuu1228
    syuu1228 2013/05/06
    MySQL/SQLiteのER図を描くPHPスクリプト「mysqlviz」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ
  • Rubyのコードをもっと美しく書くために使いたい·rubocop MOONGIFT

    rubocopRubyのコード可読性をチェックするソフトウェアです。 プログラマーを何年やっていても、なかなか奇麗なコードに辿り着くのは困難です。ちょっと道を誤るとものすごいコードになっている場合もあります。そんな時には機械的に評価してくれるrubocopを使ってみましょう。 実行しました。色々な情報が出てきます。 Cは注意、Wはワーニングでしょうか。 ヘルプです。Emacsとの連携もできます。 rubocopでは内部での幾つかのルールに従って指定ディレクトリ以下のRubyコードについて評価を行ってくれます。筆者の場合、一行あたりの文字数が多くて引っかかるケースが多いようです。そうした点に注意して書くようにすれば、より可読性の高い美しいコードが書けるようになりそうです。 rubocopRuby製、MIT Licenseのオープンソース・ソフトウェアです。 MOONGIFTはこう見る 美

    Rubyのコードをもっと美しく書くために使いたい·rubocop MOONGIFT
    syuu1228
    syuu1228 2013/04/28
    Rubyのコードをもっと美しく書くために使いたい「rubocop」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ
  • サーバサイドの開発不要。Webブラウザを使ったデジタルサイネージ·WINT MOONGIFT

    WINTはJavaScriptを使うデジタルサイネージシステムです。 駅やビル内にある大型スクリーンに映し出される広告、いわゆるデジタルサイネージはシステム化もその配信システムも複雑なものに感じられますがWINTを使うとサーバとブラウザだけで簡単に組み上げることができます。 読み込み中。コンテンツ部とニュース部の二つに分かれているのが特徴です。 HTMLコンテンツを表示している例。 画像を表示している例。 WINTは予め用意してあるJSONファイルを読み込み、指定した時間ごとにコンテンツを切り替えながら表示します。Webブラウザだけあれば動くのに加えて、JavaScriptだけで作られているのでサーバサイドの複雑な仕組みは一切不要で動かせるのが利点です。 WINTはJavaScript製、MIT Licenseのオープンソース・ソフトウェアです。 MOONGIFTはこう見る Webブラウザ

    サーバサイドの開発不要。Webブラウザを使ったデジタルサイネージ·WINT MOONGIFT
    syuu1228
    syuu1228 2013/04/07
    WINNTにしか見えない:サーバサイドの開発不要。Webブラウザを使ったデジタルサイネージ「WINT」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ
  • Webブラウザ上で動作するmruby·JsMruby MOONGIFT

    JsMrubyGoogle Chrome/Firefoxの機能拡張として動作するmrubyです。 mrubyは通常のRubyに比べてコンパクトである分、組み込み分野などでの活躍が期待されています。しかし軽量であるという点に注目し、なんとWebブラウザ上で動かしてしまうのがJsMrubyです。 インストールします。 実行しました。Js Mrubyという出力がCanvasにされています。 JsMrubyはまだ限られた環境下でしかどうさしないようですが、WindowsであればGoogle ChromeやFirefoxでも使えます。Rubyスクリプトを動かすのはもちろん、機能拡張をRubyで書くと言った使い方も考えられそうです。 JsMrubyGoogle Chrome/Firefox用のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。 MOONGIFTはこ

    Webブラウザ上で動作するmruby·JsMruby MOONGIFT
    syuu1228
    syuu1228 2013/03/08
    なんぞ:Webブラウザ上で動作するmruby「JsMruby」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ
  • 社内で立てられるGistサーバ·Gistub MOONGIFT

    GistubはGitHubの提供するGistのクローンです。 GitHubの提供するスニペットサービスのGist。便利に使っている人も多いと思いますが、何となく会社で使うのは控えてしまっている…そんな人も多いでしょう。そこで社内で立てられるGistクローンGistubを使ってみましょう。 パブリックなGist一覧。 ソースコードハイライト付きです。 編集画面です。 編集すると履歴がつきます。 新しいGistの追加画面。 プライベートなGistも作成できます。 Gistubはエディター画面こそ単純なテキストボックスで、ハイライトする言語指定ができないものの他はGistと変わらず普通に使えるようになっています。社内で立ててチームで使ったりするのに良いのではないでしょうか。 GistubはRuby/Ruby on Rails製、MIT Licenseのオープンソース・ソフトウェアです。 MOON

    社内で立てられるGistサーバ·Gistub MOONGIFT
    syuu1228
    syuu1228 2013/02/06
    社内で立てられるGistサーバ「Gistub」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ
  • RubyコードをJavaに変換するコンパイラー·FastRuby MOONGIFT

    FastRubyRubyJavaに変換するコンパイラーです。 Rubyは1.9系になり、高速化されました。現在開発中の2.0系になればさらに高速化されるでしょう。そんな中、さらに高速な実装を目指しているのがFastRubyRubyからJavaに変換するソフトウェアです。 実行します。 生成されたJavaのコード。 筆者環境ではJavaを実行するとエラーになってしまいましたが、RubyのコードからきちんとJavaが生成されました。JRuby向けに書かれたコードをJavaに変換することで、さらにコンパイルして実行速度を高めるという仕組みのようです。 FastRubyJava製のソフトウェア(ソースコードは公開されていますがライセンスは明記されてません)です。 MOONGIFTはこう見る 言語の壁を乗り越えるようなプロジェクトが最近の流行かも知れません。JavaScriptで作られた各言

    RubyコードをJavaに変換するコンパイラー·FastRuby MOONGIFT
    syuu1228
    syuu1228 2013/01/01
    RubyコードをJavaに変換するコンパイラー「FastRuby」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ
  • 何のために、なんて聞いちゃ駄目。JavaScript上でBASICを動かす·Applesoft BASIC in JavaScript MOONGIFT

    Applesoft BASIC in JavaScriptApple IIに搭載されたBASIC言語をJavaScriptで実装したソフトウェアです。 小学生くらいの頃、はじめて触ったプログラミング言語がBASICでした。10とか20とかいう行数の数字、難解なコードになる原因のGOTO文など懐かしいです。そんなBASICの派生言語の一つ、Applesoft BASICをJavaScriptで再現したのがApplesoft BASIC in JavaScriptです。 まずは基のHELLO WORLD。 PONGです。ただしゲームオーバーにはなりません。 HANGMANもあります。実際に遊べます。 こんな感じのグラフィックスも描けます。 インタラクティブに入力しながら試す事もできます。 カラーサンプルです。 Applesoft BASIC in JavaScriptの再現性はかなり高いよ

    何のために、なんて聞いちゃ駄目。JavaScript上でBASICを動かす·Applesoft BASIC in JavaScript MOONGIFT
    syuu1228
    syuu1228 2012/12/26
    何のために、なんて聞いちゃ駄目。JavaScript上でBASICを動かす「Applesoft BASIC in JavaScript」|オープンソース・ソフトウェア、ITニュースを毎日紹介するエンジニア、デザイナー向けブログ
  • ギークならこれ。ターミナルに表示されるスライド·tkn MOONGIFT

    tknはターミナルで表示されるスライドアプリケーションです。 プレゼンテーションは内容はもちろんですが、スライドのインパクトが相当大きな比重をもっています。Webブラウザ上で表示するスライドはもはやありがち、次の一手はターミナルにあります。そこで紹介したいのがtknです。 見よ!ターミナルでスライド! スライドが切り替わるとタイピングされながら表示します。 文字を上手に使うと意外とセンスがよく見えます。 殆どがコードです。 デモのスライド。ほぼコードです。 tknの背景色や文字色はターミナルの設定で自由に変えられます。文字はタイピングされるように次々と表示されるようになっています。テキストのみで画像の表示は難しいと思われますが、ギーク向けのプレゼンテーションであればウケるのではないでしょうか。 tknはRuby製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません

    ギークならこれ。ターミナルに表示されるスライド·tkn MOONGIFT
    syuu1228
    syuu1228 2012/09/23
    ギークならこれ。ターミナルに表示されるスライド「tkn」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向けブログ
  • iOS/Windows/Mac OSX/Linux向けソフトウェアを1つのコードで·nui MOONGIFT

    nuiはiOSを含むマルチプラットフォームで動作するソフトウェアを開発するフレームワークです。 一つのコードがマルチプラットフォームで動作する、その夢は果てしなく求められ続けています。WindowsMac OSXLinuxさらにiOSでも動作することを目指すフレームワークがnuiです。 デモです。WindowsMac OSXiPhoneで動作します。 音がなり、インジケータで波長を変化させられます。 プロジェクトを作成するプログラムです。Mac OSXiPhoneWindows向けに出力可能で、WindownはVisual Studio 2005/2008向けのプロジェクトファイルを出力します。 出力されたファイル構成です。 nuiC++向けのフレームワークになります。CSSに似たスタイルシステムを持ち、外観の調整が容易にできるようになっています。さらにプラグインにも対応して

    syuu1228
    syuu1228 2012/03/06
    iOS/Windows/Mac OSX/Linux向けソフトウェアを1つのコードで「nui」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向けブログ
  • 面白い!WebSocketを使ってWebブラウザでVNCライクに操作·WebSocketRemote MOONGIFT

    WebSocketRemoteはWebSocketを使ってWebブラウザを使ってVNCライクなPCリモート操作を実現するソフトウェアです。 WebSocketを使って色々なWebアプリケーションが作られていますが、WebSocketRemoteはひと味違います。何とWebSocketでVNCライクなリモートPC操作を実現しています。 起動するとメニューバーに常駐します。この時点で既に使える状態です。 他のPCからWebブラウザでアクセスできます。デュアルスクリーンにも対応しています。 スマートフォン対応もしています。 WebSocketRemoteはマウスクリックのイベントのみサポートしているので、今のところキーボード入力はサポートしています。またiOS向けには画面を表示するリモートモードの他、マウスポインタ代わりに使えるマウスモードというのが用意されています。 WebSocketRemo

    面白い!WebSocketを使ってWebブラウザでVNCライクに操作·WebSocketRemote MOONGIFT
    syuu1228
    syuu1228 2012/02/01
    ふむふむ。RT @n_kane: 面白い!WebSocketを使ってWebブラウザでVNCライクに操作「WebSocketRemote」 - MOONGIFT
  • Gitを使って誰でもDropboxを作れる·RubyDrop MOONGIFT

    RubyDropはRuby製のオープンソース・ソフトウェア。個人的にDropboxはとても便利に使っている。これなしの生活は考えられないくらい便利だ。有料であれば50GBまで使えるが、無料版の2GBでは物足りないと感じる人も多いだろう。だがお金は払いたくないという人もいるだろう。 サーバ起動中 そこで考えたいのが自分だけのDropbox構築だ。重要なのは自動的に同期されるシステムであること、バージョン管理されること、複数のコンピュータ間でデータが同じ状態に保てることだろう。それらを実現するのがRubyDropだ。 RubyDropはRuby1.9系で動作するソフトウェアだ。簡単に言えば、特定のフォルダに関してRubyDropが監視を行う。そして変更があると内容をリモートのGitリポジトリにアップデートする。Gitリポジトリ側で変更があれば、Pullする仕組みだ。 自動的に同期されている G

    syuu1228
    syuu1228 2010/12/09
    おー、どっかで見たような気がしたがやはりあったか。RT @azu_re: @syuu1228
  • GithubのスニペットGistをお使いの方は·Gisty MOONGIFT

    GistyはRuby製のオープンソース・ソフトウェア。Githubではオープンソース・ソフトウェアのホスティングの他に、ちょっとしたコードを記録しておくスニペットサービスGistを提供している。後で役立つかも知れないコードを残しておくのに便利なサービスだ。 オンラインと同期 書いたコードはオンライン上に残るが、開発中は手元にある方が便利かも知れない。都度ブラウザでアクセスするのは面倒だ。そこで使ってみたいのがGistyになる。 GistyはCUIで用いるソフトウェアで、オンライン上にあるGistデータを全てダウンロードしたり、逆にローカルのコードをGistにアップロードすることができる。コードは指定場所に保存されるので後で探すのも容易だろう。なおコードは自分のものに限られる。 コードをダウンロードしておけば再利用も楽になるし、手元で書いたちょっとしたコードをアップロードできれば徐々にナレッ

    syuu1228
    syuu1228 2010/10/03
    RT @takeshik: Browsing: MOONGIFT : GithubのスニプレットGistをお使いの方は「Gisty」 オープンソース・ソフトウェア/フリーウェアを毎日紹介
  • 1