programmingに関するx768のブックマーク (263)

  • C/C++ で使える Hashtable - いけむランド

    Java のように豊富なライブラリを標準で提供している開発言語を使い慣れてしまうと、ふと C に戻った時に「リストとかハッシュテーブルがないから、再実装するか...いやそれともライブラリを探してきた方がいいか...。」と嘆くこともしばしば。 そこで以前 C/C++ 言語で使用できるハッシュテーブルについて調べたものを簡単にまとめておく。 glibc 言わずと知れた GNU の標準 C ライブラリ。search.h というヘッダがあり、その中にハッシュテーブルを管理できる API が提供されている。 STL (Standard Template Library) C++ の標準テンプレートライブラリ。hash_map がハッシュテーブルを提供するクラス。 GLib gtk+ のために設計・実装された低レベルライブラリ。GHashTable がハッシュテーブルを提供する構造体。 Eet EFL

    C/C++ で使える Hashtable - いけむランド
  • Rubyのハッシュテーブルの仕組みを徹底的に理解する - ザリガニが見ていた...。

    ハッシュとは 一般的に理解すると抽象的で分かり難くなってしまうが、ハッシュとは、あるデータから、一定の計算をして求めた、目的に沿った数値、と思っている。それでは、どのような目的に利用されるのか?自分の知識で考えてみた。 暗号化 webアプリケーション等で、パスワードをDBに保存する時、生のパスワードをハッシュに変換して保存する。 Digest::SHA1.hexdigest等で求めたハッシュから、元のデータを復元するのが非常に困難という特性を利用する。 保存しているパスワードハッシュが、たとえ漏洩したとしても、不正利用を防止できる。 パスワードを照合するときも、ハッシュに変換して、保存しているパスワードハッシュと一致するかどうかで判断する。 同等の確認 長い文字列データを比較する時、全ての文字が等しいかチェックするのは非常に時間がかかる。 しかし、長い文字列データをハッシュに変換しておき、

    Rubyのハッシュテーブルの仕組みを徹底的に理解する - ザリガニが見ていた...。
  • constメンバ関数は重要 - Faith and Brave - C++で遊ぼう

    私は基的に、C++でソース書くときはやたらめったらconst付けます。 なぜならHaskellが好きだからです(ぇ じゃなくて、状態の変更によるバグを減らすためです。 しかし、他人が書いたソースを見てると、オブジェクトのconst操作を考えて設計されてないことが けっこうあり、Is〜とかGet〜といった名前の関数の中でメンバの状態を変更してたりします。 これはとくに、JavaやC#のようなconstメンバ関数がない言語からC++に移植するようなときに 起こりやすいのですが、C++でもconstメンバ関数の存在を知ってか知らずかconstが付いてないことが多々あります。 書籍でいうと、『Game Programming Gems』では明らかにconst操作なメンバ関数にconst付いてないですね。 C++で大きなプログラムを組む際は、元となるコード(移植元やライブラリ)がオブジェクトのco

    constメンバ関数は重要 - Faith and Brave - C++で遊ぼう
  • 総まとめ:Javaの将来的な後継者としての Scala

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    総まとめ:Javaの将来的な後継者としての Scala
  • マルチプラットフォームで動作する物理エンジン·Chipmunk MOONGIFT

    物理エンジンを実装したライブラリは多数存在する。なぜにここまで物理エンジンに惹かれるのか。ゲームを作成する場合や、そのような物理現象のシミュレートを行う際に必要なのは分かる。だがそれだけに収まらない楽しさがそこにはある。 C言語で作られたパフォーマンスの高い物理エンジン ピタゴラスイッチを見て面白いと思うあの感覚だ。実際にリアルで行うと同じものを再現するのは難しいが、コンピュータ上であれば幾らでも試すことができる。 今回紹介するオープンソース・ソフトウェアはChipmunk、C言語で書かれた物理エンジンだ。 ChipmunkはC言語で書かれており、Windows/Mac OSX/Linuxなどマルチプラットフォームで動作する。さらにRuby向けの拡張も提供されている。様々な場面で利用できるだろう。特に2Dのゲーム制作を目的としているようだ。 これが非常に良くできている! デモも幾つかあるが

    マルチプラットフォームで動作する物理エンジン·Chipmunk MOONGIFT
  • アニメ顔の色情報に基づいた画像検索のデモ - デー

    Imager::AnimeFaceを使ったちょっとした応用例として画像検索のデモを作りました。 Imager::AnimeFaceを知らない方は Perlでアニメ顔を検出&解析するImager::AnimeFace - デーを参照してください。 ウェブサービスとしてではなく、デモやサンプルの意図で作っていて、方針としては、 Imager::AnimeFaceで得られる情報以上のことは考えない 難しいことは無視して簡単に作る(コーディング1日〜2日で作れる程度) です。Imager::AnimeFaceから得られる色情報はオマケみたいなもので、検索に使うには情報量が少なすぎる気がしますが、これくらいはできるよ!というデモになります。 この記事ではデモと同等のものを実装するに必要なアルゴリズム(DB作成と検索)について簡単に説明します。注意として、この記事ではPerlで解説しますが、デモの実装

    アニメ顔の色情報に基づいた画像検索のデモ - デー
  • 「データベースにリクエストが届いた時点で負け」 - 西尾泰和のはてなダイアリー

    ニコニコ大百科は、ほとんどのコンテンツが静的になるように注意深く設計してあります。動的な要素が欲しい場合でも、Cookie/AJAXなどを用いてローカルで動的にページを生成できるようにします。たとえば、ニコニコ大百科の右メニューはログイン時・非ログイン時で表示が変わりますが、これはCookieの「login」という値を見てブラウザ側が動的に生成します。 http://d.hatena.ne.jp/tasukuchan/20090417/nicopedia_hardware な、なるほど。どう書くorgを作ったときには「ユーザのログイン状態やログイン名を表示させたい」ってニーズと「コンテンツを静的にしてキャッシュしたい」という願望を調停した結果ユーザ情報だけiframeで表示する形にしたんだけど、この方法の方がスマートだなぁ。今度サーバ自前で何か作るときにはこれにしてみようっと。

    「データベースにリクエストが届いた時点で負け」 - 西尾泰和のはてなダイアリー
  • 第14回 gccをもっと詳しく知ろう

    第6回では,Linux上で標準的に使われるコンパイラ「GCC」の基的な使い方を紹介しました。今回は,より詳しい使い方を説明します。 「第6回 LinuxでC/C++言語のコンパイルを試す」では,gccコマンドやg++コマンドによる必要最小限の手順を見てきました。これらのコマンドを含むコンパイラ・プログラムは,GCC(GNU Compiler Collection)と呼ばれます。GCCは元々,GNU C Compilerの略称だったのですが,現在ではCollectionというだけあって,C++,Objective-C,FORTRAN,Javaなどのコンパイラも含まれています。ここでは,gccコマンドをもう少し詳しく見ていきましょう。 おさらいになりますが,gccコマンドの書式は,次の通りです。 gcc [オプション] <ソースコード名> 先に紹介した-oオプションは,出力ファイル名を指定す

    第14回 gccをもっと詳しく知ろう
  • ゲームプログラムの勉強におすすめの本とサイトまとめ - 遥か彼方の彼方から

    雑記普段はPHPをメインとしてWebプログラムを楽しんでいるのですが、今年の初めくらいからゲームプログラムにも挑戦しています。言語はC++で、DirectX9プログラムをしています。昔いじったことのあるHSP*1と比べて遥かに難しくてびっくりするのですが、Webプログラムとはまた別の方向で楽しいです。ただ、特につらいなと思うのが、情報の少なさです。一応SDKのヘルプは充実しているのですが、情報が豊富なPHPと比べると色々なところで厳しさを感じます。そこで、今参考にしているサイトや書籍についてメモ代わりにまとめることにしました。もし、他にもいいやサイトがあれば是非教えてください。 対象とするのはあくまでC++とDirectX9の組み合わせですが、ものによっては参考になると思います。反対に、C++向けじゃないけど参考になるものも載せています。C++の勉強ゲームプログラムをするためには、ある程

  • Google C++スタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • blog.y4su0.com is Expired or Suspended.

    blog.y4su0.com 」のページは、ドメインが無効な状態です。 ウェブサイト管理者の方はこちらから変更・更新を行ってください。 「 blog.y4su0.com 」is Expired or Suspended. The WHOIS is here.

  • C# 4.0:最新トレンドをマイクロソフト 大野元久氏が解説 - builder by ZDNet Japan

    サーバースペシャリストへの道 PCサポートとサーバ管理の共通項 ひとり情シスのためのスキル向上のコツ さあ、クラウドで解決しよう。 Google Cloud が「業務最適化」と 「イノベーションの実現」のヒントを提案 ITインフラ運用からの解放 HCI+JP1による統合運用による負荷激減で 次世代IT部門への役割変革へ一歩前進 オラクルスペシャリストが語る! 多くの企業で利用されるオラクルDBの課題 アセスメントの重要性とコスト最適化 今を知り、未来を見据える 培ってきたノウハウを最新技術へ対応させる レガシーシステムのモダン化実現への道 みんなが使うMySQLの企業活用 なぜ有償サポートがあったほうが良いのか? 有名テクノロジー企業もOracleに頼む理由 特集:IT最適化への道 成功の秘訣をその道のプロが解説 カギとなるのはシステムの「見える化」 エンドポイントセキュリティの転機 情報

    C# 4.0:最新トレンドをマイクロソフト 大野元久氏が解説 - builder by ZDNet Japan
  • 「ゲームにおけるスクリプト言語の現状」に参加してきた - minahitoの鯉日記

    IGDA 日 SIG-GT12 「ゲームにおけるスクリプト言語の現状」に参加してきた。”みんながすでに地雷を踏んでいる” Lua 言語の紹介と、対象的に "現在進行形"な ECMAScript 実装の CriScript の紹介のあと、豪華メンバーによるパネルディスカッションが行われた。 Cri Middleware の中の人が開発し、社名を冠している CriScirpt が趣味ベースの開発とは知らなかったなぁ。 パネルディスカッションは FPS にみられる欧米のムチャ(≒先進的)なスクリプトゲームコードへのシフトを代弁する方がいる一方で、 FF7 やクロノトリガーの開発で、今で言うところの DSL (ドメイン特化言語)を駆使されていた小久保さんが逆の意見を持たれていて、バランスがとれていてとても面白かった。 興味深かったのは、「ゲームにおいてスクリプト言語を活用するのは、開発を簡単にす

    「ゲームにおけるスクリプト言語の現状」に参加してきた - minahitoの鯉日記
  • ゲームAI連続セミナー「ゲームAIを読み解く」 第4回 レポート

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    ゲームAI連続セミナー「ゲームAIを読み解く」 第4回 レポート
  • Eclipse 3.4の各種設定と利用方法 〜Eclipse 3.4入門〜 :CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Eclipse 3.4の各種設定と利用方法 〜Eclipse 3.4入門〜 :CodeZine
  • GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)

    GC¥¢¥ë¥´¥ê¥º¥à¾ÜºÙ²òÀâ ÆüËܸì¤Î»ñÎÁ¤¬¤¹¤¯¤Ê¤¤GC¥¢¥ë¥´¥ê¥º¥à¤Ë¤Ä¤¤¤Æ¾ÜºÙ¤Ë²òÀ⤷¤Þ¤¹ ¥È¥Ã¥×¥Ú¡¼¥¸¥Ú¡¼¥¸°ìÍ÷¥á¥ó¥Ð¡¼ÊÔ½¸ GC ºÇ½ª¹¹¿·¡§ author_nari 2010ǯ03·î14Æü(Æü) 20:47:11ÍúÎò Tweet ¤³¤ÎWiki¤¬Ìܻؤ¹½ê GC¤È¤Ï¡© GC¤ò³Ø¤ÖÁ°¤ËÃΤäƤª¤¯»ö ¼Â¹Ô»þ¥á¥â¥ê¹½Â¤ ´ðËÜ¥¢¥ë¥´¥ê¥º¥àÊÔ Reference Counter Mark&Sweep Copying ±þÍÑ¥¢¥ë¥´¥ê¥º¥àÊÔ IncrementalGC À¤ÂåÊÌGC ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È·¿GC LazySweep TwoFinger Lisp2 Pa

    GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)
  • Amazon.co.jp: 詳説 ActionScript 3.0: Colin Moock (著), 永井勝則 (翻訳): 本

    Amazon.co.jp: 詳説 ActionScript 3.0: Colin Moock (著), 永井勝則 (翻訳): 本
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Windows 7 のグラフィックスの変更点を整理する - NyaRuRuが地球にいたころ

    (2009年2月9日追記) 『GDI アクセラレーションについて整理する - NyaRuRu の日記』にて,公開された WDK のドキュメントを元に追加の考察を行っています. 基的にはプレビュー版のWindows 7においても、日語を利用することは可能だった。しかし、1つだけ大きな問題がある。それはAero Glassと日語表示が必ずしも共存しないことだ。 図5はおなじみの日語エディタ、秀丸Windows 7のプレビュー版で起動したところだ。見れば分かるように、メニューの表示がおかしい。「その他」のメニューの途中から日語表示が普通なのは、まだカーソルがこのエリアまで至っていないことを意味している。カーソルを下に持って行くと、それに連れてメニュー上部のように日語表示がおかしくなっていく。なお、この画面はBlue Badgeを適用した後のものだが、この現象はBlue Badgeの

    Windows 7 のグラフィックスの変更点を整理する - NyaRuRuが地球にいたころ
  • 絵をプログラムする言語「Processing 1.0」が正式リリース | パソコン | マイコミジャーナル

    絵をプログラムする言語「Processing」が正式リリース Processing開発プロジェクトは24日 (米国時間)、グラフィックデザイン用プログラミング言語「Processing 1.0」をリリースした。動作環境はWindowsMac OS X、およびLinux。ライセンスにはGNU GPL / LGPLを適用、オープンソースソフトウェアとして無償公開される。 Processingは、電子アートおよびグラフィックデザインを目的としたプログラミング言語。Ben Fry氏とCasey Reas氏が在籍していたMITメディアラボで2001年に開発を開始、Javaベースの実行環境と簡易IDE (sketchbook) によるプログラミング環境として整備された。変数や制御構造など言語としての基礎はJavaに準じるが、プログラミング言語の文法やAPIの用法に精通していなくても、高機能かつ高速な