タグ

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

  • 新装版リファクタリング - 2014-08-18 - ククログ

    2014年7月にリファクタリングの新装版がオーム社から出版されました。旧版は2000年にピアソン・エデュケーションから出版されていましたが、今は絶版となっています。 https://amazon.co.jp/dp/9784274050190 内容 訳は洗練されたそう1ですが、翻訳対象の内容は2000年のものと変わっていません。旧版のバージョンアップではなくリニューアルです。 書を読むと、当時は「リファクタリング」は一般的ではなかったことがわかります。リファクタリングの方法の説明だけでなく、どうやって広めていこうか、といった話がちらほらと入っているからです。 10数年経った今、リファクタリングは「当たり前」になっています。最先端の開発者2だけでなく、ちょっとした開発者であれば知っています。「あぁ、リファクタリングしたい」なんて普通に言っています。 「コードをキレイにすることでしょ?」ちょっ

    新装版リファクタリング - 2014-08-18 - ククログ
    tuto0621
    tuto0621 2014/08/19
    リファクタリングという本が伝えようとしていることは「コードを安全に改善すること」
  • Groongaユーザ向けの、はじめてのDroonga - 2014-07-11 - ククログ

    昨年11月29日に開催したイベント「全文検索エンジンGroongaを囲む夕べ 4」 において、Groonga族の新たな一員としてDroongaが加わった事をお知らせしました。その後現在に至るまでにリリースを着実に重ね、現在はバージョン1.0.4となっているのですが、その間に方針や開発の優先度が変わってきている事についてのきちんとしたアナウンスができておらず、今改めてDroongaの事を知ろうとした時に「で、結局これって何なのよ?」ということが分かりにくくなってしまっています。 この記事は、そんなDroongaの現時点での情報を一旦整理して、特にGroongaを実運用されている方にとって「Droongaって何なの? どう便利になるの?」ということが一目で分かるようにする物です。Droongaの現状まとめとしてご参照下さい。 GroongaとDroongaの違い Droongaは端的に言うと、

    Groongaユーザ向けの、はじめてのDroonga - 2014-07-11 - ククログ
    tuto0621
    tuto0621 2014/07/14
    DroongaのHTTPインターフェースはGroongaと互換性があるという事と、GroongaからDroongaへはデータを容易に引き継げる
  • SEゼミ - リーダブルコード勉強会(2回目)を開催 - 2014-07-07 - ククログ

    2014/07/06にプログラミングが好きな学生のためのリーダブルコード勉強会の2回目を開催しました。内容を知りたい方は資料やこれまでの記事を読んでください。 2014/6/22(日)に学生向けリーダブルコード勉強会を開催予定 SEゼミ - リーダブルコード勉強会(1回目)を開催 今回も9割以上の参加者が満足してくれたようです1。よかったです。 今後の予定 これで今年のSEゼミでのリーダブルコード勉強会は終了です。今後もあるかどうかはわかりません2。しかし、今回の勉強会の資料はCC BY-SA 4.03のライセンスで自由に利用できる4ので、内容に興味がある人は自由に資料を使って自分たちで開催してみてください。 自分たちで開催するときのヒントになるように、実際に開催してわかったことや工夫したことを説明します。参考にしてください。 わかったこと わかったことは次の通りです。 コードチェンジは「

    SEゼミ - リーダブルコード勉強会(2回目)を開催 - 2014-07-07 - ククログ
    tuto0621
    tuto0621 2014/07/09
    schema.org
  • SEゼミ - リーダブルコード勉強会(1回目)を開催 - 2014-06-23 - ククログ

    2014/06/22にプログラミングが好きな学生のためのリーダブルコード勉強会を開催しました。後述の通りチャレンジングな目標設定にしたので、学生のみなさんがついてこられるのかという点が不安でしたが、9割以上の参加者が満足し1、半数以上の人がこれからコードを読んでいこうという思いを持ってくれたようです2。このため、この勉強会で目指していたことは達成できたと言えます。よかったです。 そんなプログラミングが好きな学生のためのリーダブルコード勉強会の内容を紹介します。2週間後の7/6にも同じ内容の勉強会があり、まだ応募できるので、面白そうだと思ったらまわりの学生さんに勉強会のサイトを紹介してあげてください。 目標 この勉強会では、リーダブルコード)に書いているようなリーダブルコードの書き方や、に書いていないようなリーダブルコードの書き方を伝えることは、「しないこと」にしました。 そうではなく

    SEゼミ - リーダブルコード勉強会(1回目)を開催 - 2014-06-23 - ククログ
    tuto0621
    tuto0621 2014/07/02
    既存のコードからリーダブルなコードを発見する
  • 思い出せるチケットの書き方: 「動機」、「ゴール」、「実現案」 - 2012-07-12 - ククログ

    ソフトウェア開発を支援するために、やりたいことや問題を管理するシステムがあります。例えば、Bugzilla1やRedmine2、GitHubなどがそのような機能を持っています。システムごとにやりたいことや問題の呼び方が違います。例えば、Bugzillaでは「バグ」、Redmineでは「チケット」、GitHubでは「Issue」と呼んでいます。ここではRedmineと同じ「チケット」と呼び方を使うことにします。 今回紹介するのは、後からチケットを見たときに、チケットを書いた時に知っていた情報を思い出せるようなチケットの書き方です。 このような書き方は、プロトタイプのような「作って終わり」とか「短期間の開発」というようなソフトウェアでは必要がないでしょう。また、後述の通り、「チケット駆動開発」にも使えないでしょう。継続的に開発を続けていくソフトウェアの開発のように、やりたいことや問題はあるけど

    思い出せるチケットの書き方: 「動機」、「ゴール」、「実現案」 - 2012-07-12 - ククログ
    tuto0621
    tuto0621 2014/06/30
    タイトルは「動機」か「ゴール」の要約にする
  • HerokuでRroongaを使う方法 - 2014-05-28 - ククログ

    RubyRailsも使えるPaaSであるHerokuでRroongaを使えるようにしました。これにより、高速な全文検索機能を提供するRubyによるWebアプリケーションをHeroku上で動かすことができるようになりました。 ここでは、HerokuでRroongaを使う方法と、どのように動いているかを簡単に説明します。 サンプルアプリケーション Heroku上でRroongaを使えることを示すサンプルアプリケーションとして、Rroongaで全文検索できるブログを作成しました。 Heroku上で動いているアプリケーション ソースコード Railsでscaffoldしたものに、全文検索関連の機能を追加して見た目を整えた1だけの簡単なアプリケーションです。 全文検索機能はページ上部の検索ボックスにキーワードを入力してサブミットすると確認できます。キーワードにマッチするとキーワードがハイライトする

    HerokuでRroongaを使う方法 - 2014-05-28 - ククログ
    tuto0621
    tuto0621 2014/05/29
    MilkodeをHerokuで動かせそう!
  • 学生向けリーダブルコード勉強会の参加者募集を開始 - 2014-05-14 - ククログ

    2014/6/22(日)にSEプラスさんが学生向けリーダブルコード勉強会を開催します。リーダブルコードの解説を書いた須藤がトレーナーをします。会場提供はクックパッドさんで、ランチも提供してくれます。 勉強会の応募は5/8から受付を開始しています。応募者多数の場合は第2弾もありうるということです1。5/19(月)に判断するということなので、参加したい方、参加したいけど6/22(日)は都合が悪くて参加できない、他の日なら…という方は月曜日までに応募してください。なお、5/25(日)までに応募すると、リーダブルコードを無料で送ってくれるそうです。勉強会参加前に読んでおくと得られることが増えそうですね! 勉強会の内容の準備状況も少し紹介します。一ヶ月ほど前に重視することと概要を紹介しました。現在は、内容の具体化と課題の作成に着手しています。どちらもGitHubにリポジトリーを作って作業を進めていま

    学生向けリーダブルコード勉強会の参加者募集を開始 - 2014-05-14 - ククログ
    tuto0621
    tuto0621 2014/05/16
  • 2014/6/22(日)に学生向けリーダブルコード勉強会を開催予定 - 2014-04-16 - ククログ

    要約:6/22(日)に学生向けリーダブルコード勉強会を開催する予定なので、興味のある学生の人は予定を空けておいてください。興味のありそうな学生を知っている人は教えてあげてください。 SEプラスさんがプログラミング好きな学生のためのリーダブルコード勉強会を企画しています。その勉強会の講演者・トレーナーをリーダブルコードの解説を書いた須藤が務めます。 リーダブルコードは内容が評価されていて、さらに、実際に広く読まれているです。例えば、ITエンジニアに読んでほしい!技術書・ビジネス書 大賞 2014の技術書部門大賞を受賞したり、ジュンク堂書店池袋店のコンピュータ書売上冊数ランキングで2012年と2013年で2年連続1位になっています。学生のうちからこのに書かれていることを理解し、実践していると、今後、プログラミングをする上で大きな力になるでしょう。 内容 SEプラスさんのページではまだ内容

    2014/6/22(日)に学生向けリーダブルコード勉強会を開催予定 - 2014-04-16 - ククログ
  • Groongaでの可変長データの管理方法 - 2014-03-13 - ククログ

    Groongaには可変長データを削除・更新しつづけるとデータベースのサイズが大きくなり続けてしまうという問題があります。次回のリリースではこの問題が解消される見込みで、現在、ユーザーにテストをお願いしています。(詳細は[groonga-dev,02173] データベース肥大化に悩むみなさんへテストのお願いを参照。) ここでは、Groongaがどうやって可変長データを管理していて、どのようにして肥大化を抑えるようにしたかを説明します。 前提 Groongaは新しい鮮度のよい情報をすぐに検索できることを重視しています。そのため、データ更新時も検索性能を落とさないことを重視した設計になっています。具体的には参照ロックフリーという性質を実現しています。 参照ロックフリーとはデータを更新している最中でもデータを読み込める性質のことです。この性質のおかげでデータ更新中でもデータを参照できるため、検索処

    Groongaでの可変長データの管理方法 - 2014-03-13 - ククログ
    tuto0621
    tuto0621 2014/03/14
    参照ロックフリーを実現するための基本的な考え
  • segv-handler-gdb:Rubyスクリプトがクラッシュしたときにより詳しくCレベルのバックトレースを出力するgem - 2013-10-31 - ククログ

    株式会社クリアコード > ククログ > segv-handler-gdbRubyスクリプトがクラッシュしたときにより詳しくCレベルのバックトレースを出力するgem Rubyで拡張ライブラリーを使っているとクラッシュすることがあります。自分が開発している拡張ライブラリーならどうにかして直したいものです。そのときに役立つのがGDBなどのデバッガーです。Cレベルのより詳細な情報を取得できるため、問題の特定に役立ちます。しかし、次のようにデバッガー上でクラッシュさせることが難しいことがあります。 GDB上で動かすとクラッシュしない 消極的な理由ですが次のようなケースもあります。 なかなかクラッシュしないので、ずっとGDB上で動かしているわけにもいかない SIGPIPEなどを捕まえて止まって欲しくない。「handle SIGPIPE nostop」などをするのが面倒。 クラッシュしたら自動で起動し

    segv-handler-gdb:Rubyスクリプトがクラッシュしたときにより詳しくCレベルのバックトレースを出力するgem - 2013-10-31 - ククログ
  • Windowsの32bit/64bit版Ruby用バイナリ入りgemをDebian GNU/Linux上で作る方法 - 2013-10-16 - ククログ

    株式会社クリアコード > ククログ > Windowsの32bit/64bitRuby用バイナリ入りgemをDebian GNU/Linux上で作る方法 2013年10月時点での情報です。長いです。 Windowsの32bit/64bitRuby用のバイナリ入りgemをDebian GNU/Linux上で作る方法を紹介します。 背景 どうしてこの方法を紹介するのか、その動機を伝えるために背景を説明します。 Rubyから簡単に使えるGroongaという高性能な全文検索エンジンがあります。Groongaを簡単に使えるのはRroongaというgemがあるからです。Groongaは主にC言語で書かれているためWindowsでインストールするのは大変です。しかし、RroongaはWindows用のバイナリ入りのgem(作り方)も配布しているのでWindowsでも簡単に使うことができます。 Gro

    Windowsの32bit/64bit版Ruby用バイナリ入りgemをDebian GNU/Linux上で作る方法 - 2013-10-16 - ククログ
    tuto0621
    tuto0621 2013/10/21
    Windowsでもgemを快適に動かすためのメモ
  • Rubyで定義したメソッドの使用例をYARD用のドキュメントとして書く方法 - 2013-09-19 - ククログ

    はじめに YARDというRuby用のドキュメンテーションツールがあります。APIのドキュメントの記述方法は大きく2種類ありますが、YARDはコードにコメントとしてドキュメントを埋め込む形式を採用しています。専用の記法を使って構造化された読みやすいドキュメントを書けることが類似ツールであるRDocとの大きな違いです。 今回は「Rubyで定義したメソッドの使用例を示す」ドキュメントのYARD流の書き方を紹介します。 なぜ使用例の書き方を説明するかというと、使用例を1つ示すだけで使い方をぐっとわかりやすく説明することができるからです。もちろん、引数や戻り値などメソッドについての情報も必要ですが、それらは断片的な情報なため、そこから全体像をイメージするにはもうひとステップ必要になります。一方、使用例は詳細を示すことには不向きですが、どんな状況で使うのか、どのように準備して使うのかといった前後関係も

    Rubyで定義したメソッドの使用例をYARD用のドキュメントとして書く方法 - 2013-09-19 - ククログ
    tuto0621
    tuto0621 2013/09/21
    @exampleタグの使い方、最初に引数や戻り値じゃなくて実例をおく、というのはなるほど
  • Autotools事始め - 2013-09-12 - ククログ

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

    Autotools事始め - 2013-09-12 - ククログ
    tuto0621
    tuto0621 2013/09/15
    あんまり日本語で読める文章がないのでありがたい。
  • パーフェクトRuby - 2013-08-19 - ククログ

    2013年8月にRuby 2.0.0に対応したRubyの解説書が技術評論社から出版されました。 https://amazon.co.jp/dp/9784774158792 このの特徴はなんといっても網羅性でしょう。600ページを超える紙面でRubyの基的な機能から、2.0.0で新しく導入された機能、さらによく使われる標準添付のライプラリーとgemの解説をしています。長いことRubyを使っていますが、以下の機能はこのを読むまで知りませんでした1。 #keep_if Enumerator#feed Tread#fork MethodTransplaning Method#parameters Module#method_undefind 機能の説明にはサンプルコードと実行結果がついています2。文章だけの説明でピンとこない場合でも、コードで理解できます。このの一番優れているところはここで

    パーフェクトRuby - 2013-08-19 - ククログ
    tuto0621
    tuto0621 2013/08/21
  • クリアコードのフリーソフトウェアビジネス - 2013-07-24 - ククログ

    はじめに 7月12日につくばインターンシップ・コンソーシアム主催の夏休みインターンシップマッチングフェアにインターンを受け入れる企業として参加してきました。中小、ベンチャー企業16社と50名ほどの学生さんが参加していました。クリアコードのブースには10名近い学生さんがきてくれました。ブースではクリアコードの業務内容、インターンシップを実施する理由、現在実施しているインターンシップを紹介しました。ブースにきてくれた学生さんはフリーソフトウェアでビジネスをしているというクリアコードの特徴に興味をもったようで、どうやってフリーソフトウェアでビジネスができるのかという質問をよく受けました。そこで今回はクリアコードがどうやってフリーソフトウェアでビジネスをしているのか紹介します。 クリアコードの業務内容 クリアコードは2006年7月25日に創業し、今月7周年を迎えました。これまでの7年間、さまざまな

    クリアコードのフリーソフトウェアビジネス - 2013-07-24 - ククログ
    tuto0621
    tuto0621 2013/07/27
    フリーソフトで食べくってなかなか聞けない話なので面白かった
  • 問題の原因調査のためのログ収集のセオリー - ククログ(2013-06-25)

    はじめに クリアコードでは、FirefoxやThunderbirdのサポート業務において、ログファイルを使って原因を調査することがあります。 この記事では、その中でも特に「手元の環境では再現できない問題について、実際に問題が起こっている環境でログを取得してもらい、それを分析して原因を推測する」という調査の進め方について、どのように進めるのか、また、その時はどのような点に気をつける必要があるのか、ということに焦点を当てて紹介します。 ここでは具体例として、「ThunderbirdでIMAPのメールアカウントを使用しているときに、Thunderbirdがフリーズしてしまう」という問題の原因を調査する場合を想定します。全体としてThunderbirdの事情に特化した説明になっていますが、ログの出力が関係するあらゆる場面で適用できる一般的なセオリーとしても参照できるはずなので、そのような視点でも読

    問題の原因調査のためのログ収集のセオリー - ククログ(2013-06-25)
    tuto0621
    tuto0621 2013/07/03
    NSPR_LOG_MODULESを設定するとFirefoxやThunderbirdでログが取れる
  • クリアコードの1日 - 2013-06-10 - ククログ

    クリアコードがこの「ククログ」というブログを始めたのが2008年5月なので、先月でククログを始めてから5年経ちました。今月から6年目に入ります。実は、ククログでは毎週1以上記事を公開するという目標を設定しています。何度か公開できない週もありましたが、5年間こつこつと続けてきました。 記事を書くことはそれなりに時間がかかりますが、ふだんあまり意識せずに考えたり実行したりしていることがまとまるというメリットがあります。記事を公開することは知識や便利な情報などを社内・社外と共有する機会ができるというメリットがあります。私達は開発者なので、プログラムを書かずに記事ばかり書いていることには違和感がありますが、たまに書くのであれば十分にメリットがあります。 以前は特定の人だけが記事を書くという傾向がありました。記事を書くことには情報の整理・共有というメリットがあるため、特定の人だけではなく他のメンバ

    クリアコードの1日 - 2013-06-10 - ククログ
    tuto0621
    tuto0621 2013/06/14
    http://freecode.com/ を知りました
  • コミットへのコメントサービス導入事例のご紹介 - 2013-05-27 - ククログ

    はじめに 昨年12月、クリアコードは「コミットへのコメントサービス」を始めました。このサービスは、「みんながみんなのコードを読む」文化づくりを支援するサービスです。どうして「みんながみんなのコードを読む」文化づくりを支援するかというと、よいコードを書くことを当たり前にするためにはまず「みんながみんなのコードを読む」文化にすることからはじめるのがよいという考えからです。 今年2月からミラクル・リナックスさんに対してこのサービスを提供しています。この導入事例を通じて、コミットへのコメントサービスがどのようなものなのかを紹介します。 開発チームの紹介 はじめに、コミットへのコメントサービスを利用しているミラクル・リナックスの開発チームを簡単に紹介します。この開発チームは、デジタルサイネージやサーバー監視に関するソフトウェアを開発しています。開発は次のプロセスで進めています。 BTSにバグや新機能

    コミットへのコメントサービス導入事例のご紹介 - 2013-05-27 - ククログ
  • 働く環境としてのクリアコード(福利厚生編) - 2013-05-16 - ククログ

    はじめに クリアコードでは一緒に働くプログラマーを募集しています。昨年6月からパッチ採用という採用方法にしましたが、それ以来、採用へのお問合せがほとんどなくなりました。今年2月からインターンの募集を開始しましたが、まだお問合せがありません。しかし、採用やインターンシップページヘのアクセスは増加しています。採用ページを見た方がクリアコードは何か特別なスキルを要求しているように感じたり、パッチ採用のプロセスは時間や労力がかかりそうだがそれだけのコストを払う価値があるか判断できない、あるいはそもそも応募するかどうか判断するための情報が不足していることが原因ではないかと仮説をたてました。 実際、パッチ採用を開始する前の去年4月に入社した社員に聞いてみると、「いやあ、パッチ採用してなくても応募するのは敷居が高かったですよ。踏ん切りつけるのに1ヶ月ぐらいかかりました。面接して次はペアプログラミングと言

    働く環境としてのクリアコード(福利厚生編) - 2013-05-16 - ククログ
    tuto0621
    tuto0621 2013/05/16
  • わかりやすいコミットメッセージの書き方 - 2013-04-24 - ククログ

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

    わかりやすいコミットメッセージの書き方 - 2013-04-24 - ククログ
    tuto0621
    tuto0621 2013/05/14
    縦に揃えるのと'^^'でライン付けるのいい。