Groongaプラグイン自作入門 - コマンド詳細編
はじめに
Groongaのプラグイン自作入門では、プラグインの雛形を作成できるgrnplumというgemを使って実際に「hi」と出力するだけのgreetコマンドを作成しました。 今回は、このgreetコマンドを拡張しながら、コマンドについてもう少しだけ詳しくみていきます。 具体的には次の2つのことについてどうやったらいいのか、というのを説明します。
ワークライフバランス推進の取り組み
クリアコードでは社員全員が働きやすい環境をつくることによって、全ての社員がその能力を十分に発揮できるようにすることを目的として、10月からワークライフバランスの推進に取り組んでいます。今回はその取り組みを紹介します。
APIデザインケーススタディ
2015年12月に技術評論社から「APIデザインケーススタディ――Rubyの実例から学ぶ。問題に即したデザインと普遍の考え方」というライブラリー作成者(=APIを設計する人)向けの本が出版されました。
C/C++のソースコードをCppcheckで静的解析してみよう
はじめに
C/C++のソースコードを静的解析するツールのひとつにCppcheckがあります。 今回は、Cppcheckを使って実際に静的解析をするやりかたを紹介します。
「nginx実践入門」出版記念!執筆者らが語る nginx Tech Talks:ngx_http_groonga - 全文検索nginx
2月8日に開催された「nginx実践入門」出版記念!執筆者らが語る nginx Tech TalksのLT枠が1つ余っていたので「ngx_http_groonga - 全文検索nginx」と題してGroongaでのnginx利用事例を紹介しました。
MySQLとPostgreSQLと日本語全文検索:MySQL・PostgreSQLでGroonga(Mroonga・PGroonga)を使って日本語全文検索 #mypgft
年に一度の肉の日、2月9日に「MySQLとPostgreSQLと日本語全文検索」というイベントを開催しました。次の2つのことについて紹介するイベントです。
Debianの移植作業用のインフラを借りるには
はじめに
Debianプロジェクトでは、移植作業用のインフラが各アーキテクチャごとに用意されています。 それらのインフラはDebian開発者向けに提供されているものですが、開発者だけに限定されているわけではありません。 今回は、移植作業用のインフラをDebian開発者でない人が借りる方法について紹介します。
変更禁止のオブジェクトの一部のメソッドだけをES6 Proxyでオーバーライドする方法
以前にMozillaのJavaScript実行エンジンの独自拡張機能である__noSuchMethod__をES6 Proxyで代替する方法をご紹介しましたが、その応用となる話です。
第1回 法人向けFirefox導入セミナーで発表を行いました
2016年3月16日、Mozilla Japan主催の法人向けFirefox導入セミナーでFirefoxの法人利用についての紹介を行いました。
pglogicalとPGroongaを使ったレプリケーション対応の高速日本語全文検索可能なPostgreSQLクラスターの作り方
PostgreSQLは標準機能ではインデックスを使った日本語全文検索機能がありません。PostgreSQLでインデックスを使った高速な日本語全文検索を実現する拡張機能にはPGroonga(ぴーじーるんが)があります。しかし、PGroongaはPostgreSQL標準のレプリケーション機能を使えません。これは、PostgreSQLが拡張機能で追加したインデックスのレプリケーションをサポートしていないからです。
Rubyist Magazine(るびま)0053号に須藤へのインタビューが掲載
Rubyist Magazine(るびま)にはRubyist HotlinksというRubyistへインタビューする企画があります。0053号のRubyist Hotlinks 【第 36 回】はクリアコードの社長である須藤へのインタビューです。クリアコードのビジネスについてやOSS Gateの話題もあるのでご覧ください。それらの話題にそんなに興味のない方でもぜひご覧ください。聞き手・野次馬のみなさんのおかげで読み物としておもしろいものになっています。
OSDNのファイルリリース機能をAPI経由で使うには
はじめに
「オープンソース・ソフトウェア開発/公開のために様々な機能を提供する無料サービス」の1つに、OSDNがあります。 かつてSourceForge.JPとして運営されていたので、そちらのほうに馴染みがあるかたも多いことでしょう。
CygwinのOpenSSHサーバーに公開鍵を使ってログオンする方法
mingw-w64を使うことにより、GNU/Linux上でWindows用のバイナリーをビルドすることができます。GNUビルドシステムを使っている場合でもできますし、CMakeを使っている場合でもできます。(CMakeを使っている場合はRuby-GNOME2が指定しているようなオプションを指定するとビルドできます。)
最小構成のFluent Loggerを作成するには
はじめに
クリアコードではFluentdというソフトウェアの開発に参加しています。Fluentdはログ収集や収集したデータの分配・集約などを行うソフトウェアです。
FirefoxアドオンのWebExtensions移行についてMozilla Blogに寄稿しました
弊社メンバーが執筆した、従来からあるFirefox用アドオンを「WebExtensions」ベースに移行させた際の知見を解説した記事がMozilla Add-ons Blogに掲載されました。
RabbitでスライドやPDFの自動ページ送り(スライドショー)をする方法
この記事では、プレゼンテーションツールRabbitでスライドやPDFの自動ページ送り(スライドショー)を実現する方法を説明します。Rabbit以外で作成したPDFのスライドショーにも使うことができます。
PostgreSQL標準添付のpg_trgmでリビルドせずにインデックスを使った日本語全文検索をする方法:LC_CTYPEにC.UTF-8を指定
Firefox 45ESRとFirefox 47以降で、法人利用に影響のある変更が入ります
Bug 1267567が修正され、Firefox 45ESRの次のリリースとFirefox 47以降のバージョンにおいて、法人利用に影響を及ぼし得る変更が入りました。
東京Ruby会議11でRubyの組み込み方とOSS Gateを紹介予定 #tkrk11 #oss_gate
2016年5月28日(土)に東京Ruby会議11とOSS Gateワークショップ2016-05-28が開催されます。どちらも同じ「秋葉原コンベンションホール」という建物で、東京Ruby会議11は2階で開催され、OSS Gateワークショップ2016-05-28は5階で開催されます。
東京Ruby会議11での発表「アプリケーションへのRubyインタープリターの組み込み」とOSS Gateワークショップ2016-05-28 #tkrk11 #oss_gate
5月28日に開催された東京Ruby会議11で「アプリケーションへのRubyインタープリターの組み込み」と題して、アプリケーションにRubyを組み込む実装について話しました。
MySQLとPostgreSQLと日本語全文検索2:初心者向けMroonga・PGroonga情報 #mypgft
6月9日に「MySQLとPostgreSQLと日本語全文検索2」というイベントを開催しました。今回もDMM.comラボさんに会場を提供してもらいました。当日のツイートはMySQLとPostgreSQLと日本語全文検索2 - Togetterまとめにまとまっています。
Let’s Encryptをcloudapp.azure.comで使おうとするときのハマりどころ
はじめに
誰でもSSL/TLS証明書を無償で取得できることを標榜しているサービスとして、Let's Encryptがあります。2016年4月に正式サービスの提供が開始されたことから、実際に試してみた人も多いことでしょう。
MariaDB コミュニティイベント in Tokyo開催のおしらせ
2016年7月21日(木)の午後に「MariaDB コミュニティイベント in Tokyo」というイベントが開催されます。MariaDBの開発に関わっている人(エヴァンジェリストの人)が来日しており、その人からMraiaDBの最新情報を説明してもらったり、その人に質問したりできます。他にもAll AboutがどのようにMariaDBを使っているかという話(たぶん)や、MariaDBにバンドルされているMroonga(全文検索用プラグイン)・Spider(シャーディング用プラグイン)の最新情報の話もあります。MroongaとSpiderはそれぞれ開発している人が話をするので突っ込んだ質問をすることもできます。この機会をぜひ活かしてください。
クリアコード10周年祝いイベント開催のおしらせ
クリアコードは7月25日が設立記念日です。今年の設立記念日(2016年7月25日(月))の夜はクリアコード10周年祝いイベントを開催することにしました。以下のような方はぜひお越しください!
Debian向けにパッケージングするメリットとは
はじめに
フリーソフトウェアのリリースとひとくちに言っても、プロダクトごとにその実態はさまざまです。 単にタグを打つだけのこともあれば、ソースコードのアーカイブをアップロードするまでだったり、独自リポジトリを用意してパッケージを提供するところまで実施するものもあります。 あるいは独自リポジトリではなく、ディストリビューション向けにパッケージングしてリリースしているものもあります。
MariaDBコミュニティイベント in Tokyo:Mroonga 2016 - 高速日本語全文検索 for MariaDB
2016年7月21日に「MariaDBコミュニティイベント in Tokyo」というイベントが開催されました。発表中でも随時参加者から質問があがり質疑応答が始まるという、日本のイベントではあまり見られない活発なイベントでした。
クリアコード10周年祝い開催 #cc10th
お知らせしていた通り、クリアコードの設立記念日である7月25日にクリアコード10周年祝いイベントを開催しました。今回はGroongaのサポートサービスでお付き合いのあった小峯さんにイベントの写真を撮ってもらったので写真多めでイベントの様子を紹介します。小峯さん、ありがとうございました!
OSS Gateワークショップ2016-07-30を開催 #oss_gate
2016年7月30日にクラウドワークスで4回目のOSS Gateワークショップを開催しました。今回はこれまでで最多の23名の参加でした。(ビギナーは19人申し込みで実際に参加したのは11人。参加率は約58%。)
コードに改行を入れる方法とその利点についてHTMLを例に考える
あるプロジェクトで、一行が長いコードを扱う機会があったので、一行を短くする(改行を入れる)方法とメリット・デメリットについて考えてみました。
クリアなコードの作り方: 変わらない値とわかるようにする
問題を調査する場合やプログラムを改良する場合、修正する場合などプログラムの挙動を把握しなければいけないことは多々あります。プログラムの挙動を把握する方法はいろいろあります。処理の流れを追う方法や特定の値に注目する方法や状態の変化を追う方法などです。
9月1日開催のSpeee Cafe Meetup #2でOSS開発について話します
2016年9月1日に開催されるSpeee Cafe Meetup #02で須藤がOSS開発について話します。
Fluentdのプラグインのv0.14への移行の仕方
はじめに
クリアコードではFluentdというソフトウェアの開発に参加しています。Fluentdはログ収集や収集したデータの分配・集約などを行うソフトウェアです。
OSS開発支援の一例: Fluentdとその関連ソフトウェア
クリアコードではOSS開発支援サービスの一環でTreasureDataさんが中心になって開発し公開しているFluentdとそのプラグインなど1の開発を支援しています。 かれこれ一年ほどやってきたので、どのようなことをやってきたのかふりかえります。
-
fluent-plugin-xxxやfluent-logger-xxxが多い ↩
Fluentd v0.14のプラグインヘルパーの使い方
はじめに
クリアコードではOSS開発支援サービスの一環でTreasureDataさんが中心になって開発し公開しているFluentdとそのプラグインなど1の開発を支援しています。 Fluentd v0.14からはプラグインでよく使われる定型の処理をより簡易に扱えるようにするプラグインヘルパーが実装されました。 この記事ではv0.14の執筆時点のプラグインヘルパーの使用方法の概説を行います。また、プラグインヘルパーを解説した各節の最後には実際の使われている箇所の一例を示します。
-
fluent-plugin-xxxやfluent-logger-xxxが多い ↩
Speee Cafe Meetup #02 :OSS開発者を増やしたい! #speee_lounge
2016年9月1日に「Speee Cafe Meetup #02」という「OSS開発」をテーマにした勉強会がSpeee Loungeで開催されました。
複数の作業環境から変更が同一ブランチにpushされるGitリポジトリについて、リモートにある内容を確実に手元に反映する
この記事では、Gitの「普通のpull」と「rebase」について、「普通のpullではなくrebaseした方が良いと言われるけれども、実際にrebaseを使ってみたら、衝突が発生した時に色々よくわからない事が起こって辛い思いをした」という人を対象として、rebaseの正しい使い方を解説します。 GitそのものやGitHubそのものの説明については省略していますのでご注意下さい。 また、GitはLinuxやmacOS(OS X)の端末エミュレータ上のシェルでコマンド列を実行して利用する形態を想定しています。
書き捨てのRubyスクリプトをgemにするときの育て方の一例
Rubyでちょっとしたこと、例えばテキスト処理などをしたくてスクリプトを書くことはよくあります。そんなスクリプトは意外と再利用したくなるものです。しかし、作業用ディレクトリに適当なファイル名で保存していたりすると探し出すのは困難ですし、コマンドラインにワンライナーで書いたものだとそもそも残っていないこともあります1。別のPCでの再利用も、それらの保存方法では当然ながら不可能でしょう。
-
私の環境だとコマンドラインにワンライナーで書いたものでもヒストリーに残っている(参考:おすすめzsh設定 - ククログ(2011-09-05))ため残ってはいるのですが、名前が付いていないスクリプトの山から探し出すのは大変です。 ↩
RubyKaigi 2016にスポンサーとして参加 #rubykaigi #oss_gate
予告通り、2016年9月8日から10日まで3日間開催されたRubyKaigi 2016にスポンサーとして参加しました。今年はブースを出せるということだったのでブースを出しました。(スピーカーとしての参加についてはHow to create bindings 2016を参照してください。)
RubyKaigi 2016:How to create bindings 2016 #rubykaigi
2016年9月8日から10日にかけて開催されたRubyKaigi 2016で「バインディング開発者を増やしたい!」という話をしました。
RubyKaigi2016: Ruby Reference Manual 2016 Autumn #rubykaigi
2016年9月8日から10日にかけて開催されたRubyKaigi 2016で「Rubyリファレンスマニュアル(るりま)に関わる人を増やしたい!」という話をしました。
MySQLとPostgreSQLと日本語全文検索3:MroongaとPGroongaの導入方法例 #mypgft
2016年9月29日(肉の日!)に「MySQLとPostgreSQLと日本語全文検索3」というイベントを開催しました。その名の通りMySQLとPostgreSQLでの日本語全文検索についての話題を扱うイベントです。今回もDMM.comラボさんに会場を提供してもらいました。
OSS Gateワークショップin札幌2016-09-24を開催 #oss_gate
OSS Gateは「OSS開発に参加する人を増やす」取り組みで、それを実現するための1つの手段として「OSS Gateワークショップ」を開催しています。これまでは東京でだけ開催していましたが、OSS Gateは「『東京の』OSS開発に参加する人を増やす」取り組みではないので、東京以外でも開催したいという考えがありました。
Groongaでのmrubyの組み込み方:ビルド周り
全文検索エンジンGroongaはmrubyを組み込んでいます。理由は、速度はそれほど必要ではなく込み入った処理をCではなくRubyで書けると開発が捗るからです。
v0.14 Outputプラグインの仕様解説
はじめに
クリアコードはFluentdというソフトウェアの開発に参加しています。Fluentdはログ収集や収集したデータの分配・集約などを行うソフトウェアです。
バグを踏んだら開発元(upstream)に報告するのをまわりに勧めてみよう
はじめに
クリアコードでは、普段の開発で実践していることを開発スタイルとしていくつかまとめています。 そのなかの一つが、「問題を見つけたらupstreamで直す」です。
Ruby 2.4の新機能:rb_gc_adjust_memory_usage() - バインディングとGCの関係を改善するAPI
(おそらく)2016年のクリスマスにRuby 2.4.0がリリースされます。Ruby 2.4.0で導入されるrb_gc_adjust_memory_usage()というAPIについて紹介します。
OSS Gateワークショップ2016-11-26を開催 #oss_gate
2016年11月26日にクラウドワークスさんでOSS Gateワークショップを開催しました。東京でのワークショップ開催は今回で6回目です。今回は24名の参加でした。
SourceForge.netからOSDNへ移行する方法
以前、OSDNのファイルリリース機能をAPI経由で使うにはという記事で機能を紹介したきりになっていましたが、milter managerというプロジェクトで全面的にSourceForge.netからOSDNに移行したので備忘録を兼ねて記事にします。
PGConf.ASIA 2016:PGroonga – PostgreSQLを全言語対応高速全文検索プラットフォームに! #pgconfasia
2016年12月1日から12月3日にかけて開催されたPostgreSQLの国際カンファレンスPGConf.ASIA 2016でPGroongaというPostgreSQLの全文検索モジュールの話をしました。
Ruby on RailsでMySQL・PostgreSQL・SQLite3とGroongaを使って日本語全文検索を実現する方法
PolicyKitを用いて適切に権限管理するには
はじめに
CentOS 7ではPolicyKitによりユーザーの権限昇格・拒否の方法を柔軟に指定することができます。 実際に、CentOS 7では/etc/polkit-1/rules.d/50-default.rulesにより、管理者の認証が必要になった時に必要となるメソッドを追加しています。