タグ

rubyに関するkistame228のブックマーク (18)

  • Merb | Looking for a hacker's framework?

    Faster, Lighter, More Agile. Merb is an MVC framework that is ORM-agnostic, JavaScript library agnostic, and template language agnostic, preferring plugins that add in support for a particular feature rather than trying to produce a monolithic library with everything in the core. In fact, this is a guiding principle of the project, which has led to third-party support for the ActiveRecord, DataMap

  • 54行で分散KVSを実装する(レプリケーション機能付き) - Blog by Sadayuki Furuhashi

    Ruby と MessagePack-RPC があれば、簡単なkey-valueストレージは簡単に作れます。54行で書けます(レプリケーションと負荷分散機能付き。サーバー38行、クライアント16行)。 簡単なKVSをベースにして、ログ集計や遠隔デプロイ、遠隔管理機能などの機能を追加していけば、ちょっと便利なサーバープログラムをサクサク自作できるハズ。 この分散KVSは、(keyのハッシュ値 % サーバーの台数)番目のサーバーにkeyを保存します。また、サーバーの名前順でソートしたときの「次のサーバー」と「次の次のサーバー」にデータをレプリケーションします。 すべてのサーバーで同じ設定ファイルを使います。サーバーごとの設定は引数を自分のホスト名に書き換えるだけなので、デプロイが容易です。 MessagePack-RPC for Ruby を使うと、分散しないkey-valueストレージ*1は

    54行で分散KVSを実装する(レプリケーション機能付き) - Blog by Sadayuki Furuhashi
  • TwitterのbotをOAuthに対応させる - しばそんノート

    Twitterの認証方式について Twitterの認証方式にはOAuthとBasic認証の二通りの仕組みがあります。 Twitter API Wiki / Authentication Basic認証はお手軽なので、世に存在するTwitter APIを利用する一般的なクライアントは、大抵がこちらの方法を使っているのではないかと思います。 ですが、実はこのBasic認証はセキュリティ上の理由から、将来的に非推奨になることが予告されています。 Twitter API Wiki / OAuth FAQ 既にTwitter API Wikiでは「今後作成するクライアントはOAuthを利用することを強く推奨する」と表明されており、それに応じてOAuthを使うクライアントも増えてきています。 …が、現状Basic認証を利用しているクライアントが既に大量に存在していることを考えると、今日明日でBasic

    TwitterのbotをOAuthに対応させる - しばそんノート
  • Rails + Cicindelaでレコメンデーション付ウェブサイトの構築(2) - aike’s blog

    目次 ユーザ認証付Railsアプリの構築 RailsアプリにCicindelaインタフェースを実装   ←いまここ Cicindelaの設定とバッチ処理設定 そんなわけで昨日作ったRuby on RailsアプリにCicindelaとのインタフェース機能をつけてみます。 Cicindelaインタフェース用クラスの作成 CicindelaはWeb APIが用意されており、アプリケーション側の実装言語に依存せずに利用できるので非常に便利です。今回のアプリの場合アクセスするタイミングは3ヶ所で、以下に例を示します。 (a) ユーザID100の人がアイテムID500のウェブページをブックマークしたとき http://localhost/cicindela/record?set=bookmark&op=insert_pick&user_id=100&item_id=500(b) ユーザID100の人

  • 徳島県がRubyの独自開発CMS「Joruri」でサイトを刷新,OSSとして公開へ

    徳島県は2009年10月,独自開発の徳島県CMS(コンテンツ管理システム)を採用し同県のホームページをリニューアルする。徳島県CMSはRubyで開発しており,2009年度中にオープンソース・ソフトウエア(OSS)「Joruri」(ジョールリ)として公開する予定だ。 OSS採用を県の方針に 徳島県では,情報システムを新しく導入する際に,なるべくオープンソース・ソフトウエアを採用することを方針としている。狙いはコスト削減,ベンダー・ロックインの軽減だけではない。同時に発注単位を小口化,小企業でも入手しやすいオープンソース・ソフトウエアを使うことで,県内のIT企業への発注を増やすことも大きな目的としている。 すでに長崎県がオープンソース・ソフトウエアとして無償公開した「長崎県電子県庁システム」の導入を開始しており,2009年1月から4月にかけて稼働が始まっている(関連記事)。導入したのは「総務事

    徳島県がRubyの独自開発CMS「Joruri」でサイトを刷新,OSSとして公開へ
  • 徳島県の公式サイト,Rubyによる独自開発CMS「Joruri」でリニューアル

    徳島県は2009年10月26日,独自開発のCMS(コンテンツ管理システム)「Joruri」(ジョールリ)で同県の公式サイトをリニューアルした。JoruriはRubyで開発しており,2009年度中にオープンソース・ソフトウエアとして公開する予定だ。 新しいホームページでは,更新の反映が迅速になるなどの効果が得られるという。また携帯電話向けのページも自動で作成できる。視覚障害者向けにテキストを音声に変換して読み上げる機能,弱視者向けに文字を大きくしたり白黒反転させる機能なども備えている。 Lotus Notesを利用していた旧ホームページから切り替えた。開発は県内の企業アイ・ディ・エスが担当した。徳島県では,県内企業へのITシステムの発注を拡大する方針を掲げている。 「Joruri」はJapan Originated Ruby-based RESTful and Integrated CMSを

    徳島県の公式サイト,Rubyによる独自開発CMS「Joruri」でリニューアル
  • O/Rマッピング技術の進化が皮肉にも助長している「えせMVC症候群」

    昨日の「Ruby on Railsの『えせMVC』の弊害」というエントリー。若干「釣り」の要素が含まれたタイトルが功を奏したのか、たくさんのフィードバックがいただけた。そんな中で見えて来たのは、この問題はRailsに限った話ではなく、業務用アプリケーションで使われているJavaや.Netの世界でもよく見られる問題だということ。 その「問題」とは、ActiveRecordに代表されるO/Rマッピングの技術の進化が、来のMVC(そしてオブジェクト指向そのもの)のメリットを無視した「えせMVC」な設計を助長している、という問題である。 ・MVCやオブジェクト指向を表面的にしか理解していないエンジニアが増えている(ここが根的な問題) ↓ ・SQLを自分で記述しなくて良いO/Rマッピングはとても魅力的(これはこれで別の問題を含んでいるが、このエントリーではあえて突っ込まない) ↓ ・O/Rマッピ

  • WebアプリのDBスキーマレス化がRubyにぴったりな件 - Tous Les Jours 攻防記

    という題で、RubyKansai#37で発表させていただきました 内容は、WebアプリケーションのDBのスキーマレス化について。 スキーマレスなDBアクセスのための、拙作DBインターフェースライブラリ「SimpleResource」の紹介も合わせて盛り込みました。SimpleResourceは、スキーマレスなデータを保存するためのKVS DBインターフェースライブラリで、Rubyで書かれています。レコード単位のロック機構、インデックス機能等を備えている他、ActiveRecordに近い使い勝手で利用することができます。ストレージには現在MySQLとTokyoTyrantにのみ対応しています。(FriendFeedの同様の試みもかなり参考になりました。詳細はまた後日にエントリで上げたいと思ってます) SimpleResourceは、GitHub上で開発を続けていくつもりです。 http://

    WebアプリのDBスキーマレス化がRubyにぴったりな件 - Tous Les Jours 攻防記
  • 全文検索を実装したソースコードを読もう (1/4)- @IT

    第6回 全文検索を実装したソースコードを読もう 倉貫 義人 松村 章弘 TIS株式会社 SonicGarden 2009/9/3 優れたプログラマはコードを書くのと同じくらい、コードを読みこなせなくてはならない。優れたコードを読むことで、自身のスキルも上達するのだ(編集部) いよいよオープンソースの社内SNS「SKIP」を使ったコードリーディングも最終回となりました。Railsの基的な構成から、テストコードやRSpecの書き方といった内容に加え、前回はOpenIDをRailsで活用する応用編まで、コードとともに学んできました。 最終回となる今回は、SKIPの目玉機能の1つである全文検索を扱います。最終回にふさわしく、内容も高度なものになっていますが、ここまでおつきあいいただいた読者の皆さまであれば、十分に理解できる内容だと思います。 SKIPにおける全文検索機能では、任意の検索キーワード

  • 真にスケーラブルなWebアプリケーションを作るには?という話題で盛り上がった件 - Tous Les Jours 攻防記

    先週末は上京してRubyKaigiに参加してきました。 運よくLT枠をいただくことができたので、タイトルのようなテーマで(結構紆余曲折があって、当初の想定から逸れてしまった...)プレゼンさせてもらうことができました。 話の流れとしては、 「WebアプリケーションのボトルネックはRDB」 ↓ 「RDBってAmazonEC2みたいなHaaSではスケールしないよね。」 ↓ 「当に(アプリのコードをそのままで)スケールさせようと思ったら、AmazonSimpleDBのようなクラウドDBを使うしかない」 ↓ 「SimpleDBMySQLより一桁以上遅いから、単純にRDBSimpleDBに置き換えると、えらいことになる」 ↓ 「SimpleDBへのアクセスを極力少なくするため、リクエストはMemcachedとかでキャッシュしまくる必要があるね」 ↓ 「このあたりを今Lang-8で実験している。

    真にスケーラブルなWebアプリケーションを作るには?という話題で盛り上がった件 - Tous Les Jours 攻防記
  • あるRuby on Railsプロジェクトのふりかえり - yuum3のお仕事日記

    昨年末から始めた、Ruby on Rails を使ったある仕事がひと段落したので、ふりかえってみました。 この仕事で作ったWebアプリの詳細は書けませんが、画面数 60、テーブル数 15 と小規模のものでした。システムはところどころに難しい部分はありました、UIは一部に Ajax(JQueryを使用)を導入し使い勝手を高めています。 1. ソースコードが少ない! 書いたRubyコードの行数を合計すると 約3600行 しかありませんでした! 1画面あたり 60行しか書いてない !! ・・・「あんまり仕事してないじゃん!」と思わずつぶやいてしまいまました ^^); やはり、Ruby on Rails は生産性が高いと言われる通りです。 ただし、だらだらとコードを書かないように以下のように注意しました。 共通部分はモジュール化しMix-inで共有 継承による機能の共有は設計が難しくなりますし、委

  • OpenIDを実装したソースコードを読もう (1/3)- @IT

    第5回 OpenIDを実装したソースコードを読もう 倉貫 義人 松村 章弘 TIS株式会社 SonicGarden 2009/6/3 優れたプログラマはコードを書くのと同じくらい、コードを読みこなせなくてはならない。優れたコードを読むことで、自身のスキルも上達するのだ(編集部) 前回までは、Ruby on Railsの基部分についてコードリーディングを行ってきました。 今回からは、より魅力的なWebアプリケーションを実現するために必要なさまざまな技術Railsで活用したソースコードを読むという、さらに実践的な内容に入っていきます。 今回取り上げる技術要素はOpenIDです。GoogleYahoo!、mixiなどの大手サービスがOpenIDに対応したことで話題になったので、聞いたことがある方は多いのではないでしょうか。 OpenIDとは、とある1つのIDを持っていれば、複数のWebアプ

  • RubyでHadoopをラップ、分散処理ツールキットが登場 - @IT

    2009/05/12 米新聞社大手のニューヨーク・タイムズは5月11日、Rubyによる大規模分散処理のツールキット「Map/Reduce Toolkit」(MRToolkit)をGPLv3の下にオープンソースで公開したと発表した。MRToolkitは、すでに稼働しているクラスタ上のHadoopと合わせて使うことでRubyで容易にMap/Reduce処理を記述することができる一種のラッパー。処理自体はHadoopが行う。すでにHadoopを使っているユーザーであれば、中小規模のプロジェクトに対して、すぐにMRToolkitを適用可能としている。 デフォルトで有用なMap、Reduceの処理モジュールが含まれていて、数行のRubyスクリプトを書くだけで、例えば膨大なApacheのログからIPアドレス別の閲覧履歴をまとめるといった処理が可能という。独自にMapやReduceの処理を定義することも

  • http://oneclip.jp/aaaafl

  • Rubyの軽量Webフレームワーク「Sinatra」がステキ - このブログは証明できない。

    フルスタックがウリのRails。そこまで必要ないよ。と、ERBでゴリゴリ。メンドクセー。やっぱ、Railsで。などと、陽はまたのぼりくりかえしてーゆく。RubyのWebフレームワークは他にもあるけど。。軽くていいんだ。PHPを使いたくないだけなんだ。 そんな悩ましさを解消してくれるフレームワークを発見してしまいました。「Sinatra」でございます。こいつは、軽そうだ。 Sinatra サイトのトップページに書かれているコード。これが、サクサク感をかもし出してくれています。 require 'rubygems' require 'sinatra' get '/hi' do "Hello World!" end 説明読まなくても解るよ、これ。 日語の解説スライドがあります。よく解る解説ー。 公式サイトのREADMEを読めば、だいたいOK。 Sinatra: README パラメータを取得し

  • 何とかbotができました - (旧姓)タケルンバ卿日記避難所

    以前に、唐突に「botをつくりてー」と書いたわけですが。 (過去記事)botを作りたい - (旧姓)タケルンバ卿日記 2008-11-29 昨日、ギークハウス2にて、以下のメンバーと勉強会を実施。 へだち(pettan.jp) id:crystaline(Crystaline [クリスタライン]) yteppei(http://marke.seesaa.net/) 様々な方のご協力、ご支援、ご指導のもと、何とか形になりましたよ。まだまだ改善する点はあるし、botと言い切れない部分もあるけどね。 どういう流れで作ったか、記録のためにも残しておきたいと思います。 1.どういうbotにするか決める コンセプトは「botを作りたい」で決めていた通り。 べもの写真をTwitterに投稿するbot botを作りたい - (旧姓)タケルンバ卿日記 できることなら「生でいてー」「焼いていてー」「煮て

    何とかbotができました - (旧姓)タケルンバ卿日記避難所
  • プログラミング言語Ruby ― ありえるえりあ

    方針 Rubyをまったく知らない前提で始めます JavaJavaScript、elispのようなメジャーな言語と対比しながら説明します なるべく手を動かして目に見える形で説明を進めます 次回Ruby on Railsの勉強会をするので、それにつながることに重点を置きます 逆に言うと、RoRであまり使わない知識は流します。例えば、ファイル操作周りやスレッド周りなど 開発環境(2) .emacs.elに書くべき記述 ; ruby (autoload 'ruby-mode "ruby-mode") (setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist)) (setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-al

  • Twitterの中の話:phpspot開発日誌

    Scaling Twitter: Making Twitter 10000 Percent Faster | High Scalability Twitter started as a side project and blew up fast, going from 0 to millions of page views within a few terrifying months. Twitterの中の話が書かれていましたので要所をまとめてみました。 プラットフォーム 言語 Ruby on Rails Erlang サーバソフトウェア MySQL Memcached Mongrel - hybrid Ruby/C HTTP server designed to be small, fast, and secure 監視ツール Munin Nagios アクセス解析 Google Ana

  • 1