タグ

ブックマーク / 0xcc.net (24)

  • GNU diff の地味だけど便利な機能 - bkブログ

    GNU diff の地味だけど便利な機能 最近になって GNU diff の地味だけど便利な機能を2つ知りました。調べてみると、いずれも昔からある機能でした。 --side-by-side は2段組で結果を表示するオプションです。変更されていない行を含めて2つのファイルの内容全体と変更点が表示されるのがポイントです。変更された行の前後数行だけでなくファイル全体をまとめて読みたいときに使えます。デフォルトの表示の横幅は130文字です。必要に応じて --width オプションで変更できます。 こういった用途には meld などの GUI の diff ツールを使えばいいのですが、 ssh 端末しかないような状況で重宝します。 --strip-trailing-cr は行末の CR を無視する機能です。改行コードが CRLF と LF でい違っているけど、中身はほぼ同じ、というファイルを比較す

    vkgtaro
    vkgtaro 2009/02/23
    2段組で表示するオプションがあるのかー
  • yak shaving で人生の問題の80%が説明できる問題 - bkブログ

    yak shaving で人生の問題の80%が説明できる問題 つい最近、 yak shaving (ヤクの毛を刈る)、という言葉を知りました (原典)。これは「一見無関係に見えるけど、真の問題を解くのに必要な問題を解くのに必要な(これが何段階も続く)問題を解くのに必要な活動」という意味の言葉です。 yak shaving は、ようするに「ある問題を解こうと思ったら別の問題が出てきて、それを解こうと思ったらさらに別の問題が出てきて…」ということが延々と続く状況を表しています。ちなみに、ヤクとは毛が長い、牛の一種です。 yak shaving は、以前に覚えた bikeshed と同じくらい便利そうな表現です。というもの、プログラムを書いていると yak shaving 的な状況がすぐに発生するためです。 たとえば、「Amazon のほしい物リストを CSV 形式に変換して Excel で読み

    vkgtaro
    vkgtaro 2008/06/21
    my life is yak shaving!! wwwww
  • Dependency Injection の基本的なアイディア - bkブログ

    Dependency Injection の基的なアイディア Inversion of Control コンテナと Dependency Injection パターンを読みました。関連する事柄を広くカバーした、隙のない記事です。 ただ、割とボリュームがあるので、「Dependency Injection って結局何なの?」ということを手っ取り早く知りたい向きにはあまり向かないかもしれません。そこで、基的なアイディアを手短にまとめてみました。 Dependency Injection (依存性注入、DIと略) とはその名の通り、依存性を注入するパターン (テクニック) です。もう少し言葉を加えると、依存性を内部に抱え込まずに外部から注入する、パターンです。 Dependency Injection の基的なアイディアは「依存性を外部から注入する」です。 DIコンテナと呼ばれるフレームワ

  • 外に追い出す - 学校では教えてくれないバッドノウハウ英語 #12 - bkブログ

    外に追い出す - 学校では教えてくれないバッドノウハウ英語 #12 学校では教えてくれないバッドノウハウ英語の12回は、factor out を取り上げたいと思います。 factor out はコードレビューの際によく使われる「外に追い出す」という意味の表現です。たとえば、長くなりすぎた関数の一部分を外に追い出すときに factor out といいます。 例) Would it be too hard to factor out the inner loop into a separate function? その内側のループを別の関数として外に追い出すのは難しい? You should factor out the part common to foo() and bar(). foo() と bar()で共通している部分を外に出すべし。 たいていの場合、factor out はコードの

  • 重箱の隅をつつく - 学校では教えてくれないバッドノウハウ英語 #10 - bkブログ

    重箱の隅をつつく - 学校では教えてくれないバッドノウハウ英語 #10 学校では教えてくれないバッドノウハウ英語の10回は、 nitpick, cherrypick という、ともに pick で終わる表現を取り上げたいと思います。 "nitpick" は「あら探しをする」という意味の表現です。動詞にも名詞にも使われます。nit はシラミの卵という意味で、シラミの卵を摘み取るのはいかにも小さなこと、という響きがあります。コードレビューの際に、重箱の隅をつつくような指摘をするときにぴったりの表現です。nit-pick とハイフンが入る場合もあります。 例) It's just a nitpick but I think "file_name" is better than "filename". 重箱の隅だけど、 filename より file_name の方がいいと思うよ。 Please

    vkgtaro
    vkgtaro 2007/03/16
    「サクランボを摘むよりも、シラミの卵を摘む方が好きな人が多いのはなかなか皮肉なことです。」
  • 特別扱いする - 学校では教えてくれないバッドノウハウ英語 #9 - bkブログ

    特別扱いする - 学校では教えてくれないバッドノウハウ英語 #9 学校では教えてくれないバッドノウハウ英語の9回は、special case ~という動詞の表現を取り上げたいと思います。 "special case" は通常、「特別な場合」という意味の名詞として使われます。しかし、英語も日語と同様に、名詞は動詞化する傾向があるため、"special case" は「特別扱いする」という意味の動詞としてもよく使われます。 例) I didn't want to special case IE4 but I had to... IE4 を特別扱いしたくなかったんだけど、避けられなかったよ。。 Would it be possible to special-case this file so that we don't have to worry about it? このファイルのことを気にし

  • 数字に関する短縮記法 - 学校では教えてくれないバッドノウハウ英語 #8 - bkブログ

    数字に関する短縮記法 - 学校では教えてくれないバッドノウハウ英語 #8 学校では教えてくれないバッドノウハウ英語の8回は、数字に関する短縮記法を取り上げたいと思います。 2x, 10x, ... ソフトウェアの開発では、性能が2倍になった、などのように数字が何倍になったかを議論することがよくあります。このようなときに便利なのが数字の後ろに x をつける記法です。 例) C++ is 10x faster than Perl for this kind of application. この手のアプリには C++ の方が Perl より10倍速いよ This simpler code gained a 5x performance improvement. もっと単純なこのコードで 5倍の性能改善が得られたよ。 上の例は x を使わない場合、 ten times faster や five-

  • デバッグに使えるサスペンス用語 - 学校では教えてくれないバッドノウハウ英語 #7 - bkブログ

    デバッグに使えるサスペンス用語 - 学校では教えてくれないバッドノウハウ英語 #7 学校では教えてくれないバッドノウハウ英語の7回は、"post-mortem", "tombstone", "culprit" を取り上げたいと思います。いずれもデバッグに関する議論で使える表現です。 "post-mortem", "tombstone", "culprit" の通常の意味はそれぞれ「検死」「墓石」「容疑者」です。どれもサスペンス映画に登場するような言葉ですが、ソフトウェア開でも、デバッグという一種のサスペンスの場面で使われます。 "post-mortem" は、プログラムの検死、すなわち、プログラムがなぜ死んだのかを原因調査すること、または調査結果を意味します。 例) We should perform a post-mortem analysis to make sure this doe

  • 横着プログラミング 第1回: Unixのメモ技術

    最終更新日: 2002-03-18 (公開日: 2002-03-18) Unix Magazine 誌に 2002年1月号から 2003年2月号にかけて連載し ていた記事の元の原稿です。 横着プログラミングとは 私は必要が発明の母だとは思わない。私の意見では、発明とは怠惰 から、おそらくはまた、まさに無精から生じるものである。面倒を 省くために。 -- アガサ・クリスティ この言葉によると、どうも発明とは横着したいがために生まれるも のらしい。そう考えてみると確かに、私がプログラミングをする動 機は、横着するためのソフトウェアを作るため、という要素が大き い。突然、「うげー、面倒くせー」と叫んでプログラムを書き始め るのである。 そんなわけで、横着するためにプログラミングすることを私は勝手 に「横着プログラミング」と呼んでいる。連載では横着プログラ ミングをテーマに、横着のコツや私が作っ

  • 問題を再現させる - 学校では教えてくれないバッドノウハウ英語 #5 - bkブログ

    問題を再現させる - 学校では教えてくれないバッドノウハウ英語 #5 学校では教えてくれないバッドノウハウ英語の5回は、"reproduce" と "reproducible" を取り上げたいと思います。バグ報告のやり取りの際に役立つ表現です。 エラーを再現させる、という意味での「再現させる」は英語では "reproduce" という動詞を使います。問題を再現させることはデバッグの基ですが、報告を受けたバグが手元では再現しないことはよくあります。そのようなときは "I can't reproduce the error" (そのエラー再現できんかったよ) と相手に伝えるといいでしょう。 例) I tried the same configuration you used, but couldn't reproduce it. お前と同じ設定を試してみたけど、再現しなかったよ。 A way

  • 動くようにする - 学校では教えてくれないバッドノウハウ英語 #4 - bkブログ

    動くようにする - 学校では教えてくれないバッドノウハウ英語 #4 学校では教えてくれないバッドノウハウ英語の4回は、"get it to work" を取り上げたいと思います。トラブルシューティングの場面で使える表現です。 "get it to work" の直訳は「それを動くようにする」です。簡単にいえば「動かす」です。典型的な用例は I can't get it to work で、「動かせねー!」というときに使います。 例) I tried all sorts of things but just could not get it to work. いろいろやってみたけど、動かせなかったよ。 I couldn't figure out if there was a way to get it to work. 動かす方法があるかわからんかったよ。 Do you happen to

  • もし必要なら - 学校では教えてくれないバッドノウハウ英語 #3 - bkブログ

    もし必要なら - 学校では教えてくれないバッドノウハウ英語 #3 学校では教えてくれないバッドノウハウ英語の3回は、"if need be" を取り上げたいと思います。"if need be" はソースコードのコメントの中でとりわけよくみられる表現です。 "if need be" の意味は「もし必要なら」です。同じ意味を表す "if necessary" という表現も一般的ですが、"if need be" の方が2文字分短いためか、"if need be" の方を好むプログラマも多いようです。 例) // Change the font size if need be. // フォントサイズを変更する、必要なら。 We could help improve the test coverage if need be. 必要ならテストカバレージの改善を手伝ってもいいよ。 この表現はメールでもよ

  • やっとくよ - 学校では教えてくれないバッドノウハウ英語 #2 - bkブログ

    やっとくよ - 学校では教えてくれないバッドノウハウ英語 #2 学校では教えてくれないバッドノウハウ英語の2回は、"Will do." を取り上げたいと思います。主語も目的語もなく Will と do とピリオドだけで構成される、テストでは 0点をもらいそうな表現です。 この表現に初めて出くわしたのは、私が出した "I think it would be good to handle this case (この場合も処理したらいいと思う)" といった感じのメールに対する返信の中です。 そのときの返事は "Will do." の一文しかなく、主語が省略されているため、肝心の「誰がやるのか」という点がはっきりせず、もしかして、 "You will do that (お前がやる)" だったらどうしようとかなり焦りました。結局、省略されていた主語は "I" で、 "I will do that (

  • こうすればうまくいくよ - 学校では教えてくれないバッドノウハウ英語 #1 - bkブログ

    こうすればうまくいくよ - 学校では教えてくれないバッドノウハウ英語 #1 宮川さんの人気企画「学校では教えてくれないエンジニアリング英語」に便乗して、私もソフトウェア開発に使えるフレーズ、とりわけバッドノウハウ的な場面において役立つフレーズを紹介していこうと思います。第1回は "do the trick" です。 do the trick は「こうすればうまくいくよ」というときに使えるフレーズです。日常会話にも使えますが、とりわけ「うまくいかない」「うまくいった」という場面が多く発生するソフトウェア開発では特に便利なフレーズです。 例) In that case, setting LD_ASSUME_KERNEL=2.4.19 should do the trick. それなら、 LD_ASSUME_KERNEL=2.4.19 をセットすればうまくいくはず。 Heh, this seem

  • JavaScript Unicode Charts - bkブログ

    JavaScript Unicode Charts Unicode の表を JavaScript で動的に生成して、検索もできたりするツールがあると便利ではないかと思い立ちました。そこで、自分で作り始める前に試しに javascript unicode で検索してみたところ、ちょうど欲しいと思っていたようなものが見つかりました。JavaScript Unicode Charts というページです。 JavaScript Unicode Charts のページの一番上の入力欄に「あ」と入力してEnterキーを押すと、「あ」のコードポイント 0x3042 がわかります。この機能は Unicode を使ったプログラミングに役立ちそうです。 たとえば、 JavaScript で document.createTextNode を使ってテキストノードを作るときは実態参照は使えないので、 » (&ra

    vkgtaro
    vkgtaro 2006/10/10
    unicode の表を検索できる。便利。
  • スルカン開催中止 - bkブログ

    スルカン開催中止 昨日に開催決定とお知らせしたスルー力カンファレンス (通称スルカン) ですが、講演を依頼していたスピーカ候補の全員にスルーされてしまったため、大変残念ながら、開催中止の運びとなりました。 …というのはうそで、最初から、「事前仮登録」をすると次のようなポップアップウィンドウが表示される仕組みになっていました。 あなたのスルー力は 0点です。こんな釣り記事はスルーしましょう(カンファレンスは開催されません)。なお、このフォームは JavaScript ゆえ個人情報はどこにも送信されません。 元々、ほんの小ネタのつもりだったのですが、スラッシュドットに取り上げられるなど思わぬ反響を呼び、ITエンジニアにはスルー力が欠けている、ということを改めて思い知らされる結果となりました。お騒がせしました。

    vkgtaro
    vkgtaro 2006/10/06
    ぐはっ 「よく考えてから申し込もう」とか思った自分はスルー力本気でナッシングw
  • いやなブログ - スルー力カンファレンス (スルカン) 開催決定!

    スルー力カンファレンス (スルカン) 開催決定! ものごとをやり過ごしたり見て見なかったことにしたりすることを「スルーする」と呼ぶようになって久しい今日この頃ですが、このたび「スルー力」、すなわち、スルーする力に関する、 ITエンジニアのためのカンファレンスを開催することになりました。ユニークな下でおなじみの某社CTOをはじめとする豪華なスピーカ陣による講演が行われる予定です。 「人生の大半の問題はスルー力で解決する」とはスルー力研究の専門家の間では共通のコンセンサスですが、昨今頻発するネット上での炎上事件、人間関係上のストレス問題、あるいは仕事上での燃え尽きの多発などの事情から、スルー力に対する社会的、特にITエンジニアの間での認知度が足りないのではないか、という問題意識が今回のカンファレンス開催の背景にあります。 現在、スピーカは調整中の段階にありますが、スルー力のベストプラクティス

    vkgtaro
    vkgtaro 2006/10/05
    「都内にて11月中旬の金曜夜に開催を検討中です」
  • いやなブログ - PuTTYのフォントを「モトヤシーダ1等幅」に設定する

    PuTTYのフォントを「モトヤシーダ1等幅」に設定する PuTTY のフォントを「モトヤシーダ1等幅」に設定してみました。小さいサイズでの視認性は MSゴシックと同等に高く、文字を大きくしたときに断然きれいなのがいい感じです。 PuTTY (私は日語版を使っています) のフォントはデフォルトでは Terminal に設定されています。これは視認性の高いビットマップフォントです。 しかしながら、ビットマップフォントゆえに、私がよく使う「最大化されたときだけフォントの大きさを変更する」という機能と相性が良くありません。この機能はウィンドウを最大化したときに、端末の桁と行を増やす代わりにフォントを大きくするもので、PuTTYの設定の「ウィンドウ」の欄にあります。

    vkgtaro
    vkgtaro 2006/09/15
  • http://0xcc.net/pub/decon2006/

    vkgtaro
    vkgtaro 2006/09/09
    奥が深い
  • 私の情報整理術: 捨てる派の情報整理術

    捨てる派? 捨てない派? 情報整理術は興味の尽きないトピックです。誰もが何かしらのこだ わりを持っているため、ひとたび議論が始まると、自分はこうやっ てる、俺も昔はそうやっていたが駄目だった、などと始まって収拾 がつかなくなります。これはちょうど誰もがうまいラーメン屋につ いて一家言を持っているのと似ています。 私の観察によると、ある種の人たちが情報整理術について議論を始 めると永遠に平行線で終わるようです。それは「捨てる派」と「捨 てない派」です。 捨てる派によれば、「物理的なものにしろ電子的なものにしろ、い らないものはどんどん捨ててしまえばよろしい。不要なものがたく さんあるから必要なものが見つかりにくくなるのだ。第一、ものが 少ない方が気分がすっきりする。昔から、墓場まで情報は持ってい けないと言われているではないか」ということになります。 一方、捨てない派によれば「必要か不要か簡

    vkgtaro
    vkgtaro 2006/05/12
    「後から必要になるかもしれない症候群」捨てられない……orz