タグ

gemに関するsh-2のブックマーク (11)

  • いちばんやさしいCでつくるgem - yamshing's diary

    C言語でシンプルなgemを作ってみましょう。 まずはフォルダーを用意します。 my_c_gemが今回のgemの名前です。 my_c_gem/ └── ext └── my_c_gem ├── extconf.rb └── my_c_gem.c こんな感じです。 extconf.rbにはMakefileを自動生成するためのコードを書きます。 extconf.rb require "mkmf" create_makefile "my_c_gem/my_c_gem" my_c_gem.cには最初にrubyから呼ばれる初期化関数を書きます。まずは何もせずに MyCGemクラスを作るだけのコードをいれておきましょう。 my_c_gem.c #include <ruby.h> void Init_my_c_gem(void) { rb_define_class("MyCGem",rb_cObject)

    いちばんやさしいCでつくるgem - yamshing's diary
  • God - A Process Monitoring Framework in Ruby

    A Better Way to Monitor God is an easy to configure, easy to extend monitoring framework written in Ruby. Keeping your server processes and tasks running should be a simple part of your deployment process. God aims to be the simplest, most powerful monitoring application available. Tom Preston-Werner tom@mojombo.com Google Group: http://groups.google.com/group/god-rb Features Config file is writte

  • Ruby STUDIO | Rubyリファレンス

    多くのGemは、Cで書かれたライブラリをラップするためにRubyラッパーによる拡張機能を使用しています。 例えばnokogiriは、 libxml2とlibxsltをラップし、 pgは、 PostgreSQLデータベースへのインターフェースであり、 mysql2のGemは、 MySQLへのインターフェースです。 拡張を使用したGemを作成するには、幾つかの手順を踏む必要があります。 このガイドでは、Gemを作りやすくするために仕様をどのようにするか、またメンテナンスし易いようにどうすればいいかに主眼を置いて説明します。 このガイドでの拡張は、C標準ライブラリからmalloc()とfree()をラップします。 Gemレイアウト extconf.rb C拡張 rake-compiler Gem Specification 拡張名 更に詳しく知るために Gemレイアウト 各Gemの作成は、開発者

  • Faradayを触ってみた - 成らぬは人の為さぬなりけり

    実はこれが、2014年最初のエントリー。サボりすぎ。 WebAPIを呼ぶスクリプト書くのにFaradayを使ってみたので、使い方などをメモっておこうと思います。 Faraday自体は前から知ってたんですが、リダイレクトとかめんどくさい事考えなくて良い場合に、 特にHTTPクライアントのライブラリ入れて使うより、Net::HTTPで十分じゃない?と思って使った事ありませんでした。 なんとなーく、Ruby書きたくなって、使ったことないgemを使ってみたかったので、使ってみた次第です。 ちなみに、読み方は ふぁらでい なんでしょうかね? 環境 OS : Mac OS X 10.9.2 Ruby : ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0] 使用するライブラリのバージョン gem 'faraday', '~> 0.9

    Faradayを触ってみた - 成らぬは人の為さぬなりけり
  • すべてのRailsプロジェクトでいれておくべき7つの開発用Gem - Qiita

    元ネタはこちらになります。 いくつかは使ったことはあるのですが、使った事がないものもあったので自分で試しながらまとめてみました。 Awesome Print これはオブジェクトを見やすくしてくれるgemです。 まず、このgemを入れていない場合の出力をみてみましょう。 ちょっとわかりにくいですね。 それではgemをいれてみましょう。Gemfileに以下を追加します。 bundle installをして、rails consoleを立ち上げなおします。 だいぶ見やすくなった感じがします。 ただ、Rails4.2からは、PrettyPrintというのが標準ではいるようになっていて、標準でもだいぶみやすくなってますね。 Rails Panel このgemをいれると、ChromeのDeveloper ToolでRailsの情報を取得できるようになります。 まず、Railsアプリケーションにmeta

    すべてのRailsプロジェクトでいれておくべき7つの開発用Gem - Qiita
  • Rubyでバイナリデータを格好良く扱うgem「BinData」が素晴らしすぎて膝から崩れ落ちた - Bye Bye Moore

    0x1234567890abcdef とてな感じのバイナリデータがあったとします。*1 これを適正に振り分ける場合、どうしてますか? これまでの私だと、文字列のまんま val_a = "1234567890abcdef"[10].chr とやるなり、unpackで配列化して val_a = "ab".unpack("CC")[0].chr とやるなりしてました。 ただ、これだと32bitの時の扱いが面倒ですよね。 その上、可変長の場合は専用のロジックを組む必要がある。 しかも途中でセンサの仕様が変わって入り組んだメソッドチェインを解す過程で発狂しそうになったりした事も……。 そんな貴方や私の悩みを解決してくれるのが、今回紹介するGem「BinData」です。 導入 $ gem install bindata 使い方 require 'bindata' class Sample < BinD

    Rubyでバイナリデータを格好良く扱うgem「BinData」が素晴らしすぎて膝から崩れ落ちた - Bye Bye Moore
  • ローカルでSSL(HTTPS)な接続を簡単に試せる様にする

    B! 59 0 0 0 普段Octopressのブログの投稿前テストは Pow を使って行ってますが、 Powはhttp://octopress.devなど通常HTTP接続になります。 外部のJavaScriptとかを呼び出してる部分をチェックしたりするときに HTTPSを使って試してみたい時、 前までは手元でPowだと直接できないので GitHub Pagesに送ったものを見てチェックしてましたが、 簡単に手元でやる方法があったのでそれについて。 Tunnels 他の方法とか Tunnels Ruby製のTunnelsというgemがあって、これを使うことで 簡単にPowでもHTTPS接続出来るようになります。 READMEにある通りですが、 $ sudo gem install tunnels などとしてインストールを行い、tunnelsコマンドで 443番ポートから80番へプロキシを通

    ローカルでSSL(HTTPS)な接続を簡単に試せる様にする
  • githubでgemを公開する時に使いたいバッジ - くりにっき

    Rubicure,バッジの見市としてのリポジトリとしても優れてる.— か (@ka_) 2014, 7月 23 と言われたので調子に乗って Rubicure で使ってるバッジをまとめてみます。 結構たくさんあるので必要に応じて使えばいいかと。 CI系 いろいろありますが無料で使えるのはこの辺。 Travis CI drone.io wercker *1 詳しく知りたい人用 CI(継続的インテグレーション)サービスまとめ・14個! - atskimura-memo CircleCI導入したのでwerckerとの比較も含めてまとめ - 月曜日までに考えておきます Travis CI (Ruby以外でも使える) githubにpushしてもTravis側でテストが開始するのが遅いため個人的に最近は使いたくないのですが、複数のrubyのバージョンやDBの種類で簡単にマトリクステスト出来るのが自分

    githubでgemを公開する時に使いたいバッジ - くりにっき
    sh-2
    sh-2 2014/08/11
  • Rubyで簡単に全文検索エンジンが作れるGrnMiniを作った - ブログのおんがえし

    続きを書きました。 RubyでただのArrayだと思って・・の続きです。正月中に整備してgem化しました。 GrnMini ongaeshi/grn_mini Groonga(Rroonga)を簡単に使えるようにラップしたものです。 カラム指定不要でデータを追加することが出来ます。 永続化、高度な検索クエリ、ソート、グループ化(ドリルダウン)、スニペット、ページネーションなどを簡単に使うことが出来ます。 検索エンジンがすぐに作れます。 インストール $ gem install grn_mini 基的な使い方 実体はRroongaの薄いラッパーですが難しいことを考えずに使えるよう工夫しています。 require 'grn_mini' array = GrnMini::Array.new("test.db") 初めてデータを追加する時にカラム種類を類推して作成します。追加するデータが文字列の

    Rubyで簡単に全文検索エンジンが作れるGrnMiniを作った - ブログのおんがえし
    sh-2
    sh-2 2014/01/07
    こういうgemはすごく嬉しい
  • 複数並行可能なRubyのクローラー、「cosmicrawler」を試してみた - プログラマでありたい

    最近のRubyのクローラーは、EventMachineを使って並列化するのが流行のようです。EventMachineは、非同期処理をお手軽に実装できるフレームワークです。Rubyのスレッド機能との違いは、Reactorパターンを使いシングルスレッドで実装している点です。こちらのブログが詳しいので参考になります。 「見えないチカラ: 【翻訳】EventMachine入門」 EventMachineを使うと、イベント・ドリブンの処理を簡単に実装出来ます。使い方は簡単ですが、通常の同期処理やスレッドをつかった処理に比べると、どうしてもコードの記述量は多くなります。今回の例である並列化してクローラーを走らせるという用途であれば、短時間で多くのサイトにアクセスするのが目的です。イベント・ドリブンで並列化処理を実装するのが目的ではないはずです。その辺りの面倒くさい処理を実装したライブラリがcosmic

    複数並行可能なRubyのクローラー、「cosmicrawler」を試してみた - プログラマでありたい
  • RubyでただのArrayだと思ってデータを追加したつもりなのに気がついたら全文検索出来ていた・・的なものを作った - ブログのおんがえし

    続きを書きました。 Ruby Advent Calendar 22日目の記事です RroongaというRubyで使える全文検索エンジンがあって愛用しているのですが、使う前の準備でカラム指定やデータ型を指定したり、全文検索のためのインデックステーブルを作るのが少し大変でした(大規模なアプリケーションの時はしっかり定義出来るので便利なのですが)。 普段使いで全文検索するために、実験的にRubyのArrayのように使えるようにしてみました。 インストール Rroongaを使うにはgemのインストールが必要です。他の全文検索エンジンと違ってそれ以外のソフトウェアのインストールが不要なのがいい所です。Windowsでも問題なく動きます。 $ gem install rroonga 今回書いたコードは以下にまとめてあります。 ongaeshi/grn_array - GitHub $ git clon

  • 1