2010-11-24 05:56:00 GMT 某所で『プログラマが読むべき10冊』というのが公開されてましたが、 どうみても中身が重いし、バックグラウンドの知識が必要なものが多いと感じたので、 即、血となり肉となる本を独断と偏見でまとめてみました。 ジャンルごとの順番です。どれも読むべきだと思うので敢えて順番はつけません。
2010-11-24 05:56:00 GMT 某所で『プログラマが読むべき10冊』というのが公開されてましたが、 どうみても中身が重いし、バックグラウンドの知識が必要なものが多いと感じたので、 即、血となり肉となる本を独断と偏見でまとめてみました。 ジャンルごとの順番です。どれも読むべきだと思うので敢えて順番はつけません。
まだC, C++がないようなので書いてみた。主にLinux(DebianとかUbuntu)での環境構築について。 コンパイラ まずはapt-getでコンパイラをインストールする。UbuntuやDebianなら以下のコマンドでgccやg++および標準ライブラリ等がインストールされる。 $ sudo apt-get install build-essential デバッグツール デバッガおよびデバッグツールは少なくとも以下の三つは入れる。(あとltraceも欲しいかな?) GDB 言わずと知れたGNUのデバッガ Valgrind メモリリークや不正メモリアクセスの検出 strace システムコールのトレース $ sudo apt-get install gdb valgrind strace ビルドツール C, C++のビルドツールといえばまずmakeが浮かぶけど、最近ではSConsやCMak
ubuntu% uname -a Linux ubuntu 2.6.12-10-386 #1 Sat Mar 11 16:13:17 UTC 2006 i686 GNU/Linux ubuntu% valgrind --version valgrind-3.0.1 (0) 目次 Valgrindに含まれるツール Memcheck: メモリエラーを検出する(default) Cachegrind: キャッシュミスを検出する Massif: ヒーププロファイラを使う まとめ valgrindの使い方とエラーメッセージを整理してみた。「valgrind --leak-check=full command」というコマンドラインをよく用いる。これによりメモリ周りのバグを検出出来る。 --tool=cachegrindではプログラム実行時のキャッシュミス率を測定する事が出来る。cg_annotateを
ここでは、当サイトに来られた方々に有益と思われるさまざまな技術情報を公開していきます。サイドメニューに、どのような技術情報を公開しているかのリストが表示されていますので、ご興味をもたれたページを是非ご覧ください。 技術情報に含まれる多くのページは、コメントを投稿できるようにしています。今後の改善のための参考とさせていただきますので、ご感想、ご意見、ご指摘などを残してくださると助かります。なお、当サイトに関わりない投稿、または不適切な表現が含まれる投稿に関しては、予告なく編集または削除させていただくことがございますので、あらかじめご了承ください。 当サイトに掲載しているソースコードは、ご自由に利用していただいてかまいません。ただし、何ら保証はありませんし、当サイト掲載ソースコードの使用および使用不可によって生じたいかなる損害に対しても、弊社は責任を負いかねます。すべて自己の責任においてご利用
まだピクミン2をクリアしてないのでケジメ的に新作ゲームを買えないmikioです。今回は、Tokyo Cabinetを使って激烈簡単に特定サイトの専用の検索機能を設置する方法について説明します。クローリングから検索までを10分くらいの作業で可能にします。 特定サイトの検索エンジン Web全体の検索機能を作るのは、途方もない技術力と設備を持っているGoogleやMicrosoftなどのビッグプレーヤでないと難しいのが現実です。でも、自分が気に入っているいくつかのサイトを対象とした検索エンジンを作るのであれば個人だってできます。また、インターネットから手が届かないイントラネットのコンテンツの検索機能は自分達で手がけないと構築できません。 ということで、企業用の検索システムが数多く売られていますし、LuceneやGroongaやHyper Estraierなどのオープンソース製品も世に多数存在しま
自然言語処理のときに使う機械学習手法のテクニックをざーっと2時間程度で紹介してほしいとのことだったので今日話してきました。基本的に、そんなに頑張らなくても効果が大きいものを中心に説明(特にパーセプトロンとか)を説明してます。 紹介した手法はパーセプトロン、最大エントロピー、正則化、多クラス分類、系列分類(CRF, Structured Perceptron)などなどです。どれも一かじりする感じで網羅的に見る方を優先してます。個々の詳しい話はそれぞれの文献や実装などを当たってみてください。 スライド [ppt] [pdf] ここで話しているのは線形識別モデルの教師有り学習が中心で教師無し学習(クラスタリングなど)など他の自然言語処理を支える技術は省いてます。 こういうのを使って(使わなくてもいいけど)どんどんアプリケーション作らないといかんね。 Tarot is not used to ma
マルコフ連鎖と形態素解析でランダムな文章を生成する 2023-06-08-1 [Programming][NLP][IIR][WebAPI] 15年前に書いた記事のリニューアル版です。 RSS を読み込んでランダムな文章を生成する[2008-09-07-3] 前回と同様、bigram language model に基づく、ランダム文生成を行います。 ある単語の次に現れる単語の分布を用いて、文章を生成していくだけです。 形態素解析(日本語の単語の認識)は、Yahoo!デベロッパーネットワークのテキスト解析 API の日本語形態素解析 (V2) を使います。 ベースとなるテキストデータは「日本国憲法」(nkkp.txt) を使います (ref. [2023-06-07-1])。 プログラム mamarkov-build.pl で、テキストデータ (nkkp.txt) を形態素解析し、「ある単
D言語BOF English 撮影した動画をニコニコ動画にうpしました >>> 中継@ustream 10:00〜? /⌒ヽ / ´_ゝ`)すいません、ちょっと場所お借りしますよ・・・ | / | /| | // | | U .U オープンソースカンファレンス2008 Tokyo/Spring セミナー会場にて、D言語BOFを開きます。 注: SunのD言語 や MicrosoftのD言語 ではありません ざっくり言語紹介 適当にDで作ったネタ持ち寄ってライトニングトーク (座談会) みたいなかんじで。 日程:3月1日(土) 10:15 - 12:00 開始時間が変わりました 会場:日本電子専門学校 7号館(東京都新宿区・JR大久保駅徒歩2分)8F A 参加費:0 当日は予約の確認を行っておりませんので、そのままセミナー会場(8F A)にお越し下さい。 ustream
の元原稿に少しだけ手を加えたものです。 雑誌掲載のものとは若干の差異があります。(詳細未確認) 2001年5月〜2006年11月の掲載記事を PDF で収録した MOOK 本が2007年5月に出るということなので これを機会に整理しました。 じつはね 「安く出したいので著作権料は現物支給で勘弁願いたい」 というメールが来たのだった。 原稿を書いた全員が二次使用の無報酬に同意したのかはわからないが、 「ま、たいした分量でもないのでいいか」と思ったしだい。 (原稿料の下落につながるからそんな勝手なことすんな!と いった話があるのであれば教えてくださいね) (注) IE6 (IE7未確認) ではなく Firefox や Safari で見ると私の 意図通りに表示されているようです。 他のブラウザは未確認です。 前書き 著者の Emacs 歴は1989年の Nemacs(Emacs18.55 をベ
C言語で書かれたソースコードを読んでいるとき、関数ポインタから呼び出されている機能の実体がどこに書かれているのかを探すのに苦しんだ経験はありませんか? 私はあります、いっぱいあります!! そんなときはどうするかというと・・・ 手順1: まずは気分転換をする! 手順2: そして気合いを入れ直す! 手順3: さらに気力で読み砕く! 手順4: 最後に根性で発見する! これが、ごく一般的な作業手順(?)かと思います・・・(ごめんなさい嘘です) でもまあ、実際にここまで出来れば、そのプログラムの大まかな構成とか癖みたいなものはだいたい把握できているはずなので、他の関数ポインタについてもある程度当たりをつけて見つけだすことが出来るようにはなるかと思います。 ・・・・・が、、できれば気合いと根性を使わずに追えるなら追いたいのが人情ですよね。 straceやltraceを使えばシステムコールやライブラリコ
Peter Norvig / 青木靖 訳 先週、2人の友人(ディーンとビル)がそれぞれ別個にGoogleが極めて早く正確にスペル修正できるのには驚くばかりだと私に言った。たとえば speling のような語でGoogleを検索すると、0.1秒くらいで答えが返ってきて、もしかして: spelling じゃないかと言ってくる(YahooやMicrosoftのものにも同様の機能がある)。ディーンとビルが高い実績を持ったエンジニアであり数学者であることを思えば、スペル修正のような統計的言語処理についてもっと知っていて良さそうなものなのにと私は驚いた。しかし彼らは知らなかった。よく考えてみれば、 別に彼らが知っているべき理由はないのだった。 間違っていたのは彼らの知識ではなく、私の仮定の方だ。 このことについてちゃんとした説明を書いておけば、彼らばかりでなく多くの人に有益かもしれない。Googleの
プログラマの方、もしくはプログラミングに興味のある方に質問です。web上の文章でこれは読んでおいた方がよい、あるいはこの文章は面白いという文章を教えてください。文学、エッセイ、哲学、宗教、経済、科学、コンピュータ等、分野は問いません。 例:http://cruel.org/freeware/hacker.html
XPのプラクティスに「継続的インテグレーション」というのがあります。JUnitによるテストと同様にXP開発ではないプロジェクト(チーム)でも実行可能な項目です。新規クラスの追加やリファクタリングの後、リファクタリングがほかのクラスに影響を及ぼしたことや、ユニットテストでも見つからなかった結合時に発生するバグを継続的インテグレーションを行えば見つけることができます。さらに、テスト用マシンを本番環境さながらに用意しておけば、環境依存のバグをいとも簡単に発見することができます。継続的インテグレーションで高速道路をフルスロットルで飛ばしましょう! 継続的インテグレーションのメリットとビルド専用マシン 継続的インテグレーションを実践するメリットはいくつか考えられます。一番のメリットは環境依存のバグを発見できる点です。特にXPでは「ビルド専用マシン」を1台確保して、そのマシンで最新ソースのビルド、テス
新人配属や異動の季節になった。この4月,あなたがもし新しい職場に配属されて,上司から「君,Ajaxって知ってる?」と聞かれたとする。そのとき,堂々と「知ってますよ」と答えられるだろうか? このITproのサイトでは,Ajax,マッシュアップ,リッチ・クライアント,SaaSなどいわゆるWeb2.0関連の記事が一昨年ぐらいから毎日のように掲載されている。そもそもITproはこうした言葉を知っている読者を対象にしているので,ほとんどの読者は冒頭のような質問を受けても,「知ってますよ」と堂々と答えられるだろう。しかし,この春初めてITの世界に入る人の中には,「名前や概念的なことなら分かるのですが…」という人も多いのではないだろうか。 そこで今回の記者の眼では,そういう新人君にお勧めな「Ajax学習法」を考えてみた。といっても,要するに,実際に自分でちょっとしたプログラムを作って試してみるだけである
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く