プログラミングに関する雑多なあれこれ 今号から、「プログラミングの光景」と題して連載することになった高林と申します。プログラミングは趣味として、仕事として、かれこれ10年ほど行ってきました。本連載ではプログラミングに関する雑多な事柄について書く予定です。 第1回は、プログラミングとは切っても切れない関係にある「デバッグ」について取り上げてみようと思います。 デバッグの時間 ソフトウェア開発において、デバッグに要する時間は相当のものです。プログラマとしては「いやいや、自分はそれほどデバッグに時間を使ってないよ」と否定したいところですが、冷静に考えてみると、現実には自分が考えているよりも(そうであってほしいと考えているよりも)デバッグに時間を要しているように思えます。それに、バグは他人が書いたコードに混入していることもあるので、たとえ自分がバグを入れなくてもデバッグするはめになります。 デバ
組み込みシステムのデバッグ作業は、プロジェクト全体における負荷の半分以上を占めることもある。ハードウエアのデバッグ機能や、それらが対象とする問題を理解することが、適切なチップを選択し、より良いデバッグシステムを構築して生産性を向上する上で重要な鍵となる。 高度化するシステム、進化するデバッグ技術 「バグ(bug)」という言葉の語源には諸説ある。一般的には、コンピュータのリレーに挟まっていたガ(蛾)を取り除いたことで、シャットダウンしていたマシンの問題が解決されたという出来事が最初の「デバッグ(debug)」だといわれている*1)。この例では、文字通りバグ (虫)をハードウエアから取り除いたのだが、今日ではデバッグとはプログラムの欠陥を理解し、誤りのあるコードを取り除く作業のことを指すようになった。 ここでいう欠陥とは、「本来の目的から少し逸脱した部分」といった意味である。この欠陥を解消する
ホーム < ゲームつくろー! < デバッグ技術編 デバッグ技術編 「作った関数がうまく動かないんですが…」と質問される事があります。これには「え!?」となるんです。原因部分が関数内という極々狭い範囲にある事がわかっている幸運な状況ならば、後はそこを動かしてチェックすれば良いじゃないかと思うわけです。しかし、よくよく話を聞いてみると、どうもその「チェックの仕方」、すなわち「デバッグ方法」が十分ではないようなんです。なるほど、原因を追究する技術がわからなければ、作ったプログラムが正しいかどうか不安になるのは当然です。 複雑な仕組みで動くゲームプログラムの製作中にバグが発生するのは当たり前です。これをどう追求してどう取り除くか?知っている人にとっては当たり前。でも知らない人にとっては目から鱗のデバッグ技術はたくさんあります。1つでも多く知っていると特になるデバッグ技術。行ってみましょう~。 (尚
MessagePack というデータ形式がある。データをバイナリにシリアライズ/デシリアイズするものだが、Json などの形式よりデータのサイズが少なく且つ高速であるという利点がある。 MessagePack: It's like JSON. but fast and small. 自分も名前だけは聞いていたがちょっと見た感じ Json より良さそうと感じたのでさっそく Unity で利用してみる。 サーバに MessagePack を出力するスクリプトを設置 今まで Json で取得していたデータを MessagePack に置き換える事を目的としているので、Unity のスクリプトを書く前にサーバ側に MessagePack を出力するスクリプトを置いておく。 以下のような ruby スクリプトを cgi が実行できる箇所に配置した。gem install msgpack しておく必要
こんにちは。開発担当の森本です。 今回は、Fenrir Pass Connect を支える技術にちょっと関係のある、 web などを介してデータを交換するときの話をしたいと思います。 データ構造の共通化 → 実装も共通化できる プログラム間、端末同士、Web 経由などでデータを送ったり送られたりするときに、データは決まったフォーマットで送られる必要が有ります。 たとえば、今表示しているこのページでは、本文は HTML、画像は PNG などのバイナリフォーマット、web API との連携などは JSON や XML、スタイルシートや JavaScript はそれぞれ独自のテキストフォーマットが使用されています。 一般的なプロダクトでは上記のうち、XML や JSON が使用される事が多いと思います。 これらのフォーマットは普及率が高いため情報も多く、多くの処理系で枯れて安定した実装があるため
It's like JSON. but fast and small. MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves. Next: MessagePack is supported by over 50 programming languages and environm
Googleが公開したバイナリエンコード手法であるProtocol Buffersは、クライアントとサーバーの両方でシリアライズ形式を取り決めておき(IDL)、双方がそれに従ってデータをやりとりするようにします。 この方法では高速なデータのやりとりができる反面、IDLを書かなければならない、仕様を変えるたびにIDLを書き直さなければならない(あらかじめしっかりとIDLを設計しておかないとプログラミングを始められない)という面倒さがあります。 ※追記:Protocol BuffersのデシリアライザはIDLに記述されていないデータが来ても無視するので(Updating A Message Type - Protocol Buffers Language Guide)、仕様を拡張していっても問題ないようです。 一方JSONやYAMLなどのシリアライズ形式では、何も考えずにシリアライズしたデータ
Excelの関数についての質問です。 Excelの関数で計算した結果を違うセル結合したいのですが。 値が 12.000 のような場合、小数点以下が表示されず 12 と表示されます。 なにかいい方法はないでしょうか? Excelの関数についての質問です。 Excelの関数で計算した結果を違うセル結合したいのですが。 値が 12.000 のような場合、小数点以下が表示されず 12 と表示されます。 なにかいい方法はないでしょうか? 計算結果が 12.243 12.000 12.121 などの時に&で結合すると(&A1&B1&C1のように) 12.243 12 2.121 となってしまいます。 12.243 12.000 12.121 このように小数点以下の桁数を合わせて結合したいのですが、どのようにすればいいでしょうか。
PC版のリリース予定についても伝えられ、多くの海外ユーザーから注目を集めているHello Gamesの新作SF開拓シミュレーション『No Man's Sky』。開発者が子どもの頃から夢見ていたとも語られた本作の、膨大なゲームディティールが海外ユーザー達によってまとめられています。 ほとんどのオブジェクトが自動生成。宇宙船や植物、動物や惑星などは非常にバリエーション豊か。 先に進む為のクエストやミッションなどは存在しない。プレイヤーは自由に行動することが可能。自然への探求心やリッチな世界観は、プレイヤーの好奇心を維持し続けるだろう。 MMOゲームではない。どのプレイヤーもお互いにとてつもなく離れた場所にいるだろう。しかし、あなたは他プレイヤーの影響を感じることもある。 他のプレイヤーが発見した資源搾取用スポットやランドマークなどをミニマップでチェック出来るが、初期状態では未表示。 他プレイヤ
稲船敬二氏の新作アクション「Mighty No.9」のβテスト版コードが届いたのでさっそくプレイしてみた 編集部:YamaChan 2013年9月1日に電撃発表され,同年10月2日にはクラウドファンディングサイト「Kickstarter」で4億円以上の資金調達に成功した,comceptの稲船敬二氏が手掛ける新作アクションゲーム「Mighty No.9」。 Kickstarterでのキャンペーン終了後も,公式サイト内で運営されているコミュニティページを通じて,キャラクターのビジュアルアンケートや,デザインを決めるための投票といった,ファン参加型の取り組みが行われてきたほか,TVアニメ化に向けたプロジェクトも始動した本作だが,発表から1周年を迎える2014年9月1日に新たな動きを見せた。 それは,一定額の出資をしたバッカーに,βテスト版のコードを配布するというもの。そのβコードが,80ドルほど
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く