クリアコードは2009年2月20日(金)、21日(土)開催のオープンソースカンファレンス2009 Tokyo/Springに協賛します。
クリアコードの展示スペースでは以下を実施する予定です。気になるものがあったら、ぜひ立ち寄ってみてください。
一ヶ月ほど前に紹介したとおり、クリアコードでは組み込み環境向けのMozillaの研究を進めています。展示スペースでは以前紹介したデモを展示しますので、もう少し詳しいことを知りたいという方は展示スペースで気軽に声をかけて下さい。
また、クリアコードが提供するMozilla関連サービスも紹介します。
クリアコードでは、実際にコードを書くということを重視しています。
クリアコードは、ソフトウェア開発だけではなく、ソースコードレベルまで踏み込んだ導入支援・技術支援サービスもおこなっています。支援サービスでは、必要であれば問題を解決・回避するようにソフトウェア本体を修正したり、修正するソフトウェアを開発します。また、より要望に沿ったシステムとなるような拡張をおこなう場合もあります。そのようなThunderbird用のアドオンの一部はフリーソフトウェアとして公開しています。
展示スペースではMozillaを対象としてライブ開発をします。ライブ開発は展示期間中は終日おこなっていますので、どのように開発しているのか気になる方は展示スペースまで立ち寄ってください。また、飛び込みのペアプログラミング希望にも対応しますので、希望する方は気軽に声をかけてください。
IPAの2008年度 オープンソフトウェア利用促進事業 上期テーマ型(開発) 公募「迷惑メール対策ポリシーを柔軟に実現するためのmilterの開発」で開発中の迷惑メール対策ソフトウェアmilter managerについて紹介します。
現時点で有効な迷惑メール対策についても紹介するので、迷惑メール対策に興味のある方は気軽に声をかけてください。また、milter managerはRubyインタプリタを内臓しているユニークなソフトウェアでもあるので、実装に興味のある方も気軽に声をかけて下さい。(リリースされたばかりのRuby 1.9.1にはまだ対応していません。)
また、21日(土)15:15〜のライトニングトークでもmilter managerを紹介します。展示スペースでの紹介とは違った角度からmilter managerを紹介する予定です。
今年の夏に実施予定のインターンシップの紹介をします。
インターンシップで実施予定のペアプログラミングを体験することもできます。話題沸騰のインターンシップに興味のある方は気軽に声をかけてください。
オープンソースカンファレンス2009 Tokyo/Springは2009年2月20日(金)、21日(土)に日本電子専門学校 7号館で開催されます。
参加される方は、ぜひ、クリアコードの展示スペースにも立ち寄ってみてください。
迷惑メール対策ソフトウェア、milter manager 0.8.0をリリースしました。
milter managerはIPAの2008年度 オープンソフトウェア利用促進事業 上期テーマ型(開発) 公募「迷惑メール対策ポリシーを柔軟に実現するためのmilterの開発」で開発しています。
2月21日(土)にはオープンソースカンファレンス2009 Tokyo/Springのライトニングトークでmilter managerの紹介をします。milter managerを導入した場合のシステム全体の紹介よりも、Rubyインタプリタを組み込んだアプリケーションとしての側面に重みをおいて紹介する予定です。
Ruby関連のイベントでは、同日にとちぎRuby会議01がありますが、栃木まで行くのは大変、という方はオープンソースカンファレンスに参加してみてはいかがでしょうか。 日本Rubyの会も展示をしたり、セッションを開いたりするようです。クリアコードの展示も面白そうです。
オープンソースカンファレンス2009 Tokyo/Springは2月20日(金)、2月21日(土)の2日間開催されます。予定が空いている方は参加してみてはいかがでしょうか。最近の技術の動向を知るよい機会だと思います。
昨日は2009年2月9日でした。 日本時間の肉の日から太平洋標準時の肉の日までの間に以下のソフトウェアがリリースされました。
みなさんは何をリリースしたでしょうか。
ソフトウェアを毎月29日または2月9日にリリースする事を肉リリース(肉の日リリース)といいます。肉リリースは、弊社エンジニアの池添が関わる風博士プロジェクトで発祥したリリース方針です。
フリーソフトウェア・オープンソースソフトウェアの開発プロジェクトにおいては、明確な開発スケジュールが組まれていなかったり、開発の勢いが個々人のモチベーションに強く依存していたりなどの理由によって、リリース間隔が延び延びとなり、成果のプロジェクト外への公表が遅れてしまう事が少なくありません。毎月29日にコンスタントに成果を出すという方針を定める事によって、定期的に開発の勢いを活性化させプロジェクトの停滞を防ぐ、などの狙いがあります。
先日、ウェブキャリアのWebエンジニア武勇伝のインタビューを受けました。Webエンジニア武勇伝にはささださんや高橋さん、かくたにさん、そして、おぎのさんまでもが登場しているので、Ruby界隈の人なら一度は目にしたことがあるのではないでしょうか。(他にもRuby界隈で有名な人が登場しています。)
きっかけは、東京Ruby会議01でRabbitについて話した(スライド)ことでした。そのときに気になったとのことで、声をかけてもらいました。それが、先日のインタビューにつながっています。
公開は数ヶ月先とのことですが、それまで待てないという人は明日のオープンソースカンファレンスでの展示スペースに遊びにきて、声をかけてください。待っています。
オープンソースカンファレンス2009 Tokyo/Springに参加しました。想像以上に展示スペースで足を止めてくれた方がいました。展示スペースに立ち寄ってくれたみなさん、ありがとうございました。いくつか展示したなかでも、以下の展示が気になってもらえたようです。
ライブ開発は、他の人が開発しているところを見る機会がないということと、そもそも何をやっているんだ?というのが気になってもらえたようです。機会があれば、また、ライブ開発はやりたいと思います。
milter managerについてはライトニングトークでも話しました。(スライド)milter managerよりもRabbitの方をアピールしているように見えたのであれば、それは発表者の実力不足です。ツールに食われてはいけません。
クリアコードがこのようなイベントに参加するのは初めてだったのですが、新しいつながりができたり、アイディアをもらえたりしたので、参加してよかったと思います。これからも、機会があればこのようなイベントに参加しようと思います。そのときも、ぜひ、クリアコードのところに立ち寄ってみてください。
先日、ActiveLdap 1.0.2がリリースされました。(リリースアナウンス)
インストール:
% sudo gem install activeldap
ActiveLdapはLDAPの各エントリを通常のオブジェクトのように便利に扱うためのRuby用のライブラリです。リレーショナルデータベースのレコードを便利に扱うためのActiveRecordのLDAPバージョンというとイメージしやすいかもしれません。
Rubyで実装されたLDAPクライアントのNet::LDAPとActiveLdapのAPIを比べてみます。まず、LDAPサーバにTLSで接続し、バインドします。その後、エントリを検索し、属性を変更します。
Net::LDAP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
require 'net/ldap' Net::LDAP.open(:host => LDAP_HOST, :port => 389, :encryption => :start_tls, :auth => { :method => :simple, :username => LDAP_USER, :password => LDAP_PASSWORD }) do |ldap| entry = ldap.search(:base => ou=People,#{LDAP_BASE}", :scope => Net::LDAP::SearchScope_WholeSubtree, :filter => "(uid=*)")[0] ldap.modify(:dn => entry.dn, :operations => [[:replace, "sn", "new-sn"]]) end |
ActiveLdap:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
require 'active_ldap' ActiveLdap::Base.establish_connection(:host => LDAP_HOST, :base => LDAP_BASE, :method => :tls, :bind_dn => LDAP_USER, :password => LDAP_PASSWORD) class LdapUser < ActiveLdap::Base ldap_mapping :dn_attribute => "uid", :prefix => 'ou=People', :classes => ["person"] end entry = LdapUser.find(:first) entry.sn = "new-sn" entry.save |
Net::LDAPでは主要なオブジェクトがLDAPクライアントを表しているNet::LDAPオブジェクトなのに対して、ActiveLdapではエントリを表しているLdapUserオブジェクトになっています。そのため、接続・検索するだけであればNet::LDAPの方がActiveLdapよりもシンプルです。クラスを定義する必要もありません。しかし、エントリを変更する必要がある場合はActiveLdapの方がシンプルです。
Net::LDAPとActiveLdapのAPIは対象としている利用者が違います。状況に応じて使い分けて下さい。
アプリケーションではNet::LDAPを使い、自動化されたテスト用のデータ作成・削除にActiveLdapを使う、ということも考えられます。
Net::LDAPとActiveLdapの速度の違いについては以前触れました: ActiveLdap 1.0.1リリース
1.0.2ではRails 2.2.2に対応しています。ただし、国際化まわりについては対応を見送っています。
また、ActiveDirectoryへの対応も強化されました。これは、クリアコードの業務でActiveDirectoryのエントリを操作するためにActiveLdapを利用したことの影響でもあります。
他にも、10以上のバグが修正されています。1.0.1を利用している場合は1.0.2へのアップグレードをおすすめします。
RubyでLDAPエントリを操作したい場合はActiveLdapが便利です。ActiveLdapは継続的に開発が続いていて、安心して使えるフリーソフトウェアです。
問題・要望がある場合はメーリングリストなどでどうぞ。
1月7日のエントリでもお伝えしたとおり、クリアコードでは独自にWindows Mobile版Mozillaの改善に取り組んでいます。
先日リリースされたFennecのプレアルファ版には、日本語が全く表示されないという問題がありました。オープンソースカンファレンス2009 Tokyo/Springにおいて、弊社ブースにてこの問題の修正を目指したライブ開発を行っておりましたが、それから約1週間かかって、ようやく日本語が表示できる所までこぎつけました。
ただし、現在のFennecはAC3形式のフォントには対応しておりません。Windows Mobile日本語版のデフォルトのフォントはこのAC3形式であるため、日本語を表示するためには、別途TrueTypeフォントをインストールする必要があります。
今回のバグは、Fennecがインストールされているフォントを認識できず、結局システムフォントしか利用されないことが原因でした。このため、日本語環境のみならず、他のどの環境においても、システムフォント以外のフォントに変更することができない状態となっておりました。