The document discusses various techniques for optimizing the performance of embedded Ruby (ERuby) templates. It describes 7 iterations of improvements to "MyEruby" that reduced the processing time from over 69 seconds to under 1 second. The optimizations included avoiding line splitting, replacing parsing with patterns, tuning regular expressions, inline expansion and array buffers.
ゴールデンウィークから作り始め、1週間くらい前にようやく"鉄Qプリンセス"(https://market.android.com/details?id=name.shimobayashi.tekkyu)をリリースすることができました。大体2週間でゲーム製作に飽きる自分としてはかなりの長丁場になったのですが、その分色々と得られるものはあったので適当にメモしておこうと思います。個人ゲーム製作に興味がある方はどうぞ。 基本的なゲームプログラミングに関する話題は、Androidゲーム開発入門、私が2Dアクションゲームをつくるまでに蓄積されたTips - shimobayashiの日記http://d.hatena.ne.jp/shimobayashi/20110410/1302442681に以前にまとめているので、非技術的な話題が中心になるのかな。 Androidの音周りは本当にクソメディアの音量
さて、というわけで、0日目〜31日目までの全32日分をすべて読み終えたこととなったが、実は本音を言うと、途中何度かあきらめそうにもなったし、全然わからねーと投げやりにもなった。楽しかったけど、同時に辛かったことも事実だ。しかし、なんとかかんとか、ここまでこぎつけることができた。本当に充実した時間だった。 だから、俺は今後もOSを作っていきます。ただ、もうこれまでのように詳細に更新、報告することはないです。多分本当に30日でOSが出来上がるのかを試してみるページの一番下のところにひっそりと公開していくだろうと思う。 というわけで、最後に感謝の言葉でこのBlogを締めくくりたいと思う。 まずは、一番最初に、この本の著者である川合秀実氏に感謝したい! ありがとう。あなたが書いたこの本で、少なからず、俺のこの1ヶ月は充実したものとなった。そして、この本をきっかけにOS作りの楽しさってのがほんの少し
swatmac.info Buy this domain. 2020 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy
イベントの定義を事前に理解する 大きく分けて、イベントには2つのタイプがあると感じています。この2つのタイプを理解して、十分な準備をしてイベントにのぞみましょう。 講師から講義を受けて、知識を “教えてもらう” スタイル 特定のテーマに沿って、ディスカッションや手を動かして “学びあう” スタイル 告知ページやメーリングリスト、Twitterなどで雰囲気はつかめます。過去の開催情報も公開している勉強会も多いので、それを確認するのが一番確実でしょう。 教えもらうスタイル 「○○入門」といった感じの勉強会が多いタイプです。何も知らないところから、色々と手ほどきを受けて、使い始めてみるきっかけをつかむタイプの勉強会です。ですが、限られた時間で、限られたことをするので、体系的に知識を得られるケースはまれです。 よって、講義を受けたからといって満足してしまってはいけません。実際に自分で手を動かして、
コンピュータ科学 学会 (ACM,IEEE,情報処理学会),IPA 情報処理 (情報,情報検索,情報共有,情報伝達,情報収集) 知識処理 (知識,知識科学,知識発見,思考,CSCW) コンピュータ (アーキテクチャ,コンパイラ,アセンブラ,仮想マシン) ソフトウェア オペレーティングシステム (カーネル,デバイスドライバ) Windows,Linux,macOS,FreeBSD,UNIX ミドルウェア (ファイルシステム,データベース,アプリケーションサーバ) アプリケーション ハードウェア (CPU,メモリ,ストレージ,GPU) プログラミング プログラミング言語 (C言語,C++,C♯,Java,VB.NET,Objective-C...) スクリプト言語 (Perl,PHP,Ruby,Python,JavaScript,ActionScript...) 関数型言語 (Lisp,Has
「enchant.js」でゲームを作ろう! HTML5とJavaScriptによるアクションゲーム制作入門 ライター:Veki HTML5でゲームが作れるライブラリ「enchant.js」がユビキタスエンターテインメントから発表されました。Webブラウザだけでスプライトを使ったゲームが動くとのことで興味を持った人も多いのではないかと思います。ここではenchant.jsを使ったゲーム作りについて見ていきたいと思います。 enchant.jsがサポートしているHTML5は,長らく使われていたHTML4に代わる次世代Webシステムの要となるものです。HTML5ではWebページの動的な要素,とくにグラフィックスの描画機能などが大幅に強化されており,これまでFlashを使わないとできなかったようなことが,HTMLとJavaScriptだけでできるというのが最大の特徴となっています。 ここにきてIn
スマートフォン向けのアプリ提供はほぼ必須になってきているこの状況。 何で作るのか? というのは、悩ましいところですよね。 ネイティブアプリで作るのか? WEBアプリ(HTML5+CSS3)で作るのか? ...は開発者が揃っている云々もあるかもしれませんが、それよりも、そのアプリの特性/対象者によって決定する感じなのでしょうね。 会社のアプリならばインストールさせて使う系のネイティブの方が良さそうだけど、インストール無しでも..であればWEBアプリでという選択肢なのかな。あとは、Appleにお布施が可能なのかどうかとか..か。 WEBアプリの方には全然注目していなかったのですが、「ネイティブと同じような動きで、iPhoneとAndroidのマルチプラットフォーム」となるとなかなか厄介なもんですね。 どこまでこだわるか?によるんでしょうけども、対象が iPhoneだけだったらライブラリつかって
モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲームの歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS
TDD(テスト駆動開発)のチートシートを作ってみた。 TDDBCでid:t-wadaさんが話している内容とかテスト駆動開発入門から引っ張ってきています。 ダウンロードはこちらからどうぞ。 PNGイメージ: http://dl.dropbox.com/u/1393956/tdd_cheatsheet.png PDFファイル: http://dl.dropbox.com/u/1393956/tdd_cheatsheet.pdf 追記 印刷・再配布などはご自由にどうぞ。 もし、元データ(OmniGraffle)が欲しいという人は、コメント欄かTwitter経由で教えていただければ差し上げます。 追記2 このチートシートは、OmniGraffleで作りました。他に使えそうなツールとしては、イラレとか。Visioでもたぶん作れると思います。
オブジェクト指向の基本亀仙流やつ鶴仙流など、世の中にはいくつかの流派(=クラス)があり、それぞれの流派にかめはめ波やどどん波、舞空術などの技(メソッド)がいくつかあります。 実際に流派にある技を使う場合、技を覚えているZ戦士(インスタンス)が必要になります。 例)亀仙流を覚えた孫悟空を使ってかめはめ波を放って敵を倒す goku = new KamesenRyu("goku"); goku.shootKamehameha(teki); Z戦士によっては複数の流派の技が使えたり、自分の技を人に教えることが出来ます(継承)。 また悟空とクリリンのように同じ流派でも同じ技で違う性能を持っていたり、オリジナルの技を持っているなどの違いがあります。 クラスはセルを作るためのZ戦士達の遺伝子情報と言っても良いかもしれません。 例)セルを作りましょう。 class Cell extends Goku,Ve
1.一般的なコーディング規約に目を通し、エレガントなコードを知る エレガントなコードを書くためには、エレガントなコードを知らなければならい。その土台を築いているコーディング規約について、オープンソースではどのようなものが使われているのか理解しておこう。入社する予定の会社が採用している言語については必ず目を通しておこう。 PHP PEAR 標準コーディング規約 symfony CodingStandards Perl perlstyle Ruby クックパッド株式会社のRubyコーディング規準 Matzスタイル NaClで採用している規約 Python PEP 8 そして、あなたの身近にあるオープンソースのコードを実際に読んでみよう。この時点でコードの仕組みや設計が理解できなくても良い。コードがエレガントかどうか?を感じ取って欲しい。こう書いた方が、良いのではないか?など、考えてみよう。
例の冷却ファンを修理してもらいに秋葉原に行ったのですが、最近の同人ゲームのクオリティはすごいなあと感心していたら、その二階はもっととんでもないことになってて、ひとつ大人になってしまったmikioです。今回は、Tokyo Cabinetのテンプレート直列化機能を駆使して、たった100行のCプログラムでWebチャットシステムを実装してみます。 古式ゆかしいWebチャットシステム 10年くらい前にCGIスクリプトでチャットシステムを作るのが流行していたのを覚えている方も多いと思います。チャットログは現在のようにデータベースサーバに転送して格納するのではなく、ローカルファイルシステム上のファイルにCSVやTSVなどのフォーマットで格納したり、同じくローカルのDBMファイルに格納するのが主流でした。2ちゃんねるの「datファイル」もそのようなデータファイルの一種と言えるでしょう。 その頃から、CGI
第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基本と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と
開発効率を上げるためのプラグインや機能のご紹介。 ■neocomplcache http://github.com/Shougo/neocomplcache 自動で補完候補をポップアップしてくれるプラグインで、Vimで効率的な開発をしようと思うのであれば必須のプラグインです。vimrcに以下の1行を加えればプラグインが有効になります。 let g:neocomplcache_enable_at_startup = 1有効にした上で適当にファイルを編集すれば自動で補完候補が出てきます。候補を選ぶ時はCtrl+Nで次の候補、Ctrl+Pで前の候補が選択できます。 設定項目もたくさんあります。:help neocomplcache@ja とすれば日本語ヘルプが見れるので、参照しながら設定してください。 もしこのプラグインを使ったことがないのであれば、人生の半分は損をしています。 ■テキストオブジ
今まで本を見ながらやっていた事のおさらいもかねて、チュートリアルを書いてみようと思います。Rails2.0以降、scaffoldが便利すぎて、自分で一からデータベースを作って呼び出すということを詳細に書いてあるチュートリアルがない! と苦悩しました。 いろいろなblogを参考にしながら私もひとつ書いてみようじゃないか、と思った次第であります。 今回作るのはこんなもの。 メンバーの一覧が出て来て、名前をクリックすると詳細ページに飛べるってものです。デザインもへったくれもありませんが、これを作って行きましょう。 test002というプロジェクトを作って、対応するDBもつくって、、、、って感じですね。 <1>プロジェクトを作る。 $ rails -d mysql test002 いつもと同じく、です。-d mysqlはrails 2.0以上からはデフォルトDBがsqliteになってしまっているた
このページは、C言語の中級テクニックを中心に解説する。長らくプログラマをしていると、C言語の面白い使い方例が蓄積している。これらを一挙公開するために、このページを作ったのである。しかし、単にCに留まらず、他の言語の面白い特徴なども紹介していく。 内容的にはかなりヘヴィである。当然のことながら、「ポインタ虎の巻」程度の内容はちゃんと使いこなせることを前提とする。意外な技、落し穴、派手なテクニックなど、内容満載だが、ちゃんとデータ構造とアルゴリズムなども説明できれば良いと思う。(まあ、ぼちぼちやってきいます...) 以下の目次には手引きのために、評価がつけてある。凡例として示す。 レベル その解説で記載されている内容のレベル 有用度 その内容が実際に役に立つものかどうか 邪悪度 その内容が薦める方法が、一般的なコーディング規約の中で「邪悪」とされがちなものであるか否か。関数ポインタの活用(濫用
解 説書である. 以下にあるメニューは各章のリストである.ここにはすべての章のすべての節 を一覧してある.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く