Heroku Meetup #13 新年会:HerokuでGroonga #herokujp
Heroku Meetup #13 新年会1の懇親会のLTで3分くらいでHerokuでGroongaを使えるということを紹介しました。
-
新入社員の人に会うために行ったのに会えませんでした。。。 ↩
Pbuilder と Cowbuilder の性能比較
Ubuntuでdebパッケージのお手軽クリーンルーム(chroot)ビルド環境を構築するにはで Pbuilder よりも Cowbuilder の方が速いと書いてありますが、本当に Cowbuilder の方が速いのかどうか検証しました。
無料でチケットを譲ります:CROSS 2015 全文検索エンジン群雄割拠〜あなたが使うべきはどれだ!〜
2015年1月29日にCROSS 2015というイベントが開催されます。その中に全文検索エンジン群雄割拠〜あなたが使うべきはどれだ!〜という「参加者が最適な全文検索を選択することをサポートする」ことを目的としたセッションがあります。
CROSS 2015 全文検索エンジン群雄割拠〜あなたが使うべきはどれだ!〜:Groongaの紹介 #cross2015
CROSS 2015の全文検索エンジン群雄割拠〜あなたが使うべきはどれだ!〜というセッションで他の全文検索との違いという観点でGroongaの紹介をしました。
mrubyのVMのデバッグ方法
全文検索エンジンのGroongaでmrubyを使っているのですが、たまにCRubyと異なる挙動に遭遇することがあります。このようなときはmrubyに問題があります。特定のメソッドの挙動がおかしいときはmrubyのライブラリーの実装に問題があります。構文の使い方で挙動がおかしいときはmrubyのVMに問題があります。
クリアなコードの作り方: 専用の機能を使う
「やりたい処理もできる」機能ではなく「やりたい処理用」の機能を使うことで、書いた人の意図が伝わるコードになるという話です。「動く」コードは書けるけど「意図が伝わる」コードはまだ書けない、という初級者向けの話です。
reportbugを使ってバグ報告をしてみよう
Software Design 2015年3月号の「Debian Hot Topics」でreportbugを使ってバグ報告をする方法についての記事がありました。 reportbugを使ったことがなかったので、最近踏んだバグについてreportbugを使ってバグ報告をしたときのことを紹介します。
「リーダブルコード」に関する有料ワークショップ「実践リーダブルコード」を開催
2015年3月6日にアジャイルアカデミーの1講座として実践リーダブルコードという「リーダブルコード」に関する有料ワークショップを開催しました。
Mewで色付きでコミットメールを表示する方法
普通のフリーソフトウェアの開発のように、クリアコードでの開発では他の人のコミットを読むことは当たり前です。コミットを読むコストを下げるため、コミットメールを利用しています。
クリアコードに入社した理由: フリーソフトウェアを仕事にしたい
はじめまして、今年の2月にクリアコードに入社した横山です。この記事では、私がクリアコードに入社した理由のひとつである「フリーソフトウェアを仕事にしたい」ということについて、フリーソフトウェアやクリアコードに興味を持ったきっかけと、入社までの経緯をお伝えします。
クリアなコードの作り方: 正規表現はマッチしすぎに気をつける
正規表現は短い表現でたくさんのパターンを記述できるため適切に使えばとても便利な機能です。しかし、雑に正規表現を使ってしまうと思わぬバグになったり、わかりにくいプログラムになってしまいます。「動く」正規表現は書けるけど、「適切な」正規表現はまだ書けない、という初級者向けの話です。
Thunderbirdの法人向けカスタマイズ事例紹介:起動時にパスワード認証が完了するまでUIを非表示にする
発端
クリアコードでは、FirefoxおよびThunderbirdの利用にあたってお困りのお客様について、問題を解決するお手伝いをしています。
2015年4月3日(金)にschooで2回目のリーダブルコードのWeb授業を開催予定
昨年、2014年12月9日にschooでリーダブルコードのWeb授業を開催しました。そのときは単発の企画で続編の予定はなかったのですが、今週の金曜日(2015年4月3日)の21:00から続編として名著『リーダブルコード』を解説者と一緒に読み解こう 7章 制御フローを読みやすくするの授業をすることになりました。
WEB+DB PRESS Vol.86の特集記事「1年目から身につけたい! チーム開発6つの心得」を執筆しました
2015年4月23日発売予定のWEB+DB PRESS Vol.86の特集記事を、クリアコードとして執筆しました。社内の多くの人間が関わった力作となっております。 書影はまだ登録されていないようですが、Amazon.co.jpでは既に注文できるようになっている模様です。
リーダブルコードの伝え方
4月3日にschooで名著『リーダブルコード』を解説者と一緒に読み解こう 7章 制御フローを読みやすくするというWeb授業をしました。資料と内容の概要は告知エントリーにあるので、興味のある方は参照してください。
6月24日開催 アジャイルアカデミー「実践リーダブルコード」募集開始のお知らせ
6/24(水)にアジャイルアカデミー「実践リーダブルコード」を開催することになりました。前回の3月6日に続いて、2回目の開催です。
Markdownで書いたテキストをPDFに変換して納品用ドキュメントを作成する方法
AppVeyorへのGitHubプロジェクトの登録方法
AppVeyorというWindows用の継続的インテグレーションサービスがあります。オープンソースプロジェクトは無料で利用できるので、GroongaとMroongaで利用しています。普段はGNU/Linux環境で開発しているため、Windows上でのビルドが壊れていないか確認できてとても助かっています。
公式のWindows版PostgreSQLパッケージ用の拡張機能のビルドシステムの作り方
PostgreSQLは各種プラットフォーム用のパッケージを提供しているため、簡単にインストールすることができます。PostgreSQL用の拡張機能のインストール方法も簡単です。拡張機能のバイナリーと設定ファイル1を拡張機能用のディレクトリーに配置してCREATE EXTENSIONを実行するだけです。
-
拡張機能のメタデータを書いた
.controlファイルと拡張機能のインストール方法を書いた.sqlファイル。 ↩
2015年6月6日(土)に学生向けリーダブルコード勉強会を開催予定
要約:6月6日(土)に学生向けリーダブルコード勉強会を開催する予定なので、興味のある学生の人はイベントページから応募してください。興味のありそうな学生を知っている人は教えてあげてください。締め切りは6月1日(月)です。
pg_shardとPGroongaを使ったレプリケーション対応の高速日本語全文検索可能なPostgreSQLクラスターの作り方
PostgreSQL 9.4.1の標準機能で日本語全文検索をする場合、LIKEを使うしかありません。LIKEには次の問題があります。
PostgreSQLで日本語全文検索 - LIKEとpg_bigmとPGroonga
PostgreSQLアンカンファレンス@東京(2015/5/30)でPostgreSQLの日本語全文検索まわりについて紹介しようかとたくらんでいます。しかし、現時点(2015-05-25)でキャンセル待ちで、当日参加できないかもしれないので紹介しようと用意している内容をここにまとめます。
Fcitxで「直接入力」する入力メソッドを簡単に切り替える方法
はじめに
インプットメソッドフレームワークの一つに Fcitx 1 があります。
複数の入力メソッドをあらかじめ設定しておくことができますが、入力メソッド自体を切り替えるのに比べて、入力メソッドの順番を変更するのはちょっと面倒です。
今回は Fcitx で「直接入力」する入力メソッドを簡単に切り替える方法を紹介します。
SEゼミ2015 - リーダブルコード勉強会を開催
2015-06-06にプログラミングが好きな学生のためのリーダブルコード勉強会を開催しました。この勉強会について、内容を作った立場からどうしてこのような内容にしたのかについて紹介します。また、今回の内容の課題と今後の解決案についてもまとめます。
GitHub上のアクティビティを定点観測してみませんか?
先日、fluent-plugin-github-activitiesとSharetaryという2つのソフトウェアをリリースしました。 これらを組み合わせると、GitHub上の個々人の活動をウォッチして簡単に共有することができます。
Firefox 29で削除されたセキュリティポリシー機能と、その代替手段
概要
Firefox 29において、古くから存在していたセキュリティポリシー設定のための機能(Configurable Security Policies、またはCapabilities、略してCAPS)の大部分が削除されました。 このエントリでは、CAPSで行っていた設定を、サイト別設定機能とクリアコードが開発・提供しているアドオンの組み合わせで代用する方法について解説します。
AuFSの代替としてのOverlayFS,unionfs-fuseを使うには
東京〜札幌間の勉強会参加時にLCCで安価に移動する際の注意点
横山です。この週末にオープンソースカンファレンス2015 Hokkaidoに参加してきたのですが、その際に交通手段としてLCC(格安航空会社)を利用したので、感想と注意点についてレポートしたいと思います(OSC本編のレポートは後日書く予定です)。
2015年6月27日(土)にOSS開発参加未経験学生向けOSS開発イベントを開催予定
要約:6月27日(土)にOSS開発参加未経験の学生向けに、OSSの開発に参加する方法をワークショップ形式で教えるイベントを開催します。「OSSの開発に参加してみたいけど漠然とした不安があり手を出せていない…」という学生向けに「具体的にこういう方法で始めるといいよ」という方法を伝えます。ワークショップ形式で実際に手を動かしながら学べるうえに、現役の超優秀エンジニアが多数メンターとしてサポートするので、OSS開発への漠然とした不安を払拭できるはずです。OSSの開発に参加してみたいけど手を出せていなかった学生の人はイベントページから応募してください。背中を押してあげたい学生を知っている人は教えてあげてください。締め切りは6月22日(月)です。
SharetaryのためのGitHubアクティビティ定点観測の設定・改
先日、「GitHub上のアクティビティを定点観測してみませんか?」と題してfluent-plugin-github-activitiesとSharetaryという2つのソフトウェアを紹介しましたが、Sharetaryの改善に伴っていくつか設定の仕方に変化がありましたので、改めて、最新バージョンでの推奨設定について解説します。 ClearCode Inc. Organizationに所属しているアカウントの公開アクティビティを収集するSharetaryの運用サンプルも、この解説と同じ手順でSharetary 0.5.0に移行しました。
Groongaがキャッシュしている内容を確認する方法
はじめに
Groongaにはcache_limitというコマンドがあります。
cache_limit を使うと、最新のN件の select コマンドの結果をキャッシュさせることができます。
WerckerのDockerバックエンドを使ってCentOS向けCIをするには
クリアコードではHatoholというソフトウェアの開発に参加しています。Hatoholは複数の統合監視システムの情報を一括して表示することを可能とするソフトウェアです。現在対応している統合監視システムはZabbix、Nagios及びOpen StackのCeilometerです。他の監視システムに対応することも検討しています。
SEゼミ2015 - OSS Hack 4 Beginnersを開催 #sezemi
2015-06-27にOSS開発参加未経験学生向けOSS開発イベントであるOSS Hack 4 Beginnersを開催しました。このイベントについて、内容を作った立場からどうしてこのような内容にしたのかについて紹介します。また、今回の内容の課題と今後の解決案についてもまとめます。
SEゼミ2015のコンテンツ作成と進行をしてわかったこと #sezemi
注意:長いです。全体としてはキレイにまとまりませんでした。(途中で雰囲気が変わる。)個々の話題で気になるところだけ参照するくらいがよいかもしれません。
「チームメンバーのリーダブルコードを見つけて共有」を体験 - ピクシブさんでリーダブルコードワークショップを開催
2015年8月11日にピクシブさん会場提供でピクシブの開発者(7名)と永和システムマネジメントの開発者(1名)に参加していただき、「リーダブルコードワークショップ」を開催しました。
Firefoxの独自ビルドの作成方法(2015年版)
概要
弊社はMozilla FirefoxをはじめとしたMozilla製品の技術サポートを提供していますが、希に、自社製品の一部としてFirefoxを顧客向けに配布したいというご相談を頂くことがあります。
Visual Studioなしでmingw-w64だけでWindowsのイベントログに出力する機能を実現する方法
GNU/Linux、*BSD、OS X、Windowsなど複数のプラットフォームに対応するプログラムをC/C++で開発する場合、GCCを利用すると便利です。例に挙げたすべてのプラットフォームに対応している上に、クロスコンパイルもできるからです。特にWindows向けバイナリーのクロスコンパイルは便利です。開発環境(たとえばGNU/Linux)上でビルドできるので、環境を切り替える手間が減って開発効率があがります。
PGroongaでのJSON検索の実装方法
PGroonga(ぴーじーるんが)はPostgreSQLから全文検索エンジンGroonga(ぐるんが)を使えるようにするためのPostgreSQLの拡張機能です。PGroongaを使うとPostgreSQLに格納したデータに対して高速な全文検索を実現できます。PostgreSQLは標準では日本語テキストを全文検索できません。LIKEでシーケンシャルサーチする必要があり、レコード数・テキストサイズが増えるほど性能が劣化します。PGroongaを導入することで大量の日本語テキストデータに対しても高速に全文検索できます。
Firefox 38以降で急にSSL/TLSのエラーが出るようになった、という問題の原因と対策
概要
Firefoxをバージョンアップしたところ、それまで問題なく閲覧できていたWebページで急に、「安全な接続ができませんでした」や「接続の安全性を確認できません」といったエラーが出るようになった、というお問い合わせを頂きました。
動作確認用の画像をImageMagickで簡単に作るには
はじめに
Webアプリケーションを開発していると、動作確認用の画像が欲しいことがしばしばあります。 ちょっとアップロードを試す程度なら、手元の適当な画像を探して使うということができます。 ただし、動作確認用の画像をリポジトリに入れたりとなると話は別で、そのままではまずいことも多々あります。 そういうときは癖のない無難な画像が欲しくなったりします。
認められて伸びる・やる気がでるタイプなら依頼者・ユーザーに認めてもらう
クリアコードは楽しく開発することを大事にしています。楽しければ開発を続けられますし、学ぶときの効率もよくなるからです。
Fluentd v0.12.16でプラグインの設定をコマンドラインから確認する方法
Fluentd v0.12.16 has been released | Fluentdでも、詳しく紹介されていない機能ですがFluentd v0.12.16からはコマンドライン上でプラグインがどんな設定項目を持っているか確認することができるようになりました。
OSS開発に参加する人を増やす取り組み「OSS Gate」を開始
クリアコードは去年からSEゼミという企画に協力していました。SEゼミというのは技術的なテーマを軸にして工学系の学生と企業を結びつける就職支援系の企画です。(明示的にそう書かれているページを見つけられませんでしたが、そんなに間違っていないはず。)
Firefox用アドオンの署名義務化に伴う、一部アドオンのMozilla Add-ons掲載取りやめについて
概要
Firefox 44以降で予定されているアドオンの署名義務化に伴い、弊社にて開発・公開している一部のアドオンについてMozilla Add-onsサイト上への掲載を取りやめました。 以後は、それらのアドオンのインストール用XPIパッケージは各アドオンのGitHubリポジトリにて公開していきます。
Firefoxのメモリ消費の状況を定期的に監視する
概要
アドオンを使ってFirefoxのメモリ消費の詳細な情報をモニタリングし、問題の原因を究明・分析する方法と、その事例をご紹介します。
Firefoxの独自ビルドにおける、より高度なノーブランド化の手順
概要
Firefoxの独自ビルドの作成手順(2015年版)において、「Firefox」ブランドを使用しない「ノーブランド版Firefox」の作成方法を解説しました。 この記事ではその補足情報として、より完全なノーブランド化の手順と、その際の注意点を解説します。
WerckerのDockerベーススタックへの移行
クリアコードではHatoholというソフトウェアの開発に参加しています。Hatoholは複数の統合監視システムの情報を一括して表示することを可能とするソフトウェアです。現在対応している統合監視システムはZabbix、Nagios及びOpen StackのCeilometerです。他の監視システムに対応することも検討しています。
Ruby on RailsでPostgreSQLとPGroongaを使って日本語全文検索を実現する方法
PostgreSQLは標準機能では日本語のテキストを全文検索することはできません。PostgreSQLにPGroonga(ぴーじーるんが)という拡張機能を導入することで日本語のテキストを全文検索できるようになります。しかもPGroongaは高速です。Wikipedia日本語版のテキスト(約185万件・平均約4KB)から約2万件ヒットするような全文検索をしても0.2秒かかりません。
Ruby on RailsでMySQLとMroongaを使って日本語全文検索を実現する方法
MySQLは先日リリースされたMySQL 5.7から標準機能で日本語のテキストを全文検索できるようになりました。逆に言うと、現在広く使われているMySQL 5.6以前では日本語のテキストを全文検索できません。MySQLにMroonga(むるんが)というストレージエンジンを導入することで日本語のテキストを全文検索できるようになります。しかもMroongaは高速です。MySQL 5.7で導入された日本語全文検索機能よりも高速です。
2015年11月29日開催予定のGroonga Meatup 2015の内容を紹介
全文検索エンジンGroongaは毎年いい肉の日(11月29日)にイベントを開催しています。今年も「Groonga Meatup 2015」という名前で開催予定です。
PostgreSQLカンファレンス2015:PGroongaの実装 #pgcon15j
PostgreSQLカンファレンス2015のPGroongaの実装というセッションでPGroongaについて自慢しました。PGroongaはPostgreSQLに超高速日本語全文検索機能を追加する拡張機能です。
Sylpheedのプラグインの作り方(2015年版)
はじめに
Sylpheedという「軽快で使いやすいオープンソースのメールソフト」があります。 以前、Sylpheed向けにプラグインを作る方法をWindows版を前提に紹介しました。
Apache Flume NGへFluentdからレコードを送るには
はじめに
クリアコードではFluentdというソフトウェアの開発に参加しています。Fluentdはログ収集や収集したデータの分配・集約などを行うソフトウェアです。
Fluentd Sinkを用いてApache Flume NGからFluentdへレコードを出力するには
はじめに
クリアコードではFluentdというソフトウェアの開発に参加しています。Fluentdはログ収集や収集したデータの分配・集約などを行うソフトウェアです。
__noSuchMethod__をES6 Proxyで代替する方法
FirefoxのJavaScript実行エンジンであるSpiderMonkeyでは、ECMAScriptの仕様にはないSpiderMonkey固有の拡張機能をいくつか利用できますが、その中の1つとして__noSuchMethod__があります。
Groonga Meatup 2015:Groonga族2015 #groonga
Groonga Advent Calendar 2015の6日目の記事です。5日目は@KitaitiMakotoさんのDroongaをインストールするItamaeレシピでした。
クリアコード:RubyKaigi 2015にスピーカー・スポンサーとして参加予定
12月11日から13日の3日間RubyKaigi 2015が開催されます。なんと、もう今週です。3日目は学生は無料で入れるということなので、学生の方は3日目の16:40からの咳さんのActor, Thread and meを聞きに行くといいです。最後の「and me」がかっこいいですね。
RubyKaigi 2015:The history of testing framework in Ruby #rubykaigi
RubyKaigi 2015の2日目(2015年12月12日)にThe history of testing framework in RubyというタイトルでRubyのテスティングフレームワークの歴史を紹介しました。
Firefoxを意図的にクラッシュさせる方法
Firefoxの導入時の要件として、クラッシュ時のレポートを送信しないようにするという設定を行う事があります。 この設定が意図通りに反映されているかどうかを確認するために、Firefoxが実際にクラッシュした時の様子を観察したい場合があります。
Thunderbirdのエラーコンソールの出力結果を効率よく収集する方法
FirefoxやThunderbirdには、内部で発生したエラーの情報やデバッグ用の情報を表示するためのコンソールが内蔵されています。 FirefoxでもThunderbirdでも、「Ctrl-Shift-J」というキーボードショートカットでこのコンソールを開く事ができます。
Firefox用アドオンのデジタル署名の自動化
このククログでも既に何度か触れていますが、Firefox 44以降ではアドオンのインストール用パッケージ(XPIパッケージ)について、Mozillaによるデジタル署名が施されていない物はインストールできないようになります。
Cert Importer 1.4の再公開と、Firefox ESR版での署名要求の無効化設定について
先日、Firefoxアドオンの署名義務化に伴っていくつかのアドオンのMozilla Add-onsのWebサイト上で配布しないように切り替えた旨をお伝えしましたが、その際、Cert Importer(証明書インポータ)だけは、その特性上サイドローディング形式でのインストールが可能な権限を設定して貰えない(本審査が棄却されていた)ために、Firefox 44以降のバージョンでは一切利用できない状態のままとなっておりました。
Firefox・Thunderbirdを、検証用にクリーンな環境で起動する方法
FirefoxやThunderbirdはアドオンや設定によるカスタマイズが可能ですが、アドオンを多数インストールして様々な設定を変更した状態だと、何か問題が起こった場合にその原因がどこにあるのかを特定しにくくなります。
Systemdのサービスの依存関係を調べる方法
はじめに
昨今、大抵のLinuxディストリビューションにおいては、Systemdが標準採用されています。 ディストリビューションによって提供されているパッケージを使うだけなら、(通常はすでに適切に設定済みのため)普段それほどサービスの依存関係を意識することはありません。 しかし、独自に開発したソフトウェアをサービスとして動かしたりするときには、サービスの依存関係を正しく指定しないと意図したように動作しないという問題に遭遇することがあります。