タグ

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

  • OSSへフィードバックしてみたいけど、英語でどう書けばいいのか分からない - 2019-07-12 - ククログ

    結城です。 ここまで、OSSへのフィードバックをやってみようとした時に躓きがちなポイントについて、フィードバックするトピックの見つけ方、報告に盛り込むとよい内容、その情報の送り届け先の選び方の知見をそれぞれ述べてきました。 ところで、それらの技術的な内容以前のハードルとして、言語の壁という物もあります。実際にOSS Gateワークショップでも、フィードバック内容をまとめた後、英語でそれを書き直すという段階で手こずっておられる方がかなり多い印象があります。 ITエンジニア向けに「こういう英語表現を覚えよう」という情報を紹介する記事は時々見かけます。ですが、ワークショップでビギナー参加者の方が英語を書くのに苦労している様子を実際に見ている印象では、必要なのはそういった記事で紹介される「実際の現場でよく使われる単語や熟語の情報」ではなく、「実際の現場で英文を書く時に行われる考え方の解説」の方であ

    OSSへフィードバックしてみたいけど、英語でどう書けばいいのか分からない - 2019-07-12 - ククログ
  • gettextとバージョン管理システムの相性の悪さを解消する案 - 2013-11-14 - ククログ

    Gettextという翻訳の仕組み1はフリーソフトウェアではよく使われています。いくつか不便な点はありますが、長年使われている仕組みでツールが揃っていることが理由でしょう。不便な点の1つである、「バージョン管理システムとの相性の悪さ」を解消する案が浮かんだので紹介します。 どうしてバージョン管理システムと相性が悪いか gettextでは.poファイルに翻訳したテキストを書きます。翻訳したテキストは自動生成ではない情報なのでバージョン管理対象です。ということで、.poファイルはリポジトリーに入れます。 バージョン管理システムと相性が悪い原因は、.poファイルに翻訳したテキスト以外のいろいろな情報が入っていることです。中でも、「どこに翻訳対象のメッセージがあったか」は自動生成できる情報で、量も多く、通常であればバージョン管理しない情報です。しかし、バージョン管理したい.poファイルの中に含まれて

    gettextとバージョン管理システムの相性の悪さを解消する案 - 2013-11-14 - ククログ
    kenichiice
    kenichiice 2019/05/29
    「このヒントから、バージョン管理する.poファイルには出現位置情報を含めず、バージョン管理しない作業用の.poファイルを導入する案を思いつきました。」「作業用の.poファイルの名前をja.edit.poとすると」
  • Ruby 2.6.0とより高速なcsv - 2018-12-25 - ククログ

    Rubyの標準添付ライブラリーのcsvをメンテナンスしている須藤です。 歴史 csvは名前の通りCSVを読み書きするための便利ライブラリーです。 もともとRuby体とは別に開発されていたのですが、Ruby 1.8.0のときにRuby体にバンドルするようになりました。dRubyやREXMLがRuby体にバンドルされたのも同じタイミングです。Ruby 1.8.0のときにバンドルするライブラリーをすごく増やしたのです。(その頃の様子がわかるURLをここに置いておきたかったけど見つけられなかった。。。) Rubyではcsvのようにrequireするだけで使えるライブラリーを「標準添付ライブラリー」と呼んでいます。Stringのようにrequireしなくても使えるライブラリーは。。。なんだろう。組み込みクラスかしら。 その後、Ruby 1.9.0のタイミングで実装をFasterCSVに置き換え

    Ruby 2.6.0とより高速なcsv - 2018-12-25 - ククログ
  • Windwos 10のWSLを日常的に活用する:Windowsの補助としてLinuxコマンドを使う - 2017-12-04 - ククログ

    前の記事では、Windows 10 Fall Creators Update以降のWSL(Windows Subsystem for Linux)を日常的に使いやすいようにするための環境整備のポイントをいくつかご紹介しました。これは、「何か作業をするときに、Windows上でLinuxのコマンド体系が使える小窓を開いて、その中でLinuxらしい(Windowsらしくない)やり方で作業する」という使用形態を想定した解説でした。 一方、Windowsアプリを主体として使用する場面でもWSLは活用できます。例えばEmEditorというテキストエディタは任意のアプリケーションを登録して呼び出せますが、ここにWSL経由でLinuxのコマンド列を実行するように設定すれば、EmEditorをLinuxのコマンドやシェルスクリプトで機能強化することができます。 なお、この記事ではWSLの使用手順そのものに

    Windwos 10のWSLを日常的に活用する:Windowsの補助としてLinuxコマンドを使う - 2017-12-04 - ククログ
    kenichiice
    kenichiice 2017/12/26
    wslコマンド
  • Windows 10のWindows Subsystem for Linux(WSL)を日常的に活用する - 2017-11-08 - ククログ

    この表に示す通り、WSLは既存の取り組みでそれぞれ諦めざるを得なかった部分の両立を図った新しい選択肢と言えます。 端的に言うと、「WindowsLinux互換のコマンド操作インターフェースが加わった」状態に近いものとなっています。 Linuxデスクトップ環境やmacOSでは、「普段の操作はGUIで行いつつも、定型的な処理を素早く済ませたい場合には『端末』のウィンドウを開いて、その中で普段サーバーの操作に使っているのと同様のコマンド操作を行う」という使い方ができますが、WSLによってWindowsでもこれに近いことができるようになります。 WSLそのものの導入手順やWSLの仕組みの概要については、技術情報サイトの記事やまんがでわかるWSLなどに譲る事にして、この記事では具体的な活用事例にフォーカスしてご紹介していきます。 なお、Windows 10 Creators Updateおよびそ

    Windows 10のWindows Subsystem for Linux(WSL)を日常的に活用する - 2017-11-08 - ククログ
  • Firefox・Thunderbirdを、検証用にクリーンな環境で起動する方法 - 2015-12-25 - ククログ

    FirefoxやThunderbirdはアドオンや設定によるカスタマイズが可能ですが、アドオンを多数インストールして様々な設定を変更した状態だと、何か問題が起こった場合にその原因がどこにあるのかを特定しにくくなります。 とりあえずの対応方法としては、「カスタマイズ内容をすべてリセットしてまっさらの状態に戻す」ことによって問題の解消を図るという方法があります。 FirefoxでもThunderbirdでも、「ヘルプ」メニューから「アドオンを無効化して再起動」を選択したり、Firefoxであれば「トラブルシューティング情報」のタブから「Firefoxをリセット」という操作を行ったりすると、アドオンがインストールされていない状態にすることができます。 ただ、問題の原因究明には繋がりませんし、普段使いの環境を失う事になるため、問題の深刻度によっては「そこまでしなくてもよい」と思う場合もあるでしょう

    Firefox・Thunderbirdを、検証用にクリーンな環境で起動する方法 - 2015-12-25 - ククログ
  • Sylpheedのプラグインの作り方(2015年版) - 2015-11-30 - ククログ

    はじめに Sylpheedという「軽快で使いやすいオープンソースのメールソフト」があります。 以前、Sylpheed向けにプラグインを作る方法をWindows版を前提に紹介しました。 Sylpheedのプラグインの作り方 もう2年以上前の記事となり、内容の一部が若干古くなっていることから、改めてソースコードに添付されているプラグインを作る手順を紹介します。1 対象とするSylpheedのバージョン Sylpheedには、バージョン3.0から正式に導入されたプラグインの仕組みがあります。 このプラグインの仕組みはしばしば改訂2されています。 そのため、記事で対象とするSylpheedのバージョンは現在リリースされている最新の安定版である3.4.3 Windows版とします。3 もう間もなく3.5.0が正式リリースされますが、記事の内容はそのまま使えるはずです。 Sylpheedのプラグイ

    Sylpheedのプラグインの作り方(2015年版) - 2015-11-30 - ククログ
  • 動作確認用の画像をImageMagickで簡単に作るには - 2015-10-07 - ククログ

    はじめに Webアプリケーションを開発していると、動作確認用の画像が欲しいことがしばしばあります。 ちょっとアップロードを試す程度なら、手元の適当な画像を探して使うということができます。 ただし、動作確認用の画像をリポジトリに入れたりとなると話は別で、そのままではまずいことも多々あります。 そういうときは癖のない無難な画像が欲しくなったりします。 今回はそんなときに便利なImageMagickを使って動作確認用の画像を簡単に作る方法を紹介します。 ImageMagickのセットアップ まずは、ImageMagickをインストールしましょう。

    動作確認用の画像をImageMagickで簡単に作るには - 2015-10-07 - ククログ
    kenichiice
    kenichiice 2016/11/15
    「Webアプリケーションを開発していると、動作確認用の画像が欲しいことがしばしばあります。」
  • Effective Ruby - 2015-02-04 - ククログ

    2015年1月に翔泳社から「Effective Ruby」という中級者・上級者向けのRubyが出版されました。 https://amazon.co.jp/dp/9784798139821 内容 とても主張が強いです。そのため、何でも真に受ける人にはオススメできません。(初級者とか。)他の人の主張を聞いて、自分で咀嚼してよい悪いを判断できるようになってから読むべきです。 「項目5 実行時の警告に注意しよう」で警告を有効にしようと書いているなど、よいことを書いているところはあるのですが、ここでは、著者の主張が気に入らなかったところを紹介します。よいところは自分で読んで確認してください。 「項目2 オブジェクトを扱うときにはnilかもしれないことを忘れないようにしよう」で、「適切なら」と断りをいれていますが、to_sやto_iなどでnilを強制的に型変換しようと書いていることが気に入りませ

    Effective Ruby - 2015-02-04 - ククログ
    kenichiice
    kenichiice 2015/02/09
    「ここでは、著者の主張が気に入らなかったところを紹介します。」
  • Autotools事始め - 2013-09-12 - ククログ

    はじめに クリアコードが関わるプロジェクトの多くでは、ビルドシステムとしてAutotoolsを使用しています。そのため、新しくプロジェクトに参加した開発者にもAutotoolsに関わる修正を担当してもらうことがあります。しかし、個々の開発者のバックグラウンドは様々であり、必ずしもすべての開発者がAutotoolsに関する知識を持っているわけではありません。その上、プログラミング言語などの基礎的な知識とは異なり、学校の授業や企業の研修などでAutotoolsについて学ぶことができる機会は稀であり、まとまった解説書も少ないなどといった事情があるため、その使い方を伝授するのには毎度手間を要しているというのが実状です。 そこで、これから数回に分けてAutotoolsの使い方を解説していくことを予定しています。 Autotoolsとは Autotoolsとは、autoconf、automake、li

    Autotools事始め - 2013-09-12 - ククログ
  • Sylpheedのプラグインの作り方 - 2013-03-26 - ククログ

    はじめに 軽快で使いやすいオープンソースのメールソフトを標榜しているソフトウェアとしてSylpheedがあります。 Sylpheedは直感的に操作できるユーザーインタフェースをGTK+により提供していて、WindowsLinux、BSD、Mac OS X、その他Unix系OSなど、多数の環境で動作します。Sylpheedの特長について知りたい方はSylpheed - 軽快で使いやすいオープンソースのメールソフト - 特長を参照してください。 今回はそのSylpheedにバージョン3.0から正式に導入されたプラグインの仕組みを利用して機能拡張を行う方法を紹介します。対象とするSylpheedのバージョンは、現在リリースされている安定版である3.3.0 Windows版とします1。 Sylpheedのプラグインでできること Sylpheedのプラグインの仕様はプラグイン仕様として文書化されて

    Sylpheedのプラグインの作り方 - 2013-03-26 - ククログ
  • シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)

    プログラムの種類によっては、そのまま実行できるものと、実行できるようにするために「ビルド」が必要なものとがあります。Cなどのコンパイルが必要な言語で書かれたプログラムは当然ビルドが必要ですし、コンパイルが不要な言語であっても、インストーラパッケージを作るというビルド作業が必要な場合はあります。 ビルド作業の自動化のためのツールとしてmakeなどがありますが、そこまで格的な事をやる必要がない場合は、シェルスクリプトで「ビルドスクリプト」を作るのが手軽でおすすめです。この記事では、そのような場合に役立つシェルスクリプトのテクニックを4つご紹介します。 エラーの気付きやすさとデバッグのしやすさを高める メッセージに色を付ける シェル関数をライブラリにする 一時的に作業ディレクトリの中に入る エラーの気付きやすさとデバッグのしやすさを高める はじめに紹介するテクニックは問題が発生した時に気づきや

    シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)
    kenichiice
    kenichiice 2012/10/12
    「run commandと書くと「コマンドの実行に失敗したらその場で終了する」と「どのようなコマンド列が実行されたかを表示する」が実現されるようなシェル関数runを定義」
  • 中小企業倒産防止共済制度 - 2012-04-12 - ククログ

    今回は、クリアコードで利用している中小企業倒産防止共済という制度について紹介します。中小企業倒産防止共済は、独立行政法人中小企業基盤整備機構が提供している制度です。 機構のサイトでは、この制度について次のように紹介しています。 「貴方の会社が健全経営でも「取引先の倒産」という事態はいつ起こるかわかりません。経営セーフティ共済(正式名称:中小企業倒産防止共済制度)は、そのような不測の事態に直面された中小企業の皆様に迅速に資金をお貸しする共済制度です」 以下、簡単な制度の概要です。 制度に加入できるのは中小企業。 加入者は毎月一定の掛金(5千円から20万円)を積み立てます。また掛金の前納が可能です。 取引先が倒産し、売掛金が回収不能となった場合、最大で掛金総額の10倍の融資が受けられます。 掛金納付月数が40ヶ月以上で解約した場合、掛金総額のすべてが解約一時金として支払われます。 クリアコード

    中小企業倒産防止共済制度 - 2012-04-12 - ククログ
  • コミットメッセージの書き方 - 2012-02-21 - ククログ

    はじめに 「分かりやすいコードを書く」、「コードと一緒にテストも書く」等はソフトウェア開発において大切なことです。しかしそれと同じくらい大切なことして「分かりやすいコミットメッセージを書く」があります。これはあまり着目されていなく、見過ごされていることです。 今回は、コミットメッセージの分かりやすさの大切さ、そして、分かりやすくするための書き方を説明します。 コミットメッセージとその大切さ バージョン管理システムとコミット 現在、ほとんど全てのソフトウェア開発ではSubversionやGitなどのバージョン管理システムを使っています。バージョン管理システムを使うことによるメリットというのは、ソフトウェアの変更が記録されていくことにあります。 具体的なメリットは3つあります。 ソフトウェアの調査がしやすくなることです。現時点でのコードと、そして変更の履歴とを組み合わせることで、それらから非常

    コミットメッセージの書き方 - 2012-02-21 - ククログ
  • groongaで高速な位置情報検索 - 2011-09-13 - ククログ

    groongaのドキュメントにも位置情報検索について書かれているのですが、情報の更新が追いついていないため情報が不足しています。そこで、ここに現状に合わせたgroongaの位置情報検索についての情報をまとめておきます。なお、ここにまとめた内容もドキュメントに反映させる予定です。 できること groongaには位置情報を用いた検索機能がついています。位置情報を用いた検索では索引を利用するため、全文検索と同じように高速に検索することができます。ただし、PostGISやMySQLのように1線や面などもデータとして保持できるというわけではなく、点のみをデータとして保持できます。よって、groongaにできることは以下の通りです。 指定した四角の中に含まれている座標を持つレコードを検索する。 指定した円の中に含まれている座標を持つレコードを検索する。 座標間の距離を計算する。 ある座標からの距離が近

    groongaで高速な位置情報検索 - 2011-09-13 - ククログ
    kenichiice
    kenichiice 2011/09/14
    「groongaでは位置情報を高速に検索するために、GeoHashと同じ考え方で緯度経度をエンコードしてパトリシアトライに格納しています。」
  • おすすめzsh設定 - 2011-09-05 - ククログ

    他の人がzshを使っているのを見ていると、「もっと便利に使えるのに」と、もやっとしたり、「え、その便利な機能ってなに?」と、発見があったりします。だれかに「この設定をすると便利ですよ」と話しやすくするために、今のzshのおすすめ設定をここに記しておきます。 もし、Emacsも使っている場合はおすすめEmacs設定もどうぞ。 ディレクトリ構成 長年漬け込んできたzshの設定がそこそこの量になっているので、以下のようなディレクトリ構成にして分類しています。主に、zsh標準機能の設定と追加パッケージの設定を分けるためにこうしています。 ~ ├── .zshrc # シェルを起動する毎に読み込まれる。 │ # ~/.zsh.d/zshrcを読み込んで │ # 標準機能の追加設定を行う。 ├── .zshenv # ログイン時に一度だけ読み込まれる。 │ # ~/.zsh.d/zshenvを読み込ん

    おすすめzsh設定 - 2011-09-05 - ククログ
  • Debian GNU/Linuxで一部のデータだけ簡単に暗号化する方法 - 2011-04-06 - ククログ

    Debian GNU/LinuxやUbuntuなど最近のLinuxディストリビューションではインストール時にディスクの内容を暗号化する設定をすることができます。インストーラのメニューで選択するだけなので、簡単に設定できます。 しかし、groongaの開発に参加していて、頻繁な単体テストの実行でデータベースを作成・削除を繰り返すなどキャッシュが効かないディスクI/Oが多い使い方をする場合は、暗号化による速度劣化を体感してしまいます。Linux上で開発をしている場合はよくあることですよね。 この場合、「一部だけ暗号化しない」または「一部だけ暗号化する」というように記憶領域を使い分ければ、安全性を高めながら開発効率を落とさずにすみます。しかし、インストール後に使い分けたくなった場合、追加のディスクがないと「一部だけ暗号化しない」使い方をすることはできません1。 そこで、ここではディスクを追加しな

    Debian GNU/Linuxで一部のデータだけ簡単に暗号化する方法 - 2011-04-06 - ククログ
  • プログラミング言語のドキュメント検索をもっとリッチに - 2011-01-26 - ククログ

    昔から「Rubyはドキュメントが弱い」と言われてきました。「PythonPHPはあんなにドキュメントが揃っているのに、それに比べてRubyは。。。」というわけです。でも、待ってください。ドキュメントは記述が充実しているだけで十分ですか?簡単に目的のドキュメントにたどりつけますか? GoogleやBingなどの検索エンジンや、Amazonを筆頭とするECサイトは「探しものを見つけやすくする」ことにどんどん磨きをかけています。なぜ、ドキュメントの検索機能はそれほど進歩しないのでしょうか? ドキュメントの検索機能が、検索エンジンやECサイトでも使われているような最新の検索パターンを取り入れ、もっとリッチになればプログラミングがもっと楽しくなるはずです。それをRubyのドキュメントで実現しようとしているのがるりまサーチです。 最近、るりまサーチがよりパワーアップしたので、どう変わったかを紹介しま

    プログラミング言語のドキュメント検索をもっとリッチに - 2011-01-26 - ククログ
  • 最後の行から順番に読み込む小さなRubyのクラス - 2010-06-23 - ククログ

    Muninのプラグインを作るときなど、大きなサイズのログファイルを解析する必要がたまにありますよね。そんなとき、ファイルの先頭から処理をしていくとファイルサイズが増加するにしたがって処理時間も増えていってしまいます。Muninのプラグインの場合は最近5分間のデータだけあれば十分なので、ファイルの先頭からではなく、最後から処理する方が効率的です。最後から処理すると、ファイルサイズが大きくなっても処理時間にはほとんど影響がありません。 ということで、ファイルの最後から1行ずつ読み込む小さなRubyのクラスを作りました。groongaのリポジトリに入っているので、groongaと同じライセンスで利用できます。 class ReverseLineReader def initialize(io) @io = io @io.seek(0, IO::SEEK_END) @buffer = "" @da

    最後の行から順番に読み込む小さなRubyのクラス - 2010-06-23 - ククログ
  • Muninプラグインの作り方 - 2010-04-08 - ククログ

    モニタリングツールMuninのプラグインの作り方を簡単に紹介します。ざっくり紹介しているので、説明を省いているところもあります。というのも、次の話の準備のための説明だからです。 Muninはネットワークのモニタリングに用いられることが多く、監視対象の各ホストに情報収集デーモン(munin-node)を配置し、そのデーモンがネットワークの情報などを収集します。監視ホストは定期的に情報収集デーモンにアクセスし、監視対象のホストの情報をグラフにします。グラフはHTMLで出力されます。PHPなどを導入しなくてもよいため、導入が楽ですし、リソース消費も少ないです。 監視対象ホスト上でどの情報を収集するかはインストール後に追加・削除できます。情報を収集する部分がプラグイン化されているためです。情報収集デーモンmunin-nodeにプラグインをインストールすればそのプラグインが収集する情報がモニタリング

    Muninプラグインの作り方 - 2010-04-08 - ククログ
    kenichiice
    kenichiice 2010/04/10
    「Muninプラグインは以下の入力と出力を満たす実行ファイルです。RubyスクリプトでもシェルスクリプトでもC言語で書いてコンパイルしたプログラムでもかまいません。」