WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Twitter APIを使ったTwitterへの記事投稿では、URLはbit.lyによる短縮URLに自動的に変換されるのですが、入力のステータスメッセージが140字を超えると、bit.lyに通す前に切り詰められてしまい、結果として短縮URLが適用されないようです。 # ちゃんと条件は確認していませんが そこで、bit.lyもWeb APIを公開しているので、先にURLだけ短縮URL化してからTwitterに投稿することを試みてみます。 まずは、bit.ly APIの感触をつかむために、簡単なサンプルを試してみました。 情報源 bit.ly API Documentation bit.ly APIまとめ bit.ly APIを使うためには、事前にbit.ly上にユーザアカウントを作成する必要がある (無償)。 Web API呼び出しの際に、以下のいずれかの方法でユーザ認証を行う。 HTTP
ruby | 前回の書いたエントリ(http://d.hatena.ne.jp/nayuko22/20120110/p2)はxmlの文字列を返すところで終わっていました。 今回はその続きです。 スクリプト str = reqKaiseki URI.escape('東京ミッドタウンから国立新美術館まで歩いて5分で着きます。のリクエストに対するレスポンスです。にしおかすみこのすっぴんブログ'.toutf8) xml = URI.unescape(str).toutf8 rexml = REXML::Document.new(xml) ele = rexml.root ele.elements.each('Result/Keyphrase') do |element| puts element.text.tosjis end 結果にしおかすみこ 国立新美術館 東京ミッドタウン リクエスト すっぴ
rvm で 1.9.3-p0 をインストールしたがトラブルが…。 libyaml の警告を消す It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby. yum ではインストールできないようなので、 $ wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz $ tar xzvf yaml-0.1.4.tar.gz $ cd yaml-0.1.4 $ ./configure $ make $ sudo make install その後、 $ rvm reinstall ruby-1.9.3-p0 tlsma
Use these options by gem install mysql2 -- [--optionA] [--optionB=argument]. --with-mysql-dir[=/path/to/mysqldir] - Specify the directory where MySQL is installed. The mysql2 gem will not use mysql_config, but will instead look at mysqldir/lib and mysqldir/include for the library and header files. This option is mutually exclusive with --with-mysql-config. --with-mysql-config[=/path/to/mysql_confi
[English page] Ruby で記述された MySQL の Ruby API です。MySQL の C API とほぼ同等の機能があります。MySQL/Ruby と ほぼ互換があります。 現在のところ、MySQL 4.1.x では使用できません(mysqld に --old-passwords オプションをつければ使用できるかも)。 黒田 亮 <akuroda at gmail.com> さんが MySQL 4.1.x でも使用できるパッチを作ってくれました。 そのうち取り込むつもりですが、とりあえず置いておきます。 必要なもの Ruby 1.8.2 ライセンス このプログラムは Ruby ライセンスに従います。 ダウンロード ruby-mysql-0.2.6.tar.gz ruby-mysql-0.2.5.tar.gz ruby-mysql-0.2.4.tar.gz ruby-
140万件程度のアクセスログを取り出して処理する際に、一旦メモリに全部咥え込むスクリプトをruby+ruby-mysqlで書いた。 アルゴリズムの是非はともかくとして、実行すると以下のようなエラーが出て止まる。 /usr/lib/ruby/gems/1.8/gems/ruby-mysql-2.9.4/lib/mysql/protocol.rb:569:in `read' : invalid packet: sequence number mismatch(19 != 254(expected)) (Mysql::Protocol Error) from /usr/lib/ruby/1.8/timeout.rb:48:in `timeout' from /usr/lib/ruby/gems/1.8/gems/ruby-mysql-2.9.4/lib/mysql/protocol.rb: 56
前に RubyでMySQLに繋ぐためのruby-mysqlとmysql2 - tagomorisのメモ置き場 というエントリで書いたとおり、いまおそらく最もよく使われそうな mysql2 という ruby用のmysqlドライバにはprepared statementを扱うためのAPIがない。MySQLではprepared statementを使っても使わなくても速度に影響は無いらしい(後のtweet参照)し、O/R Mapperを経由しての使用がメインだから不要、という判断なのだろう。 (p19)MySQLの場合: PreparedStatementプール機能の利用有無は、性能にまったく影響しません・パラメータのバインド機構の利用有無は、性能にまったく影響しません / Microsoft PowerPoint - URL 2012-04-18 11:49:15 via Hatena しかし
このエントリは MySQL Casual Advent Calendar 2011 - MySQL Casual の10日目の記事です。 こんばんは。tagomorisです。さとしです。タゴモリスの s はさとしの s です(実話)。Twitterで #さとし というハッシュタグが流れるたび、ひそかにびくっとしてます。 RubyからMySQLに繋ぐときにどうするの、ととりあえず gem search -r mysql とかやると思います。そして大量にあれこれ出てきてどうすればいいんだ! という気分になると思います。そういう気分になったことがあるので、現状を簡単にまとめてみました。 ruby-mysql 昔からの定番ですね。作者は id:tmtms のとみたまさひろさん。rubygemsとか使われる前から Ruby/MySQL というライブラリ名で知られていました。Googleで検索するとト
前回はActiveRecordを使った参照について解説しましたが、今回は登録、更新、削除などの更新系を中心に見ていきます。 前回の記事では、Ruby on Railsのモデル層を担当するActiveRecordの概要と参照系の操作について解説しました。今回は、登録、更新、削除などの更新系の機能を中心に見ていきます。 登録・更新の際には、モデルに不正な値が保存されないようにデータをチェックして、問題があれば保存しないようにする「検証」(Validation)の仕組みが走ります。この検証機能の背後には、ActiveRecordのコールバックという仕組みがあります。コールバックを使うことで、登録、更新、検証、削除処理の前後に様々な処理を追加できます。今回と次回の2回にわたって、ActiveRecordの更新系操作のやり方とともに、検証、コールバックについて詳しく解説していきます。また、検証メッセ
Rails のバージョンは 1.2.3 を想定。 基本的に断りがない場合は ActiveRecord::Base のインスタンスメソッドまたはクラスメソッドについての話である。 1. 基本的に更新は save で行う save と save! の違い save : 失敗したら false を返す。 save!: 失敗したら RecordInvalid 例外を投げる。 Dave Thomas 「Rails によるアジャイル Web アプリケーション開発」によると、この2つの使い分けは、 save: コントローラのアクションメソッドとして呼び出されることを想定。エラーを画面に表示することを考えると、例外を投げるのはまずいので true/false を返す。 save!: バッチ的な処理で使うべき。 とのこと。 2. update_attribute メソッドとは? update_attribu
Browse: Home / migration, MySQL, rails, ruby / RailsでID列をBIGINTに変える方法メモ(でもやるもんじゃない) 現在作っているアプリで、IDがINTEGERのままだと足りない恐れが出てきたので、 BIGINT型に変えることにしました。 ちなみに使用しているデータベースはMySQL、Railsのバージョンは2.1.2です。 調べてみると、IDをBIGINTにすると、以下の不具合があるようです。 Railsからbigintを使用する時の注意点 – R日記 でもまあ、今のアプリではRailsから新規データの挿入は行わないので、問題ないかな。 というわけで、まずは以下のようにmigrateを書いてみました。 (hogesテーブルのIDをBIGINTに変えるとします) def self.up change_column :hoges,
以前、CSRFについてのエントリを書きました。 CSRFについて - おもしろWEBサービス開発日記 上記エントリではCSRFの概念について書きましたが、もう少しつっこんで調べる必要が出てきました。調べたことを書いてゆきます。 基礎 application.rb(ないし適当なController)にprotect_from_forgeryメソッドを定義すれば、railsが自動的にCSRF対策をしてくれます。というか、デフォルトでapplication.rbに下記のように書いてあるので、特に何もせずともCSRF対策はバッチリなのです。 protect_from_forgery # :secret => '8ff3ed33f86a431662d8dfe255acdb4a' railsは、get以外の動詞のリンクに、authenticity_tokenというパラメータを自動的に付け加えます。ge
2007年08月03日14:57 by 山崎泰宏 RailsのSessionが良くわからないのでコードを追いかけはじめました カテゴリRuby Tweet sparklegate Comment(9)Trackback(0) 最近APIのマニュアルを読んでも良くわからないことが多くなってきた。なので、ぼちぼちRailsのソースを読む機会が増えて来ました。 やっぱりオープンソースってすごいですよ。 完全に透明なプロダクトって最後は中を見てしまえるという安心感があります。 この安心感って重要で、リチャードストールマン氏がその昔プロプライエタリなプリンタドライバのバグを直せなくてイライラしたって言っていた理由がよくわかります。 今回はRailsのセッションについて調べました。追いかけていくと分かるのですが、セッション関連の処理は非常に大掛かりです。 るびまにも書かれている通りチューニングのポイン
掲題のような謎の現象で悩んでいたのでメモ。 この原因はRailsはCSRF対策が取れてなかった場合にセッションをクリアするようです。これはコールバックで呼び出したときなどでも同様に発生するので、原因が特定しにくいです。 その部分だけ、の問題であるなら protect_from_forgery :except => :complete のようにしてあげればセッションが消えることはなくなります。
常識なのかもしれないが、コーディングしていて改めて気がついたのでメモ。 文字列の数字表現で”1234.56″といった感じのものを読んで整数なのか小数なのかをチェックする場合、マッチさせたいパターンは詳細なものから書く。 例えば以下のように書くと
きれいな書き方を教えて頂いたので、メモ たとえば、id, name, age, job_id といったカラムからなるUserモデルがあったときに、 特定の job_id の User の id 配列が欲しいという際にどう書くか。 # たとえば User.find_all_by_job_id(1)でこんな配列が取れるとする [ {1, 'hoge', 21, 1}, {3, 'bar', 15, 1} ] # さらにそこから idの配列を作るには・・・? [1,3] 自分ではこんな感じで書いていたのですが、 ids = User.find_all_by_job_id(1).map{|u| u.id} こう書けるそうです。 ids = User.find_all_by_job_id(1).map(&:id)
PHP の $_SERVER['REQUEST_URI'] と parse_url() の予想外な動作について。 - こせきの技術日記 の続き。 PHPのparse_url()は、 "/abc?a=x&time=09:00&x=y" はパースできるのに、 "/abc?a=x&time=09:00" だと失敗する。 相対URIで「動作しない」仕様だかららしいのだが、それはともかく、コロンのパーセントエンコードが必須なのか気になったので調べた。 URIの仕様 RFC 3986 まず、基礎となる URI の仕様 RFC 3986 がある。 RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax Uniform Resource Identifier (URI): 一般的構文 日本語訳 RFC 1738 - A Gopher URL
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く