25 歳くらいのゲームプログラマの人がやる Adobe AIR を使った比較的真っ当なゲーム開発 Created: 2012-10-23 Modified: 2012-10-23 Written by Tatsuya Koyama このページは この文書は平行世界における 16 歳の僕へ向けたメッセージだ。 平行世界における 16 歳の僕は、恐らくゲームを作りたいと思っているだろう。 夢見る少年である君は、自分の頭の中に溢れるイメージを形にしたくて仕方がない。 絵を動かすこと、音を鳴らすこと、プログラムを書くことに興味を抱いてやまない、 でも何から手をつけていいかわからない、そういう年頃だ。 君に朗報がある。25 歳の僕も、まだゲームを作りたいという信念を持ち続けている。 そして運良く、ゲームを作るという職業にもついている。 コンソールライクなスマートフォンのソーシャルゲームを作って運用す
そんな訳で、普段何気なく使っているjQueryですが、そのセレクタAPIについて多少は知っておいたほうが良いよなということで、いくらか調べてみました。けっこう地味な内容なので、「へー、そんな風になってるんだぁ…」と軽く読み流していただければと思います嘘です。割と大事な内容なので、しっかりと把握しておくのがよろしいかと思います。 はじめに - jQueryのセレクタAPI jQueryでは、$('#hoge .fuga');というようにCSSのセレクタを用いてHTML要素を取得します。あまりにも便利な機能で普段意識することはありませんが、内部ではgetElementById();といったブラウザのネイティブAPIを駆使したり、JavaScriptゴリゴリのメソッドを呼びまくって指定どおりの要素を取得してきているわけです。こういった機能のことをセレクタAPIと呼びます。 セレクタAPIの内訳
入力チェックを正規表現で行いたい場合、以下のようなパターンが使える 「ASCII文字」のみ public static final String MATCH_ASCII = "^[\\u0020-\\u007E]+$";「英字」のみ public static final String MATCH_ALPHA = "^[a-zA-Z]+$";「数字」のみ public static final String MATCH_NUMBER = "^[0-9]+$";「ひらがな」のみ public static final String MATCH_HIRAGANA = "^[\\u3040-\\u309F]+$";「カタカナ」のみ public static final String MATCH_KATAKANA = "^[\\u30A0-\\u30FF]+$";「半カタカナ」のみ public
Rubyのデフォルト引数では、他の引数に依存した式を書ける。地味に便利。 [1] pry(main)> def foo(a, b = a * 2) [1] pry(main)* puts b [1] pry(main)* end => nil [2] pry(main)> foo(3) 6 => nil 再帰もかける。デフォルト引数で再帰させてフィボナってみる [3] pry(main)> def fib(n,r = (n <=1 ? n : fib(n-2) + fib(n-1))) [3] pry(main)* r [3] pry(main)* end => nil [4] pry(main)> 11.times do |n| puts "fib(#{n}) => #{fib(n)}" end fib(0) => 0 fib(1) => 1 fib(2) => 1 fib(3) =>
ジュンク堂池袋本店にて 10/11 に行われた「パターン認識と機械学習」(PRML) 愛好家の集まり、じゃあなかった、トークセッションにのこのこ行ってきた、ばかりか前でしゃべってきた。ありがとうございました&お疲れ様でした>各位 PRML同人誌 『パターン認識と機械学習の学習』(暗黒通信団) 刊行記念トークセッション 「今度こそわかる!? PRMLの学習の学習」 http://www.junkudo.co.jp/tenpo/evtalk.html#20121011_talk 参加して下さった上に感想までブログにしたためて下さった方には感謝感謝なわけだが、そういったブログの中で、@yag_ays さんがちょうど今気にしていたことを書かれていたので、ちょこっと紹介。 「今度こそわかる!? PRMLの学習の学習」に参加しました - Wolfeyes Bioinformatics beta 余談:
そんな訳で、JsDocについて少し調べたので、備忘録としてここに残しておくとします。 はじめに - JsDocについて Java開発者の方々ならば、JavaDocというのは馴染み深いを通り越して、もはや聞き飽きているかもしれません。同様にFlashのActionScriptにはASDoc、PHPにはPHPDocなるものがあります。ちょっとした規模のアプリケーションを開発すると、後々の保守を考慮してこういったAPI仕様書を作成し、後から「あれ、ここの処理って何の為にあるんだっけ?」となっても、ソースコードを直接追いかけることなく、概要を大まかに確認できるようにしておくのが慣例かと思います。※あくまで慣例です。実際にやっているかどうかは・・・(ry JsDocは、名前のとおりJavaScriptのAPI仕様書を指し、JavaDocと同様にHTMLドキュメント形式で出力されたもので、Webブラウ
Webサイトのトップページで表示するお知らせ情報など、レイアウトの都合上、長い文字列を特定の文字数でカットしたいことはよくあることかと思います。 そんな際にjQueryを使って文字列を任意の文字数でカットして、末尾に「…」などの追記情報(これも任意の文字列)を追加するやり方をシンプルなスクリプトで実装する方法をご紹介してみます。 【テキストのみ】 jQueryで文字列を特定の文字数でカットして末尾に「…」などを追加する方法 まずは実装するHTMLソースが下記のような構成だったとします。 ◆HTML <ul> <li>このダミーテキストは文字数カット用です。このダミーテキストは文字数カット用です。このダミーテキストは文字数カット用です。このダミーテキストは文字数カット用です。このダミーテキストは文字数カット用です。このダミーテキストは文字数カット用です。このダミーテキストは文字数カット用です
プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自
※1.X系は開発対象になることがほとんどないため、表から除外しています。 3.ネットワーク オフライン、3G、wi-fi、LTEとスマートフォンではネットワークの種類がいくつかあります。何もここまでと思う方もいらっしゃると思いますが、3Gとwi-fiで動きが異なるということも実際あったので、開発対象のアプリがどのネットワークを対象としているのかは明確にしておく必要があります。 4.テスト範囲 端末とOSのバージョンを組み合わせただけで相当数のパターンができます。全ての端末、全てのOSのバージョン、全てのネットワークの組み合わせでのテストは現実的には不可能ですので、開発でのテストの範囲を決めておきましょう。またテスト範囲には、弊社諏訪が書いた記事「Androidの結合テスト」で書いていましたが、どこまでテストを深くやるのかも決めておくべきです。 5.リリース 開発までで終わりなのか?ストアの
GPLのコードを1行でも取り込んだ場合は、ソフトウェア全体をGPLで配布しなければいけませんが、BSDやMITライセンスのコードを一部取り込んだ場合のライセンス表記ってどうなってるんだろう?と思っていろいろ調べてみた。 BSDライセンスに関しては、Wikipediaによると以下のような記載がある。 「無保証」であることの明記と著作権およびライセンス条文自身の表示を再頒布の条件とするライセンス規定である。この条件さえ満たせば、BSDライセンスのソースコードを複製・改変して作成したオブジェクトコードをソースコードを公開せずに頒布できる。 ようするに、「無保証の明記」と「著作権表示」をどこかに書いておけばOKということのよう。 ちょっとひっかかるのが「ライセンス条文自身の表示」の部分。ライセンス条文を書いてしまったらBSDライセンスのコードを再利用しているソフトウェア全体がBSDライセンスで配布
先日より近日公開予定としていたQiita API、その全貌がついに明らかに! Qiita API documentQiita APIのドキュメントはこちらで参照することができます。 Qiita APIではQiitaから様々なデータを取得したり投稿の実行することが可能です。 さらに、投稿のストック/ストック解除も可能になりました! Qiita gem加えて、Qiita APIのためのQiita gemを公開しました! Qiita gemはgithub上で参照することができます。 Qiita gemを使うことでQiita APIをRubyで簡単に利用することができます。 本日公開されたQiita API、Qiita gemは今すぐ触っていじることが可能です! Qiita Hackathon 10月13日(土)開催!10月13日(土)開催のQiita Hackathonは「Qiita APIを使
jQueryを使ってメモ帳アプリを作る jQueryの定義ファイルは公式サンプルのいくつかに同梱されている。jQueryUIの定義ファイルと合わせて下記にもコミットした。今回はなんちゃってMVCでメモ帳を作る。機能は保存ボタンを押したらlocalStorageにデータを保存して一旦とじてもメモ帳として使える簡易Webアプリとする。 TypeScriptをjQueryで使う方法 TypeScriptでjQueryを記述したファイルをコンパイルしようとしても The name 'jQuery' does not exist in the current scope となってjQueryなんてありませんと怒られてしまう。jQueryを使ったコードをコンパイルしたい場合はjQueryの定義ファイルを読み込む必要がある。 jQueryの定義ファイル jQueryの使い方 定義ファイルを作業フォルダに
特に何か目的があるわけじゃないんですが、JavaScriptの練習のためにゲームを作ってみました。 Regex Of The Dead タイピングゲームのように正規表現を練習するためのシンプルなゲームです。ゾンビと一般人が迫ってくるのでゾンビの名前にだけマッチするように正規表現を入力して倒していきます。 HTML5の流れでオーディオ、グラフィック、フォントがHTML/JavaScriptで簡単に扱えるようになり、さらにenchant.jsのようなゲームエンジンも充実してきて、ゲームもJavaScriptだけで気軽に作れるようになってきたようです。 そんなわけで試しに書いてみたのがRegex Of The Deadです。プログラミングは長いことやっているもののゲームを作ったのは大学のとき以来かもしれません。 最初、何か良さそうなゲームエンジンがないものかいくつか調査しましたが、こういったタイ
社内で、SQLインジェクションについてあらためて原理・原則から議論したいねという風潮がにわかに起こったので、ひとまずは叩き台として僕の方でまとめて皆で議論しましょうというわけで、以下のような資料を作成した。 社内勉強会用の資料なのだけど、僕は別にセキュリティに詳しいわけでもないし、ましてやPHPのことは素人なので、外部の識者にレビューしていただいて、できるだけ正しい知識に基づいて議論できればと思い、まずスライドを先行公開することにした。そうしたところ、Twitter上で多数の識者よりいろいろとご指摘いただいて、少くとも決定的におかしな内容にはなっていないものになったようだ。ありがとうございます。 僕らの職務のひとつに「セキュリティ関連」というものも謳われているので、そのあたりの知識普及・基盤整備についても、仕事のひとつとして行っている。先にも書いた通り、僕自身がその点についてよく理解できて
iOSアプリを開発していて、例外が発生してアプリがクラッシュしてしまうことがしばしばあります。 Xcodeでは、クラッシュ時に得られる情報が少ないので、原因究明に時間がかかってしまいます。 そんなときは、「NSSetUncaughtExceptionHandler」を使用すると便利です。 まず、試しに、よくある例外をわざと発生させてみます。 - (void)viewDidLoad { [super viewDidLoad]; // ここで、わざと例外を発生させてみます。 [[NSArray array] objectAtIndex:0]; } 実行すると以下のようになります。 「UIApplicationMain」で止まってしまって、状況がよくわかりません。 「NSRangeException」が発生したことくらいはわかりますが、もう少し情報が欲しいところです。 そこで、「NSSetUnc
はじめに Android SDK には、面倒であったり、冗長になりがちな処理を行なってくれる Util クラスが数多く存在します。 意外と知られていない便利な Util クラスもあります。 ということで、Androidアプリを開発する上でぜひ使っていきたい便利な Util クラスをまとめました。 TextUtils Linkify DateUtils Formatter Pair SparseArray FloatMath Color ThumbnailUtils TextUtils http://developer.android.com/reference/android/text/TextUtils.html String の Util クラスです。 isEmpty は String の null と length = 0 をまとめてチェックしてくれます。このあたりはよく必要になるん
はじめに 正規表現とそのエンジンについてちょっとメモ。 正規表現とは 文字列の集合を文字列で表現する方法の一つ 正規言語を表現するための手段 「正規言語」とは、「有限オートマトンで受理可能」な言語 正規表現と有限オートマトンは記述能力において等価 任意の正規表現は、有限オートマトンに相互に変換可能 有限オートマトン 以下の5つの組(Q,Σ,δ,q0,F)のことをいう 有限状態機械ともいう 有限個の状態Q 有限個の文字集合Σ 状態と文字集合の組から状態へ遷移する関数δ 状態Qの一つとして、開始状態q0 状態Qの一つとして、受理状態の集合F 入力に対して、開始状態から状態を遷移させ、状態に応じて出力(受理or拒否)を返す 状態遷移図とは、有限オートマトンを(抽象的に)記述した図 非決定性(Nondeterministic)と決定性(Deterministic) 「決定性有限オートマトン(DFA
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く