タグ

ブックマーク / sleepy-yoshi.hatenablog.com (9)

  • 親プロセスは2度死ぬ - デーモン化に使うダブルforkの謎 - シリコンの谷のゾンビ

    デーモンプロセスを作る場合には,教科書によく書かれている2度forkは不要ではないか? ということを以前の記事に書いた. [c][unix]UNIXネットワークプログラミングのお勉強 (2) デーモンの作り方 - 睡眠不足?! 確かにBSDのdaemon(3) のコードでは,forkは1回しか呼んでいない. 「きっとプレセスがセッションリーダだと不都合があるのだろう.でもなぜ?」 というのがopen questionだった. それに対する答えを「詳解UNIXプログラミング」[1] に見つけた. SVR4においては,この時点でforkを再度呼び,親を終了することを勧める人がいる. 2番目の子がデーモンとして動作する.これは,デーモンはセッションリーダではなく, SVR4の規則 (9.6節) から,セッションリーダでなければ制御端末を取得できない,ということを保証する. あるいは,制御端末を取

    親プロセスは2度死ぬ - デーモン化に使うダブルforkの謎 - シリコンの谷のゾンビ
    hiroyukim
    hiroyukim 2018/04/29
  • gccを用いたCの共有ライブラリの作り方 - シリコンの谷のゾンビ

    ゆとりなもので,ついこないだまで動的リンクと静的リンクの違いがわかっていなかった.動的リンクというのが理解できた頃,そっかユーティリティライブラリは自分で共有ライブラリ作ってしまえばいいんだ,というごく当たり前のことが理解できた. UNIXをさわりはじめていた初期の頃,mecab.soのシンボリックが〜〜という用なハマりがあったのだけれど,あれは要するに実行時に共有ファイルへのパスを指定してあげればよかっただけのこと. わかると当たり前だけれど,わからないと「何がわからないのかわからない」状態に落ち込むなぁ,と改めて思いました. (幸いなことに,僕の周りには「ゆとり乙ww」と指導してくれる方々がいるので認識できるようになるのですが,少なくとも大学(院)時代はそうでなかったわけで,ゆとりスパイラルの恐ろしさを体感した気がしています.) というわけで自分用共有ライブラリの作り方をきちんと理解で

    gccを用いたCの共有ライブラリの作り方 - シリコンの谷のゾンビ
  • SVMの最適化にL-BFGSを使っていいのか? → たぶん大丈夫 - シリコンの谷のゾンビ

    適切なタイトルは「SVMの主形式を制約なし非線形最適化で解く」だと思う. きっかけはSEXI2013/WSDM2013読み会で @harapon さんが担当された論文 Identifying Users' Topical Tasks in Web Search (WSDM2013) .ここにLinear SVM (SMO) とLinear SVM (L-BFGS) という手法が出てくる. いかにゆとりといえど,さすがにPRMLを三周回っているとSVMが主形式,双対形式ともに二次計画 (QP) であるということくらいは覚えている.はてL-BFGSは準ニュートン法,制約なし非線形最適化に用いる最適化手法という認識である.これって使ってよいのだろうか? 最初は下記のつぶやきのとおり思っていたのだけれどこれは間違い.KKT相補性条件のことを忘れている. というわけでしばらく調べていたら下記の論文を

    SVMの最適化にL-BFGSを使っていいのか? → たぶん大丈夫 - シリコンの谷のゾンビ
    hiroyukim
    hiroyukim 2013/07/01
  • 情報検索ことはじめ〜教科書編〜 - シリコンの谷のゾンビ

    2011-01-18追記 教科書編その2 にて2011年版のIR教科書を紹介しています 情報検索(IR)の勉強を格的に始めて8ヶ月.大体どんな分野があって,どんなことを勉強すればいいのかわかってきた(と思う).この気持ちを忘れないうちにメモしておこう.以下,若輩があーだこーだ言ってるだけなので,間違いや他に情報があれば,ぜひコメントをお願いします. # ここで述べている情報検索とは,コンピュータサイエンスの一分野としての情報検索です.図書館情報学の側面は一切扱っていません,あしからず. というわけでまず教科書編. 腰を入れて勉強する場合,基礎づくりのためには教科書選びがいちばん重要だと思っている.自分の知っている限り,情報検索における教科書の選択肢はそれほど広くはない.以下に紹介するは,情報検索を学ぶ上で「買い」の.これらを読めば,最新の論文を読めるだけの土台はできるし,専門家と議

    情報検索ことはじめ〜教科書編〜 - シリコンの谷のゾンビ
    hiroyukim
    hiroyukim 2012/11/09
    あとで読む
  • 文字列探索スターターキット - シリコンの谷のゾンビ

    最近重点的に勉強しているので,これまで集めた教科書情報,資料等へのリンクをまとめてみる.紹介している教科書はほとんど読んでいないので妄言注意. この他にお薦め教科書,勉強法があればぜひ教えてください. 文字列探索は検索対象テキストの中から転置インデクスのような外部データ構造を利用せずに目的の文字列を探索する課題です.文字列探索,文字列照合,パターンマッチなどとも呼ばれています(一番オーソドックスな呼び方はなんでしょう?) 教科書 和書で文字列探索だけを取り扱っているを見かけたことがない.アルゴリズムの探索の章にKMP法,BM法が紹介されているだけのケースが多い.注意してみるとAC法を扱っているが意外と少ないことに気がつく... (文字列探索でよい和書の情報募集中) 追記 (2009-04-02) Thanks to cubicdaiyaさん! 情報検索アルゴリズムにKMP法, BM法

    文字列探索スターターキット - シリコンの谷のゾンビ
    hiroyukim
    hiroyukim 2012/11/09
  • 情報検索ことはじめ〜研究者編〜 - シリコンの谷のゾンビ

    昨年書いた教科書編が(僕にとっては)嬉しくて跳ね上がるほどブックマークされたので,調子に乗って第二弾を書いてみました.皆様ありがとうございます(ブックマークにがんばってくださいというコメントがあったのがめちゃくちゃ嬉しかったです).今回は研究寄りですが,少しでも誰かの役に立てば幸いです. 僕は網羅的にサーベイを,キーワード検索以外に主に二つの方法で行っています. 会議毎にサーベイ 研究者毎にサーベイ 1.はさておき,2.ですが,僕は研究者のDBLPをチェックしています.気になる論文の著者のDBLPを眺めると,知らなかった要チェックや!論文を拾うことができます. なので,一線で活躍する研究者の論文は定期的にチェックする必要があります. 今回はIR研究者の中でも,戦闘力が高く,この人は常にウォッチせねばという研究者の一部を紹介したいと思います. 下記は若輩の独断と偏見に基づくものです.一線で活

    情報検索ことはじめ〜研究者編〜 - シリコンの谷のゾンビ
    hiroyukim
    hiroyukim 2012/11/09
  • SVM実践ガイド (A Practical Guide to Support Vector Classification) - シリコンの谷のゾンビ

    SVMツールで有名なLIBSVMの作者らがまとめた "A Practical Guide to Support Vector Classification" という良資料[1]の日語解説資料をまとめてみたので公開. SVM実践ガイド (A Practical Guide to Support Vector Classification) View more presentations from sleepy_yoshi 元資料はこちら 資料作成のきっかけは,まわりの人に「SVMとかいう手法使ったんだけど,機械学習よくわからなくてさ」という感じで相談を受けて「カーネルは何使ってるの?」「素性のスケーリングはした?」「Cパラメータは調整した?」というようなことを聞くのだけれど,「???」というやりとりにうんざりしたから. その都度,Cパラメータというものがありまして〜,カーネルというものが

    SVM実践ガイド (A Practical Guide to Support Vector Classification) - シリコンの谷のゾンビ
    hiroyukim
    hiroyukim 2012/11/09
  • [c][unix]UNIXネットワークプログラミングのお勉強 (2) デーモンの作り方 - シリコンの谷のゾンビ

    一晩寝てからデーモンプロセスの作り方を眺めてとても簡単だということに気がついた.自分メモ. デーモンへの道のり fork()して子プロセス (次郎) を生成.親プロセス (太郎) を終了する 次郎プロセスでsetsid()する 次郎プロセスはセッショングループリーダになる この時点で次郎プロセスは制御端末を持たなくなる 次郎プロセスがfork()して孫プロセス (三郎) 生成.次郎プロセス終了 chdir("/")する. shutdown時のumount処理に迷惑をかけないため 標準入力,標準出力,標準エラー出力を閉じる サンプルコード 比較を行うために3つのプログラムを書いた. daemon 全部行う nondaemon 2度目のfork()をしない nondaemon2 setsid()しない #include <stdio.h> #include <stdlib.h> #includ

    [c][unix]UNIXネットワークプログラミングのお勉強 (2) デーモンの作り方 - シリコンの谷のゾンビ
    hiroyukim
    hiroyukim 2012/11/09
  • TokyoNLP#5で「パーセプトロンで楽しい仲間がぽぽぽぽ〜ん」を発表しました - シリコンの谷のゾンビ

    TokyoNLP#5に参加して「パーセプトロンで楽しい仲間がぽぽぽぽ〜ん」というタイトルで発表しました.発表資料 (検閲後) をuploadしました. なお,2種類のAveraged Perceptronというものがあるというような発表をしてしまいましたが,実は両方とも実質同じアルゴリズムでした.片方はVoted Perceptronの近似 [Carvalho+ 06] という文脈.もう一方は構造学習を行うStructured Perceptron [Collins 02]の文脈で提案されています.その部分を修正しました.@uchumikさんのコメントで気が付きました.どうもありがとうございます. TokyoNLP#5 パーセプトロンで楽しい仲間がぽぽぽぽ〜ん View more presentations from sleepy_yoshi 音声付きで用意したネタ.どうやら徹夜明けの妙な

    TokyoNLP#5で「パーセプトロンで楽しい仲間がぽぽぽぽ〜ん」を発表しました - シリコンの谷のゾンビ
    hiroyukim
    hiroyukim 2011/06/20
  • 1