
2013-09-28 【ボイド】JavaScriptとHTML5で『群れ』をシミュレーションしてみよう【プログラミング】 適当プログラミング解説シリーズ やり方 はじめに。 ボイドを知っていますか?ボイド(Boids)はCraig Raynoldsによって発表された人工生命シミュレーションプログラムです。Boidsとはによると、以下のように記述されています。 Boid(ボイド)とは、1987年にCraig Raynoldsによって発表された理論です。 この理論は、3つのルールを規定するだけで鳥の群れをシミュレーションできるというものです。 ちなみにBoidという名の由来は、鳥もどきという意味の言葉birdoid(バードイド)が短くなりこのように呼ばれるようになりました。 シンプルな3つのルールで生きているかのような群れができるのでとても興味深く、魅力的なゲームです。 ボイドを応用して作られ
DOMの連載記事、最後の3回目は要素の生成、追加、削除について書く。本題に入る前にノードという概念について簡単に書いておく。 ノードとは ノードとはHTMLへアクセスするためのインターフェースである。全12種類のノードがあるが、代表的なものは4つ。一つしか存在することが許されず全てのノードを管理するdocumentノード、要素へアクセスするelementノード、文字列へアクセスするtextノード、要素の属性へアクセスするattributeノードである。以下の画像でそれぞれを表してみた。 documentノード以外の3つは生成、追加、削除することが可能である。今日扱うのはelementノードのみ。というのもこれ一つで大体こと足りてしまうので、textノード、attributeノードは特に覚えなくても良いかなと今は思っている。ノードについて詳しくは以下の資料を参照いただきたい。 Documen
Hacker Newsを見ていたらMozillaの公開しているプロジェクトが話題になっていました。内容はシンプルかつ強力です。JavaScriptのコードを埋め込むだけでWebサイト上でチャットやカーソル位置の共有、音声チャットといったコラボレーション機能が使えるようになります。 TogetherJSは次のような機能をサポートしています。 ビデオと音声のチャット テキストチャット カーソルとクリックの共有 共同ブラウジング ユーザ情報の共有 リアルタイムコンテンツ同期 埋め込むだけで使えるというのはどういうことかと思いますが、実際にはJSで書かれたサーバサイドモジュールとクライアントサイドのスクリプトで構成されています。サーバーサイドを自分自身で稼働させる事も勿論できますが、サンプルとして貼り付けるコードについてはMozillaがホスティングしているhubというサービスをサーバーサイドとし
JavaScriptのみで記述されたブログツール・ソフトウェアです。ブログライクな機能を実現します。RubyやPHP、CGI等のサーバサイドの技術を使わずに、JavaScriptのみで動作するのが特長です。 現在、以下のものを配布しています。 feedblog : JavaScriptのみで動作する、ブログツール・ソフトウェア本体です。サーバサイドの技術に頼ることなく、JavaScriptのみでブログライクな機能(過去ログの切り替え、ページャ機能、直URLでのアクセス、タグによる分類機能、記事検索機能)を実現します。 feedblogはデータソースにXML(Feed Atom形式)を使用しています。 本ソフトウェアのパッケージは次の通りです。 1.feedblog CoreScript feedblogのコアスクリプトです。記事の表示全般に関する機能を実現します。 2.feedblog S
jQueryなどの他のスクリプトに依存せずにモーダルウインドウを実装する高性能で超軽量(5KB)のスクリプトを紹介します。 JavaScript Modal Windows – TinyBox2 デモページ [ad#ad-2] TinyBox2のデモ デモはシンプルなモーダルウインドウから、アニメーション付き、AJAX対応、iFrame対応、画像対応などがあり、どれも実用的なものとなっています。 ウインドウをクローズする際はクローズボタン、もしくはウインドウ外のクリック、「ESC」キーの操作に対応しています。 デモページ:No Animation, No Close Button, Auto Width/Height, Custom Styling アニメーション:無し、クローズボタン:無し、幅と高さ:自動、カスタムスタイリング
#2016.07.21追記 Google Feed APIの運用は、2016年9月29日に終了するとの公式発表がありました。今後はこの記事の情報は使えませんのでご了承ください。 参考:Google Developers Japan: Google Feed API 提供終了のお知らせ とある案件で、静的サイトの一部にWordPressを導入して、その新着情報を既存サイトのindex.htmlに表示させる、ということになりました。 そこで、Googleで公開されてるGoogle AJAX Feed APIを使ってRSSを取得する方法を試してみました。 1.APIキーを取得 まず前提として、Googleアカウントが必要です。 ここから利用できます。 http://code.google.com/intl/ja/apis/loader/signup.html ##2013.8.8追記 APIキー
http://code.google.com/intl/ja/apis/ajaxfeeds/documentation/ JavaScriptのみで他のサイトの情報を取得する場合、XmlHttpRequestオブジェクトはクロスドメインを許可しないため、JSONPを利用して取得するのが基本である。 本来ならJSONPを利用するためには、サーバ側がJSONPに対応したAPIを持っているか、RSSをJSONPに変換する作業が必要である。しかし、Googleが公開しているGoogle Ajax Feed API というAPIを利用すれば、JSONPの変換・取得が簡単に扱える。 以下に、具体的にはどう使うかを示す。 Google Feed APIのみを利用する場合 <html><head> <script type="text/javascript" src="http://www.google.
pixel clustering using k-means++ 前回のJavaScriptでPoisson Image Editingによる滑らかな画像合成に引き続き、HTML5 Canvasを使ったJavaScriptによる画像処理の一例を紹介します。 今回は画像の画素値に対するクラスタリング(分類)を画像加工用途に応用します。クラスタリングには各画素のRGB値を特徴ベクトル(次元数3)としてk-means法と呼ばれる手法を使って行います(実装上はk-means法の初期値選択アルゴリズムを改良したk-means++法を利用)。以下のサイトでOpenCVを利用した実装例が紹介されています。 k-meansクラスタリングによる画像分割,減色 – opencv.jp 上記サイト内でも言及されているように、k-means法による画像の領域分割や減色処理はあまり良い結果が得られないことが知られて
連載「Webサイト・アプリ高速化テクニック徹底解説」の第5回は、前回の「DOM操作の最適化によるJavaScriptチューニング(前編)」に続く後編です。後編では、createElement()などのDOM操作メソッドを使ったさまざまなテクニックや、パフォーマンスを劣化させるよくあるパターンについて詳しく解説します。 CodeIQとの連動企画! この記事で学べるJavaScriptチューニングのテクニックを、実際にCodeIQの問題で試すことができます。もう既に自信がある方は腕試しに、もしくは理解度チェックのための復習として是非ご活用ください!こちらから問題にチャレンジ! 前回は、DOM操作が遅い原因と仕組みについて簡単に説明し、チューニングのサンプルをいくつか解説しました。その中で、innerHTMLを利用したコードをサンプルにあげていますが、innerHTMLを利用する場合、いくつかの
最近のレスポンシブWebデザインの影響もあって ボックスをタイル状に並べた構成のグリッドレイアウトWebサイトをよく見かけます。 ウィンドウサイズによって最適な配置で画面を構成できたりするグリッドレイアウトですが jQueryを使って簡単に実装することができるプラグインを自分用メモとして紹介してみます。 まずは「BlocksIt.js」 BlocksIt.js | Dynamic Grid Layout jQuery Plugin – Plugin Page デモページはこちら BlocksIt.js Demonstration #1 – Random Dynamic Grid Layout BlocksIt.js Demonstration #2 – Pinterest Dynamic Grid Layout with CSS3 Transitions ページをロードするたびにランダムで
Demo: images IsotopeにはimagesLoadedプラグインも含まれており、画像のロードにコールバック関数を利用できます。 Isotopeの特徴 レイアウト モード: CSSだけではできない、インテリジェントでダイナミックなレイアウトを実現します。 フィルタリング: jQueryのセレクタを使用して、簡単にエレメントのフィルタリングが行えます。 ソート: あらゆるデータからソートが行えます。 各機能の互換性: レイアウトモード、フィルタリング、ソートの各機能は一緒に利用することができます。 最適化: Isotopeのアニメーションエンジンは、表示しているブラウザごとに最適なものを使用します。例えば、CSS3 transitons, transformsなどで、これらに非対応なブラウザ(IEなど)は、JavaScriptでアニメーションを実現します。 Isotopeの実装
$('textarea').textcomplete({ // mentionは単なる名前で意味はありません。 // 分かりやすい名前をつけてください。 mention: { // 必須設定 match: /(^|\s)@(\w*)$/, search: function (term, callback) { // callback には文字列の配列を渡す $.getJSON('/search', { q: term }) .done(function (resp) { callback(resp); }) .fail(function () { callback([]); }); }, replace: function (value) { return '$1@' + value + ' '; }, // 任意設定(下記はいずれもデフォルト値) index: 2, maxCount:
Gruntで始めるWeb制作の自動化 Grunt.jsとはWeb制作の様々なタスクを自動化してくれるツールです。 node.jsで開発されており、Sass/CompassやLessなどのCSSプリプロセッサーのコンパイルやCSS/JSの結合圧縮、JSHintによるバリデーションなど様々なタスクを自動で行ってくれます。 インストール まずはnode.jsをインストールします。公式サイトでインストーラーが配布されていますので簡単にインストールが可能です。 次にMacではターミナルを開いてgrunt-cliをインストールしましょう。cliとはCommon Language Infrastructureの略でコマンドラインからGruntを利用するためのツールです。 sudo npm install -g grunt-cli パスワードが聞かれるので入力してください。成功すればgrunt-cliのイ
一度書いたコードは二度と探さない!スニペットを究めて快適コーディング!【HTML, CSS, JavaScript】 ※この記事は2013年8月26日に執筆された記事です。現在は仕様が異なる可能性があります。 気がつけば繰り返し同じ単語で検索し、同じコードを書いている…なんてことはありませんか?「この部分の記述、もう一回使うことがあるかも」と思ったらぜひスニペットとして登録しておきましょう! スニペットとは繰り返し登場するコードの断片、またはそれをすぐに呼び出せるように管理するエディタの機能のことです。自分がよく使用する記述をスニペットにしておけばいちいち検索したり、昔書いたソースを探ってみたりすることなく、使いたい時に正確な記述をサッと呼び出して使うことができます。 Dreamweaver、Sublime Textなどのオーサリングツールやテキストエディタにはスニペットを自在に使うための
Stay organized with collections Save and categorize content based on your preferences. The IFrame player API lets you embed a YouTube video player on your website and control the player using JavaScript. Using the API's JavaScript functions, you can queue videos for playback; play, pause, or stop those videos; adjust the player volume; or retrieve information about the video being played. You can
jQueryでスクロールすると上部に固定されるナビゲーション グローバルナビゲーションはロゴの下に配置されていることが多いですが、スクロールするとナビゲーション部分だけが上部に固定されるようなものをjQueryでやってみたいと思います。 投稿日2012年02月21日 更新日2012年05月10日 html & css htmlです。 html <h1><a href="#">タイトル</a></h1> <div class="nav"> <ul class="clearfix"> <li><a href="#">HOME</a></li> <li><a href="#">ABOUT</a></li> <li><a href="#">NEWS</a></li> <li><a href="#">LINK</a></li> </ul> <!-- /#nav --></div> <div id="
実装は簡単です。 既存のページにもこれなら簡単に組み込めると思います。 HTML パララックススクロール用の背景を配置するために先頭に空のdiv要素を加え、あとのコンテンツは普通に実装します。 <div class="background"></div> <div class="wrapper"> <h1 class="pageTitle">見出しLv1</h1> <h2 class="pageSubTitle">見出しLv2</h2> <p>パラグラフ</p> <p>パラグラフ</p> <p>パラグラフ</p> </div> <div class="slogan"> <h2 class="sloganTitle"> Parallax scrolling </h2> </div> <div class="wrapper"> <h1 class="pageTitle">見出しLv1</h1>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く