a に2次元配列のような形で入ってくる require 'csv' ・・・・ a = CSV.readlines('hoge/foo.csv')ネタ元 http://oz-log.blogspot.com/2009/10/ruby.html CSV 形式のパースが失敗したらCSV::IllegalFormatErrorとでます。 原因は クオート対応不正 改行コード不正 macでは改行コードはLFじゃないとエラーになるみたい。
どんなときに open-uriなどで、HTMLページをクロールしたデータを、ローカルで開くと デザインが崩れていたり、リンクをクリックしても思い通りのところへ飛べないことがあります。 これは、HTML内で相対パスで記載されているものを、そのまま取得しているからです。 そこで、相対パスを絶対パスに変換したいのですが、 どのメソッドを使えばいいかわからなかったので、調べると、 標準添付ライブラリで可能だったので、メモしました。 (※URLではなく、ディレクトリの相対パス→絶対パス変換は、File.expand_pathメソッドで実行可能です。) 解法 標準添付のURIライブラリのmergeメソッドを使用する。 サンプル #!/usr/local/bin/ruby require 'uri' uri = URI.parse('http://hoge.com/test/1234.html') p
来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…
多くのgemはこうしたコマンドでインストールできますが、rmagickの場合は、依存するライブラリを事前にインストールしておく必要があります。 rmagickの場合は、rmagickという名前の由来となっているImageMagickをインストールしておく必要があります。 ImageMagickのインストールには、jpeg、png等のライブラリをインストールしておく必要があり、ライブラリの依存関係を解決することがなかなか難しくなります。 そこで、mac portsによりImageMagickをインストールします。 まず、mac portsをインストールします。 http://distfiles.macports.org/MacPorts/MacPorts-1.9.1-10.6-SnowLeopard.dmgから、Mac OS X 10.6用のmacportsのインストーラーをダウンロードし
TableViewに値を埋め込む場合、列名をキーにしたハッシュを配列にすると簡単にできるのでそうしているのですが、 ここで引っかかったのが、ある列の値でソートをすること。 @files = [{date => "2006/04/12", title => "A"}, {date => "2005/12/10", title => "B"}, {date => "2006/03/01" title => "C"}] という配列があった場合、日付(date)でソートして、 [{date => "2005/12/10", title => "B"}, {date => "2006/03/01" title => "C"},{date => "2006/04/12" title => "A"}] にするには?ということです。 結局解決方法は簡単でした。 @files.sort{|a, b| a
はじめに 本文書は、Rubyによりコーディングを行う際の規約について述べる。 実際のプロジェクトに適用する際には、このコーディング規約をカスタ マイズして用いることを推奨する。 ソースコードの整形 インデント プログラムを読みやすくするため、インデントを適宜行う。インデント 幅は2とする。また、インデントにはスペースのみを使用し、タブは使用 しない。(環境によりタブ幅が異なるため。) 例: if x > 0 if y > 0 puts "x > 0 && y > 0" end end 一行の桁数 一行の桁数は最大80桁までとする。 空行 複数のクラスの区切には空行を挿入する。 例: class Foo ... end class Bar ... end 誤った例: class Foo ... end class Bar ... end また、クラス内の各構成要素の区切にも空行を挿入する。
まず、環境はこんな感じ。 # cat /etc/redhat-release CentOS release 5.4 (Final) # rpm -aq | egrep '^sqlite' sqlite-3.3.6-5 sqlite-devel-3.3.6-5 # ruby -v ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-linux] # gem -v 1.3.7 gemでsqlite3-rubyのインストールを試みるが以下のように失敗する。 # gem install sqlite3-ruby Building native extensions. This could take a while... ERROR: Error installing sqlite3-ruby: ERROR: Failed to build gem native
ちょっとやりたいことがあって、エントリに付けられたはてなスターの数を数えるRubyスクリプトを書いてみようと思った。はてなスターカウントAPIというのもあるけど、これはブログに付けられた☆の総数を数えるので、エントリごとの☆の数を数えるのには使えない。 そこで、まずはてなスターの処理を行う、下記のスクリプトを読んでみることにした。 http://s.hatena.ne.jp/js/HatenaStar.js HatenaStar.jsの はてなスターの情報をJSONPで取得する処理 HatenaStar.jsは、大きく2つの部分から構成されている。 Ten クラス、XmlHttpRequest、イベント処理、DOMなど、基礎となる機能を提供するクラス(Ten.*)の定義 Hatena はてなスターの処理を行なうクラス(Hatena.Star.*)の定義 このうち、はてなスターの情報をはてな
2010年8月27-29日日本Ruby会議2010に参加しました。 1日目にrake:money 拡大版〜Rubyエンジニアと企業の幸せな関係〜という企画に参加しました。 簡単なメモは@kiwofusiのTwitterログをご覧ください。 エンジニアはサービスに広く関わり成果を上げ高い報酬を得るべき 海外では優秀な新卒に高額な給料が支払われることに対して、日本では差がつかないことが議論されていました。海外ではエンジニアがサービスの企画までやること、日本でもDeNA、GREE、ドワンゴが新卒にお金を出していること、即戦力となる新卒はめったいいないこと、などの意見が挙げられました。 よいサービスをはやくやるためにはエンジニアが企画もやって、サービスの収益はエンジニアに還元されて、したがって優秀なエンジニアは相応の収入を得られるべきだ、という方向性を感じました。 また、今後活躍できるエンジニア像
現象 5月4〜5日のどこかで、Twitterの吐くユーザタイムラインが変わったようだ。 その前を正確に把握していないのだが、現在のRSS(たとえば私のツイートのRSSはこんな感じ)では、 <rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:georss="http://www.georss.org/georss" xmlns:twitter="http://api.twitter.com"> ... <twitter:source> <a href="http://www.atebits.com/" rel="nofollow">Tweetie</a> </twitter:source> <twitter:place/> ... </rss> という風に、twitter名前空間ができている。 私は、このRSSを
> sudo gem list で表示されているモジュールをアンインストールしようと思って、 > sudo gem uninstall ****** とやったら、 > ERROR: While executing gem ... (Gem::InstallError) > Unknown gem ***** >= 0 とかエラーが出てしまう。なんでだろう?っと思って調べたら、 該当のモジュールが「/home/ユーザー名/.gem/ruby/1.9.1」に入ってた。 > gem env > - GEM PATHS: > - /usr/local/lib/ruby/gems/1.9.1 > - /home/ユーザー名/.gem/ruby/1.9.1 とGEM PATHSが二つございますね・・・。 どうも、権限の問題で、 > sudo gem install ***** とやると「/usr/lo
2008年03月09日 WatirでIEを自動操縦 Webページのスクレイピングには今まで Mechanize を使っていたのだが、IEを自動操縦する Watir はそれ以上に便利だと思った。 Watirのチートシート #! ruby -Ks require 'watir' ie = Watir::IE.new ie.goto('http://reader.livedoor.com/reader/') ←ページ遷移 ie.link(:text, /ガイド/).click ← リンク文言を正規表現で検索してクリック puts ie.text ← ソースを表示 コードを実行すると、自動的にIEが立ち上がって無人操作を開始する。 フォームに記入する場合についても、全般的に書き方がMechanizeよりわかりやすいと思う。何よりもIEが文字コードの自動判定をしてくれるので、リンクやフォーム部品を探
軽量フレームワークのsinatraが熱い。 確かに、個人で作ってるサイトではRailsは設定が大変だし、動いてももっさりだし。ということで、さくらのレンタルサーバでsinatraを動作させてみました。 オフィシャルページ(Sinatra)にはcgiで動作させるためのドキュメントが一切ないのには参りましたね。 インストール gem install で一発インストールできますが、デフォルトだとsinatra-0.9.2, Rack-1.0.0 がインストールされました。 ですが、Rack-1.0.0だと不具合があるので、別途Rack-0.9.1をインストールしておきます。 gem install sinatra gem install rack --version='0.9.1' Rackの設定 Rackはwebサーバの違いを吸収してくれるライブラリで、こいつのおかげでSinatraはいろんな
たとえば PHP で、 if ($hoge) { ... } とか書いてあったら、 $hoge がどんな値のときに if の中身が実行されるのか即答できますか。 こういう書き方は多くの言語で可能ですが、言語によって何が真で何が偽になるのかが異なるので、それぞれまとめてみました。 C言語 C言語には bool 型が無い。 0 (int) だけが偽となり、それ以外はすべて真となる。 NULL 定数は stddef.h で以下のように ((void*)0) と定義されているため、偽値として使える。 意見が分かれそうなところですが、個人的にはNULLを偽値として使用するは好きじゃないです。 #ifndef __cplsuplus #define NULL ((void*)0) #else #define NULL __null #endif C++ C++になると bool 型が出てくる。C と同
WindowsにRuby on RailsとMySQLを入れ環境を作り、その上で簡単なブックマークアプリケーションを作るまでを記録したムービー。編集ナシでホントに10分以内でアプリケーションを構築してます。 詳しくは、2005年11月18日発売の技術評論社 SoftwareDesign 2005年12月号で解説予定ですしました。 Rails+MySQLインストール編 アプリケーション編 追加情報 Web Developer Study @Sapporo - 2005/11/19 Rails + Selenium - OSC2006 Do 2006/07/15 更新情報 2006/07/15: OSC2006 Doで使った資料 Rails + Seleniumを公開 2005/11/19: Web Developer Study @Sapporoで使った資料を公開しています。 2005/1
参考:http://d.hatena.ne.jp/mizzusano/20080407/1207531215webdesigningとか読んでるとAIRとかFlexのネタがわりと目立つ。DBPressとか読んでいても、AIRとかFlexの記事は割とある(AS3)含めて。で、考えてみたのだけども、そもそもFlexは誰のためにあるのか、ということ。そもそもFlexとはなんなのかと。これは未だに僕もよくわからないのだけど、早い話 HTMLなのではないかと、HTMLの代わりにMXMLがあって、Javascriptの代わりにActionScriptが使えるのではないかなと。で、Flexというものは、RIAを手軽にサクっと作る事ができるツールで、それこそDreamWeaverライクに、フラッシュブルなサイトを構築できる。ドラッグアンドドロップでオブジェクトを配置していくだけで、サイトが作れるのだ。いや
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く