設計判断事例の紹介:E4Xの事実上の廃止を受けての、UxUの開発方針の検討
設計判断とは何か?
ソフトウェアの開発においては、仕様を決める時に、並立できない複数の選択肢の中からどれか1つを選ばなければならないことがあります。特に設計に関わる場面での判断のことを、一般的に「設計判断」と言います。「この新機能を加えるのか、加えないのか」「この新形式をサポートするのか、しないのか」などのような、「やるか、やらないか」の判断はその典型です。
Ruby用単体テストフレームワークtest-unitでのデータ駆動テストの紹介
社宅制度による社会保険料と所得税の削減
はじめに
来年4月の消費税率引き上げを前に、政府では軽減税率の導入や低所得層向けに現金給付する案などが検討されています。しかし、消費税負担額の増加は不可避な状況です。さらに健康保険、厚生年金といった社会保険料もその料率が年々引き上げられており、庶民の負担は増える一方です。
Developer Migration 2013で「開発者は仕事でリーダブルなコードを書けるのか?」という話をします
来月の3/2(土)14:00からDeveloper Migration 2013というイベントで「開発者は仕事でリーダブルなコードを書けるのか?」という話をします。
クリアコードのサポートサービス
クリアコードでは、Mozilla製品、milter manager、groonga、GStreamer、WebKitといったフリーソフトウェアのサポートサービスを提供しています。サポートの対象となるフリーソフトウェアについて、クリアコードで対応できるものは、できる限りサポートサービスの枠組みの中で対応しています。今回はクリアコードのサポート契約の特徴や障害調査における作業の進め方を紹介します。
インターン募集を開始
クリアコードでは4月からインターンシップを実施します。インターン募集は今日から開始しました。4年ぶりのインターンシップということで、内容も大きく見直しました。そこで、今回は4月から実施するインターンシップの特徴を紹介します。
るびま0041号の「Rubyコードの感想戦」のお知らせ
ここ数日のRuby界隈はすっかりRuby 2.0.0の話題で持ちきりですが、るびま0041号で咳さんから文通のお返事が届きました。たくさん言い訳しています。
クリアなコードに囲まれて - クリアコードでの二年間
クリアコードでアルバイトをしているおやまだです。このたび、二年間お世話になったクリアコードを離れることとなりました。はじめてのククログ記事が、お別れの記事となってしまいました。
Developer Migration 2013: 「開発者は仕事でリーダブルなコードを書けるのか?」 #devmi
2013年3月2日にDeveloper Migration 2013が開催されました。
開発したいFirefox for AndroidおよびFirefox用アドオン
こんにちは。クリアコードでMozilla FirefoxおよびThunderbirdのサポート業務を主に担当している結城です。
Mac OS XのCocoa版GTK+で日本語入力を行うためのgtkimmodule(GtkIMCocoa)の開発
日本OSS奨励賞受賞!
先日、オープンソースカンファレンス2013 Tokyo/Springにて第8回 日本OSS貢献者賞および第4回 日本OSS奨励賞の授賞式が行われました。今回、クリアコードのメンバーおよび関係プロジェクトが日本OSS奨励賞を受賞いたしました。それぞれ推薦して下さった皆様、誠にありがとうございます。
GaaS: Groonga as a Service
4年ぶりにインターンシップを開始することを2月にお知らせしました。そこで予告していた通り、4月からインターンシップを実施します。インターンシップをどのように実施するかを3行で説明すると以下の通りです。
Rubyで定義したメソッドの引数にYARD用のドキュメントを書く方法
はじめに
YARDというRuby用のドキュメンテーションツールがあります。以前、Cで記述したRubyの拡張ライブラリにYARD用のドキュメントを書く方法を説明しました。今回は、Rubyで定義したメソッドの引数についてYARD用のドキュメントを書く方法を説明します。
Fedoraプロジェクトで新規パッケージをリリースする方法
はじめに
今回は、Fedoraプロジェクトで新規パッケージをリリースする方法を、Cutterをリリースしたときの経験をもとに紹介します。
Rubyで定義したメソッドに戻り値のYARD用ドキュメントを書く方法
はじめに
YARDというRuby用のドキュメンテーションツールがあります。これまでに2回、YARD用のドキュメントの書き方についてククログで紹介しました。
るりまをより便利にするために開発したい機能
こんにちは。クリアコードで組込み機器向けのサイネージシステムの開発やRubyでのmilter1開発などを担当している沖元です。プライベートでは、るりまプロジェクトなどで活動しています。
-
milter managerを使うとRubyでmilterを開発することができます。 ↩
GDBでデバッグするなら-g3オプション
働く環境としてのクリアコード(福利厚生編)
GtkIMCocoaの動作状況
はじめに
今回は、以前紹介したMac OS XのCocoa版GTK+で日本語入力を行うためのgtkimmodule(GtkIMCocoa)の開発の続きです。
コミットへのコメントサービス導入事例のご紹介
はじめに
昨年12月、クリアコードは「コミットへのコメントサービス」を始めました。このサービスは、「みんながみんなのコードを読む」文化づくりを支援するサービスです。どうして「みんながみんなのコードを読む」文化づくりを支援するかというと、よいコードを書くことを当たり前にするためにはまず「みんながみんなのコードを読む」文化にすることからはじめるのがよいという考えからです。
RubyKaigi 2013の予告:ステッカー・チラシの配布とRubyHirobaでの企画案と発表内容 #rubykaigi
早いもので今週後半(2013/5/30-6/1)はRubyKaigi 2013です。クリアコードはシルバースポンサーとしてRubyKaigi 2013を応援しています。
RubyKaigi 2013にシルバースポンサーとして参加したまとめ #rubykaigi
シルバースポンサーとして応援したRubyKaigi 2013が終了しました。今後、どこかのスポンサーの参考になるかもしれないので、クリアコードがスポンサーとして参加したRubyKaigi 2013をまとめます。
クリアコードの1日
クリアコードがこの「ククログ」というブログを始めたのが2008年5月なので、先月でククログを始めてから5年経ちました。今月から6年目に入ります。実は、ククログでは毎週1本以上記事を公開するという目標を設定しています。何度か公開できない週もありましたが、5年間こつこつと続けてきました。
Software in 30 Days - スクラムによるアジャイルな組織変革"成功"ガイド
2013年3月に「ソフトウェア開発を『しない』人がスクラムでスクラムを導入する」ための本がASCIIから出版されました。
クリアコードの開発の様子をフォローしやすくしました
クリアコードでは、社名からわかる通り、日頃からクリアなコードを書くべく日々コードと向き合っています。そのために「みんながみんなのコードを読む文化」を維持しています。
Fedoraプロジェクトでパッケージを更新するには
はじめに
以前、Fedoraプロジェクトで新規パッケージをリリースする方法という記事を書きました。パッケージを初めてFedoraプロジェクトでリリースしようとしているときに、どんなことをするのかというのを実際の例にもとづいて紹介する内容でした。
クリアコードのフリーソフトウェアビジネス
はじめに
7月12日につくばインターンシップ・コンソーシアム主催の夏休みインターンシップマッチングフェアにインターンを受け入れる企業として参加してきました。中小、ベンチャー企業16社と50名ほどの学生さんが参加していました。クリアコードのブースには10名近い学生さんがきてくれました。ブースではクリアコードの業務内容、インターンシップを実施する理由、現在実施しているインターンシップを紹介しました。ブースにきてくれた学生さんはフリーソフトウェアでビジネスをしているというクリアコードの特徴に興味をもったようで、どうやってフリーソフトウェアでビジネスができるのかという質問をよく受けました。そこで今回はクリアコードがどうやってフリーソフトウェアでビジネスをしているのか紹介します。
インターンシップで学んだこと1:コメントを書きたくなるときはコードを見直す機会
RubyKaigi 2013で発表したらインターンシップの応募があり、6/17から7/29まで1ヶ月半くらい週3日でインターンシップを実施しました。インターンシップでやったことはメモに残して公開していました。ただメモに残すだけではなく、まとめておき、次のインターンシップや新しくクリアコードのメンバーになった人に伝えるために役立てようと試みています。
インターンシップで学んだこと2:1人で開発しているときはていねいに開発を進める
インターンシップ1日目と2日目ではコメントに注目するとよいということを学びました。インターンシップ3日目のメモを読み返すと3日目は3つ学んだことがありました。今回はそのうちの1つ「1人で開発しているときにtypoとどうつきあっていくか」です。
インターンシップで学んだこと3:テストを整理する方法
インターン募集を開始したのが半年前の2月で、6月に開催されたRubyKaigi 2013までは1件も応募がありませんでした。RubyKaigi 2013に参加したところ1件応募があり、6月後半から7月にかけて実施しました。ここ最近まとめているインターンシップで学んだことはこの時期に実施したインターンシップで学んだことです。
インターンシップで学んだこと4:何をテストするか
前回は3日目に3つ学んだことの中の2つめ「テストを整理する方法」についてまとめました。今回は3日目に学んだことの最後、3つめである「何をテストするか」についてまとめます。
Autotools事始め
はじめに
クリアコードが関わるプロジェクトの多くでは、ビルドシステムとしてAutotoolsを使用しています。そのため、新しくプロジェクトに参加した開発者にもAutotoolsに関わる修正を担当してもらうことがあります。しかし、個々の開発者のバックグラウンドは様々であり、必ずしもすべての開発者がAutotoolsに関する知識を持っているわけではありません。その上、プログラミング言語などの基礎的な知識とは異なり、学校の授業や企業の研修などでAutotoolsについて学ぶことができる機会は稀であり、まとまった解説書も少ないなどといった事情があるため、その使い方を伝授するのには毎度手間を要しているというのが実状です。
Rubyで定義したメソッドの使用例をYARD用のドキュメントとして書く方法
はじめに
YARDというRuby用のドキュメンテーションツールがあります。APIのドキュメントの記述方法は大きく2種類ありますが、YARDはコードにコメントとしてドキュメントを埋め込む形式を採用しています。専用の記法を使って構造化された読みやすいドキュメントを書けることが類似ツールであるRDocとの大きな違いです。
インターンの作業を進めやすくするための工夫
はじめに
リーダブルコードの解説やつくばインターンシップコンソーシアムのマッチングイベントをきっかけに、インターンシップへの応募が2件あり、今年2回目のインターンシップを9/2~9/6の1週間実施しました。インターンシップの記録はメモに残して公開しています。今回もインターンシップを通じてたくさんのことを学ぶことができました。
現状共有の会で進行役をするとき気をつけていること
複数人でおなじゴールに向かってものごとを進めていたつもりなのに、気づいたらそれぞれ違うゴールに向かっていたということがあります。違うゴールに向かっていると、達成しようと思っていたことがなかなか達成しません。たとえば、ソフトウェアがなかなかリリースできない、といった具合です。向かっているゴールが違うと達成したいこと以外の作業をしています。達成に向けた作業をしていないので、なかなか達成しないことはしょうがありません。
消費税率引き上げへの対応
はじめに
2013年10月1日、来年4月から予定通り消費税率を8%に引き上げるとの発表がありました。そこでクリアコードでも消費税率引き上げに対して、どのような対応が必要か確認してみました。すると、すぐに対応しなければいけないものがあることがわかりました。そこで、今回は消費税率引き上げにともないクリアコードで実施した対応とこれから必要となる対応を紹介します。
segv-handler-gdb:Rubyスクリプトがクラッシュしたときにより詳しくCレベルのバックトレースを出力するgem
Rubyで拡張ライブラリーを使っているとクラッシュすることがあります。自分が開発している拡張ライブラリーならどうにかして直したいものです。そのときに役立つのがGDBなどのデバッガーです。Cレベルのより詳細な情報を取得できるため、問題の特定に役立ちます。しかし、次のようにデバッガー上でクラッシュさせることが難しいことがあります。
gettextとバージョン管理システムの相性の悪さを解消する案
全文検索エンジンGroongaを囲む夕べ 4での発表資料
2013年11月29日(いい肉の日)に全文検索エンジンGroongaを囲む夕べ 4が開催されました。会場の提供から運営、懇親会の飲み物や肉メインのおいしい食べ物の提供まで、DeNAさんが全面的にバックアップしてくれました。とても感謝しています。