Sapporo.js - 2012/08/26 に参加してきたよ!
参加してきたのでメモー
「Javascript: The Good Parts」 の読み合わせ(前半)
- 前回どこだっけw
- p.91 array.slice からということでw
- array.slice(start, end)
- 配列の一部分のコピーを生成するよ
- マイナス値を指定した場合は配列の末尾側からの指定
(実際には"指定した値 + length"を指定したような扱いらしい) - array.slice(0) で配列のコピーできるよ!
- arguments のコピーとかでもよく使われる
Array.prototype.slice.apply(arguments); - array.splice(start, deleteCount, item...)
- 配列の要素を置き換える
- 破壊的操作!
- slice とは引数の指定の仕方が異なるぜー
- 戻り値に削除された要素が入ってくる
- 戻り値とか、破壊的操作とかあんまり直感的じゃない感
- array.sort(comparefn)
- 配列自身の中身をソートしたものに置き換える
- 破壊的!
- 戻り値もソートされてる
- 対象となった配列もソートされている
- Object.freeze を使うとソートも禁止できる
- この場合、sort をかけても順番は変更されない
- この場合でも slice でコピーされた配列についてはソート可能
// コピー後の配列をソートする
a.slice().sort()
- 数値の配列は正しく並べ替えることはできない!
- 要素の並べ替えは文字列とみなしてソートしてしまうのだぜー
- 自分で比較関数を用意すればおk
a.sort(function (a, b) {
return a- b;
});
- 比較関数を引数で渡せるよ
- 比較結果が同じだった場合に別の方法でさらに比較する、みたいなことも可能
@y_jono さんの発表 - 「Javascript: The Power of Simplicity」
- 初発表!
- おお、意外?!
- テーマ:Javascript の表現力は世界一ィィィー
- 表現力がある -> 製薬がない
- Javascript のオブジェクト指向で良いプログラムを書くには?
- アイデアを考えてきたよ
- OO ってなんだっけ
- 認識が違うと話は咬み合わないよねーってことで
- 継承とか prototype とか mixin とかの話
- Javascript のできた時の話
- Javascript のベースになったのは SELF(プロトタイプベースオブジェクト指向), Scheme(関数型), Java
- "SELF: Power of Simplecity" という論文がある
- Javascript の長所と短所
- ここが長所なんちゃう?
- 強力な表現力
- Prototype.js とか jQuery とかねー
- マルチパラダイム(OOP, FP, 手続き)
- (マルチパラダイムっていうと C++ ェ・・・)
- ここなんて短所?
- 保守性の低下(コードが人に依存する)
- たくさんのバッドパーツ
- prototype と向き合う
- SELF について知る
- Prototype-based OOPL
- prototype: Smalltalk の class を包含するような概念
- Smalltalk は動的な言語、環境、システム
- ルールのシンプルさと操作性
- Object はスロット(≒プロパティ)の集合
- Javascript と違うのは関数の実行も意識させない?
- 手続きが格納されている場合、手続きの結果が自動的に実行されて帰ってくるらしい・・・
- (ほえー)
- SELF を触ってみる
- mac / solaris で動く
- *.snap をクリックすると仮想マシンが動く、環境含めて SELF
- GUI 環境
- スロットを書き換えることでプログラミングをする?
- 複数の prototype を持つことができる
- これを知れば prototype 風に Javascript の良い使い方ができるのでは?
- Javascript と上手に使うには
- prototype を共有のための仕組みと捉えたらどうですかねぇ
- (このあたりで力尽きた・・・)
@havanaclub_ さんの発表 - 「WebGL - 基礎と概要」
- WebGL とは
- OpenGL ES 2.0 の Javascript porting
- canvas 内に描画できる
- GPU 使える
- 過去にセキュリティ的な問題があった
- Firefox, Chrome, Safari, Opera はいけるらしい
- モバイルでも頑張れば使える、近い将来・・・
- OpenGL ES 2.0 とは
- OpenGL 2.0 のサブセット
- 最近のスマホの標準
- デモ
- ミクミクダンスとか
- (よく動くなー、すげー)
- これが嬉しいぜー
- デプロイが必要ない
- クロスプラットフォーム
- クロスデバイス(予定、何年か後にはいけるでしょうとのこと)
- Programmable shader
- 全部の描画を Programmable Shader を使わないといけない
- パイプラインにデータとシェだプログラムを投げて実行させる
- (まじかー、頂点シェーダー使ったことないからよくわからんけど大変そう。)
- GLSL を文字列で投げてやるらしい、ぅおー
- 結構めんどうらしい、ぅおー
- (プログラミング側で色々 Open GL の API を叩いていた部分をほとんど GLSL で記述するようなイメージっぽい。ほむほむ。)
- サンプル
- しょぼいサンプルのために 187 行(・・・!!)
- やってられんわー
- ライブラリあるよ
- three.js
- PhiloGL
- GLGE
- SceneJS
- 上3つはさほど変わらない
- three.js がオススメ
- 最近本が出た
- 単純なオブジェクトの生成
- ボーン、IK(手の先端に関節がついてくる、みたいな機能)の管理
- モデルデータ、テクスチャ、カメラの管理
- FOGとか
- デモ
- 大分短くなってるわー
- (3D なのに行列演算が出てきてない!まじかー)
- 使い道?
- ゲーム方面
- Quake 2 は移植できたらしい
- グラフとかー
- 本
- O'reilly - WebGL
- 今月出たばっかの本
- three.js ベース
- とても良い
- Professional WebGL Programming: Developing 3D Graphics for the Web
- 初心者向け?
- 絵を出してテクスチャ貼るところまで
- もう一冊本当に初心者向けの本があるらしい
- OpenGL Insights
- Programming OpenGL ES 2.0
- これまえはなさんが持ってたー
- 日本語版があるよー
- OpenGL 4.0 Shading Language cookbook
- GLSLはこれがいいらしい
- ただし GLSL のバージョンが違うので注意
コメント
コメントを投稿