What are "Algorithms"? アルゴリズム”とは広義には「ある問題を解くための一定の手続き」を意味するもので、私達の生活のさまざまな場面を支える知恵の結晶とも言えます。 「ソート」や「リスト探索」などの基本的なアルゴリズムはもちろん、「暗号化」「セキュリティ」などの身近なものも満載。スマートフォンとタブレットの両方に対応した「アルゴリズム図鑑」なら、いつでもどこでもアルゴリズムを学ぶことができます。 さあ、アルゴリズムの世界に旅立ちましょう!
Joel Spolsky ジョエル・スポルスキ 翻訳: Yasushi Aoki 青木靖 2002/2/13 「うちの開発チームのどこが悪いのか分からない。」とCEOは心の中でつぶやく。「プロジェクトを始めたころには何もかもうまく行っていたんだ。最初の2 週間チームは馬車馬のように働いて、ちゃんと動くプロトを作ったんだ。ところがその後は進み具合が這うように遅くなった。単に連中が怠けてるだけということかもしれん。」彼はキャラウェイ製のチタンドライバを選び、キャディに冷たいレモネードを取りに行かせる。「2、3人首を切れば、連中の尻にも火が付くだろう!」 その間、もちろん開発チームの方は何が悪いのか全然見当も付かない。実際何もまずいことはないのだ。彼らはスケジュール通りに進んでいる。 こんなことがあなたの身に起こらないようにすることだ!あなたの人生を百万倍も楽にしてくれる、こういう非技術系マネジ
この記事の目的はKen Perlinの改良パーリンノイズを分かりやすく分析し、お伝えすることです。記事内のコードはC#で書かれており、自由にご利用いただけます。最終形のみを見たい方は、こちらから最終的なソースをご確認ください。 パーリンノイズは手続き的なコンテンツ生成によく使われる、非常に強力なアルゴリズムです。ゲームや、映画などの視覚媒体に特に有用です。パーリンノイズの開発者であるKen Perlinは、この最初の実装でアカデミー賞を受賞しました。彼が2002年に発表した改良パーリンノイズについて、私はこの記事で掘り下げていきます。パーリンノイズは、ゲーム開発においては、波形の類や、起伏のある素材、テクスチャなどに有用です。例えば手続き型の地形(Minecraftのような地形はパーリンノイズで生成できます)、炎のエフェクト、水、雲などにも使えます。これらのエフェクトのほとんどが2次元、3
概要 C# 5.0のasync/awaitがなかったころ、少し複雑目な非同期制御フローをどうやって実現していたかという話。 C# 5.0を使えない状況下で非同期処理を書くことになった場合の参考としてや、async/awaitがどうやって実現されているかを知るきっかけになると思います。 サンプル コード(ZIP 形式。proj/sln 含め一式。) ポイント C# 5.0(await演算子)便利だなー await演算子が内部的にやっていることは、イテレーターに近い なので、昔はイテレーターを使って非同期処理をすることが結構あった サンプルの要件 今回の例として使うのは、Figure 1に示すような、確認ダイアログ表示のフロー。 確認ダイアログを表示する例 要は、何かを実行するにあたって、特定条件下では確認ダイアログの表示が必要で、すべてのダイアログで「OK」を押したときにだけ実行に移るという
Coding conventions are essential for maintaining code readability, consistency, and collaboration within a development team. Code that follows industry practices and established guidelines is easier to understand, maintain, and extend. Most projects enforce a consistent style through code conventions. The dotnet/docs and dotnet/samples projects are no exception. In this series of articles, you lea
※2013/12/25に加筆修正 Android APIを見ていると「--Callback」、「--Listener」、「--Observer」などの名前のInterfaceがある。 どれも似たような役割のインターフェースで結局のところ全部コールバックに属すると思うんだけど、どうにも違いが分かりにくいので整理。 海外のトピック「what is the difference between callbacks and listeners?」によると http://programmers.stackexchange.com/questions/84732/what-is-the-difference-between-callbacks-and-listeners Callbackは特定の処理が完了したらバケットのある関数を呼ぶのでその関数に接続する必要がある。 Listenerはある物事が発生
例外やエラー、それにまつわる各種言語の取り組み等を共有しましょう。 11月末までに書き手が集まらなかった場合は主催者による独りAdvent Calendarと化します。 集まらなかったので残念ながら独りAdvent Calendarと化しました。 追記 独りAdvent Calendarですが、以下の理由で頓挫しました。6日目以降はお好きにご活用ください。 http://qiita.com/Kokudori/items/3a953c00012408f76ab9#%E4%BE%8B%E5%A4%96-advent-calendar-2014%E3%81%AE%E7%B6%99%E7%B6%9A%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
codicは、プログラマーのためのネーミング辞書です。新しいcodicでは、翻訳エンジンを搭載しネーミングをジェネレートできるようになりました。
先のポストに続いての話で、私は複雑なモデルのprivateメソッドを作るにあたって、メソッド名には動詞を必ず記載することにしている。java はおそらくそういう慣習があり rubyはそうではないが、複雑なモデルにおいては動詞を省略することはしない(じゃないと後で混乱を招きやすい)。 そしてその動詞の使い分けにもそれなりに気を使う。どこかからデータを取ってきて返す、という場合 何も考えないと get_emails としてしまいがちだが、これだとその裏でどのような処理が走るのか見えない。get というとすでに取得済みの変数への参照が帰るだけ、というイメージがある。これが実は複雑な計算をはらんだ結果かえって来るようだと知らずに多用してしまうとパフォーマンス上の問題を容易に引き起こす。裏でどのような処理が行われるのか、ある程度見えるようなメソッド名をつけるようにしている。 具体的には以下のような動
Promise Anti-patternsを翻訳させて頂きました。著者のtaoofcodeから許可を頂いて翻訳、投稿しています。 Promiseは一度理解してしまえば簡単だが、いくつか頭を抱えさせるパターンがある。ここにあるのは私が経験したいくつかのアンチパターンだ。 ネストされたPromise 君は複数のPromiseをネストする: loadSomething().then(function(something) { loadAnotherthing().then(function(another) { DoSomethingOnThem(something, another); }); }); 君がこれをする理由は、両方のPromiseの結果で何かをする必要があるからだ。then()は一つ前のPromiseの結果しかコールバックに渡せないのでここでチェインを用いることはできない。 だが
IGDA日本ゲームテクノロジー研究会第13回研究会 「続・ゲームにおけるスクリプト言語の現状」 に行ってきました。以下、セッションごとの感想です。 ■「ごく簡単な並列処理スクリプトシステムの設計と実装」 小久保啓三氏(HAL東京) スクウェアに所属していた小久保氏によるスクリプトシステムの説明。 小久保氏が関わったタイトルとしては、ロマンシングサガ、FF5、クロノトリガー、FF7、シャドウハーツ。ツール提供としては、ロマサガ2、FF6、聖剣伝説2、ライブアライブ。 セッションの内容は、当時スクウェアで使われた並列処理スクリプトシステム ATEL(エーテル。Actice Time Event Language)の話が中心となった。 このスクリプトシステムを作るきっかけとなったのは、クロノトリガーでのフィールドからバトルへのシームレスな推移を実現したかったため。実装としては、所謂 ACTOR
はじめに 今回は、メモリアロケーションに関して、Java・C#などプログラミング言語やUnity・UDKなどのゲームエンジンにおいてはメモリの事なんて全然気にしなくていい時代になっている(!?)中、ゲーム開発におけるメモリアロケーションについて、えーでるわいすで現在使われているゲームエンジンでの実装も踏まえて一回まとめてみようかと。。。 発端は、@aizen76さんの「カスタムメモリマネージャと高速なメモリアロケータについて」というスライドを偶然見つけたのがきっかけで、自分は今まで深く理解せず何となくでやってきてしまっていた気がしたのでちょっとまとめて見ようと思い立った感じです。 対象 C++初級者~中級者ぐらい ※ ガベコレだのスマートポインタだのmallocの実装によるマルチスレッド環境下での速度がどうとかその辺の話は止まらなくなるので我慢します( ´∀`) メモリアロケーションって何
ブログもリニューアルして最初の記事くらいは技術ブログっぽい記事を書こうかと思い、今回は、Haxe(ヘックス)のenum(エニュム)についてちゃんと説明します。 Haxeそのものの紹介はこちらを見てください。 altJS勉強会「Haxeすごいからみんな使え!」 最近Haxeについて記事や紹介も色々上がってきてて嬉しい限りです。 これで、なぜか無い日本語書籍が出れば、もうちょっと弾みがつくと思うんですが、誰か英語のあれ翻訳して出版しないんですかね。 で、その一つにちょっと前に池田さんが書いたこういう記事があって、 モダンな言語でHTML5を開発しよう! 俯瞰して理解するaltJSの比較 (前篇 – TypeScript, CoffeeScript, Haxe) | HTML5Experts.jp これに、HaxeのenumとTypeScriptのenumを一緒にすんなや!っていう文句がついてた
目次 概要 この記事の目的 なぜ勉強するのか なぜ休職したのか(働きながらではダメなのか) どのようにして休職したか 金銭面の問題 勉強を継続するために気をつけたこと どのくらい勉強したか 何を勉強したか 反省 まとめ 概要 5月に休職しました。 休職開始から今日まで主にプログラミングの勉強をしていました。 11月から仕事復帰します。 この記事の目的 私が休職して勉強することを決めるとき、経験談を参考にしようと思い似たような方がいないか調べました。 しかし、私のニーズに合う情報はほとんど見つかりませんでした。 私と同じように休職勉強を考えている方にとって、少しでも参考になればいいなと思い書きます。 なぜ勉強するのか 私は業務ならば並以上の働きをしていると思っています。 社交辞令もあるでしょうが、社内・顧客ともに良い評価を頂いています。 一方で、経歴を増すごとに自分の中で技術力に対する不安が
15. Visual Studio は 着実に C++11/14 に対応 2010. 4 2010 auto, move, nullptr lamdas, <random> 2012. 9 2012 Range-based for, enum class <chrono> , <ratio>. <thread> 2013. 6 2013 Preview Variadic templates initializer_lists, C++14 libs 2013. 9 2013 RC Non-static data member init defaulted / deleted functions 2013. 11 2013 2013 Q4 2013 + CTP constexpr, noexcept C++14 generic lamdas
Join the official community for Google Workspace administrators In the Google Cloud Community, connect with Googlers and other Google Workspace admins like yourself. Participate in product discussions, check out the Community Articles, and learn tips and tricks that will make your work and life easier. Be the first to know what's happening with Google Workspace. ______________ Learn about more Goo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く