タグ

ブックマーク / www.clear-code.com (9)

  • サーバ上でPDFやオフィス文書からテキストを抜き出す方法あれこれ - 2010-08-02 - ククログ

    groongaなどを使って全文検索システムを作るときは、PDFやオフィス文書などからテキスト情報を抜きだして検索用インデックスを作る必要があります。Windowsでテキストを抽出するソフトウェアとしてはxdoc2txtなどがありますが、ここでは、Linuxサーバ上でテキストを抽出する方法を紹介します。 PDF Linux上でPDFを閲覧する場合は、昔はXpdfでしたが、最近はEvinceやOkularの方がよく使われているようです。どちらもPDFの処理にはXpdfからforkしたPopplerというライブラリを使っています。 popplerにはPDFからテキストを抽出するpdftotextというコマンドが付属しているため、それを利用してPDFからテキストを抽出できます。 % pdftotext hello.pdf hello.txt これでhello.pdfのテキスト情報がhello.tx

    サーバ上でPDFやオフィス文書からテキストを抜き出す方法あれこれ - 2010-08-02 - ククログ
  • 書き捨てのRubyスクリプトをgemにするときの育て方の一例 - 2016-09-08 - ククログ

    Rubyでちょっとしたこと、例えばテキスト処理などをしたくてスクリプトを書くことはよくあります。そんなスクリプトは意外と再利用したくなるものです。しかし、作業用ディレクトリに適当なファイル名で保存していたりすると探し出すのは困難ですし、コマンドラインにワンライナーで書いたものだとそもそも残っていないこともあります1。別のPCでの再利用も、それらの保存方法では当然ながら不可能でしょう。 そこで、どこか整理された場所に保存しておいて再利用に備えたいのですが、保存先が問題になります2。そんなとき、私は次のような理由からgemRubyGems)にしてしまうことにしています。手元ですぐに実行できますし、別の環境へのインストールも簡単です。また、他のRubyプログラムへの組み込みもコピペせずに実現できます。もちろん他の人が使えるようになるというメリットもあるのですが、自分の用途に限っても長い目で見れ

    書き捨てのRubyスクリプトをgemにするときの育て方の一例 - 2016-09-08 - ククログ
  • Dracutの歩き方 - 2015-06-02 - ククログ

    $ tree -F -L 1 . ├── bin -> usr/bin/ ├── dev/ ├── etc/ ├── init -> /usr/lib/systemd/systemd ├── lib -> usr/lib/ ├── lib64 -> usr/lib64/ ├── proc/ ├── root/ ├── run/ ├── sbin -> usr/sbin/ ├── shutdown* ├── sys/ ├── sysroot/ ├── tmp/ ├── usr/ └── var/ 14 directories, 2 files Red Hat系ではinitsystemdを採用しているのでinitが/usr/lib/systemd/systemdへのシンボリックリンクになっています。 このうちDracutに関係するファイルはusr/lib/dracut/以下にまとまっています

    Dracutの歩き方 - 2015-06-02 - ククログ
    Itisango
    Itisango 2015/11/25
    〝DracutはRed Hat系のディストリビューションで使われているinitrdをカスタマイズするためのツールです。”
  • 自己流JavaScriptを書いていた人がAngularJSのユニットテストで躓いた点 - 2015-07-10 - ククログ

    結城です。 最近、AngularJSを使ったWebアプリ開発のプロジェクトに参加する事になり、とりあえず一通りの事は把握しておかなければと思って公式のチュートリアル(英語)を実践してみたのですが、JavaScriptの経験が浅い人だとハマらなさそうだけれども、中途半端に経験があったせいでドハマり、という場面に遭遇してしまいました。 恥ずかしい話ですが、せっかくなので同じように躓いている人(もしいれば)のために、分かった事や理解のポイントを書き記しておこうと思います。 この記事の対象読者は、以下のような状況にある人です。 フレームワークを使わないJavaScript(例えば、jQueryを使ったJavaScript程度)は書いた事がある。 自動テスト(特に、ユニットテスト)は書いた事がある。 AngularJSを始めたばかりである。 依存性注入という概念は理解できるが、実際にどう使うかはあま

    自己流JavaScriptを書いていた人がAngularJSのユニットテストで躓いた点 - 2015-07-10 - ククログ
  • Debian GNU/Linux上でRPMパッケージ・Yumリポジトリを作って公開する方法: milter managerを例にして - 2010-03-03 - ククログ

    株式会社クリアコード > ククログ > Debian GNU/Linux上でRPMパッケージ・Yumリポジトリを作って公開する方法: milter managerを例にして 注: FedoraやCentOSのRPMパッケージャーが書いた文章ではありません。FedoraやCentOSのRPMパッケージメンテナになりたい方はFedoraやCentOSが公式に配布している文書の方をお勧めします。例えば、How to create an RPM package - FedoraProjectという文書があります。 Debianパッケージの作り方と公開方法: groongaを例にしてのRPM版のような内容です。 ここでは、迷惑メール対策ソフトウェアmilter managerを例にしてDebian GNU/Linux上でCentOS 5.4向けのRPMパッケージを作成し、それを提供するYumリポジト

    Debian GNU/Linux上でRPMパッケージ・Yumリポジトリを作って公開する方法: milter managerを例にして - 2010-03-03 - ククログ
    Itisango
    Itisango 2013/11/28
    “FedoraやCentOSのRPMパッケージメンテナになりたい方はFedoraやCentOSが公式に配布している文書の方をお勧めします。例えば、How to create an RPM package - FedoraProjectという文書があります。”
  • 名前のつけ方 - 2012-06-28 - ククログ

    はじめに わかりやすいコードを書くことはソフトウェア開発において大切なことです。では、具体的にわかりやすいコードとはどんなものでしょうか?その観点はいろいろなものがあります。その中で今回は名前のつけ方に着目します。 コードに名前をつけるということ ソフトウェア開発において、名前をつける作業というのは絶えず発生します。メソッド名、変数名、クラス名、ファイル名などなど。名前をつける機会を挙げたらキリがありません。では、そもそもなぜ名前は必要なのでしょうか? それはソフトウェアに限らず言えることですが、複数のモノを区別したいためです。例えば、まったく違う処理をする別々のメソッドに同じ名前をつけたらソフトウェアは正しく動きません。それを防ぐためにそれぞれのメソッドにちゃんと名前をつける必要があります。それぞれのモノにそれぞれ違う名前をつけて区別できなければソフトウェアはそもそも動きません。 名前を

    名前のつけ方 - 2012-06-28 - ククログ
  • Emacs実践入門 - おすすめEmacs設定2012 - 2012-03-20 - ククログ

    2012年3月にEmacsの入門書が技術評論社から出版されました。 https://amazon.co.jp/dp/9784774150024 インストール方法やファイルの開き方などから始まっていて初心者向けの始まり方になっています。それでは初心者向けなのかというとそうでもなく、中盤から後半はrequireしないと使えないElispを使った拡張方法の紹介になっています。 おそらく、初心者の人は1/3か1/2くらい進んだところで一度脱落するのではないでしょうか。逆に、ある程度知っている人は中盤から後半にかけて興味のある話題が増えていくことでしょう。脱落してしまった人は、しばらく前半の機能でEmacsを使って、慣れてきてから再挑戦するとよいでしょう。 後半の拡張方法の紹介部分では多くの方法を紹介するためか、1つ1つの方法については簡単に紹介する程度にとどまっています。よりつっこんだ使い方までは

    Emacs実践入門 - おすすめEmacs設定2012 - 2012-03-20 - ククログ
    Itisango
    Itisango 2012/03/21
  • groongaにデータを登録してからインデックスが更新されるまでの流れ - 2011-10-05 - ククログ

    全文検索エンジンgroongaを囲む昼下がり@札幌はたっぷり3時間もあるので、「groongaがどのように動いているか」、「より効率的に検索するためにはどうしたらよいか」などといった話ができるはずです。 この文書は、札幌でのgroonga勉強会で使うための「groongaがどのように動いているか」を説明に使うための文書です。後でgroongaのドキュメントにマージする予定です。 それでは、groongaがどのように全文検索用のインデックスを作成しているかを説明します。まず、全文検索機能で重要なオブジェクトを説明して、その後にそれらを使ってどのようにインデックスを作成しているかを説明します。 主要オブジェクト groongaの全文検索機能で大事なオブジェクトは以下の3つです。 テーブル カラム トークナイザー それぞれ順に説明します。 テーブル groongaでは、ひとまとまりのデータを「レ

    groongaにデータを登録してからインデックスが更新されるまでの流れ - 2011-10-05 - ククログ
    Itisango
    Itisango 2011/10/06
    groongaにデータを登録してからインデックスが更新されるまでの流れ
  • Test::Unit 2.0.1リリース - 2008-11-10 - ククログ

    Test::Unit 2.0.1が RubyForge上でリリースされました。RubyGemsも提供されているの で以下のようにインストールできます。 % sudo gem install test-unit 経緯 Test::UnitRuby 1.8.xに標準添付されている単体テストフレーム ワークです。しかし、Ruby 1.9.1からは miniunitが標準 添付され、Test::UnitRubyForgeで開発が継続されることになりま した。これからもTest::Unitを使うときはRubyGemsでインストール することになるでしょう。 Ruby 1.8.xに標準添付されているTest::Unitは互換性のために、 Test::Unit 1.2.3としてリリースされています。Ruby 1.9.1でも Ruby 1.8.xに標準添付されているTest::Unitと同じTest:

    Test::Unit 2.0.1リリース - 2008-11-10 - ククログ
    Itisango
    Itisango 2009/05/07
  • 1