サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
jun-yoshida.hatenadiary.org
コードクローン(重複コード)とは、ソースコード中の全く同じあるいは類似したコードの断片。一般に、コードクローンが存在するソースコードは保守が困難になる。これは、誤りを含んだコードを複製することでその誤りが分散してしまうことや、機能変更を行う際にクローンを探して、同様の対応が必要かどうかを調査する必要があるためである。コードクローンを検出するためには、単純なテキスト比較では不十分であり、言語の構文レベルでの比較が必要となる。 CCFinderXは、フリーのコードクローン検出ツール。2004年の未踏にも採択されているようだ。 CCFinderXはコードクローン検出ツールです。Java, C/C++, COBOL, VB, C#のソースコードから、コードクローン(重複コード)を検出します。 CCFinderXは、拙作CCFinderのメジャーバージョンアップであり、新しい設計と技術により、性能の
自炊したPDFを読むために、Kindle3を購入してみました。いろいろと試行錯誤したので、同じような環境の方への参考のためにメモしておきます。これまで、iPad用に自炊していましたが、Kindleでは勝手が違います。 結論から言うと、 Kindle3では、文庫、新書だけでなく、A5版のビジネス書くらいまでは表示可能。(新書サイズくらいまでが限界という記事も見かけますが、そんなことはない) Kindle3では、PDF/Zip済Jpegが表示できるが、PDFの方がおススメ。 Jpegでは、コントラストの調整やブックマークが使用できないため。 Scansnapで白黒(≠グレースケール)でスキャンした PDFは、Kindle用に加工しなくてもきれいに表示できる。 ScansnapでグレースケールでスキャンしたPDFは、 Kindle用に加工しなければきれいに表示できない。Kindle用のPDFを作
PerlのWin32::OLEを使って、word2txt.vbs を Perl に移植してみた。 これまで、Win32::OLE を使ったことがなかったので、WordやExcelのファイルをバッチ処理したいときは、いったんテキストに変換してPerlで処理していた。VBAは生産性が低いのであまりすきじゃない。 WordやExcelのファイルをテキストに落とすときには、ここのexcel2txt.vbsやword2txt.vbsにお世話になっていたのだが、PerlからOLEを使えばいいじゃんといういうことにようやく気づいた。 このあたり(PerlからのOLE使用法)の情報を参考に word2txt.vbs を perl に移植してみた。ドラッグしたファイルを対象にするのではなく、カレントディレクトリの全docファイルを処理対象にしている。 #!/usr/bin/perl use strict;
文字列の置換には、sub、sub!、gsub、gsub!メソッドを使う string#sub(置換前パターン,置換後文字列) subは最初のパターンだけを置換。gsubは全てのパターンを置換する。 !をつけると、元のインスタンスの内容を変更する。 サンプル open("hoge.txt"){ |f| open("out.txt","w"){ |o| while line = f.gets line.gsub!("foo","bar") o.puts line end } }open("out2.txt","w"){ |o| open("hoge.txt").each{ |line| o.puts line.gsub("foo","bar") } } ワンライナーでも可能 ruby -e 'puts File.read("in.txt").gsub(/foo/,"bar")' > out.t
言語別のLOCとFPの換算表。JUASの資料より。COBOLとC++についての出展はJonesの「Software Quality Analysis and Guideline for Success」。VBとJavaはJUASによる。 COBOL VB C++ Java SLOC数/FP 100 70 50 35 換算係数 1.0 1.5 2.0 3.0 「システム・リファレンス・マニュアル(SRM)」の作成 / 5章 利用評価
ありがちな画面遷移図をGraphvizで生成してみた。画面遷移図のもとネタは「Webプログラミング2.0」に掲載されていたid:hyukiさんによるサンプルアプリから拝借。 dotのソースはこんな感じ: digraph G { node [shape = record, height = .1,fontname="MSGOTHIC.ttc", fontsize=10]; edge [fontname="MSGOTHIC.ttc", fontsize=8]; /* 画面情報の定義 */ PageTop [label = "{<id>P0000 |<title>トップページ |<file>Root.pm}"]; PageCreate [label = "{<id>P0001 |<title>作成画面 |<file>Create.pm}"]; PageEdit [label = "{<id>P0
USBメモリや、SDカードなどのフラッシュメモリを複数のPCで利用する場合、ドライブレターが変わって不便なことがある。SUBSTコマンドを利用すると、USBメモリ内の特定のディレクトリにドライブレターを割り当てることができる。これにより、環境に依存せず同一のドライブレターでアクセスすることが可能になる。 ドライブレターを割り当てたいディレクトリに以下の内容を記述したバッチを作成 バッチファイルを実行することで当該ディレクトリがZ:ドライブに設定される。 SUBST Z: %CD% 関連URL USBメモリのドライブレターを固定したい http://oshiete1.goo.ne.jp/kotaeru.php3?q=2384276 subst(仮想ドライブの割り当て) http://itpro.nikkeibp.co.jp/article/Windows/20051025/223387/
ThumbSenseは、ノートPCのタッチパッドの機能を拡張するツール。このツールがあれば、トラックポイントなしでは生きていけないThinkPadユーザも、脱ThinkPadできるかもしれない(僕もできそう)。 ThinkPadのトラックポイントは便利です。トラックポイントというのはThinkPadのキーボードの中央についている、赤いあれです。これを使うと、キーボードのホームポジションから手を離さずに作業ができて非常に快適です。 しかしながら、ThinkPad以外でこの種のポインティングデバイスを採用しているノートPCは少なく、タッチパッドを採用しているものが大半です。 トラックポイント愛好者にとって、タッチパッドの問題点は''「キーボードのホームポジションから手を離さないと操作できない」''ということではないでしょうか。ThumnSenseはこの欠点を克服するためのツールです。 基本的な
毎年4月に仕事用のメールの整理術/活用方法をみなおしている。今年は、The inbox makeoverの考え方を取り入れてみた。もうひとつ、「メーラで仕事をする」のをやめてみた。3ヶ月ほど経過して運用もこなれてきたので紹介する。 この手法のポイント この手法のポイントは以下のとおり。 自動振り分けをやめて、とりあえず受信箱にためる 受信したメールは、そのメールに対して「どのような行動をとる必要があるか」によって分類する (差出人ごとのフォルダ分けや、あて先ごとのフォルダ分けは行わない) 受信箱のメールは定期的に処理して、受信箱は常に空にしておく 処理が完了したメールはすべて1つのフォルダ(Saveフォルダ)に保存しておき、必要に応じて検索する。 Inbox Makeover についての詳細は、Idea * Idea の「The Inbox Makeoverですっきり」というエントリに詳し
Graphviz はAT&Tが開発しているオープンソースのグラフ生成ツール。グラフはdotという独自言語で記述しする。psやgifなどさまざまなフォーマットで出力することができる。Doxygenの中ではクラス図の生成に使用されている。 dotファイル自体はシンプルなテキストなので、いろいろと応用できそう。学生時代だったら確率モデルの実験結果の可視化に使っただろう。 シンプルなdotファイルはこんな感じ: digraph G { a -> b -> c; a -> c; a -> d; }これを、sample.dot のようなファイル名で保存して、 dot -Tpng sample.dot -o sample.png とすると、こんなファイルが生成される。とても簡単。 もちろん、色・線の太さ・フォント・ノードの形状などの指定も可能。公式サイトのサイトGalleryを見ると、生成したグラフのサ
仕事しやすい環境、集中しやすい環境というのは人それぞれだと思う。僕は仕事の内容・性質に応じて作業の場所を変えるようにしている。とある方が、クローズドなblogでオフィスの環境について書いていたので、僕の作業環境を紹介。 CreativeCommons Attribution-NonCommercial-NoDerivs License, Frederic Poirot だいたいこんな感じ: (平日) メールの処理とか雑務系 自分の席で。客から電話もかかってくるので、基本は自分の席で。 自分の席にいると、周りの会話が気になったり(自分にも関連する話題とか)、話しかけられたり、電話がかかってきたりで、集中できない(割り込みが多い)。 思考系の作業 大きなデスクのあるミーティング用のブースに資料とノートPCとA3の紙と4色ボールペンを持って引きこもる。電話は持ち込まない。 まずは気になること、思
Seleniumのコマンドは、Action/Assertion/Accesserの3つに分類される Action:何らかの操作を行うコマンド(open、type、clickAndWaitなど) Assertion:検証を行うコマンド(verifyTextPresentなど) Accesser:画面の特定の要素を変数に保存するコマンド Action Actionの多くは「click」に対する「clickAndWait」のように、「AndWait」をつけることで実行した後にページが遷移するのを待つことができる Assertion AssertとVerifyのちがい Assertは検証に失敗した場合、テストの実行を停止する Verifyは健勝に失敗した場合もテストを継続する エレメントロケータ(Element Locator) 画面上の要素を特定するための文字列を Element Locator
会社のPCを交換したのを機に、メーラをBeckyからThunderbirdに移行した。 ここ1年ほど、メールをタスクとして処理するために「The Inbox makeover」的な方法でメールを管理している(去年のエントリ)。Becky!では実際にメールを各ディレクトリに移動させる必要があるが、Thunderbird の「タグ」と「検索フォルダ」を使う方が簡単。 最近のメールチェック手順 1週間ほど使ってみたが、非常に快適。メールチェックはこんな感じ。 前提 フォルダは、受信トレイ、送信トレイ、アーカイブの3つだけ。あとはすべて検索フォルダ。 タグに対応した検索フォルダを用意しておく。 このとき、送信トレイも検索対象に含めておくと便利。「ほかの人に何かを依頼した場合は、送信済のメールに Waiting のタグをつける」なんてことができるようになる。 メールチェック手順 受信したメールはすべ
このBlogは秀丸エディタで作成したテキストを、はてなダイアリーライター(略称:はてダラ)でアップロードしている。 はてなダイアリーは「はてな記法」と呼ばれる記法でリンクや文字の装飾を記述する。秀丸上で「はてな記法」を強調表示したいと思っていたのだが、これを実現するハイライトファイルをid:palmoさんが公開されていたので、ありがたく拝借させていただくことにする。 普段使っているテキストエディタは秀丸なのですが、最近の秀丸ベータ版はアウトラインや一部テキストの折りたたみなど、便利で素敵な機能を提供してくれています。 はてダラを使えば、はてなダイアリーを秀丸で書けるので、こういった便利な機能を活用しない手はありませんよね。というわけで、色々設定してみたらこのようになりました。 続・はてなダイアリーの書き方 はてダラ+秀丸+GeSHi - ぱるも日記 ちょっとだけ修正版 上記ページで公開され
CrenaHtml2jpgは、URLを指定して、その画面をキャプチャーするツール。縦方向のスクロールが必要なページも1枚の画像として出力することが出来る。また、GUIのインタフェイスだけでなく、コマンドラインからの実行も可能。Perlから起動するためのサンプルもついている。ちなみに、はてなスクリーンショットもこのツールで作成されているそうだ。 [CrenaHtml2jpg] サイトキャプチャーツール http://dip.picolix.jp/disp5.html レイアウトをチェックしなければならないHTMLが手元に200ファイルほどあっただが、数が多いのでいちいちブラウザで開く気にもなれない。そこで、CrenaHtml2jpgで全部画像ファイルに変換してから画像ビューアで一気にチェック。画像ならどんどんページが進められるので非常に快適。ストレスがぜんぜん違う。 使い方 CrenaHtm
t-wadaさんのリファクタリングとテストの関係では、テストとリファクタリング、TDDの考え方が分かりやすく説明されている。 「動作する」を満たしてから、「きれいな」にとりかかる Red, Green, Refactor Red, Green, Commit, Refactor, Green, Commit リファクタリングとテストの関係 http://www.ne.jp/asahi/t/wada/articles/Refactoring_and_Test.pdf そのほか印象に残ったスライドを引用: テストの目的に戻ろう 何のためにテストするのか 誰のためにテストをするのか テストで何を知りたいのか リファクタリングとテストの関係 テストをロールによって分類する Developer(Programmer) Test 開発者が行う、開発促進のためのテスト 単体、ユニット、結合 …などなど
xlsファイルの全シートをCSV形式のファイルで出力するソフト またはその逆の変換をするコンソールプログラム。以下のような処理ができる(それぞれが独立したexeとして提供されている)。 Excelファイルの全シートをCSV形式のファイルで出力する(対象シート、対象外シートの指定も可能)(csvmake.exe) 指定したディレクトリ内の全Excelファイルの全シートをCSV形式のファイルで出力(csvmake3.exe) CSV形式のファイルの内容をExcelファイルに追加(csvmake2.exe) 指定したディレクトリ内の全CSV形式のファイルの内容をExcelファイルに追加(csvmake4.exe) これまで、同様の処理には excel2csv.vbs を使っていたが、大量ファイルを扱うときにはこちらの方が便利。 構文(csvmake3.exe) csvmake3 入力ディレクトリ
Plaggerのプラグインの考え方と代表的なプラグインのまとめ。 プラグインのアーキテクチャ Plaggerのプラグインは5つに分類できる。 Subscription CustomFeed Aggregator Fillter Publish / Notify / Search それぞれ以下のような機能を持つ。 分類 概要 (1) Subscription Plaggerが巡回するフィードのリストを取得 (2) CustomFeed RSS/Atom以外のフォーマットで記述されたページをパースしたり、MixiのようなSNSから情報を取得 (3) Aggregator Subscriptionで取得したフィードを実際にHTTPで取得し、パースする (4) Fillter 取得したフィードのエントリに対して何らかの処理を行う (5) Publish 取得したフィードのデータをコンバート、配信
RSSやAtomなどのフィードを加工して利用するためのプラットフォーム「Plagger」についての情報源を整理。随時更新。 最終更新日:2006/10/18 公式サイト 公式サイト(英語) Plagger http://plagger.org/trac 開発者/利用者のためのWiki(日本語) Shibuya.Plaggers::Publish::Kwiki http://wiki.shibuya.pl/ Plaggerとは? 宮川さんによるプレゼン資料(Kansai.pm版) http://plagger.org/trac/attachment/wiki/PlaggerPresentations/Plagger-Kansaipm.pdf インストール Plaggerをインストールし使い始めるためのガイド PlaggerQuickStart http://plagger.org/trac/
YAMLは可読性に優れたデータ直列化フォーマット。ネストされた要素を字下げで表現することにより、無用なマークアップを不要にしている。すなわち、YAMLはマークアップ言語と同様の機能を持つが、マークアップ を何も必要としない(YAML Ain't Markup LanguageがYAMLの語源)。このため、XML と比べて読みやすい、書きやすい、わかりやすいという特徴を有する。 YAMLについてはプログラマーのための YAML 入門 (初級編)が分かりやすい。 YAMLの構造 YAMLではデータを次の3つの組み合わせで表現する。 配列 (シーケンス) ハッシュ (マッピング) 数値、文字列、日付など (スカラー) 配列 YAML では、行頭に「-」をつけることで配列を表現する。「-」のあとには半角スペースを入れる。 - aaa - bbb - ccc ハッシュ ハッシュは「キー: 値」の形式
(2006/11/17追記)auの一部の携帯では、EZWebからGMailへのアクセスが可能になっています。EZWebなら自動ログインbookmarkletは不要です。(みんなが調べた「Gmailが使える携帯」) PCサイトビューアでGMailに自動ログインするためのbookmarkletを作成した。*1 auのW41CAを使っている。フルブラウザ搭載の携帯からGMailを利用するのは非常に便利なのが、auのフルブラウザ(PCサイトビューア)はクッキーを保存することができないため、アクセスする都度ユーザ名とパスワードを入力する必要がある。 これまでは、定型文やメモにユーザ名とパスワードを登録して、都度入力していたが、このページ(Bookmarklets for W21CAII)を参考に、自動入力するbookmarkletを作成してみた。それがこれ↓ JavaScript:(function
前のエントリ(これから試したいGTDなソフトウェアのリスト)が好評なので、同じネタ元(listible.com)からGTDの情報源トップ10(いずれも英文)を紹介。Lifehacker.com や 43 Folders といった有名どころをチェックするのもいいが、del.icio.usでGTDとタギングされたサイトをチェックするのが正解かと。 The best GTD resources(listible.com) http://www.listible.com/list/the-best-gtd-resources Lifehacker.com http://www.lifehacker.com/software/getting-things-done/ 43 Folders http://www.43folders.com/ lifehack.org http://www.lifeha
フォームなどのテキストエリアの内容を外部のエディタで編集できるようにするExtension。 External Editor Extension for Firefox(Kimitake's blog) 上のページからExtensionをインストールして、[ツール]→[拡張機能]→[External Editor(JP)]を選択。設定用ダイアログで、 外部エディタのパス テンポラリファイルのファイル名 文字コード を設定する。とりあえず利用するには、外部エディタのパスのみ設定すればよい。 設定が完了したら、テキストエリアにカーソルを合わせ[右クリック]→[外部エディタで編集]で、エディタが起動する。エディタで編集したら、保存して、エディタを閉じるとテキストエリアに編集内容が反映される。 ちなみに、日本語対応版作者のKimitake氏が再起動の不便さについて以下のようにs言及されていますが、
デジタル仕事術をテーマにした新しいメディアITMedia Biz.IDで、創刊特集としてGTDが取り上げられている。 GTDのそこが知りたい(ITMedia Biz.ID) ますますメジャーになりそうなGTDだが、いまのところ、GTDを実践するためのこなれたツールがない。そこで、これから試してみたいツールをリストアップしてみる。情報源は、GTD software(listible)。試したものからコメントを追加していきたい。 リストアップしたツールは以下の通り: MyLife Organized (Win) tracks (Web-based) Kinkless GTD (Mac) gljakal's To Do (Win) GTD TiddlyWiki (HTML based) Next Action (HTML based) D3 a "kinkless" GTD system (HT
GMailへの接続を強制的にSSL経由にするためのGreasemonkey script「GMailSecure」。 このスクリプトをインストールすると、http経由でアクセスしようとした場合、自動的にhttpsに書きかえてくれる。 同じスクリプトを、Googleカレンダーにも適用する方法が紹介されていました(onfocus.com)。 手順は以下のとおり。 GMail Secureをインストール(右クリックして、[Install User Script]を選択) Firefoxのメニューで[ツール]→[Manage User Scripts]を選択し、設定画面を表示 GMailSecureを選択し、[Included pages]に以下のURLを追加 http://google.com/calendar* http://www.google.com/calendar* Secure Go
このページを最初にブックマークしてみませんか?
『jun-ichi.blog.hatena』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く