2015年7月11日 OUCC LTの会 http://oucc.org/ JavaScript で自作言語インタプリタを作った話です
2015年7月11日 OUCC LTの会 http://oucc.org/ JavaScript で自作言語インタプリタを作った話です
まずは挑戦してみよう シェーダを自分でコーディングするなんて…… きっとお難しいんでしょ…… と、お思いの奥様方。そんなことはないんです。コツをつかめば意外と楽しめます。当連載では、シェーダというものに対して抱かれてしまいがちな、漠然とした 難しそう感 を払拭すべく、簡単なシェーダの記述とその基本について解説したいと思います。 想定する読者 当連載では、シェーダってなんか難しそう……とか、シェーダプログラミング始めてみたいけど……とか、なんとなく興味を持ってるけどシェーダを記述したことがない方を読者に想定しています。 たとえば Unity などのツール、あるいはマインクラフトのようなゲーム、またはモデリングソフトなどでもシェーダを自分で記述することができるような世の中です。きっとシェーダに触れた経験は無駄にはならないでしょう。 すぐに業務で活かすとか、そういう壮大な話はさておいてまずは気軽
最近の情報収集の仕方も昔とはめっきり変わった感がある。 そもそも情報が多すぎるのが困りモノだ。 フロントエンドの技術サイクルも目まぐるしく早い。 多すぎる情報を効率良くフィルタリング出来る仕組みを確立すればいいと個人的には思っている。 それには自分に合った質の高い発信元を把握しておくことだ。 今日は自分の日頃使ってるものを紹介する。 国内 はてブ(テクノロジー – Webデザイン) 技術系の鉄板。毎日眺めるだけでホットな話題がある程度わかる。 Gunosy 言わずと知れたキュレーションサイト。意外とコアな情報も入ってくる。 dotHTML5 初めはHTML5関連だったけど、最近は多岐にわたってる印象。 HTML5 Experts.jp JSer.info azuさん運営のJSer御用達しサイト。 ここ 見ておくと参考になる。 そういえば最近JSerという言葉聞かなくなった。 海外 Smas
7月25日に WebMusicハッカソン #4 @kyoto というのがあるのですが、ちょうど良い機会なので僕が作ったウェブ音楽用簡単超絶便利ライブラリを紹介したいと思います。 WEB AUDIO SCHEDULER 2 つの時計のお話 - Web Audio の正確なスケジューリングについて - HTML5 Rocks Web Audio で必須な割に難しいのがスケジュール管理で、いちおう上の記事のやり方が推奨なのですが、そのままやるとかなり面倒くさい。のだけど、このライブラリを使うと面倒な部分は気にせず、いつ何をしたいのかを書くだけで良くなる。以下は簡単なメトロノームの例。 var gcguard = []; var audioContext = new AudioContext(); var scheduler = new WebAudioScheduler({ context: a
あらすじ Web技術が複雑になる中で、JavaScriptのプロファイリングをとる方法とは。 プロファイリングを取るためのコードを手で書いてみましょう。 とてもシンプルで、かつ最高のJavaScriptプロファイラ sjsp を作りました。 本当にあった怖い話 上司 「とにかくJavaScriptのコードを速くしてくれ」 私 「分かりました、速くします」 (次の日) 私 「いいプロファイラがないなら作ればいいじゃない」 同じチームの人 「えっ?」 私 「最高のJavaScriptプロファイラ作ったよ」 同じチームの人 「「えっえっ???」」 私 「早速使ってみたらこことここが遅いって分かったよ」 同じチームの人 「「「この子は一体…」」」 JavaScriptのプロファイリングの難しさ 近年、Webブラウザーの処理速度は著しく向上し、その可用性の高さから、アプリケーションのプラットフォーム
今回、ゲーム攻略コミュニティ『GAMY』というサービスでRiot.jsを採用しました。 知る限りでRiot.jsで実装されたサイトの中でも最大規模のサービスだと思います。 これまではjQueryとjQueryプラグインを使っていましたが、デザインのリニューアルを機に、全部書き換えることにしました。 ドキュメントも兼ねてアウトプットしていきます。 Riot.jsとは Riot.jsは今流行りのReact.jsに似た仕組みを持っている、それで非常に軽量なJavaScriptライブラリーです。 最近GitHubのリポジトリが**/muut/riotjsから/riot/riot**にお引っ越しして、これからがより注目なライブラリーです。 詳しくはこちら↓ Riot公式 Riot.js 2.0 情報まとめ GitHub 捨てることを前提としたライブラリー選定 最初は今ブームの2大フレームワークとなっ
The Progressive JavaScript Framework Web ユーザーインターフェース構築のための、親しみやすく、パフォーマンスと汎用性の高いフレームワーク。 Vue を使う理由 はじめる インストール Vue 2 のセキュリティー・アップデート Special Sponsor slot is now vacant - Inquire now 親しみやすい 直感的な API とワールドクラスのドキュメントを使用して、標準的な HTML、CSS、JavaScript をもとに構築します。
MODプラグインを利用できるSpigotマインクラフトサーバーを立てたんだけど、そもそもどういう目的だったのか・・・ 前置き やはり、ブロックをひとつひとつ積んでワールドを作るのは非常に時間がかかるわけです。うちの娘たちなんかは「作ること」そのものが喜びなんで、全然気にせずにコツコツと巨大な建物やオブジェなんかを作ってるけど、大人の私としては「どーん!」とやりたいわけ。そもそも娘たちはそんなことが可能とえ知らない。マイクラ遊びを新しい次元で楽しむにはMODしかないでしょ~、ってことでのSpigotサーバーを導入したわけ。 ワールドの作成用のプラグインだけど、調べたらWorldEdit というのが人気で有名。独自のコマンド体系を使ってマウスでお絵かきするみたいに世界を削ったり作ったり出来るらしい。うん、悪くない。 そして別にScriptCraftというのも見つけた。こちらはWorldEdit
次期プロダクトでReact.jsを使ってみようと思っていて、その設計をどうすれば良いのかと試行錯誤した結果、それなりにイケてる結論に辿り着いたので、そのメモ書きです。 作ってみれば、Fluxとはこういうことか!というのがわかります。(若干アレンジはされてると思うけど。) それまで漠然と「ふーん、なるほどね。。」みたいな感じでなんとなくしか理解してなかったFluxが実は超画期的なパラダイムシフトであったことに気がついて結構衝撃を受けています。(^^; ちなみにプログラミングの文脈でeと言ったらまず思いつくのがEventかExceptionのどちらかだと思うけど、この場合はもちろんEventのことです。 すべてがExceptionになるのなら、即刻使うのを止めた方が良い。(^^; Fluxとは Fluxの説明では必ずと言って良いほど参照される図なので見たことある人も多いと思うけど、こういうアー
Original:Make for the Web Generation (2015-02-28)by Casper Beyer イントロ JavaScriptの普及に伴いビルドツールが盛んだ。人気なものをいくつか挙げれば、grunt、gulp、slush、broccoliやbrunchなどがあるが、結局、名前をつけただけにすぎない。 多かれ少なかれ、これらのツールはファイルコピーからzipファイル作成のようなシンプルなタスク処理でさえ、すべてプラグインに依存しているので、それらのタスクを実行するためにプラグインを必要とするだろう。 これらのツールは理想論的には大きな柔軟性をもたらすものとされているが、実際はUNIXのエコシステムをただ複製しているだけにすぎない。このために君のプロジェクトは早々に、大きな開発依存性のバンドルを持つことであろう、そして、やっているタスクは単なる普通のコピー、
こんにちは丸山@h13i32maruです。 ES6(ES2015)にclassシンタックスが入って、あー、すごい書きやすくなったなぁ、読みやすくなったなぁと思ってclassシンタックスのありがたみを噛み締めながらコードを書いています。 そんなときに ES6にclassシンタックスが導入されたけど、 クラスベースになるわけではなくて所詮ただのプロトタイプベースを使ったシンタックスシュガーだ というような話をちょいちょい耳にします。こういう話を聞くたびになんだかもやもやしていたので、ちょっと自分の中の考えを整理してみようと思います。 注意: 以下はあくまで僕個人の考えということでよろしくお願いします。 OOPとは 「OOP」「クラスベース」「プロトタイプベース」について順番に整理します。まずはOOPについて。 僕はオブジェクト指向というのは以下のどちらかまたは両方を指すものだと考えています。
JSer.info #223 - John Resig - Annotated Version of the Original jQuery ReleaseではjQueryの作者であるJohn ResigによるjQueryの初期バージョンのアノテーション付きソースコードが公開されています。 Genius | Annotate the world 上記のページで公開されていて、jQueryの名前の由来、prototype.jsからインスパイアした$、メソッドチェーンの仕組み、CSS Selectorsの原点の話、タグ文字列からのDOM要素作成などjQueryの特徴的な機能がどういう意図で実装されていたのかを振り返る内容になっていてとても面白いと思います。 jQueryがJavaScriptに与えた影響は大きいので、2006年前後のブラウザやJavaScriptの歴史を振り返るような内容にもな
JavaScript の Promise を返す関数を直列で実行したいので Pinscher というライブラリを作ってみた。 - (define -ayalog '())について。 例えば、非同期に実行されるPromise p1, p2, p3があったとしてcallbackをp1, p2, p3の順番に実行したい場合、reduceが使える。 例1は、p1, p2, p3を並列に実行した上で、callbackの順序を保証したい場合。 まずテスト用に、一定時間まってからvalueでresolveする関数resolveLaterを定義しておく。 function resolveLater(value, ms) { return new Promise(function (resolve) { setTimeout(function () { resolve(value); }, ms); });
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く