タグ

JavaScriptに関するarajinのブックマーク (207)

  • LaTeXやMathMLに対応したWebベースの数式表示ライブラリ·MathJax MOONGIFT

    MathJaxはLaTeXやMathMLの記法に対応したJavaScript製の数式表示ライブラリ。 MathJaxはJavaScript製のオープンソース・ソフトウェア。インターネットに最も多いコンテンツはテキストだろう。HTMLによってテキストの装飾は容易に行えるが、用意されているものだけで十分とは言いがたい。足りないものはどうすかと言えば、画像などで置き換えている。 サンプル しかし画像では後々の修正や可読性、再利用性さらには検索エンジンにインデックス化されないなど都合が悪いことが多い。そこでMathJaxを使ってみよう。MathJaxは数式を奇麗に表示できるライブラリだ。 MathJaxはLaTeXやMathMLで書いた内容をJavaScriptを使って数式に変換してくれる。どちらも数式を描く際によく使われるテキストフォーマットだろう。あくまでもテキストベースなので、拡大したり縮小

  • HTMLを使った華麗なプレゼンテーションを·Fathom.js MOONGIFT

    Fathom.jsはJavaScriptによるHTMLプレゼンテーションライブラリ。 Fathom.jsはJavaScript製のオープンソース・ソフトウェア。プレゼンテーションの資料はその場限りの代物ではなく、サービスや商品を知ってもらうのにキーになるものだ。それだけにバイナリで作成しておくのは勿体ない。Googleで検索できたとしてもPowerPointPDFを開きたいと思うだろうか。 スライドの例 HTMLで作成しておけば、検索で使ったり再利用性も高くなる。特にプログラマーであればテキストエディタで作成できる方が効率的だろう。作成した内容はFathom.jsでスライドにできる。 Fathom.jsはHTMLファイルをスライドにして表示するライブラリだ。矢印キーで移動するだけのシンプルなライブラリだが、最低限の動きはする。基はdiv.slideという単位でスライド表示を行う。画像や

  • 楽譜をWeb上に表示するJavaScriptライブラリ·Audiofile.cc MOONGIFT

    Audiofile.ccはHTMLタグを楽譜化して表示するJavaScriptライブラリ。 Audiofile.ccはHTML5/JavaScript製のオープンソース・ソフトウェア。Webベースのアプリケーションが増えるに従って、表現したい内容も増えている。テキスト、画像、動画、音楽以外にも様々なデータを表示したいと思っているはずだ。 表示例 HTML4以前ではFlashが活躍した。だが時代はHTML5に移り変わろうとしている。今はCanvasタグで様々なコンテンツを表示する。Audiofile.ccはその一つ、楽譜を表示するソフトウェアだ。 楽譜についてはMMLと呼ばれるマークアップ言語があるが、Audiofile.ccではそれは用いていない。あくまでも独自の記法に則って記述する必要がある。具体的にはdivタグに対してdata-note/data-pitch/data-octaveとい

  • よりセキュアなWebアプリケーションを目指す、JavaScriptチェックツール·DOM Snitch MOONGIFT

    DOM Snitchは危険性のあるJavaScriptの処理を検出してスタックトレースするGoogle機能拡張。 DOM SnitchはGoogle Chrome用のオープンソース・ソフトウェア。先日、旧バージョンのjQueryに潜むセキュリティ問題が取沙汰された。JavaScriptが多用されるようになると、そこにセキュリティホールが潜む可能性がある(先日まで当サイトにも存在していた)。 DOM Snitchの画面 JavaScriptが出力したコンテンツなのか否か、Webブラウザを単純に使っている限りでは分かりづらい。ブラウジングを通じて問題があるかも知れない処理を発見できるのがDOM Snitchだ。Google製のGoogle Chrome機能拡張だ。 DOM SnitchはGoogle Chromeの機能拡張であり、Webブラウジング中に特定のメソッドを使われていないかどうか監視

  • 各種記法に対応したWebベースのドキュメントビューワー·Invisible.js MOONGIFT

    Invisible.jsはJavaScriptでローカルテキストファイルを読み込んでHTML化して表示するドキュメント整形ライブラリ。 Invisible.jsはJavaScript製のオープンソース・ソフトウェア。開発ドキュメントをWebベースにする動きがある。最もシンプルに実装するのはWikiベースにすることかも知れない。だがWebブラウザのテキストエリアに長文を記入していくのは面倒くさいだろう。 表示例 そこで使われるのがテキストファイルを書いて、それをWebサーバから読み込ませる仕組みだ。そんな時はサーバサイドの用意をせずとも利用できるInvisible.jsが便利だ。 Invisible.jsのデモではMarkdown記法で記述されたテキストとHTMLが表示される。だがHTML中にテキストはない。Ajaxを使って動的にコンテンツを読み込んでいるのだ。対応フォーマットはMarkdo

  • ゲームでも使えそうなJavaScriptで作られた物理エンジン·box2dweb MOONGIFT

    box2dwebはJavaScriptで作られた物理エンジンライブラリ。Box2DFlashをJavaScriptへポートしたソフトウェア。 box2dwebはJavaScript製のオープンソース・ソフトウェア。ゲームを作る際に欠かせない要素が物理エンジンだ。オブジェクトの落下や重力の作用、オブジェクト同士の作用反作用、慣性の法則など様々な要素がそこには絡んでくる。スーパーマリオも物理エンジンあってこそのゲームだ。 デモ 最近であればAngry Birdsも物理エンジンを用いた処理によってあの動きが実現する。Webブラウザで動作するゲームを作る時に採用を考えたいのがbox2dwebだ。 box2dwebはBox2DFlashというFlash製の物理エンジンをJavaScriptに移行させたソフトウェアだ。デモでは多数の四角または丸のオブジェクトが落下し、それぞれが作用しながら動き回るよう

    ゲームでも使えそうなJavaScriptで作られた物理エンジン·box2dweb MOONGIFT
  • 日本の文章はやはり縦書きが読みやすい·tategumi.js MOONGIFT

    tategumi.jsはJavaScriptを使って文章を縦書き、右から左に読ませる文章に変換するライブラリ。 tategumi.jsはJavaScript製のオープンソース・ソフトウェア。Webの文章は横書きが基だ。日語の場合は左から右に表示される。Webサイトは縦方向にスクロールするように作られているので、横方向が固定されて表示される方が見やすい。 表示例 だがそれは慣れの問題であって、日語は来縦方向、右から左に書かれるものだ。小説などの日語文章を読ませるサイトではtategumi.jsを使ってみるといいだろう。 tategumi.jsはWebサイトに書かれた文章を自動的に縦書きに変換してくれるJavaScriptライブラリだ。サイト全体ではなく、指定された場所だけを変換する。クラスごとに文字の大きさや一行における文字数、行間、字間、段間、禁則処理の指定ができるようになってい

  • 「俺の邪悪なメモ」跡地

  • Googleマップライクに地図操作ができるJavaScriptライブラリ·Leaflet MOONGIFT

    Leafletは軽量で地図操作に最適なJavaScriptライブラリ。 LeafletJavaScript製のオープンソース・ソフトウェア。かつてWebベースの地図と言えば、画像の上下左右に矢印がついたものばかりだった。それを一変させたのがGoogleマップで、Ajaxによるスムーズな操作を可能にした。 ポップアップ 今やあのUIが当たり前になっている。そして地図以外でも使える場面も増えている。あのようなUIをオープンソースで手に入れたいならばLeafletを使ってみよう。 LeafletはCloudMadeが提供するライブラリで、地図操作に用いることを想定している。マーカー表示やマーカーからのポップアップ、イメージのオーバーレイにも対応する。拡大、縮小する時にはアニメーションしたり、ホイールやダブルクリックでズーム操作もできる。 クリックした場所で表示 マーカーの他にも円や三角形を描く

  • 画一的なプレゼンテーションにさよならを。HTML5/JavaScript/CSS3によるプレゼン·CSSS MOONGIFT

    CSSSはHTML5/JavaScript/CSS3で作られたWebベースのプレゼンテーションテンプレート。 CSSSはHTML5/JavaScript/CSS3によるオープンソース・ソフトウェア。最近はHTMLJavaScriptを使って作られたプレゼンテーションが増えている。JavaScriptでキーの動きに合わせてスライドを動かす類のものだ。 奇麗なHTMLプレゼン コンテンツがHTMLベース、つまりテキストで作れるのが大きな魅力だろう。そして最新のWeb技術を盛り込んで作られたのがCSSSだ。 CSSSは矢印キーによるスライドと切り替えと、Ctrlキーと組み合わせたキーボードショートカットをサポートしている。Ctrl+Hでスライドのサムネイル一覧を作ることもできる。矢印を押すたびに文字が追加表示されていくと言ったアクションも実装できる。 スライド一覧 良いと思ったのは、スライドの

  • node.jsならサーバサイドも。ブラウザのみのPDF生成にも対応する·pdf.js MOONGIFT

    pdf.jsはnode.js/JavaScriptで作られたPDF生成ライブラリ。クライアントサイドの出力にも対応。 pdf.jsはJavaScript/node.js製のフリーウェア(ソースコードは公開されている)。基幹系、ユーザ系問わず何らかのデータを蓄積した結果、一覧やレポートを出力したいという要望は多々発生する。そのフォーマットとして代表的なのがPDFだ。 ブラウザのみで生成されたPDF PDFは仕様が公開されているとは言え、一から手作業で作るのは非常に面倒なフォーマットだ。そこで既存のPDFライブラリが使われる。PHPRubyJavaなど各種言語向けにPDFライブラリが存在するが、JavaScriptではどうだろう。そう、pdf.jsを使えば良い。 pdf.jsはその名の通りJavaScriptを使ってPDFを生成するライブラリだ。やり方は二種類ある。一つは完全クライアントサ

  • これは便利!ブラウザ/レンダリングエンジンごとのCSS設定をJavaScriptで解決する·CssUserAgent MOONGIFT

    CssUserAgentJavaScriptを使ってブラウザ/レンダリングエンジンごとのクラス定義を生成する。 [/s2If] CssUserAgentJavaScript製/Web用のオープンソース・ソフトウェア。CSSは便利だが、ブラウザによって指定が異なってしまうケースに対応しようと思うと途端に煩雑になってしまう。特にここ数年のようにWebブラウザの種類が増えると大変だ。 このようなクラスが定義される レンダリングエンジンで考えても数多く、さらにバージョンによってレンダリング結果が異なるとなると発狂しそうになってしまうほどだ。そんな苦しむWebデザイナーの方々を救うかもしれないのがCssUserAgentだ。 CssUserAgentはua-*というクラス名を自動的に定義するJavaScriptファイルだ。「ua-(ブラウザ名)」「ua-(ブラウザ名)-(メジャー番号)」「ua-

  • JavaScriptでゲームが作れるようになる、そんな未来を感じさせる·jgen MOONGIFT

    jgenはJavaScript製の2Dゲームエンジン。 [/s2If] jgenはJavaScript製のフリーウェア(ソースコードは公開されている)。2010年はモバイルゲームに注目が集まった年だった。2011年も同様にしばらくの間は目が離せない状態が続くだろう。ゲームを作るには一般のWebサイトを作るのと訳が違うと思っていた人にとって朗報がある。 戦車のゲームデモ jgenがそれだ。Webベース、JavaScriptを使ってゲームを開発できるようになる。これを使えばこれまで培ってきた技術を使ってトレンドに入る込むことができるはずだ。しかもWebベースなら対応プラットフォームも多い。 jgenが使うのはJavaScriptだが、あまりに軽量なのでびっくりしてしまう。せいぜい20KB程度のファイル群で、タンクゲームが動いている。自分のタンクだけしか動かせないが、弾を発射して止まっているタン

  • オリジナルFourSquareだって作れる·geoJoy MOONGIFT

    geoJoyはHTML5/JavaScript製のフリーウェア(ソースコードは公開されている)。位置情報を使ったWebサービスが人気だ。最も人気が集まったのがFourSquareと思われるが、今はFacebook Placeもはじまって状況は混沌とするようになってしまった。 メイン画面 どちらも海外製のサービスだが、日でも幾つか同種の試みは行われているようだ。そんな中、自分でも同じようなシステムを構築してみたいと思うかもしれない。Webベースで実現するソフトウェアがgeoJoyだ。 geoJoyはWebKitベース(おそらくiOS向けだろうが)のスマートフォンに対応している。jQueryを使っており、操作性はスムーズだ。geoJoy自体は完成度は高くなく、自分なりのコンテンツや機能を追加してはじめてサービスになり得るだろう。 場所の追加 現在いる場所を使って場所を追加することが可能だ。保

  • 複数人で同時に書けるnode.js製ホワイトボード·whiteboard MOONGIFT

    whiteboardはWebSocketを使ったリアルタイムドローソフトウェア。 whiteboardはnode.js/JavaScript製のオープンソース・ソフトウェア。node.jsが熱い。サーバサイドJavaScriptという珍しさもあって、先進的な技術を試すのにぴったりな環境となっている。HTML5を使ったソフトウェアはとても多い。 Safariでお絵描き HTML5と言えば多数の新機能を備えているが、最も特殊なものとしてはWebSocketが挙げられるかも知れない。使い勝手が難しいが、新たなWebの可能性も見いだせそうだ。そんなWebSocket + node.jsで開発されたのがwhiteboardだ。 whiteboardは複数人同時に編集が可能なホワイトボードシステムだ。マウスでクリックして線を引くことが出来る。その内容はリアルタイムに別なブラウザに反映される。クリアボタ

    複数人で同時に書けるnode.js製ホワイトボード·whiteboard MOONGIFT
  • JavaScriptでQRコードを読み取る·QRcode decode javascript MOONGIFT

    QRcode decode javascriptJavaScriptで作られたQRコードデコーダです。 QRcode decode javascriptJavaScript製のフリーウェア(ソースコードは公開されている)。最近、Google CodeでもQRコードが使われる等、利用の幅が広がっている。スマートフォンはもちろん、携帯電話のカメラを使って撮影できるのが便利だ。 右は画像。左はCanvasに読み込んだQRコード だが、PCでデータを読み取りたいと思った時には些か不便だ。目の前にコードがあるのに、何が書いてあるのか分からないのだ。携帯電話のカメラで読み取るのも煩わしい。使うのはQRcode decode javascriptだ。 QRcode decode javascriptはCanvasタグを使ってQRコードの画像を読み込み、JavaScriptを使って解析を行う。そして解

  • JavaScriptの3Dエンジン·Three.js MOONGIFT

    Three.jsはJavaScriptのオープンソース・ソフトウェア。Webブラウザが高機能化していく中で競われているのがJavaScriptエンジンの性能だ。実行速度が向上することによって、Webアプリケーションなどの利用が促進される。HTMLレンダリング性能と合わせて重要な指針だ。 マウスの動きを追従する エンジンが高機能化すれば実現できる幅が広がる。その一つが3Dレンダリングだ。JavaScriptで3Dオブジェクトが表現できるようになれば、ゲームはもちろん様々な分野で活用できるだろう。そのレンダリングエンジンとしてThree.jsを紹介しよう。 Three.jsは3Dオブジェクトをレンダリングするライブラリで、先日話題になったGoogleマップを使ったマッシュアップ「The Wilderness Downtown」もこのThree.jsを使って作られた一つだ。さらにマウスで反応する

  • JavaScriptを使って文字をデフォルメ·Lettering.js MOONGIFT

    Lettering.jsはJavaScript製のフリーウェア(ライセンスはWTFPL)。Web2.0という単語が出回ったことに流行ったのがFlickrのロゴ風の画像を生成するジェネレータだ。透明感があって、ポップなデザインに見え、かつクールなロゴがたくさん(この時点でクールじゃなくなった)出回った。 今時代はJavaScript全盛だ。文字を画像化しても面白くない。文字をJavaScriptを使って装飾する、そんなロゴは今後流行るかもしれない。その可能性を感じさせるのがLettering.jsだ。 Lettering.jsを適用した文字は見ればすぐに分かる。あざやかな色合いで、ポップで可愛らしい文字になる。テキストなので画像に比べると軽量なのも利点だ。画像のように作成し直す手間もなく、システムと連携させるのも容易だ。 さらにマウスオーバーによるアクション設定ができるのも大きい。各文字はマ

  • 恐ろしい…JavaScriptでFPS·Cottage MOONGIFT

    CottageはHTML5/JavaScript製のオープンソース・ソフトウェア。ゲームのジャンルは無数に存在するが、PC系で人気が高いジャンルの一つがFPS(First Person Shooting)だ。DOOMシリーズが有名なジャンルで、筆者もハマっていた覚えがある。 動作は軽快 プレーヤの視点がキャラクターの視点と同一であるため、よりリアリティがまし、臨場感が味わえる。グラフィックスが向上するにつれてハイスペックなPCが必要になっているが、もっと手軽に遊ぶならCottageが期待できそうだ。 CottageはCanvasを使ったグラフィックス、サウンドエンジンとなっている。HTML5を使っているが、ExplorerCanvasを使っているのでIE7/8でも利用可能となっている。特にFPS専門という訳ではないが、デモアプリはFPSとなっている。 このデモでは弾は撃てない 矢印キーでの

    恐ろしい…JavaScriptでFPS·Cottage MOONGIFT
  • リアルタイムにスムーズなグラフを描く·Smoothie Charts MOONGIFT

    Smoothie ChartsはJavaScript製のオープンソース・ソフトウェア。Web上でのグラフ描画に対するニーズは多い。常時固定であれば画像でも良いだろうが、システムの値を使う場合は何らかのグラフ描画ライブラリを使うことになる。 複数グラフ同時描画も可能 さらにアクセスの度にレンダリングして終わる場合もあるが、刻々と変化するデータを常時アップデートしていくグラフもある。そんなリアルタイムに変化するグラフを必要とするならばSmoothie Chartsを使ってみよう。 Smoothie Chartsはリアルタイムに変化するデータをスムーズに描画していくライブラリだ。一つに限らず複数の線を同一グラフ内に描画することができる。例えばシステムのモニタリングであったり、アクセス数の変化などを追うのに使えそうだ。 canvasタグを使っているため、対応していないブラウザでは表示できないのが欠