開発版をソースコードからインストールする場合 (Linux) † mkdir ~/development cd ~/development git clone https://git.savannah.gnu.org/git/auctex.git cd ~/development/auctex make 以下を ~/.emacs.d/init.el に記述します。 (load "~/development/auctex/auctex-autoloads.el" nil t t) (with-eval-after-load 'info (add-to-list 'Info-additional-directory-list "~/development/auctex/doc")) use-package を使用している場合は以下を ~/.emacs.d/init.el に記述します。 (us
What's the problem? Here at Google, we have thousands of engineers working on our code base every day. In fact, as previously noted, 50% of the Google code base changes every month. That’s a lot of code and a lot of people. In order to ensure that our code base stays healthy, Google primarily employs unit testing and code review for all new check-ins. When a piece of code is ready for submission,
なかなかハードルが高く,多くの人が踏み出せないでいるカーネルのソース・コードの読解。本連載では,今までカーネル・ソースなんて見たことがないという人に,読みこなすコツをお教えします。今回は,どうしたらカーネル・ソースを読みこなせるようになるのか,筆者の経験をお話します。 Linuxユーザーなら誰しもカーネルのソース・コード(カーネル・ソース)を読んで,どのような処理を行っているのかを確認したり,自分なりの変更を加えたりしたくなるのではないでしょうか。しかし,カーネル・ソースの量は膨大な上,C言語で書かれているので,コンピュータ内部やOS(オペレーティング・システム)の仕組みを理解したプログラマでないとなかなか読みこなせません。そのため,カーネルを読むための第一歩を踏み出せない人が数多くいることは事実です。 本講座では,プログラマではないごく普通のLinuxユーザーが,カーネルをある程度自力で
STMはソフトウェアトランザクショナルメモリの略です。 ↓とりあえずwikipedia http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%A1%E3%83%A2%E3%83%AA 日本でSTMの話題を検索すると「楽観的ロックでしょ?」といった発言を見かける事が多く、確かに実用的な手法の多くはロックベースだったりしていますが、正直なところロックベースな手法のSTMはデータベースでのトランザクションと似ているフシがあったりしてデータベースに詳しい人からするとそれほど驚くような手法ではない事が多いのです。その
LevelDBが公開されて少し経ちました。 全体ではLog Structured Merge Treeという物を実装しているようですが詳しいところは知りません。 実装を少し読んだのですが内部で使われているSkipListにいくつも思い切った設計がありました。 (参考)togetter「LevelDBを読む人たち」 http://togetter.com/li/136983 SkipListそのものはMulti Reader / Single Writerな実装なのですが おもしろい事にReaderとWriterが同時に走っても大丈夫なように作られています。 Reader-Reader : 共存可能 Reader-Writer : 共存可能 Writer-Writer : 共存不可 Readerが常に走り続けている状況を想定した上で、Writerの足を止めたくないんでしょうね。 為される事の
@overlastさんのお誘いにより招待講演という形でDSIRNLP勉強会で発表をしました。 IRともNLPとも関係のない話ですが、冬のLock-free祭りという題目でお腹いっぱい話せました。 発表資料はこちら 冬のLock free祭り safe View more presentations from Kumazaki Hiroki ↑だとアニメーションが死んでてイミフになってるので↓がおすすめです。一番良いのはPowerPoint2007以降で再生することですが。 http://www.slideboom.com/presentations/460931/%E5%86%AC%E3%81%AELock-Free%E7%A5%AD%E3%82%8A_safe アニメーション有りなら深く考えずめくっていくだけでおおよその雰囲気は掴めるんじゃないかと思います。 総ページ数190枚の大作です
VC++では、Debugger Visualizersによって、デバッガから、コンテナの中身をわかりやすく表示することが可能だ。 http://d.hatena.ne.jp/faith_and_brave/20100329/1269833173 gdbの場合はどうだろうか? まず、STLのコンテナに関しては、 http://sourceware.org/gdb/wiki/STLSupport をインストールすることで対応可能なようだ。 インストール方法は、 svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python を適当なディレクトリに配置し、以下の内容をホームディレクトリの.gdbinitに追記すればよい。.gdbinitが無ければ作ろう。 python import sys sys.path.insert(0, 'インストール
今ホッテントリになっている この記事『仕事が遅い人の共通項』http://tirrano.com/?p=1543 は的外れだ。仕事を速くこなすためには「素直さ」のようなことはどうだっていい。むしろ邪魔ですらある。仕事の速さに精神論は邪魔でしか無い。もっとシンプルな方法で仕事は速くこなせるようになる。具体的には以下の7つのポイントが有効だ。 1.時間を区切る 「時間をかけて頑張って解決しよう」と考えている時点で、あなたは最も効率の悪い仕事のやり方を選んでいるといえる。なぜなら、「時間で解決しよう」というのは、創造的な解決方法を放棄していることだからだ。たとえば、「象を3秒以内にかけ」といわれたら、誰でも象を表現するために最適かつ短時間で終わる方法を考えだそうとする。時間による制限は人の創造性を引き出すシンプルかつ効率的な方法だ。だから、「イマイチ効率が悪いやり方をしているようだな」と感じるな
(2009.1.3) C++ で Haskell の Maybeモナドっぽいものを書いてみます。意味が近い boost::optional を活用してみます。 (2020.5) C++17 std::optional で作りなおしました。ついでに, Either っぽいのも作ってみました。 HaskellのMaybeモナド HaskellのMaybe モナド (データ型) は, 正常値か失敗のどちらかを持つ型です。正常値は Just 値, 失敗は Nothing で表します。 >>= 演算子で Maybe モナドを返す関数を繋いでいき、途中で失敗したら以降の関数は実行させないようになっています。>>= 演算子は, bind と呼ばれます。 モナド (型クラス) とは何か、満たすべき制約などについては、別ページにて; Haskell: モナド, 具象データ型, モナド則の嬉しさ 典型的な使い
PFI Seminar 2011/12/08(後編) 1 視聴数 長さ: 11:34 エラー処理を書いてはいけない(後編) 埋め込みコード:録画 <iframe src="http://www.ustream.tv/embed/recorded/19005493" width="608" height="368" scrolling="no" frameborder="0" style="border: 0px none transparent;"></iframe> カスタム: 横幅: px 高さ: px 古いエンベッドコードを使う <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="296" id="utv879397" name="utv_n_538828"><p
PFI Seminar 2011/12/08(前編) 1 視聴数 長さ: 29:41 エラー処理を書いてはいけない(前編) 埋め込みコード:録画 <iframe src="http://www.ustream.tv/embed/recorded/19005140" width="608" height="368" scrolling="no" frameborder="0" style="border: 0px none transparent;"></iframe> カスタム: 横幅: px 高さ: px 古いエンベッドコードを使う <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="296" id="utv711331" name="utv_n_129004"><p
MEGA Model Optimization Package Hal Daume III () Fifth (b) Release 08 October 2007 Fifth Release 17 August 2007 -- go here Fourth (b) Release 30 April 2007 -- go here Fourth Release 10 November 2006 Bug Fix Release 6 April 2006 -- go here Third Release 17 January 2006 -- go here Bug Fix Release 30 November 2005 -- go here Bug Fix Release 23 March 2005 -- go here Second Release 24 January 2005 -- g
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く