タグ

programmingに関するthorikawaのブックマーク (9)

  • ゲームプログラミングパターンでコードをレベルアップさせよう | Unity Blog

    オブジェクト指向プログラミング言語の経験がある方なら、SOLID の原則や、MVP、シングルトン、ファクトリ、オブザーバーなどのパターンについて聞いたことがあると思います。今回新しく公開する e ブックでは、これらの原則やパターンを使って皆さんが Unity プロジェクトでスケーラブルなゲームコードのアーキテクチャを構築するためのベストプラクティスを紹介しています。 皆さんが遭遇するソフトウェア設計の問題は、1000 人の開発者がかつて遭遇した問題です。その開発者たちに直接アドバイスを求めることはできませんが、デザインパターンを通じて、そうした開発者がどのような決断を下したのかを学ぶことができます。 Unity プロジェクトで一般的なゲームプログラミングにおけるデザインパターンを実装することで、クリーンで整理された読みやすいコードベースを効率的に構築および維持することができ、ゲームそのもの

    ゲームプログラミングパターンでコードをレベルアップさせよう | Unity Blog
  • 2010-12-26

    リアクティブプログラミングは、「時間とともに変化する値」=「振る舞い」同士の関係性を記述することでプログラミングを行うパラダイムです。 GUIなどのようにインタラクティブなシステムや、シミュレーションやアニメーションのようにダイナミックに状態が変化するようなシステムを宣言的に記述することができます。 これらの「変化する状態」や「外部とのやりとり」が支配的なシステムは、純粋関数型言語が、その強みを発揮しにくい部分でもあります。 稿では、リアクティブプログラミングが副作用を含む系を宣言的に記述することを可能にし、状態の管理という厄介な問題からプログラマを開放する可能性があることを示したいと思います。 (割と独自研究に基づく解釈ばかりなのでその点ご了承ください。あと例としてでてくるコードは、Pythonベースの擬似コードで具体的なライブラリに基づくものではありません。) Why Reactiv

    2010-12-26
  • DPの話 - aizuzia

    この記事は Competitive Programming Advent Calendar のために作成されました。 「DP (Dynamic Programminng: 動的計画法) がよく分からない」というつぶやきをよく目にします。何から何まで分からないというわけではないけど、 「こういうDPをすれば解けるよ」と説明されれば理解できるけど、一からそれを思い付けない メモ再帰だと書けるけどループだと書けない、またはその逆 とかいう。 この記事は、DPという技法をより深く理解する手助けをすることを目的として書かれています。これを読めばどんなDPの問題もさくさく解ける・・・ことはないと思いますが、あんまり悩まずに実装できるようになるぐらいの効果はあるんじゃないかなと思います。想定する読者層は、簡単なDPの問題をいくつか解いたことがある、TopCoderレーティング 1500 未満ぐらいの人と

    DPの話 - aizuzia
  • C++の4つのキャストを使いこなす

    イントロダクション C++ には全部で4種類のキャストがあります。これらの使い方をしっかり確認しておこうというのが今回の主旨です。いきなり題に入ってもいいのですが、まずは C 言語のキャストをおさらいしてみましょう。 (type-name) cast-expression C のキャストにはこの1つの形式しかありません。ややこしいですね。1つしかないのに何がややこしいかって?見た目は1つの形式しかないのに実際の動作は何通りもあるのがややこしいんです。ざっと考えただけでも次の3つの使い方が思い浮かびました。 float average(const int* array, int size); int n = (int) average(array, size); void * get_data(int nID); char * p = (char *) get_data(2); int g

  • Xmas Contest 2011

    総評 (pdf) 入出力 (zip - 21.7MB) (出力チェッカは testlib を用いています) 概要 プログラミングコンテスト好きな皆さんと楽しいクリスマスを. 昨年に引き続き 2 回目の開催です (昨年のページはこちら). 日時 2011 年 12 月 24 日 (土) 14:00 - 19:00 JST (5 時間) コンテスト番前に練習ラウンドでジャッジの仕様等を確認できます. 参加方法 コンテスト環境として ATCODER (旧) を用います. アカウントの取得が必要です.解答を提出した段階で参加扱いとなります. 諸注意 どなたでもご参加できます. 個人参加,チーム参加のいずれも歓迎致します. 問題文は日語で提供されます. 問題は 8 題程度の予定です. ICPC と同様の形式です (問題に対する解答を提出後,すぐジャッジが行われ反応が返されます). 1 題 100

  • Why are elementwise additions much faster in separate loops than in a combined loop?

    Suppose a1, b1, c1, and d1 point to heap memory, and my numerical code has the following core loop. const int n = 100000; for (int j = 0; j < n; j++) { a1[j] += b1[j]; c1[j] += d1[j]; } This loop is executed 10,000 times via another outer for loop. To speed it up, I changed the code to: for (int j = 0; j < n; j++) { a1[j] += b1[j]; } for (int j = 0; j < n; j++) { c1[j] += d1[j]; } Compiled on Micr

    Why are elementwise additions much faster in separate loops than in a combined loop?
  • Private Presentation

    Private content!This content has been marked as private by the uploader.

    Private Presentation
  • How to add 'Robot Voice' effect to an mp3 file? | morph music, audio effects

  • NetAgent Security Contest 2010 開催

  • 1