タグ

2012年1月12日のブックマーク (27件)

  • privateメンバに外部から非侵入的にアクセスする - redboltzの日記

    はじめに C++では通常、クラスのprivateメンバに外部からアクセスすることができない。 アクセスするためには、friend関数やfriendクラスを用いる。 しかし、 http://bloglitb.blogspot.com/2010/07/access-to-private-members-thats-easy.html で話題となり、Daveが、 https://gist.github.com/1528856 にエッセンスを抽出したコードを起こしているが、privateメンバに外部から合法的にアクセスする方法がある。 Daveのコードのコメントだけで必要十分かもしれないが、私は理解するのにかなり時間がかかってしまったので、その経緯を忘れないためにもここに書いておきたいと思う。 メンバポインタの復習 まずは、このコードを見て欲しい。 http://ideone.com/dGRqg

  • 英語によるhadoop系メーリングリストへのバグレポート提出ガイド - 科学と非科学の迷宮

    hadoop アドベントカレンダー 2011、1日目及びその他空いているところ全部を担当する @shiumachi です。 27日は誰もいないようなのでこれを27日とします。 id:showyou さんの担当でした。28日目とします。showyou さんすいません 基 テンプレ的に書くとこんな感じ。 「来は……であるべきだが、実際にはこうなっている」 前半は should を使い、but/in fact/however/while などを使って逆接でつないで次の文を書く。 以下の項目があるとレスポンスしやすい。 項目名 内容 概要 数行程度で何が起きたか書く 症状 特に、ログに例外が吐かれてたら必ず貼り付けること 直前にどんな作業をしていたか 何か特殊な作業を行っていたら、その手順を書く 再現性の有無 そのまんま 再現方法(わかっていれば) そのまんま 可能なら、該当 conf ファイ

    英語によるhadoop系メーリングリストへのバグレポート提出ガイド - 科学と非科学の迷宮
  • http://homepage1.nifty.com/herumi/diary/1112.html

    koko1000ban
    koko1000ban 2012/01/12
    CでRAII
  • Mac OS X 専用 - Maxima, Gnuplot, Ghostscript, pLaTeX他バイナリ

    [重要なお知らせ] [2012/02/14] サイトをリニューアルしました。新しいページはコチラです。 過去のお知らせ 更新履歴(2012 年、2011 年、2010 年、2009 年、2008 年、2007 年、2006 年、2005 年) 思い出(Snow Leopard 用バイナリ、Leopard 用バイナリ、Tiger 用バイナリ)

  • Haskellでメモ化を行うもう一つの方法 - 純粋関数型雑記帳

    はじめに Haskell で動的計画法を書くための3つの方針 - tosの日記 これを読んで、私もちょっと前にHaskellでメモ化をやる方法を考えていたことを思い出したので、書いてみることにします。 Haskellでのメモ化は、私のかなり昔の駄文(リアルにびっくりするほど駄文なのでご注意。メモ化の綴りも間違ってます)や、このあたりに日語の文章があります。 これらのページでのメモ化実現方針は、1. 計算済み値を保持するテーブルをMapなどを用いて用意する 2. そのテーブルを副作用を用いて更新する、というものになっています。なるほど、これは手続き型言語との対比でとても直接的な実装です。しかし、テーブルを更新するために関数全体がモナドになってしまったりして、あまり使い勝手が良くなさそうです。モナドであることを悟らせないために、演算子をモナド化したり、あるいはモナドじゃなくするためにunsa

    Haskellでメモ化を行うもう一つの方法 - 純粋関数型雑記帳
  • Installing GHC 7.2 on Mac OS X 10.7 Lion

    installing-ghc7.2-osx10.7.md Installing GHC 7.2 on Mac OS X This is a brief and bare-bones guide to getting GHC 7.2 and the cabal-install tool (the two basic things you'll need to do Haskell development) up and running on a new Mac OS X 10.7 install. The instructions given here worked for me, but YMMV. Installing GHC Downloading and installing GHC 7.2.1 for x86_64 (Darwin) is straightforward. curl

    Installing GHC 7.2 on Mac OS X 10.7 Lion
  • Bal4u : C/UVa - 整数の特徴

  • Bal4u : C/UVa - LIS/LDSの計算

  • Haskell で動的計画法を書くための3つの方針 - tosの日記

    アルゴリズムの代表っぽい存在とも言えるDPですが,Haskellは参照透明なので書きにくいと思われがちです. しかし,実際は,C言語やSTLなしのC++より遥かに簡単に動的計画法が書けます. リストを用いる 最初に知るであろう方法. フィボナッチ数列の第100項だと, let f = 0 : 1 : zipWith (+) a (tail a) in f!!100 です. 「ずらして足したものを後ろにつなげる」と言えばいいのでしょうか. これについては,他でよく解説されているので詳しくは説明しません. 利点: リストの知識のみでよい. 無限リストの恩恵が受けられる. importが不要. 欠点: 使えるケースが限られる. 書くときに,混乱することも(上の例だと,と考える必要がある. ランダムアクセスができないので,場合によってはO(n)倍の時間がかかる*1. 添字を自由に用いることができな

    Haskell で動的計画法を書くための3つの方針 - tosの日記
  • Haskell の多次元配列 | tnomuraのブログ

    Haskell で多次元配列を使うときは、Data.Array モジュールを import する。配列の定義は、 array (配列のインデックスの境界)(インデックスのタプルと値のタプルのリスト) 例えば、 arrayData = array ((1,1),(2,2)) [((1,1),1), ((2,1),2), ((2,2),3), (1,2),4)] のようにする。Hugs で確かめると次のようになる。インデックスと値のタプルのリストの順序は不定でいいようだ。タプルの総数も合わせなくてもいいが、値の定義されていないインデックスでアクセスするとエラーになる。 HHugs> :load Data.Array Data.Array> arrayData ! (2,2) where arrayData = array ((1,1),(2,2)) [((1,1),1), ((2,1),2),

    Haskell の多次元配列 | tnomuraのブログ
  • Haskellで二分ヒープ(優先度付きキュー)実装してみた - 似非学問的な手記

    Haskellには、C++で言う所のpriority_queueにあたるモジュールがないので、Codeforcesでこれが必要な問題は解けないという問題を抱えていた(幸い、これまで自分が出てきたコンテストでそういう問題には当たらなかった、はずです)ので、自前で実装してみました。 実装したのは 型 Heap a a型の変数を持つヒープ 関数 関数名 型 機能 make_heap (a -> a -> Bool) -> [a] -> Int -> Heap a 順序付けする関数(後述)と要素のリスト、ヒープの最大サイズを受け取ってヒープを構築 pop_heap Heap a -> Maybe (a, Heap a) 最大(最小)値を取り出す。ヒープが空の時はNothingを返す push_heap Heap a -> a -> Heap a ヒープに要素を挿入 です。他にも細々とした補助関数は

    Haskellで二分ヒープ(優先度付きキュー)実装してみた - 似非学問的な手記
  • 最長共通部分列(LCS) - 似非学問的な手記

    最近更新が滞っている…… なんとかせねば(;゚ω゚) なので少し細かな話題をば。 最長共通部分列問題(LCS)というものは、まあ動的計画法(DP)を学ぶとしたらまず確実に練習問題で出される問題で、「二つの文字列の共通部分列のうち最長のものの長さを求めよ」という内容です。 「部分列」なので、文字の取り方は文字列からとびとびになってもかまいません。 "abfhfr"の部分列として"aff"とかもアリです。 ただし、順番を変えてはダメ。 この問題を解くには、あまりにも有名な次のアルゴリズムがあります。 文字列str1(長さn)とstr2(長さm)に対し、 (1)二次元配列DPを用意する。 (2)DP[0][0〜m]とDP[0〜n][0]を0で初期化。 (3)二重ループでi,jを動かして、各DP[i][j]を DP[i][j]= max{ DP[i-1][j], DP[i][j-1], (str1

    最長共通部分列(LCS) - 似非学問的な手記
  • ESMAJ

    Contents EXACT STRING MATCHING ALGORITHMS Animation in Java Christian Charras - Thierry Lecroq Laboratoire d'Informatique de Rouen Université de Rouen Faculté des Sciences et des Techniques 76821 Mont-Saint-Aignan Cedex FRANCE

    koko1000ban
    koko1000ban 2012/01/12
    文字列探索アルゴリズムあれこれ
  • Google Japan Blog: Google が公開しているソフトウェアの解説 ( その2 )

    メディア関係者向けお問い合わせ先 メールでのお問い合わせ: pr-jp@google.com メディア関係者以外からのお問い合わせにはお答えいたしかねます。 その他すべてのお問い合わせにつきましては、ヘルプセンターをご覧ください。

    Google Japan Blog: Google が公開しているソフトウェアの解説 ( その2 )
  • Introduction to Lock-free Programming with C++ and Qt

    This blog post is an introduction to lock-free programming. I'm writing this because this is the pre-requisite to understand my next post. This was also the content of my presentation for Qt Developer Days 2011. Lock-free programming is the design of algorithms and data structures that do not acquire locks or mutexes. When different threads in your program need to access the same data, we must ens

  • Codeforces用Haskell I/Oライブラリ - 似非学問的な手記

    HaskellでCodeforcesに参戦しようとしたときに、ちょっと面倒なのが入出力だったりします。 たとえば、Int型の値を直接読み込むI/Oはないので、そんな時は適当にgetInt::IO intみたいな関数を用意しなければならない訳ですが、文字列と数値が混ざっててそれをm行読み込んで……などに逐一適応するのは面倒ですし、そこで2〜3分時間をとられているようじゃ既に不利です。 そこで、HaskellにもC/C++におけるscanfのような関数があればいいと思い、試しに作ってみました。 前回記事にした#82 Div.2の時よりもさらに一般化しています。 {-# LANGUAGE TypeSynonymInstances #-} class Scan a where scan' :: String -> a instance Scan Int where scan' n = read n

    Codeforces用Haskell I/Oライブラリ - 似非学問的な手記
  • Jubatusにおける大規模分散オンライン機械学習

    Development and Experiment of Deep Learning with Caffe and maf

    Jubatusにおける大規模分散オンライン機械学習
  • 機械学習を使った英語習熟度の推定 TokyoWebmining #16

    TokyoWebmining_16 - Presentation Transcript 機械学習を使った英語習熟度の推定 @langstat TokyoWebmining #162011年11月27日(日)、株式会社ニフティ 1 自己紹介• 小林 雄一郎 (こばやし ゆういちろう) – 大阪大学大学院言語文化研究科/日学術振興会 – 関心領域:コーパス言語学・テキストマイニング – ID: langstat(twitter、slideshare、はてな etc.) 2 • 研究の「思い」 – 言語学と言語処理と言語教育の架け橋になりたい 言語学 言語処理 統語論 意味論 音韻論 機械翻訳 構文解析 形態論 語用論 文体論 テキスト分類 文書要約 談話分析 社会言語学 文脈処理 評判分析 コーパス言語学 音声情報処理 etc. etc. リーディング ライティング リスニング スピーキング

  • 眠っていた遺伝子が目覚め超戦士化するアリ(動画アリ) - 蝉コロン

    科学, 動物Science論文:Ancestral Developmental Potential Facilitates Parallel Evolution in Ants 働きアリと一口に言っても、アリの種類によってかなりとんでもないものもいて(蜜壷アリとか)、アリの進化は凄いものだな、アーリーアダプターだなと思うわけだけれども、今回のは先祖が持っていた兵隊アリの超戦士化能力が復活したりするお話です。 オオズアリ(Pheidole)属というアリの種類では、エサを探すマイナーワーカーと外敵から巣を守るソルジャーの二つのカーストがある。オオズアリ属は現在までに1100種も見つかっていて世界中に生息している多様性に富んだアリである。研究者らがそのうちの1種Pheidole morrisiの野生のやつを観察したところ、ソルジャーの中にデカい、特に頭がデカいやつがいるな*1ということに気がつい

    koko1000ban
    koko1000ban 2012/01/12
    生物すごい
  • 個人的に便利。Markdown記法をQuickLookで表示する·QLMarkdown MOONGIFT

    QLMarkdownはMarkown記法で書かれたファイルをマークアップして表示するQuickLookプラグイン。 QLMarkdownMac OSX用のオープンソース・ソフトウェア。HTMLは柔軟なレイアウト設定ができるマークアップ言語だが、一般ユーザが使うにはちょっと冗長的だ。さらにコンピュータに慣れた人が使うにしても普通のドキュメントをHTMLで書きたいとは思わないはずだ。 表示している所 そこで使われるのが特殊な記法で、一定のルールに沿って書くことでHTMLや別なフォーマットに変換したりする。個人的にはMarkdownが気に入っていて、通常のドキュメントもMarkdown記法で書くようにしている。そんな筆者にはぴったりなソフトウェアがQLMarkdownだ。 QLMarkdownMac OSXのQuickLookでMarkdown記法を表記するプラグインだ。Markdown用の

  • テストとデバッグ

    The document discusses product architecture and its role in manufacturing firms. It defines product architecture as the scheme by which the function of a product is allocated to physical components. Product architecture impacts a firm's ability to achieve strategic goals like innovating new products, responding to market changes, and lowering production costs. The author argues that understanding

    テストとデバッグ
  • Writing modern C++ code: how C++ has evolved over the years | BUILD2011 | Channel 9

    Many people think of C++ as the same language they experienced in college or just as “C with classes”, but the C++ language has evolved extensively over the years. In this session, we’ll cover how you can use C++ to write innovative, expressive and beautiful apps that deliver power and performance apps. Join us to see how the newly finished C++0x standard can make writing C++ as productive as many

    Writing modern C++ code: how C++ has evolved over the years | BUILD2011 | Channel 9
  • 名前修飾 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "名前修飾" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2022年11月) 名前修飾(なまえしゅうしょく、英: name mangling)は、現代的なコンピュータプログラミング言語処理系で用いられている手法で、サブルーチン(関数)名などに対する内部名を、その表層的な名前のみならず、関数であればその引数の型や返戻値の型などといった意味的な情報を含めて修飾した(manglingした)名前とするものである。コンパイラからリンカ、さらには実行時のデバッガなども含んだシステム全体が、高度な型に関する情報などをサポートするように再実装するには多く

  • ネット株軒並み急落 「ステマ疑惑」でイメージダウン

    べログ」を運営しているカカクコムや「アメーバブログ」のサイバーエージェント、オンラインゲームなどのGREEやDeNA、ソーシャル・ネットワーク・サービス(SNS)のミクシィといったインターネット企業の株価が急落している。 背景には、年明けから「やらせ」発覚とネットで話題になっている「ステマ」、ステルス・マーケティングがあるとみられる。ネット銘柄は外国人投資家を中心に「成長株」とみられていて、2011年は株式市場をけん引してきただけに、市場全体への影響も懸念される。 「やらせ」発覚後に急落 年明けの2012年1月4日、カカクコムが運営する飲店の「クチコミ」サイト「べログ」で、作為的に飲店に好意的なクチコミを投稿したり、ランキングを上位に押し上げたりする「やらせ業者」に、人気ランキングが操作されている事例があったことが発覚した。 べログの月間利用者数は3200万人以上(11年11月

    ネット株軒並み急落 「ステマ疑惑」でイメージダウン
    koko1000ban
    koko1000ban 2012/01/12
    なにを今更..
  • GitHub Pagesで楽々ホスティング

    GitHubにはGitHub Pagesというホスティングサービスがある。先日公開した『Unity入門』のページも、このGitHub Pagesを使ってホスティングしている。 GitHub Pagesが面白いのは、ウェブページのコンテンツとGitリポジトリが一体化しているというところだ。GitHub上に一定のルールに従ってリポジトリを作成すると、そのリポジトリの内容がウェブページとして配信される。コンテンツを更新するには、そのリポジトリに更新内容をpushするだけでいい。 GitHub Pagesは、単にリポジトリの内容を配信するだけではない。Jekyllという静的サイトジェネレーターを搭載しており、コンテンツに対してスタイルを簡単に適用できるようになっている。例えば『Unity入門』のページはこのようなソースファイル群によって構成されている。これを更新してpushすると、内部でJekyl

  • GitHub Pagesを使うにあたって

    いくつかポイントがあるような気がしたのでメモ。 ローカルに Jekyll をインストールする最初は無くてもいいかもしれないけれど、使い方が分かってきたらローカルにも入れたほうがいい。 gem を使えばインストールは簡単。 sudo gem install jekyll インストールが完了したら、 jekyll --server --auto のようにしてサーバーモード&自動更新モードで立ち上げる。 localhost:4000 でリロードする度に更新されるので、トライ&エラーが簡単。 markdownレンダラーを入れ替えるJekyll がデフォルトの markdown レンダラーとして採用している maruku は、どうも Unicode の扱いが怪しいらしい。日語を使っているとフォーマットが崩れることがある。オプションとして選択可能な kramdown に入れ替えることをおすすめする。

  • 入門! nginx - tumblr

    最近話題のnginxについに手を出したのですが、「nginx入門」みたいなブログ記事も一切見当たらず、あるのは英語のドキュメント記事くらい…という状況だったので、自分なりに訳して理解した部分を忘れないよう覚書。 今node.jsもちょこちょこやっているのですが、これまた物凄い勢いで開発が進む上に、その情報のほとんどは英語なわけでやはりもうホントに英語が読めないとどうしようもないんだなぁと実感しているわけです。まぁstackoverflowとか見ててもそこまで難しい文法使ってるわけでもないので、英語を見た瞬間に拒否反応起こしたりしなきゃなんとかなりそうですが。 「毎度毎度ブログ長すぎ死ね」とはてブのコメントで話題の僕のブログ、今日も長いです。 nginxってそもそもどう読むんだよ 「エンジンエックス」と読みます。正直すごくかっこいいです。apacheとかtomcatとかnginxとか、サーバ

    入門! nginx - tumblr