タグ

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

  • Fluent-bit-go-s3とFluent BitのGo Pluginプロキシの話 - 2019-07-24 - ククログ

    はじめに Fluent BitはFluentdファミリーを構成するソフトウェアの一つです。 Fleunt BitWindows対応はプラグインの対応だけではなく、Go Pluginプロキシについても対応を行っています。 Fluent BitGo Pluginプロキシはv1.1.0からWindowsでも利用可能です。 Fluent BitGo Pluginプロキシとは Fluent Bitは共有オブジェクトファイルを読み込んでOutputプラグインとして振る舞わせることができます。 例えば、Golangを使って共有オブジェクトファイルを作成する場合のコードは以下のようになります。 package main import "github.com/fluent/fluent-bit-go/output" //export FLBPluginRegister func FLBPluginRe

    Fluent-bit-go-s3とFluent BitのGo Pluginプロキシの話 - 2019-07-24 - ククログ
  • Rubyで自然なDSLを作るコツ:値を設定するときはグループ化して代入 - ククログ(2014-02-13)

    最近、fluent-plugin-droongaという分散データストリームエンジンを書いています。その中で、RubyでDSLを実現するときに工夫していることに気づきました。それは、値を設定するときは代入する字面にするということです。代入する字面にするために、グループ化用のオブジェクトを作っていました。 これだけだとどういうことかわからないので、具体例を示しながら説明します。 RubyとDSL Rubyを使っているとRubyで実現されたDSLに触れることが多くあります。RubyのMake実装であるRakeの設定ファイルもそうですし、ライブラリー管理ツールのBundlerの設定ファイルもそうです。 Rakeの場合:

    Rubyで自然なDSLを作るコツ:値を設定するときはグループ化して代入 - ククログ(2014-02-13)
    dann
    dann 2014/04/10
  • segv-handler-gdb:Rubyスクリプトがクラッシュしたときにより詳しくCレベルのバックトレースを出力するgem - 2013-10-31 - ククログ

    株式会社クリアコード > ククログ > segv-handler-gdbRubyスクリプトがクラッシュしたときにより詳しくCレベルのバックトレースを出力するgem Rubyで拡張ライブラリーを使っているとクラッシュすることがあります。自分が開発している拡張ライブラリーならどうにかして直したいものです。そのときに役立つのがGDBなどのデバッガーです。Cレベルのより詳細な情報を取得できるため、問題の特定に役立ちます。しかし、次のようにデバッガー上でクラッシュさせることが難しいことがあります。 GDB上で動かすとクラッシュしない 消極的な理由ですが次のようなケースもあります。 なかなかクラッシュしないので、ずっとGDB上で動かしているわけにもいかない SIGPIPEなどを捕まえて止まって欲しくない。「handle SIGPIPE nostop」などをするのが面倒。 クラッシュしたら自動で起動し

    segv-handler-gdb:Rubyスクリプトがクラッシュしたときにより詳しくCレベルのバックトレースを出力するgem - 2013-10-31 - ククログ
  • Emacs実践入門 - おすすめEmacs設定2012 - 2012-03-20 - ククログ

    2012年3月にEmacsの入門書が技術評論社から出版されました。 https://amazon.co.jp/dp/9784774150024 インストール方法やファイルの開き方などから始まっていて初心者向けの始まり方になっています。それでは初心者向けなのかというとそうでもなく、中盤から後半はrequireしないと使えないElispを使った拡張方法の紹介になっています。 おそらく、初心者の人は1/3か1/2くらい進んだところで一度脱落するのではないでしょうか。逆に、ある程度知っている人は中盤から後半にかけて興味のある話題が増えていくことでしょう。脱落してしまった人は、しばらく前半の機能でEmacsを使って、慣れてきてから再挑戦するとよいでしょう。 後半の拡張方法の紹介部分では多くの方法を紹介するためか、1つ1つの方法については簡単に紹介する程度にとどまっています。よりつっこんだ使い方までは

    Emacs実践入門 - おすすめEmacs設定2012 - 2012-03-20 - ククログ
    dann
    dann 2013/05/02
  • おすすめzsh設定 - 2011-09-05 - ククログ

    他の人がzshを使っているのを見ていると、「もっと便利に使えるのに」と、もやっとしたり、「え、その便利な機能ってなに?」と、発見があったりします。だれかに「この設定をすると便利ですよ」と話しやすくするために、今のzshのおすすめ設定をここに記しておきます。 もし、Emacsも使っている場合はおすすめEmacs設定もどうぞ。 ディレクトリ構成 長年漬け込んできたzshの設定がそこそこの量になっているので、以下のようなディレクトリ構成にして分類しています。主に、zsh標準機能の設定と追加パッケージの設定を分けるためにこうしています。 ~ ├── .zshrc # シェルを起動する毎に読み込まれる。 │ # ~/.zsh.d/zshrcを読み込んで │ # 標準機能の追加設定を行う。 ├── .zshenv # ログイン時に一度だけ読み込まれる。 │ # ~/.zsh.d/zshenvを読み込ん

    おすすめzsh設定 - 2011-09-05 - ククログ
    dann
    dann 2011/09/05
    typeset
  • Sphinxの国際化機能を使って複数言語用ドキュメントを用意する方法(概要) - 2011-05-31 - ククログ

    YARDのことの続きを書きたいと思いつつもなかなか辿りつきません。今回はPython製のドキュメントツールSphinxの話です。groongaのケースを例にしてSphinxで複数言語用のドキュメントを生成する方法の概要を紹介します。書いていたら長くなったので、具体的にどうするかというのは次の機会にします。 5/29にgroonga 1.2.2がリリースされました。今後は日だけではなく世界でも使ってもらえるように、英語でも情報を発信していく方向になりました。そこで、今回のリリースに合わせてサイトデザインをリニューアルし、英語のページも用意しました。ただし、すでにあった日語のコンテンツを今回のリリースで全部英語にした、というものではありません。今回のリリースでやったのは「日語と英語という複数の言語で情報を発信する仕組み」を作るところまでです。せっかくなので、今回のリリースで導入した、Sp

    Sphinxの国際化機能を使って複数言語用ドキュメントを用意する方法(概要) - 2011-05-31 - ククログ
  • git-utils 0.0.1リリース - 2010-05-18 - ククログ

    git関連の様々なユーティリティソフトウェアのパッケージであるgit-utilsのバージョン0.0.1をリリースしました。このパッケージには、gitリポジトリ用のコミットメール送信スクリプトcommit-email.rbが入っています。以下からダウンロードできます。 packages.clear-code.comからダウンロード 概要 今回のリリースはgit-utilsの最初のリリースです。 このパッケージに同梱されているcommit-email.rbを使うことで、gitリポジトリにpushされたコミットのコミットメールを送信することができます。 gitでは複数のコミットを一度にリポジトリに追加することができます。これはpushと呼ばれています。commit-email.rbはインストールしたリポジトリに対してpushが発生する度に実行されます。そして、そのpushの中にあるコミットごとに

    git-utils 0.0.1リリース - 2010-05-18 - ククログ
    dann
    dann 2010/06/07
  • C++用xUnitでのテストの書き方 - 2009-11-07 - ククログ

    注: 長いです。 スクリプト言語でのxUnit実装を使ったことがある方なら、テストを定義するだけでテストが実行されることが当たり前ではないでしょうか。c2.comのWikiによると、これはTest Collectorというそうです。定義したテストを自動的に集めてくる機能のことです。 一般的にTest Collectorの機能は言語が提供するリフレクション機能やメタプログラミング機能を使って実現されます。 例えば、Rubyのtest-unit 2.xでは、リフレクションを使う方法とメタプログラミングを使う方法の両方をサポートしています。リフレクションを使う方法ではObjectSpace.each_object(Class)ですべてのクラスを取得し、その中のTest::Unit::TestCaseのサブクラスを集めます。メタプログラミングを使う方法ではTest::Unit::TestCase.

    C++用xUnitでのテストの書き方 - 2009-11-07 - ククログ
  • UxUで始めるFirefoxアドオンの自動テスト - 2008-06-11 - ククログ

    Firefox用アドオンやXULRunnerアプリケーションなどのいわゆるXULアプリケーションは、ロジック部を主にJavaScriptで記述するため、script.aculo.usのテスト関連機能などJavaScript用のテストツールを使って自動テストを行えます。しかし、一般的なJavaScript用のテストツールはWebアプリケーションをテストすることを主眼において開発されているため、利用できる機能に制限があったり、HTMLではなくXULを使用するXULアプリケーションのテストでは不具合が生じたりする場合があります。 UxU(UnitTest.XUL)は、著名なXULアプリケーション開発支援ツールであるMozLabをベースにクリアコードで開発を行っている自動テスト実行ツールです。FirefoxやThunderbirdなどのXULアプリケーション上での利用を前提としているため、前述のよ

    UxUで始めるFirefoxアドオンの自動テスト - 2008-06-11 - ククログ
  • 1