タグ

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

  • 「脱オープンソース」が起こっている今、企業はどのようにオープンソース開発に関わるべきか - 2023-12-11 - ククログ

    結城です。 近年、「オープンソースからの離脱」の事例が度々観測されています。 記憶に残る大きなニュースでは、2018年から2019年にかけてのRedis、MongoDBなどのプロジェクトの相次ぐライセンス変更がありました。 最近も、HashiCorp社がTerraformを非オープンソースライセンスに変更したことが話題となりました。 オープンソースからの離脱というわけではありませんが、RedHat社がRedHat Enterprise Linux(RHEL)のソースコードリポジトリの一般公開を取りやめて、ソースへのアクセスを自社のサポートサービス契約者のみに限定した事も、この流れと無関係ではないでしょう1。 このような状況を見ていて、「オープンソースって、もうアカンの? これからはSource Available?」「業務でオープンソース開発プロジェクトにコミットメントしても大丈夫なの? 

    「脱オープンソース」が起こっている今、企業はどのようにオープンソース開発に関わるべきか - 2023-12-11 - ククログ
    t2y-1979
    t2y-1979 2023/12/28
    Source Available と呼ぶのか、知らんかった
  • Apache Arrowの最新情報(2019年9月版) - 2019-09-30 - ククログ

    Apache ArrowのPMC(Project Management Commitee、プロジェクト管理チームみたいな感じ)のメンバーの須藤です。 みなさんはApache Arrowを知っていますか?Apache Arrowは数年後にはデータ処理界隈で重要なコンポーネントになっているだろうプロジェクトです。データ処理界隈に興味がある人は知っておくと役に立つはずなので1年ほど前にApache Arrowの最新情報(2018年9月版)をまとめました。この1年ですごくよくなったので2019年9月現在の最新情報を紹介します。 私は、PMCの中では唯一の日人1で、コミット数は2番目に多い2ので、日ではApache Arrowのことをだいぶ知っている方なはずです。Apache Arrowの情報は日語ではあまりないので日語で紹介します。 ちなみに、英語ではいろいろ情報があります。有用な情報源は

    Apache Arrowの最新情報(2019年9月版) - 2019-09-30 - ククログ
  • Python用単体テストフレームワークPikzie 0.9.7リリース - 2010-05-25 - ククログ

    Python用単体テストフレームワークであるPikzieのバージョン0.9.7をリリースしました。 変更点一覧 ハイライト Cutter、UxUと同じように、ついにPikzieでもデータ駆動テストをサポートしました。 データ駆動テスト前 例えば、今までこのように書いていたテストがあるとします。 test_prime.py: import pikzie def test_zero(): assert_false(is_prime(0)) def test_unit(): assert_false(is_prime(1)) def test_small(): assert_true(is_prime(2)) def test_square(): assert_false(is_prime(4))

    Python用単体テストフレームワークPikzie 0.9.7リリース - 2010-05-25 - ククログ
  • OSS開発支援サービスを開始 #oss_gate - 2016-06-27 - ククログ

    クリアコードは「OSS開発支援サービス」の提供を開始します。 「OSS開発支援サービス」について 「OSS開発支援サービス」はその名の通り「お客さんがOSSを開発すること・お客さんがOSSの開発に参加することを支援するサービス」です。以下は支援の仕方の一例です。実際にこのサービスを提供するときは、以下の例をそのまま全部提供するのではなく、お客さんの現状にあった適切な支援はなにかを考えるところからお客さんと一緒に取り組みます。 お客さんが開発しているOSSの開発にクリアコードが参加する お客さんが使っているOSSの開発に、お客さんが参加することを、クリアコードが支援する 開発に参加する方法をワークショップ形式で伝える バグレポートをする前にレポートをレビューする 機能提案レポートをする前にレポートをレビューする pull request・パッチを送る前にコードをレビューする お客さんが開発し

    OSS開発支援サービスを開始 #oss_gate - 2016-06-27 - ククログ
  • メタプログラミングをして割に合うかの判断基準:処理を1箇所に局所化できるか - 2014-01-16 - ククログ

    毎日他の人のコミットをながめる文化で生活していると、理由は浮かばないけど「ん?このコミットはなんか気になる」と感じるようになります。それは、新しいことを知ることができたコミットだったり、真似したくなるようなコードが入っているコミットだったり、なんかまずそうな気がするコミットだったり、様々です。 「ん?」と感じてコミットを見直してみても、何が気になったか自分でもすぐにわからない場合があります。そんなとき、気になったことをコミットした人に伝えるために、コミットへのコメントをまとめ始めます。「コミットした人に伝えるため」というように、他の人に伝えようとすることがポイントです。他の人に伝えるためにまとめようとすると、思いの外なにが気になったかまとまるものです。 今回は、メタプログラミングを使ってコードを整理したコミットで「ん?」と感じたときのことについて紹介します。このおかげで「メタプログラミング

    メタプログラミングをして割に合うかの判断基準:処理を1箇所に局所化できるか - 2014-01-16 - ククログ
    t2y-1979
    t2y-1979 2014/01/21
    なるほど、詳細を知らなくても使えるくらいの抽象化、これは分かりやすい
  • わかりやすいコミットメッセージの書き方 - 2013-04-24 - ククログ

    もう1年以上前になりますが、コミットメッセージの書き方を説明しました。ざっくりまとめると、以下のことを説明しています。 わかりやすいコミットメッセージがいかに大切か どのようなコミットメッセージがわかりやすいか(具体例付き) この説明をしてからも、日々コミットしていくなかで新たに得られた「どうすればもっとわかりやすいコミットメッセージになるか」という知見が増えていました。これは、コミットへのコメントサービスの提供を開始した1ことも影響しています。このサービスでは、コミットへコメントするときに「どうして自分は他の書き方よりもこの書き方をわかりやすいと感じるか」を説明しています。その過程で「なんとなくこっちの方がよさそう」だったものを「具体的にこういうときにこう感じるのでこっちの方がよさそう」と何かしら理由を考えるようになりました。これにより、今までそれぞれの開発者でなんとなくだった考えが共有

    わかりやすいコミットメッセージの書き方 - 2013-04-24 - ククログ
    t2y-1979
    t2y-1979 2013/05/02
    縦に並べるという発想はなかった、一文で書くのが当たり前のようになってた
  • シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)

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

    シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)
  • リーダブルコードの解説 - 2012-06-11 - ククログ

    注: 記事中の「解説」の部分のライセンスは「Creative Commons 表示 - 非営利 - 継承」です。「解説」は「クリアコード」(「ClearCode Inc.」)によって変更されています。変更前の原著作者は「オライリー・ジャパン」です。「Creative Commons 表示 - 非営利 - 継承」なので再配布や変更や翻訳などはライセンスに従って自由に行えますが、営利目的で利用することはできません。 https://amazon.co.jp/dp/B0064CZ1XEの翻訳である「リーダブルコード」が今月(2012年6月23日)発売されます。すでに予約できるようです。 https://amazon.co.jp/dp/4873115655 書の内容は原書の紹介記事を参照してください。 日語版の訳者は角さんです。これまでの訳書と同様にとても読みやすく訳されています。翻訳なので読

    リーダブルコードの解説 - 2012-06-11 - ククログ
    t2y-1979
    t2y-1979 2012/06/13
    いいなー、いいなー
  • logalimacs 1.0.0 をリリースしました - 2012-06-07 - ククログ

    2012.6.7に logaling-command のEmacs用のフロントエンドプログラム logalimacs 1.0.0 をリリースしました。 Emacsのキーボードショートカットでlogaling-commandを利用できます。 logaling-commandとは logaling-commandは翻訳作業に欠かせない訳語の確認や選定をサポートする CUI ツールです。 対訳用語集を簡単に作成、編集、検索することができます。 使い方 登録したキーボードショートカットを押すことでカーソル位置にある単語を logaling-commandで検索(lookup)しツールチップやバッファに表示します。 logalimacs 0.9.0 から 1.0.0 への変更点 多階層ポップアップを利用するようにしました 以前はpopup.elの機能でツールチップで表示する機能を利用していましたが、

    logalimacs 1.0.0 をリリースしました - 2012-06-07 - ククログ
    t2y-1979
    t2y-1979 2012/06/10
    すごいなぁ
  • ifとreturnの使い方 - 2012-03-28 - ククログ

    はじめに わかりやすいコードを書くことはソフトウェア開発において大切なことです。では、具体的にわかりやすいコードとはどんなものでしょうか?その観点はいろいろなものがあります。その中で今回はifとreturnの使い方に注目します。 ifとreturn プログラミング言語とは、コンピューターの作業の処理手順を書くためにあります。その処理手順は複数にわかれています。その複数の処理手順を順番に実行していくことでコンピューターは作業をこなしていきます。 プログラミング言語にはいろいろな処理手順を書くためにifとreturnと呼ばれる機能があります。ある処理手順をある時だけ実行したい場合には、ifを使います。その時以外はその処理手順は実行しません。また、続きの処理手順があるがその時点で実行を中断したい場合には、returnを使います。続きの処理手順は実行しません。ifとreturnと組み合わせることで

    ifとreturnの使い方 - 2012-03-28 - ククログ
    t2y-1979
    t2y-1979 2012/03/29
    丁寧な解説
  • logalimacsをリリースしました - 2012-02-13 - ククログ

    2012/2/13にEmacsでlogaling-commandを利用するためのフロントエンドlogalimacsをリリースしました。 logaling-commandとは logaling-commandは翻訳作業に欠かせない訳語の確認や選定をサポートする CUI ツールです。 「対訳用語集」を簡単に作成、編集、検索することができます。 logalimacsとは logalimacsはEmacsからlogalingを利用するためのフロントエンドです。 CUIで対訳用語集を利用するよりもエディタ上でシームレスに対訳用語集を利用できるとより翻訳作業が捗るため、開発に着手しました。 使い方 Emacsを使っていて何らかのドキュメントの翻訳中に英単語を調べる時に、わざわざブラウザに切り替えたくないですよね? そこでlogalimacsの出番です。C-:を押すと、 カーソル位置の単語で対訳用語集を

    logalimacsをリリースしました - 2012-02-13 - ククログ
    t2y-1979
    t2y-1979 2012/02/14
    これは、、、素晴らしいな
  • クリアなコードの作り方: 縦長・横長なメソッドを短くする - 2012-02-07 - ククログ

    最近読んだRubyのコードではYARDのコードがキレイでした。 さて、長いメソッドは不吉なにおいがするからメソッドを分割するなどして短くしましょうとはよく言われることですが、ここでいう「長い」とは「縦に長い」ことを指していることがほとんどです。長いのが問題なのは縦に長いときだけではなく横に長いときもです。 縦に長いメソッド まず、どうして縦に長いメソッドが問題かについてです。縦に長いメソッドには「処理を把握しづらい」という問題がある可能性が高いです。 どうして処理を把握しづらいか 処理を把握しづらい原因はいくつかあります。例えば、抽象度が低いのが原因です。 メソッドが縦に長くなっているときは、多くの処理が行われていることがほとんどです。これらの処理はメソッドになっていないため名前がついていません。処理に名前がついていない場合は実装を読まないとなにをしているかがわかりません。 せっかくなので

    クリアなコードの作り方: 縦長・横長なメソッドを短くする - 2012-02-07 - ククログ
    t2y-1979
    t2y-1979 2012/02/08
    横長の抽象度を意識したことがなかったな、なるほどー
  • UxUを用いたデータ駆動テストの記述 - 2009-10-30 - ククログ

    2009年10月30日付で、テスティングフレームワークUxUのバージョン0.7.5をリリースしました。 UxUはこれまで「Firefoxアドオン開発用テスティングフレームワーク」と銘打っていましたが、Thunderbird用アドオンの開発にも利用されていることと、バージョン0.7.0以降からXULRunnerベースのアプリケーション一般に対してインストール可能なようになったことから、現在のプロジェクトページ上では「Firefox/Thunderbird用アドオン・XULRunnerアプリケーション開発用テスティングフレームワーク」と表記しています。 バージョン0.7.0以降で、UxUはデータ駆動テストの記述に対応しました。今回はUxUでのデータ駆動テストの記述方法の解説を通じて、データ駆動テストの利便性についてご紹介したいと思います。 データ駆動テストとは? データ駆動テストとは、簡単に言

    UxUを用いたデータ駆動テストの記述 - 2009-10-30 - ククログ
  • デバッグしやすいHTMLのテストの書き方 - 2012-01-18 - ククログ

    注意: 長いです。 一言まとめ: withinとtest-unit-capybaraを使ってHTMLのテストを書くと問題を見つけやすくなる。あわせて読みたい: デバッグしやすいassert_equalの書き方 HTMLに対するテストに限らず、開発を進めていく中でテストが失敗する状況になることは日常的にあることです。HTMLの場合は、入力フォームのラベルを変更したり、項目を追加したら既存のテストが失敗するようになるでしょう。そのとき、どのようにテストを書いていれば原因を素早く見つけられるのかを説明します。ポイントは「注目しているノードを明示すること」です。 HTMLテストのライブラリ さて、Rubyで処理結果のHTMLをテストするときにはどんなライブラリを使っていますか?The Ruby ToolboxにあるBrowser testingカテゴリを見てみると、Capybaraが最も使われてい

    デバッグしやすいHTMLのテストの書き方 - 2012-01-18 - ククログ
    t2y-1979
    t2y-1979 2012/01/19
    HTML のテストやったことないな、within メソッドいいね
  • デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ

    クリアコードではMozilla製品やRuby関連の開発だけではなく、広くフリーソフトウェアのサポートもしています。もちろん、サポート対象のソフトウェアの多くは私達が開発したものではありません。しかし、それらのソフトウェアに問題があった場合は調査し、必要であれば修正しています。 このようなサポートが提供できるのは、もともと、私達がフリーソフトウェアを利用したり開発したりしているときに日常的に問題の調査・修正をしていたからです。ソフトウェアを利用していると、問題に遭遇することはよくあることです。そのソフトウェアがフリーソフトウェアの場合は、開発者に問題を報告し、可能ならパッチを添えます。このとき、そのソフトウェアの内容を完全に把握していることはほとんどありません。しかし、それでも修正することができます。 それはどうしてでしょうか?今まではどのようにやっているのかを自分達でもうまく説明できなかっ

    デバッグ力: よく知らないプログラムの直し方 - 2011-12-06 - ククログ
    t2y-1979
    t2y-1979 2011/12/07
    小さなことからコツコツと
  • どうして開発者がドキュメントを書くべきか - 2011-10-27 - ククログ

    オフィス文書形式が要求されるようなドキュメントではなくて、自分が開発したライブラリのドキュメント(リファレンスマニュアルやチュートリアルなどライブラリのユーザーが読むためのドキュメント)の話です。以下の「ドキュメント」もそのような意味で使っています。 使いやすいライブラリを開発したかったらプログラムだけではなくドキュメントも書くべきです。 なぜドキュメントを書くか ドキュメントを書く習慣があるかどうかは開発者によってあったりなかったりです。使っているプログラミング言語に相関がある気もしますし、リリースするかどうかに相関がある気もします。理由はいろいろあるでしょうが、ドキュメントを書く習慣のない開発者の方が多いでしょう。 書かない理由はこんな感じでしょうか。 面倒。 自分しか使わないからいらない。 どのように書けばよいかわからない。(どのツールを使えばよいかわからない。) 一方、書く理由はこ

    どうして開発者がドキュメントを書くべきか - 2011-10-27 - ククログ
    t2y-1979
    t2y-1979 2011/10/28
    なるほどー
  • Sphinxの国際化機能を使って複数言語用ドキュメントを用意する方法(概要) - 2011-05-31 - ククログ

    YARDのことの続きを書きたいと思いつつもなかなか辿りつきません。今回はPython製のドキュメントツールSphinxの話です。groongaのケースを例にしてSphinxで複数言語用のドキュメントを生成する方法の概要を紹介します。書いていたら長くなったので、具体的にどうするかというのは次の機会にします。 5/29にgroonga 1.2.2がリリースされました。今後は日だけではなく世界でも使ってもらえるように、英語でも情報を発信していく方向になりました。そこで、今回のリリースに合わせてサイトデザインをリニューアルし、英語のページも用意しました。ただし、すでにあった日語のコンテンツを今回のリリースで全部英語にした、というものではありません。今回のリリースでやったのは「日語と英語という複数の言語で情報を発信する仕組み」を作るところまでです。せっかくなので、今回のリリースで導入した、Sp

    Sphinxの国際化機能を使って複数言語用ドキュメントを用意する方法(概要) - 2011-05-31 - ククログ
  • プログラミング言語のドキュメント検索をもっとリッチに - 2011-01-26 - ククログ

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

    プログラミング言語のドキュメント検索をもっとリッチに - 2011-01-26 - ククログ
    t2y-1979
    t2y-1979 2011/02/02
    検索は研究対象となる要素がたくさんあっておもしろい
  • デバッグ力 - 札幌Ruby会議03 - 2010-12-08 - ククログ

    12月4日に開催された札幌Ruby会議03に参加し、ライトニングトークで少し話しました。話さなかったことと感じたことを残しておきます。 文書検索ラングバの話をするつもりでしたが、もっと話したいことができたのでそっちを話すことにしました1。それが「デバッグ力」についてです。 デバッグ力? 「デバッグ力」とは一般的な用語ではありません。実際、検索してもほとんど使っている人はいません。札幌で伝えたいことを表す言葉に一番しっくりくるのが「デバッグ力」だったので、そう呼ぶことにしました2。 コンピュータの世界では、「バグ」は「不具合」とか「問題」といった意味で使われます。デバッグとはバグを取り除くこと、つまり、問題を解決する作業です。プログラマは問題を解決していくことで、徐々に目的を達成するプログラムに近づけていきます。「デバッグ力」には、目的のものへ近づくための力、前へ進む力という意味をこめていま

    デバッグ力 - 札幌Ruby会議03 - 2010-12-08 - ククログ
    t2y-1979
    t2y-1979 2010/12/09
    この姿勢というのは、ユーザが言う「技術が高度でも使い難い」みたいな感覚に似ている気がする
  • サーバ上で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 - ククログ
    t2y-1979
    t2y-1979 2010/08/05
    いろいろ使ってみたい