タグ

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

  • fluent-plugins-nurseryのご紹介 - 2016-11-09 - ククログ

    クリアコードではFluentdの開発に参加しています。 以前の記事でも紹介した通り多くのプラグインの開発にも参加しています。 Fluentd v0.14系がリリースされたので、最近はプラグインをFluentdのv0.14 APIに対応させるようなプルリクエストを送っています。 移行手順については公式のドキュメントに説明があり、ククログにもいくつか記事があります。なので、やろうと思えばすぐにFluentd v0.14 APIに移行することができます。 Fluentdには600以上のプラグインがありますが、中にはメンテナンスが活発でない1プラグインもあります。 今のところ足りないドキュメントがあったり、新APIに移行した事例が少なかったりして、新APIへの移行をためらっているプラグイン作者もいると思われます。 そこでFluentdのプラグインを安定してメンテナンスできる体制を構築し、Fluen

    fluent-plugins-nurseryのご紹介 - 2016-11-09 - ククログ
    tuto0621
    tuto0621 2016/11/11
  • 書き捨てのRubyスクリプトをgemにするときの育て方の一例 - 2016-09-08 - ククログ

    Rubyでちょっとしたこと、例えばテキスト処理などをしたくてスクリプトを書くことはよくあります。そんなスクリプトは意外と再利用したくなるものです。しかし、作業用ディレクトリに適当なファイル名で保存していたりすると探し出すのは困難ですし、コマンドラインにワンライナーで書いたものだとそもそも残っていないこともあります1。別のPCでの再利用も、それらの保存方法では当然ながら不可能でしょう。 そこで、どこか整理された場所に保存しておいて再利用に備えたいのですが、保存先が問題になります2。そんなとき、私は次のような理由からgemRubyGems)にしてしまうことにしています。手元ですぐに実行できますし、別の環境へのインストールも簡単です。また、他のRubyプログラムへの組み込みもコピペせずに実現できます。もちろん他の人が使えるようになるというメリットもあるのですが、自分の用途に限っても長い目で見れ

    書き捨てのRubyスクリプトをgemにするときの育て方の一例 - 2016-09-08 - ククログ
    tuto0621
    tuto0621 2016/09/09
    bundle gem GEM_NAME --exe
  • クリアコード10周年祝い開催 #cc10th - 2016-07-27 - ククログ

    お知らせしていた通り、クリアコードの設立記念日である7月25日にクリアコード10周年祝いイベントを開催しました。今回はGroongaのサポートサービスでお付き合いのあった小峯さんにイベントの写真を撮ってもらったので写真多めでイベントの様子を紹介します。小峯さん、ありがとうございました! 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0 会場を提供してくれたSpeeeさんは非常に柔軟に対応してくれました。非常に助かりました。ありがとうございます! 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0 設立以来10年に渡り協力してきたMozilla Japanさんからはフォクすけコラボのケーキを差し入れてもらいました。とてもおいしかったです! 撮影:小峯将威さん、ライセンス:CC BY-SA 4.0 フォクすけFAQにある通り、フォクすけの最初のデザインはクリアコードメンバーの結城

    クリアコード10周年祝い開催 #cc10th - 2016-07-27 - ククログ
    tuto0621
    tuto0621 2016/07/28
    おめでとうございます~
  • OSS開発支援サービスを開始 #oss_gate - 2016-06-27 - ククログ

    クリアコードは「OSS開発支援サービス」の提供を開始します。 「OSS開発支援サービス」について 「OSS開発支援サービス」はその名の通り「お客さんがOSSを開発すること・お客さんがOSSの開発に参加することを支援するサービス」です。以下は支援の仕方の一例です。実際にこのサービスを提供するときは、以下の例をそのまま全部提供するのではなく、お客さんの現状にあった適切な支援はなにかを考えるところからお客さんと一緒に取り組みます。 お客さんが開発しているOSSの開発にクリアコードが参加する お客さんが使っているOSSの開発に、お客さんが参加することを、クリアコードが支援する 開発に参加する方法をワークショップ形式で伝える バグレポートをする前にレポートをレビューする 機能提案レポートをする前にレポートをレビューする pull request・パッチを送る前にコードをレビューする お客さんが開発し

    OSS開発支援サービスを開始 #oss_gate - 2016-06-27 - ククログ
    tuto0621
    tuto0621 2016/06/28
    企業外の開発者とやりとりしたり、企業外の開発者が書いたコードを読むことで、企業内の開発者の技術力があがる
  • FirefoxアドオンのWebExtensions移行についてMozilla Blogに寄稿しました - 2016-05-02 - ククログ

    弊社メンバーが執筆した、従来からあるFirefox用アドオンを「WebExtensions」ベースに移行させた際の知見を解説した記事がMozilla Add-ons Blogに掲載されました。 Mozilla Add-ons Blogに掲載された縮約版 編集・縮約前の全文 これは、筆者がアドオンのWebExtensions移行のための調査を進める中で、アドオンを1つ移行できた事についてMozillaのアドオン開発者向けメーリングリスト上に投稿した所、他のアドオン開発者にその時の知見を共有するゲスト記事の執筆を勧められたために書いた物です。 草稿段階では「WebExtensionsへの移行」に直接は関係していない前段階の準備にあたる話が多く含まれていたため、全文は筆者個人のブログで公開することにして、Mozilla Add-ons Blogには前段階の話を省いた内容が抜粋して掲載されています

    FirefoxアドオンのWebExtensions移行についてMozilla Blogに寄稿しました - 2016-05-02 - ククログ
  • 東京Ruby会議11での発表「アプリケーションへのRubyインタープリターの組み込み」とOSS Gateワークショップ2016-05-28 #tkrk11 #oss_gate - 2016-06-01 - ククログ

    5月28日に開催された東京Ruby会議11で「アプリケーションへのRubyインタープリターの組み込み」と題して、アプリケーションにRubyを組み込む実装について話しました。 関連リンク: スライド(Rabbit Slide Show スライド(SlideShare) 発表動画 リポジトリー 質疑応答の補足 内容は前述のスライドや発表動画を参照してください。ここでは発表後の質疑応答の内容について補足します。 質問:ruby_sysinit()は呼ばなくていいの? 「ruby_sysinit()は呼ばなくていいの?」に対する当日の回答は「ruby_sysinit()の説明は省略した」だったのですが、どうして省略したかを補足します。 Rubyインタプリターを組み込んだアプリケーションの1つであるrubyコマンドの実装(main.c)を見るとruby_sysinit()を呼んでいます。そのため、R

    東京Ruby会議11での発表「アプリケーションへのRubyインタープリターの組み込み」とOSS Gateワークショップ2016-05-28 #tkrk11 #oss_gate - 2016-06-01 - ククログ
    tuto0621
    tuto0621 2016/06/03
    gc-triggerという拡張ライブラリ。他の拡張ライブラリーに使用メモリー通知用のAPIを提供。APIを使ってメモリー使用量を通知すると、適切なタイミングでGC.startを呼ぶ。
  • OSS Gateワークショップ2016-01-30開催のおしらせ - 2016-01-07 - ククログ

    2015年10月に「OSS Gate」という取り組みを開始しました。 OSS Gateとは「OSS開発に参加する人を増やす取り組み」です。OSS開発に参加する人を増やすためにOSS Gateでは次の知見をベースにしています。 OSS開発に未参加の人は参加方法がわからないだけであり、参加方法がわかればOSS開発に参加できる この知見を活かしたワークショップを2016年1月30日(土)に開催します。それがOSS Gateワークショップ2016-01-30です。 以下、ワークショップについて説明するので、次の項目に該当する方はぜひお申し込みください。また、まわりに該当する方がいる人はぜひこのワークショップを教えてあげてください。 OSSの開発に参加したいけどまだ参加したことがない OSSの開発に参加したことはあるけどまだ自信がない すでにOSSの開発に参加していて↑のような人たちをサポートしたい

    OSS Gateワークショップ2016-01-30開催のおしらせ - 2016-01-07 - ククログ
    tuto0621
    tuto0621 2016/01/08
    OSS開発に未参加の人は参加方法がわからないだけであり、参加方法がわかればOSS開発に参加できる
  • クリアコード:RubyKaigi 2015にスピーカー・スポンサーとして参加予定 - 2015-12-09 - ククログ

    12月11日から13日の3日間RubyKaigi 2015が開催されます。なんと、もう今週です。3日目は学生は無料で入れるということなので、学生の方は3日目の16:40からの咳さんのActor, Thread and meを聞きに行くといいです。最後の「and me」がかっこいいですね。 クリアコードは例年RubyKaigiのスポンサーをしています。去年のRubyKaigi 2014のスポンサーに引き続き、RubyKaigi 2015もスポンサーになりました。 また、須藤がスピーカーとして2日目の12月12日の10:45からのセッションで話します。Rubyのテスティングフレームワークの歴史+αについて話す予定です。 例年、クリアコードにとってRubyKaigiは数少ない露出の機会となっています。RubyKaigiに参加したことで正社員への応募やインターンシップへの応募がきます。昨年はRub

    クリアコード:RubyKaigi 2015にスピーカー・スポンサーとして参加予定 - 2015-12-09 - ククログ
    tuto0621
    tuto0621 2015/12/10
    Rubyのテスティングフレームワークの歴史+α
  • PGroongaでのJSON検索の実装方法 - 2015-09-30 - ククログ

    PGroonga(ぴーじーるんが)はPostgreSQLから全文検索エンジンGroonga(ぐるんが)を使えるようにするためのPostgreSQL拡張機能です。PGroongaを使うとPostgreSQLに格納したデータに対して高速な全文検索を実現できます。PostgreSQLは標準では日語テキストを全文検索できません。LIKEでシーケンシャルサーチする必要があり、レコード数・テキストサイズが増えるほど性能が劣化します。PGroongaを導入することで大量の日語テキストデータに対しても高速に全文検索できます。 さて、そんなPGroongaですが、2015年9月29日(肉の日)にリリースされた0.9.0からjsonb型をサポートしました。サポートしたというのはjsonb型のデータをインデックスを使って高速に検索できるようになったということです。 jsonb型というのはPostgreSQ

    PGroongaでのJSON検索の実装方法 - 2015-09-30 - ククログ
    tuto0621
    tuto0621 2015/10/01
  • クリアコードとフリーソフトウェアとビジネス - 2015-09-17 - ククログ

    クリアコードの理念は、フリーソフトウェアとビジネスの両立です。 クリアコードは2015年7月1日から10期目に入っています。クリアコードが設立当初から大事にしていることの1つにフリーソフトウェア(ユーザーが自由に使えるソフトウェア)があります。ただし、それを大事にするにあたって「継続できること」という制約をつけています。言い方を変えると、「お金を稼ぐ」ということです。フリーソフトウェアを大事にしているという響きだけ聞くと、お金度外視でひたすらフリーソフトウェアを大事にしているイメージを持つかもしれません。しかし、お金を稼がないと継続できないので会社は潰れます。それでは大事にすることができなくなります。 ということで、クリアコードはどうやってフリーソフトウェアを大事にすることとお金を稼ぐことを両立させようとしているかを整理します。 お金を稼ぐ方法 クリアコードが使っているお金を稼ぐ方法は次の

    クリアコードとフリーソフトウェアとビジネス - 2015-09-17 - ククログ
    tuto0621
    tuto0621 2015/09/28
  • Firefoxの独自ビルドの作成方法(2015年版) - 2015-09-04 - ククログ

    概要 弊社はMozilla FirefoxをはじめとしたMozilla製品の技術サポートを提供していますが、希に、自社製品の一部としてFirefoxを顧客向けに配布したいというご相談を頂くことがあります。 結論から先に言うと、このような場合にはFirefoxをソースから独自にビルドする必要があります。 この記事では、Windows上でのFirefox 38.2.1ESRのローカライズ済み(日語版)インストーラを作成するまでの手順を紹介します。 2022年8月12日追記:記事よりも新しい情報が2017年版の同趣旨の記事にありますので、基的にはそちらをご参照下さい。この記事はアーカイブ目的で保存された物です。 背景・動機 弊社ではFx Meta Installerというソフトウェアを開発・公開しており、これを使うと、「自組織向けにカスタマイズされたFirefox」と呼べるひとそろいの環境

    Firefoxの独自ビルドの作成方法(2015年版) - 2015-09-04 - ククログ
  • Markdownで書いたテキストをPDFに変換して納品用ドキュメントを作成する方法 - 2015-04-27 - ククログ

    色々なテキストを色々なフォーマットに変換できるPandocというツールがあります。 今回は、これを使ってMarkdownで書いたテキストをPDFに変換する方法を説明します1。 環境はDebian GNU/Linuxのsidを想定しています2。 必要なパッケージをインストールします。非常に多くのパッケージをインストールするので時間がかかります。 $ sudo apt-get install -y texlive-full pandoc ruby rake 次のコマンドを実行して動作確認します。 $ pandoc -o test.pdf --latex-engine=lualatex test.md そのままでは日語を含むテキストをPDFに変換できないのでtest.mdには日語を含まないようにします。 これで日語を含まないテキストをPDFに変換できることが確認できました。 日語を含むテ

    Markdownで書いたテキストをPDFに変換して納品用ドキュメントを作成する方法 - 2015-04-27 - ククログ
  • Git でコミットメールを配信する方法 - 2015-03-27 - ククログ

    クリアコードが開発に関わっているプロジェクトではdiff付きのコミットメールを流すようにしています。 コミットメールを流すための方法を紹介します1。 使用しているのは以下の2つのGemです。 git-commit-mailer コミットメールを生成して送信するコマンド github-web-hooks-receiver GitHub2のWeb hookのエンドポイントとして機能するウェブアプリ 環境はDebian GNU/Linux wheezyを想定しています。Rubyのバージョンは1.9.3以降であれば問題ありません。 専用のユーザを用意します。 $ sudo useradd app アプリケーションをデプロイするディレクトリを用意します。 $ sudo mkdir -p /srv/www/webapps/web-hooks-receiver $ sudo chwon -R app:a

    Git でコミットメールを配信する方法 - 2015-03-27 - ククログ
    tuto0621
    tuto0621 2015/03/29
    git-commit-mailer
  • mrubyのVMのデバッグ方法 - 2015-02-17 - ククログ

    全文検索エンジンのGroongaでmrubyを使っているのですが、たまにCRubyと異なる挙動に遭遇することがあります。このようなときはmrubyに問題があります。特定のメソッドの挙動がおかしいときはmrubyのライブラリーの実装に問題があります。構文の使い方で挙動がおかしいときはmrubyのVMに問題があります。 mrubyの問題に遭遇するときは、なぜかmrubyのVMに問題があるケースばかり1なのですが、久しぶりにmrubyのVMにある問題を直そうとしたらデバッグの仕方を忘れていました。忘れても後から思い出せるようにメモしておきます。 詳細は後述しますが、基的な流れは次の通りです。 問題を再現するスクリプトを作る。 mrubyをデバッグビルドする。 mrbc -vでスクリプトの構文木(?)を確認する。 GDB上でmruby XXX.rbを走らる。 src/vm.cの中で問題のラベルが

    mrubyのVMのデバッグ方法 - 2015-02-17 - ククログ
    tuto0621
    tuto0621 2015/03/25
    問題を再現するスクリプトを作る。 mrubyをデバッグビルドする。 mrbc -vでスクリプトの構文木(?)を確認する。 GDB上でmruby XXX.rbを走らる。
  • クリアコードに入社した理由: フリーソフトウェアを仕事にしたい - 2015-03-19 - ククログ

    はじめまして、今年の2月にクリアコードに入社した横山です。この記事では、私がクリアコードに入社した理由のひとつである「フリーソフトウェアを仕事にしたい」ということについて、フリーソフトウェアやクリアコードに興味を持ったきっかけと、入社までの経緯をお伝えします。 フリーソフトウェアに興味を持ったきっかけ 私は社会人になってから格的にプログラミングを始めました。研修や仕事でプログラミングに触れるにつれて楽しさを感じ、研修で触れたRubyがよさそうだったので、趣味でもプログラムを書いたりしていました。 その頃、何度か社内外の勉強会で発表する機会があり、既存のプレゼンテーションツールに不満を感じていました。そこで、新しいツールを探していたところ、Rubyで作られているRabbitというソフトウェアがあることを知り、次のような点が気に入って使い始めました。 テキストエディタで書けるのでバージョン管

    クリアコードに入社した理由: フリーソフトウェアを仕事にしたい - 2015-03-19 - ククログ
    tuto0621
    tuto0621 2015/03/20
  • Rubyのしくみ - 2015-01-08 - ククログ

    2014年11月にオーム社から「Rubyのしくみ -Ruby Under a Microscope-」というRubyの処理系を解説するが出版されました。 https://amazon.co.jp/dp/9784274050657 須藤がこのを紹介します。 内容 このRubyの処理系(主にCRuby、GCまわりはJRubyとRubyinusも)がどうやってRubyスクリプトを実行しているかを解説しています。図をたくさん用いて解説していることが特徴で、直感的に理解しやすくなっています。るびまのYARV Maniacsシリーズでピンとこなかった人はこので再チャレンジしてみるとよいでしょう。 Rubyスクリプトが動くためのベースのルールも一緒に紹介しています。自分が知らなかったRubyの動きがわかるかもしれません。私は定数探索にレキシカルスコープを使っているとは知りませんでした。 例えば

    Rubyのしくみ - 2015-01-08 - ククログ
    tuto0621
    tuto0621 2015/01/09
    るびまのYARV Maniacsシリーズ
  • 12/9のリーダブルコードのWeb授業(生放送)用の資料 - 2014-12-04 - ククログ

    一ヶ月ほど前に告知した通り、12/9(来週の火曜日)の21:00からschoo(スクー)でリーダブルコードのWeb授業「名著『リーダブルコード - より良いコードを書くためのシンプルで実践的なテクニック』を解説者と一緒に読み解こう」の先生をします。 授業の内容は次のスライドの内容と質疑応答になる予定です。興味のある方は授業ページの「受けたい!」ボタンを押してください。リマインダーが届くようになります。

    12/9のリーダブルコードのWeb授業(生放送)用の資料 - 2014-12-04 - ククログ
    tuto0621
    tuto0621 2014/12/05
  • 検索エンジン自作入門 - 2014-10-10 - ククログ

    2014年9月に技術評論社から「検索エンジン自作入門 - 手を動かしながら見渡す検索の舞台裏」という全文検索エンジンについて解説するが出版されました。 https://amazon.co.jp/dp/9784774167534 内容 このは、最初に全文検索エンジンの概要を説明し、それ以降は全文検索エンジンのコードを見ながら実装方法を解説していきます。実装方法を解説した後はさらに改良するにはどうしたらよいか、という話題が続きます。 全文検索エンジンを速いLIKE、という使い方で十分なRDBMSユーザーの人には必要のない内容です。一方、もっと検索の精度を上げたい、性能を上げたいなどチューニングしたい人には役立つ内容です。たとえ、自分で全文検索エンジンを作る予定がなくても、です。 書の中でもたびたびでてくるのがトレードオフの話です。チューニングするときに直面するのがトレードオフです。全文検

    検索エンジン自作入門 - 2014-10-10 - ククログ
    tuto0621
    tuto0621 2014/10/15
  • RubyKaigi 2014:Three Ruby usages - High-level interface, Glue and Embed #rubykaigi - 2014-09-24 - ククログ

    株式会社クリアコード > ククログ > RubyKaigi 2014:Three Ruby usages - High-level interface, Glue and Embed #rubykaigi 関連リンク: スライド(Rabbit Slide Show) スライド(SlideShare) スライド(Speaker Deck) リポジトリー(スライドのソースだけでなく、読み原稿や、発表では使わなかったベンチマークスクリプトなども置いてあります。) 内容 この発表では特に目新しい技術的な話題はありません。これまで何年もRubyを使ってきた経験からRubyの使い方を大きく3つに分けて整理した、という話です。 応募したときは、それぞれの使い方についてメリット・デメリットを説明しこの使い方をするときのトレードオフはどこになるかまで示して、「聞いている人たちがどの使い方を選べばよいか(選ば

    RubyKaigi 2014:Three Ruby usages - High-level interface, Glue and Embed #rubykaigi - 2014-09-24 - ククログ
    tuto0621
    tuto0621 2014/09/26
    High Level Interface, Glue, Embed
  • PassengerでRroongaを使ったWebアプリケーションを動かすときにチューニングのコツ - 2014-08-26 - ククログ

    RroongaはSQLite3のような手軽さで使えるRuby用の全文検索ライブラリーです。Webアプリケーションに全文検索機能をつけたいときにも便利です。Rubyのリファレンスマニュアルの検索サービスであるるりまサーチもRroongaを使っています。 そんなRroongaをPassengerで動かすときのチューニング方法を紹介します。チューニングすることにより少ないリソースでも高速に動作するようになります。例として、docs.ruby-lang.orgにデプロイされている、るりまサーチを使います。 環境 docs.ruby-lang.orgの環境は次の通りです。 OS: CentOS 6 (/proc/cpuinfoで見える)CPU: Intel(R) Xeon(R) CPU L5630 @ 2.13GHz (/proc/cpuinfoで見える)CPU数: 2つ メモリー: 1GB スワッ

    PassengerでRroongaを使ったWebアプリケーションを動かすときにチューニングのコツ - 2014-08-26 - ククログ
    tuto0621
    tuto0621 2014/09/08
    ポイントはpassenger_max_pool_sizeです