タグ

Rubyに関するshim0muraのブックマーク (98)

  • mecabにwikipediaとhatenaキーワードのユーザ辞書を適用する(ついでに、辞書にない場合はそれもわかるようにするオプション付き) - すがブロ

    mecabのインストール $ brew install mecab $ brew install mecab-ipadic wikipediahatenaのキーワードファイルの取得 $ curl -L http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv | iconv -f euc-jp -t utf-8 > keywordlist_furigana.csv $ curl -L http://dumps.wikimedia.org/jawiki/latest/jawiki-latest-all-titles-in-ns0.gz | gunzip > jawiki-latest-all-titles-in-ns0 辞書作成コードを用意する(make_dict.rb) gist88bfb2936690d5508a8c $

    mecabにwikipediaとhatenaキーワードのユーザ辞書を適用する(ついでに、辞書にない場合はそれもわかるようにするオプション付き) - すがブロ
  • ruby/rmagick - 株式会社ウサギィwiki

    RMagickとは? † 画像処理ソフトウェア ImageMagick と Ruby を繋ぐ夢の架け橋。 ImageMagickは高機能だけど重い、と評判悪し。 サムネ作るとかの簡単な処理だけなら、Imlib2-Ruby (Imlib2 と Ruby のバインダ)使え、という話みたい。 でも、 Imlib2 はフィルタ少ない。 web サイトのシステム内で使うなら、 Imlib2。そうじゃないなら、 RMagick という使い分けが良さげ。 ↑ インストール † RubyForge ダウンロードページから取ってくる。 Windows 版は、同梱されている ImageMagic をインスコしないと上手く動かないので注意。 cd "展開したパス" gem install "rmagick-2.12.0-x86-mswin32.gem" RMagick2.so のload erro

  • Hubot の Ruby 版 Rubo 作った - Kōenji

    Github 社製の Bot フレームワーク Hubot の Ruby 版 Rubo 作った どうでも良い話 Hubot のメッセージを受け取って正規表現でマッチングしてメッセージを返したり返信したり音楽を再生したりという構造が自作ツイッターのツイートとかイベントとか保存したり通知したりする便利ライブラリと似ている箇所があり自作ツイッター(中略)ライブラリをさらなる高みを目指して開発するための参考になるからだとかブラウザ以外のプラットフォームで極力 JavaScript 書きたくないからだとかどうせ外に出てもチョコレート貰えないしだとか雪降って外に出られなくて暇だしとかそんな理由で書いた インストール 下記コマンドでインストール出来る $ gem install rubo 使い方 こんな感じで使える $ rubo --adapter=shell Rubo> rubo help Rubo d

    Hubot の Ruby 版 Rubo 作った - Kōenji
  • chefでインストール済みかどうかの判定にpacoを使うと便利 - UNIX的なアレ

    cookbookを書くときの冪等性 cookbookはインストール時だけでなく、何度実行しても同じ状態に保たれることが重要視されます。 chef業界ではこれを冪等性(べきとうせい)と読んでいたりします。これは設定ファイルやパッケージのインストールなど、すべてに当てはまります。 例えば、パッケージシステム経由でvimをインストールするようば場合のrecipeは以下のようにして書きます。 package 'vim' このようにすることで、それぞれのディストリビューションにあったパッケージシステムをつかってvimをインストールしてくれます。当然、二重にインストールされることはありません。 sourceからインストールするcookbook たとえばCentOSにphpをパッケージ経由でインストールすると、ちょっと古いバージョンのものがインストールされてしまいます。 新しいバージョンを使いたい場合は

    chefでインストール済みかどうかの判定にpacoを使うと便利 - UNIX的なアレ
  • 本番環境でのperl/ruby/nodeのセットアップ - たごもりすメモ

    番環境にperlとかrubyとかnodeを入れるんだけど、もちろん system perl じゃやってられないので指定したバージョンのものを一般ユーザの管理下に突っ込みたい。 で、そういうのをこれまで perlbrew とか rvm とか rbenv とか nvm とか nodebrew とかでやってたんだけど、さすがに色々疑問が湧いてきた。バッチで単発実行するために eval "$(rbenv init -)" とかさすがにおかしくね? みたいな。 ということで tokuhirom method 的にインストール用の簡単コマンドを使って実行、あとはパスを通せばいいじゃん、ということにしようかと思う。 参考: サーバーのセットアップは perlbrew とかじゃなくてよくね? という時のライフハック - blog.64p.org これ、今朝までは Perl::Build をどうにかしてC

    本番環境でのperl/ruby/nodeのセットアップ - たごもりすメモ
  • Capistrano 3への手引き - 今日のごはんは素麺です

    Capistrano、便利ですよね。 capistrano/capistrano 最近メジャーバージョンアップがあったのですが、使い方、というかスクリプトの書き方やお作法が変わり、「Capistrano 3にアップデートしたはいいけど全然動かなくてどうなってんだ」という流れはもはやお約束みたいです。 試しに僕も個人で作ってるウェブサイトのCapistranoをアップデートしてみたので、その上でこんなところに気を付けたいな、と思うポイントでも書いておきます。 capifyは使わない Capistranoを使うときは$ bundle installをし、次に$ bundle exec capify .とするのがお約束の流れですが、これからはcapifyを使ってもcap installを使ってねと言われます。 ですので: $ bundle exec cap installとしましょう。 マルチス

    Capistrano 3への手引き - 今日のごはんは素麺です
  • bundle exec rake で TypeError - my_letter

    だとエラーは出ない。 * * * ひと通り悩んだ後、libディレクトリを検索すると、デフォルトでgem名のモジュールが定義されているのを発見。確かに、バージョン番号を上げるときに見た記憶がある。 そして、TypeErrorとなったクラスはgem名と同じ名前だった…。 bundle exec すると、クラスの前にモジュールがロードされていて、名前衝突してしまったというのが今回のオチ。 GitHubを見渡しても、gem名と同じ名前のクラスがあるgemは見当たらなかった。 どうやらRubyGems開発のお作法のようだ。 教訓 gem名と同じ名前のクラスは作らない。 作るにしても、gem名モジュールの中にする。 基的に、クラスやモジュールはgem名モジュールの中に作る。 gem名モジュールの名前を変えるだなんて とんでもない!

  • なるほどUnixプロセス読んだ - デーモン化のためのdouble fork - はこべにっき ♨

    なるほどUnixプロセス ― Rubyで学ぶUnixの基礎を読みました。UNIXプロセスの話、特に実用的なforkの利用方法についての話がコンパクトにまとまっていてわかりやすかったです。あまり詳細に踏みこんでいるという感じではないけど、とっかかりにこのにあるような知識があるのは良いと思いました。(シェルスクリプトから"foreman start"したときにCtrl-Cで終了できない現象の解説 - はこべブログ ♨ではまる前に読んでおいたら、もっとはやく問題解決できたと思います。) 第18章 デーモンプロセスに関係して二回目のforkについていろいろ調べたので、せっかくなのでメモを残しておきます。*1 第18章 デーモンプロセス では、プロセスをデーモン化するために必要な手順が丁寧に説明されています。その中で、プロセスを制御端末から切り離す手順として以下のようなコードが紹介されていました。

    なるほどUnixプロセス読んだ - デーモン化のためのdouble fork - はこべにっき ♨
  • 肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)

    更新情報: 2013/11/19: 初版公開 2021/01/08: 訳文見直し、追記 こんにちは、hachi8833です。今回は、自分が知りたかった、Active Recordモデルのリファクタリングに関する記事を翻訳いたしました。1年前の記事なのでRails 3が前提ですが、Rails 4以降でも基的には変わらないと思います。リンクは可能なものについては日語のものに置き換えています。 なお、ここでご紹介したオブジェクトは、app以下にそれぞれ以下のようにフォルダを追加してそこに配置します。 注記: 以下は使われそうなフォルダを列挙しただけであり、実際にはこの一部しか使いません。 Value Object Service Object Form Object Query Object View Object Policy Object Decorator ⚓ 肥大化したActive

    肥大化したActiveRecordモデルをリファクタリングする7つの方法(翻訳)
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • Blog

    Transformational Software Engineering Lead your team into the future with unprecedented visibility. Details

    Blog
  • MiddlemanとTravis CIでgh-pagesを運用したら身長が伸びた | 1000ch.net

    gh-pagesブランチの更新自動化がゴール masterにpushするだけで内容を動的に取得してgh-pagesブランチにpushをします。 今回もTravisのお力を借ります。以下がポイントになります。 gh-pagesブランチの内容はmiddlemanによる出力 masterブランチにコミットしたあと、Travisからmiddlemanのビルドを実行 生成された内容をgh-pagesブランチへpush middlemanのインストール middlemanはrubyで動く静的サイトジェネジェネレータです。 テンプレートをほぼhtmlで記述することが出来て、ブログ等の管理を非常に簡単にすることが出来ます。 jekyll使ったことのある人なら学習コストはさらに低めです。詳しくはこの辺り。 middleman - web サイトの開発をシンプルに まずはmiddlemanのインスト

  • 30分のチュートリアルでJekyllを理解する

    (追記:2013-05-20) 記事はJekyllバージョン0.12.0に対応しています。Jekyllバージョン1.0のリリースに伴い、記事を改訂した記事を投稿しましたので、最新版に対応したチュートリアルについてはそちらを参照下さい。 “Jekyllいつやるの?ジキやルの?今でしょ!” (追記:2012-12-07) 記事を電子書籍化しました。「Gumroad」を通して100円にて販売しています。内容についての追加・変更はありませんが、メディア向けの調整および誤記の修正を行っています。 電子書籍「30分のチュートリアルでJekyllを理解する」EPUB版 このリンクはGumroadにおける商品購入リンクになっています。クリックすると、オーバーレイ・ウインドウが立ち上がって、この場でクレジットカード決済による購入が可能です。購入にはクレジット情報およびメールアドレスの入力が必要になりま

  • Rubyを使って「なぜ関数プログラミングは重要か」を読み解く(改定)─ 前編 ─ 但し後編の予定なし

    2年ほど前に書いた記事を電子書籍化して「M’ELBORNE BOOKS」で販売するために全体的な見直しを行なって入稿する段になって、これにはベースとなっている他者の論文があって言ってみればこの記事はそのマッシュアップになっているんだけれども、その著者の許可もなくその表現が全く別物だとしてもその主張のあらすじが残っている限りにおいてこれを販売することが果たしていいことなのかという思考に遅ればせながら陥り、それが仮に法的に問題ないとしてもなんだか一表現者の行為としての妥当性を幾分欠いているという結論に至って販売を思い留まった。かと言って折角書き直したものをこのままお蔵にするのもなんだか寂しいなあという気分も一方であり、まあ原作者の意に反したものでもないだろうからブログの記事なら許してくれるよねもう2年前にも書いちゃってるしという勝手な解釈の下、ここにその記事を公開しましたのでお時間の許すRub

  • Ruby中級入門

    Ruby中級入門 1. Ruby中級入門 @shokai 2013年8月5日(火) @masuilab 2. 私 •@shokai (しょうかい) •趣味料理、glitch 3. ある程度大きなアプリケーションを作 っていると、部品に分割したくなると 思います。アプリ内ライブラリやgem の作り方を説明します。Rubyの機能を 活用した使い勝手の良いライブラリの デザインについて考えます。 4. • アプリ内ライブラリの作り方・gemの作り方 • サンプルコードとテスト • ライブラリのデザイン • API • DSL • 泥臭い小手先の技 • 例外・エラーの通知 • ドキュメント コンテンツ 5. ライブラリを作る 例:LeapMotionを自作アプリに組み込むための アプリ内ライブラリを作る 6. • LeapMotionはport 6437にWebSocket 接続するとJSONで

    Ruby中級入門
  • 【翻訳】EventMachine入門

    dan sinclairさんのEventMachineの入門記事(PDF)を翻訳しました。 原文はここからダウンロード可能です: http://everburning.com/news/eventmachine-introductions/ (翻訳の公開と画像の利用は人より許諾済みです) 翻訳・内容の間違い等があればブログコメントやTwitterなどで遠慮無くご指摘ください。 EventMachine入門 Introduction うん、これから何を学ぶことになるのか、この導入のくだりがスタート地点として役に立つと思う。EventMachine とは何だろう。そしてそれは私たちのために何をしてくれるのだろう。さて、最初の部分は簡単だね。EventMachine は Reactor パターン(*1)の高性能な実装さ。 すげえ、いや、ちょっと待て、Reactor パターンって何だ? Wiki

    【翻訳】EventMachine入門
  • 小物エンジニア会でお金の話をした

    あー、楽しかった 小物エンジニアの会 : ATND http://atnd.org/events/41091 ※スライドの最後に重要な情報が書いてあります 新宿の公園で小物エンジニア達に Leap Motion 自慢してきた。LT も Leap Motion でやりたかったんだけど、発表用マシンが固定されてて断念。会場が公園なので iPad 配って発表用マシンから VNC でスライド見せる形式です。次回も9月くらいにあるっぽいのでまたなんかはなしたい

  • Ruby どうでもいい知識シリーズ - Candy

    em-http-request は環境にもよるが 200 並列ぐらいから急激に遅くなる(あるいは落ちる)ので 150 並列ぐらいまでしか安定運用は出来ない thread と Net::HTTP で並列アクセスをする場合、 request および response の組み立てはスケールしないが純粋な HTTP 部分だけはスケールする thread を使う場合 8,000 並列ぐらいまでは順調にスケールする。それ以上は req と res の組み立てがあるので無駄になる事例が多い。相手のサーバーの速度と req と res の組み立てコストから最適解を計算しよう Ruby 1.9 でスレッドを 3000 個ぐらい作ると止まる。 Ruby 1.8 では 16,000 個ぐらい作っても止まらない 以上なるほど四時じゃねーので培った Ruby に関する知識です。

    Ruby どうでもいい知識シリーズ - Candy
  • Em synchrony について

    2. 自己紹介 1 cuzic といいます きゅーじっく と読みます Ruby 暦は かれこれもう10年くらい 近況 Nook Simple Touch というデバイスを買いました Android 2.1 が動く、ディスプレイが e-ink の端末 定期巡回している Web 記事を快適に読めてしあわせ 今後の勉強会予定 8月20日(土) Coders At Work 読書会 #2 今回と同じ会場です 2週間後! みんな来てください。 Ruby/Rails勉強会@関西 第50回 「em-synchrony について」 3. 今日の議題 2 • 複数処理の同時並行実行について • マルチスレッドによる同時並行処理 従来の • IO多重化 による同時並行処理 並列処理 • eventmachine とは event- • コールバック登録による非同期処理 machine • Fiber とは e

    Em synchrony について
  • Ruby で、独自スキーマ向けの URI オブジェクトを定義する « blog.udzura.jp

    uri = URI.parse("mysql://u-kondo:XXXXX@localhost:3306/hogege") uri.class #=> URI::MySQL uri.host #=> localhost require 'uri' require 'active_record' class URI::MySQL < URI::Generic def default_port 3306 end def database path[1..-1] rescue nil end def connection_hash { :adapter => scheme, :host => host, :username => user, :password => password, :database => database, :encoding => 'utf8', :port => p