エマ: 2013年5月アーカイブ

「ヤフーの不正アクセス、不可逆暗号のパスワードや「秘密の質問」も流出の可能性」
http://japan.cnet.com/news/business/35032466/

暗号化されたパスワードも、解析されると暗号化される前の生のパスワードを知られる恐れがあります。
24日(今日)に該当するユーザーは再設定が促されるそうですが、
該当している人はもちろん、該当しない人でも、念のためにパスワードを再設定された方がいいと思います。
(私もすでに再設定しました。ちなみにパスワードは記号を含めた20桁くらいの長いものにした方がいいです)
なおかつ、さらに慎重を期してワンタイムパスワードやシークレットIDを設定されるとよいでしょう。

秘密の質問については、元々再設定ができない仕様だった模様?(未確認)

というか、設定した秘密の質問の「答え」を平文のまま保存していたって本当なの? 危険すぎるし漏れたら内容によってはいろんな意味で困るだろ。
困る以前に、あまりにユニーク(可笑しいという意味でなく、他にはないという意味)な情報を設定していた場合は、個人が特定されてしまう危険性すらあるんだし。

ネットはこういうことがあるから怖いですね^^;

追記:読売新聞のニュースで、もっと突っ込んだ内容が書いてあります。
http://www.yomiuri.co.jp/net/security/goshinjyutsu/20130524-OYT8T00882.htm
そうですね。確かに、他サイトのアカウントの方が狙われる可能性は高いですね。
パスワードの使い回しはもちろんダメですし、パスワードはサービス毎に変えていたとしても、秘密の質問は回答を使い回している人は意外と多いかもしれません。
これを機に、利用しているすべてのサービスのパスワードと秘密の質問を見直すのも良いと思います。

■お勧めのパスワード・秘密の質問の管理方法
とにかく、パスワードの使い回しはダメです><
私は以下のように管理しています。

パスワード管理ソフトを使って、利用するサービス毎に個別のパスワードを設定、同ソフトで管理する。
・各サービスのパスワードは、できる限り「記号を含めた20桁以上」のものにする(サービス側の仕様で無理な場合でも、できるかぎり複雑にする)。大抵のパスワード管理ソフトには、複雑なパスワードの生成機能が備わっているので、その機能を利用する。
・パスワード管理ソフトのマスターパスワードはとにかく長く複雑なモノにする。各サービスのパスワードは、管理ソフトでその都度確認すればいいのだから、覚えなければならないパスワードは、このパスワード管理ソフトのマスターパスワードのみ。これだけ覚えていれば良いのだがら、複雑なものでも我慢して覚えよう。絶対にどこかにメモったりしないこと。
・パスワード管理ソフトで管理しているパスワード情報ファイルは、オンラインストレージなどのWeb上にはアップロードしない。
・サービスによって、ワンタイムパスワードや2段階ログインなどのセキュリティ対策を取っている場合があるので、できるだけ利用する。

パスワードを「記号を含めた20桁以上のもの」に設定しておけば、ハッシュ化(暗号化)されたパスワードが流出した場合でも、パスワード特定までに時間を稼げます。(ただし、サービスごとにパスワード、秘密の質問の使い回しをしていないことが前提です)
セキュリティリスクが判明したら、できる限り早くパスワードと秘密の質問を変更しましょう。

(前回の記事の続きです)

さて、自作のWebGLのゲームをenchant.jsベースで作り直そう、とした場合にですね。
問題となってくることがあると書きました。

それはなにかというと、enchant.jsのWebGLプラグインである「gl.enchant.js」を使うべきか否かという問題です。
gl.enchant.jsはenchant.jsのお作法ベースで簡単にWebGLの機能が使えますよ。という、いわばシーングラフベースに近い3Dライブラリなんですが、
これがまた自由度が低い低い、非常に割り切った設計になっています。

(以下はgl.enchant.jsのバージョン0.3.7の仕様)
・プリミティブの形式はgl.trianglesのみ(ストリップとかファンとかは使えない)
・デプステストやカリングの有無を切り替えられない(有効で決めうちされている)
・自前のシェーダーが使えない(gl.enchan.js内部で独自のシェーダーが使われている)
・ライティングが標準で有効(オフにできない)
・シェーダーを切り替えられないので、マルチテクスチャとか当然できない。

ほんとに、「ボク3D初めて!」な人向けのライブラリですね。
glコンテキストを取得すれば、色々できるのでしょうが、glコンテキストを引き渡してくれるメソッドも無い模様。

一応、任意形状のポリゴンを描画する機能はあるようですが、いかんともしがたい作りです。

とはいえ、改造してしまえばそれなりに便利そうなんじゃないかというのも事実。
というか開発した人が「そういうことやりたかったらぜひ改造してください」的なノリみたいなw

gl.enchant.jsの補助プラグインで、MMDプラグインとかCOLLADAプラグインとかあるしなー。これらの中身まだちょろとしか見ていないんですが、
これらがちゃんと動いているのは、gl.enchant.jsのドノーマルの機能を使っているのではなく、
実際、gl.enchant.jsのメソッドを上書きして、シェーダーをプラグイン独自のものに切り替えたりとかして、色々やっているわけです。

正直、enchant.jsベースにしつつも3D描画についてはglコンテキストを抜き出してgl直打ちした方が自由度は高いんでしょうけども、
gl.enchant.jsベースにすれば、コーディングの作法がenchant.jsベースの作法に統一できるし、シーングラフベースのAPIはいろいろ楽なことも確かです。

問題はパフォーマンスと細かい制御なんですが、
・前者については、作ろうとしているゲームが、FPSやアクションみたいに、べらぼうにシビアな描画パフォーマンスを要求するようなゲームではない。
・後者については、gl.enchant.jsを改造すればいいんじゃね? もしくは機能を上書きするプラグインを開発すればいいんじゃね?

ということで、検討を重ねた結果、gl.enchant.jsベースでやってみようかという方向に傾き中です。

しかしなー。どうなんだろうなー。エフェクトツールの「BISHAMON」がそのうちWebGLランタイムをリリースするらしいし、
そうしたら多分、絶対glを直接いじらないと使えないようなランタイムだろうから、
gl.enchant.jsと併用するには、BISHAMON.gl.enchant.jsみたいなプラグインを自作しないとダメだろうなw

うーん。色々大変になりそうだ……。この判断が吉と出るか凶と出るか……w

っと、その前にまだこのことをbeiさんと相談していないんだった(汗)
こういうことはちゃんと話し合った上で決めないとダメだよな^^;

前回の記事で、WebGLによる3D描画と、enchant.jsによる2D描画を組み合わせることを検討しているという話をしましたが、一つ問題があります。

ゲームループの問題です。

現在、私のWebGLゲームプログラムはrequestAnimationFrameによる自前のループを持っています。まぁゲームなんだから当然ですよね。

で、2D描画をenchant.jsにやらせようと、enchant.jsを軌道(game.start())すると、そう、enchant.jsのゲームループ(requestAnimationFrame)も回るのです。

つまり、ゲームループが2重に発生してしまう。

以下の清水氏による記事では、
http://d.hatena.ne.jp/shi3z/20130521/1369101883

< 引用ここから>

enchant.jsはフレームワークとライブラリの間にあるギリギリの線を狙っている。
 enchant.jsはしかし厳密にはライブラリである。

 なぜかというと、

enchant();

window.onload=function(){
core = new Core(320,320); //ここでコアを初期化する
}

 このように、ライブラリの導入からコアの起動までをユーザが記述する必要があるからだ。
 純粋なフレームワークなら、window.onloadの処理は隠蔽する。

< /引用ここまで>

厳密にはライブラリ、とのことで、その思想含め、「なるほどなぁ」と思いましたが、
やはりenchant.js自身でゲームループを管理している以上、「やはりフレームワークなんじゃないか」という気もするわけです(笑)

で、解決方法ですが、考えられるのは以下の二つですね。

A) enchant.jsを改造して、自前のゲームループを使わせるようにする。
B) 思い切って、ゲームループはenchant.jsに任せてしまう。

いろいろ考えたんですが、A)の改造をした場合、enchant.jsのバージョンアップのたびに改造しなきゃなりません。(いっそゲームループ関連をカスタマイズできるようにしたものをPull Requestしてしまうという手もありますが……多分絶対はねられると思う)

B)の場合、それならもう全部enchant.jsベースでゲームを作り直した方がいいんじゃね? という話にもなります。

実際、enchant.jsはプラグイン含め、日を追うごとにどんどん高機能化・多機能化しており、乗っかってしまった方が、ゲームに求められるもろもろの諸機能を自作するより開発効率は間違いなく上がるでしょう。(パフォーマンス面はちょっと気になるんですけどね)

なので、今のところ、ゲーム全体をenchant.jsベースに作り直してしまおうという方向に傾きつつあります。

ただ、これはこれでまた別の気になる問題があります。それについてはまた後ほど……。

WebGLでのゲーム開発。ぼちぼちと進んでいます。

ゲームのジャンルは何かというとRPGなのですが、最近のRPGといえば、キャラクター同士の会話シーンがありますね。ノベルゲームとかADVゲームみたいなゲームによくある、キャラクターの立ち絵があって、画面下にメッセージボックスがある感じの。

ああいうのは、WebGLで描画するより、2D Canvasで描画する方がいろいろとやりやすいです。

とはいえ、それでも2D Canvasを直に触るのもめんどいので、enchant.jsを採用しました。enchant.js、そういうノベルゲームを簡単に作れるプラグインがありますし(そのプラグインまで実際に採用するかは別にして)

最近のenchant.jsは、デフォルトではDOMベースではなく、Canvasベースの描画システムです。

さてさて、本題はここから。
WebGLは、jpgやpngといった画像ファイルだけでなく、2D Canvasもテクスチャとして利用できるのです。

ということは、enchant.jsで描画した2D Canvasを、WebGLのテクスチャとして利用できるはずなのです。

実際に、こちらのサイト様のコードをベースに、実験してみました。
http://edotprintstacktrace.blogspot.jp/2012/01/html5-canvas-2d-context-webgl.html

実験結果がこちらの動画。
http://www.screencast.com/t/P6rMKeKn

通常のテクスチャ(犬の画像)に、マルチテクスチャでenchant.jsで描画したCanvasテクスチャ(クマ)を合成しています。

enchant.jsのCanvasの中で、描画していない部分(クマの周り)は、アルファが0なので、アルファ抜きもできているわけです。
試してませんが、当然アルファブレンディングもできるはずですね。

というわけで、WebGLと2D Canvasの描画の使い分け、おすすめです。

WebGLであるゲームの開発をやっているんですが、テクスチャ関連で以下のエラーが出てくるんですよ(ちなみにブラウザはChrome)。

RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'

もうね。何かと思って。テクスチャサイズは256x64だし、フィルタリングの指定も間違ってないし。色々ググったり試行錯誤して辿り着いたオチが……。

「テクスチャ画像の読み込みが完了していない状態でレンダリングを行ったから」

あー、たしかに or is not 'texture complete' って書いてあるけどさ……。
ふつー、non-power-of-2の方に注目しちゃうだろ。
おいら、まさかなーあるわけないよなーとか考えながらも画像サイズを256x256に変えてみたりとかアホみたいなことしちゃったじゃまいか。

何が ~ or ~ だ。どっちの原因なのかそこまでちゃんとチェックして、適切にエラーを出せ、と。

WebGLの画像ファイル読み込みは非同期なので、ちょっと横着して、テクスチャの読み込みが完了する前に描画命令しちゃうのはよくある事だと思うのですよ。

そういうケースも考えて、シンプルに「まだロード完了してないよん」とか言ってくれればいいのに、「non-power-of-2」とかいうからもう誤解しちゃったじゃんよ。

こういう「原因は〜〜〜かもしれないし〜〜〜かもしれません」的なエラーって設計した人はどういうつもりで作ったんだろう。
仕様的に判断が難しいというのは考えづらい気がするんだよなー。

また一つの時代が終わりを迎えつつあります。
http://snn.getnews.jp/archives/81983

「ぜひウェブ遺産に」というのは私もまったく同意でございます。
富士山もいいですが、親しみ度という点では互角、しかしインパクト的にはこちらが遙かに上をいっていると断言してかまわないのではないでしょうか技術的には一時バズワードとして一斉を風靡したWeb2.0(笑)どころでないノスタルジックな領域ではありますが、当時としてはあくまで最先端な試みを多数していたことは忘れてはならないことでありなによりもそのデザインセンスの神さについては私も一時期ネタで真似をしようとしたのですが結局同じインパクトは出せませんでしたこれは後天的な努力ではいかんともしがたい領域でありましてやはり天才というものは純粋な知的好奇心ですとか愛生会だけに「愛」ですとか、模倣してウケようなどという下心では到底到達しえない境地に達しておられるから実現可能なのだなぁという気持ちを新たにしつつこのニュースを見ているわけでありますが、ウェブ遺産として永久保存するだけでなくどなたか最新のHTML5技術を使ってこのHP(Webページではありません敢えてホームページというべきなのは異論のないところではないかとおもわれるわけです)の完全再実装を試みる勇者はいないのかと心待ちにしているわけでありますが、さすがにそういうおまえがやってみろといわれると、近々受けられるかもしれないお仕事のHPでこのデザインを提案してみようかとちらと思うわけでありますが、そんなことをしたらきっともう二度と仕事が来なくなるんだろうなぁという世知辛い現実にため息をつきつつ、何が言いたいんだかよくわからなくなってきたのでまとめに入らせていただきますが、みなさまにおかれましては引き続き楽しいインターネットライフをお楽しみください。

わざわざこのブログで取り上げることもないと思っていましたが。

いや、しかしれっきとした政党の代表者がこんな発言をする、という事態の大きさは無視できないと思います。

橋下氏の発言要旨
大阪市長・橋下徹氏ぶらさがり取材全文文字起こし

私は特に女性権利とか女性問題について意識が高いわけではないですが、この発言はダメでしょう。どっからみても終わってます。

仮に、100歩譲って、こうしたもので兵士たちに対してある程度の効果があったとしても、女性にしてみれば、こうした「仕事」(?)に好きこのんでなった人はいないはずじゃないか。
お金のためにしかたなく、という人がほとんどでしょう(そうした女性たちの置かれた経済状況じたいがむしろ問題だと思います)。

女性の立場を完全に無視した考えで、反発食らうのは当たり前です。

しかし、もしこうした慰安婦のようなものが世界的・歴史的に必要悪として使われていたというのが事実だとすると、男というのは本当に困った生き物なのだな。と思います。(という私も男性なのであんまり説得力ないのかも(汗))

いずれにしても、今回の発言で、すでにヤバい状態だった維新の会もいよいよ終わりですね。元々なんか勘違い言動が多かった石原氏(自分の言動に責任持たないし、「右」ならなんでもいいってわけじゃない)が居た時点で私は支持していませんでしたが、もーほんとどうでもいいです。

参院選、民主も反省会は大失敗だったようだし、株価高騰でアベノミクス礼賛状態の自民がやはり大勝でしょうか。アベノミクス、私はあれ実はヤバいと思ってるんですけどね。


追記1:石原氏も擁護したらしい。おいおい。両名ともこんなんじゃホントに維新ダメだぞ。まぁ彼らしいけど。

追記2:知人から、「橋下氏のツイッター見ると、彼の本音がよくわかるよ」といわれたので、見てみたけど……。もうね。突っ込みどころがありすぎて呆れる。見たい人だけどうぞ。こんな人、絶対支持するつもりはありません。いや、感情的になっているわけではなく、現実的に考えてこの人じゃ無理だと思う。

追記3(2013/05/15 - 1:16):
橋下氏がまたツイッターの更新を始めた。内容が徐々に釈明に変わってきているが、もはや内容の問題じゃない。ここまで事が大きくなっておきながら、未だ誰のチェックも通さずに、未だにスイスイと持論を放言する方が怖い。それを野放しにしている維新の会も大丈夫か? ここは殴ってでも止めろ。これ以上は日本にとって恥でしかない(泣)

追記4(2013/05/15 - 22:15):
我慢できなくなって、ついに橋下氏にレスってしまった。私も大人げないですね。
いい加減、お前も物好きだなとか言われそうであれなんですが、もう少しお付き合いを。
「リスク管理能力の無さを露呈するだけだから、もう軽はずみなツイートはやめろ」という趣旨を本人に訴えてみたんですが、しばらく静かになったと思ったら(まさか、私の言葉が届いた訳じゃないでしょうが)、またツイートを始めました。
一連の発言の流れを観ていた人は、どんどん発言内容が軌道修正されていることに気が付かれたかと思います。現在のツイート内容は、一見もっともそうな意見に聞こえ、さすがに当初のようなトンデモ発言ではなくなってきました。が、すでにここまでの事態になった以上、「橋下氏が発言している」というだけで信頼性がなくなっています。国外はもちろんのこと、国内の人々にもその声はもはや届かないと思います。
残念な事ですが、世の中、「何を言ったか」よりも「誰が言ったか」の方が重要とされる時があり、まさに今がそういう時なんでしょう。
また、維新の会のツイッターアカウントは、この問題について事実上だんまりを続けており、また松井幹事長は未だに「誤解があったとしたら残念」などと言っている始末。そして、橋下氏のツイッター持論展開にストップをかけよういう動きは未だ見られないようです。
これは、もはや橋下氏、石原氏、松井氏というキーマンたち自体に大きな問題があるというだけでなく、維新の会自体に危機管理能力と自浄作用が殆どないことを意味しています。
私も、人は憎みたくありません。悪口も言いたくありません。ですが、日本維新の会は本タイトルにもある通り、もう二度と浮上することはできないのではないかと思います。
私も、ここまでツイートに付き合っていて、色々な意味で気力を消耗し、げんなりました。
しばらく、体と心を休めたいと思います。

えびさんの小説「2人のモモ」第6話を公開しました。

かつての思い出のお兄さんとの回想が見られたりと、今回もみどころのあるお話です。
ぜひご覧ください♪

このアーカイブについて

このページには、エマ2013年5月に書いたブログ記事が含まれています。

前のアーカイブはエマ: 2013年4月です。

次のアーカイブはエマ: 2013年6月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。