windows 7 な ruby1.9.1 でopenssl loaderror
ustとyoutubeの録画したビデオの共有の件で、自宅に帰って
windows7でやることにしたが、入ってるruby1.9.1で下記コードを実行しようとすると
openssl のloaderrorエラーが発生する。
require 'rubygems' require 'mechanize' require 'kconv' agent = Mechanize.new agent.get('http://www.google.co.jp/') agent.page.form_with(:name => 'f'){|form| form.field_with(:name => 'q').value = 'Ruby' form.click_button }
下記サイトから、
http://www.atmarkit.co.jp/fcoding/articles/ruby191/ruby191a.html
DEAN LEE:/DEV/BLOG - Download OpenSSL for windows http://www.deanlee.cn/programming/openssl-for-windows/
libeay32.dllとssleay32.dllを、C:\ruby\binへコピーで解消された。
Ustに録画したビデオを定期的にYoutubeに共有する(未完成)
そういうことをしたいんですが、なんとなく作ってみて
ustからのアップデートが失敗になってしまう。。なんでだろう
require 'rubygems' require 'mechanize' require 'json' require 'open-uri' require 'rss' # error class LoginError < StandardError ; end class MovNewMovieToYoutubeError < StandardError ; end class OverLimitError < StandardError ; end class UstreamMoiveMovToYoutube def initialize(user_name , password , option = {}) option[:max_history] ||= 1 @user_name = user_name @password = password @logined = false @agent = Mechanize.new @agent.max_history = option[:max_history].to_i @currentMovieList = Array.new @oldMovieList = Array.new @newMovieList = Array.new #@oldMovieListFileName = File.dirname(__FILE__)+"/oldMovieList.dat" @oldMovieListFileName = './oldMovieList.dat' end def login @page = @agent.get('http://www.ustream.tv/ajax/login.json?username='+@user_name+'&password='+@password) @body = @page.body @parseJsonString = JSON.parse(@body) if !@parseJsonString["success"] p @parseJsonString raise LoginError.new end end def getMovieList rss = open("http://www.ustream.tv/"+@user_name+"-videos.rss"){ |file| RSS::Parser.parse(file.read) } rss.items.each do |item| urlString = (item.link) @currentMovieList << urlString.sub('http://www.ustream.tv/recorded/',"") end end def getOldMovieList if File.exist?(@oldMovieListFileName) File::open(@oldMovieListFileName) {|f|f.each {|line| @oldMovieList << line.chop} } end end def getNewMovieList getMovieList getOldMovieList for movie in @currentMovieList if @oldMovieList.index(movie)==nil @newMovieList << movie end end saveMovieList end def saveMovieList f = File::open(@oldMovieListFileName,"a") for movie in @newMovieList f.puts movie end end def movNewMovieToYoutube getNewMovieList for movie in @newMovieList @page = @agent.get('http://www.ustream.tv/ajax/youtube/upload.json/'+movie) @body = @page.body @parseJsonString = JSON.parse(@body) if !@parseJsonString["success"] raise MovNewMovieToYoutubeError.new end end end end # a = UstreamMoiveMovToYoutube.new("test","test") a.login a.movNewMovieToYoutube
ustreamからyoutubeへの自動共有
ログインURL
http://www.ustream.tv/ajax/login.json?username=USENAME&password=PASS
アップデート
http://www.ustream.tv/ajax/youtube/upload.json/録画したビデオのID
rubyからmechanizeでログイン後にアップデートのurlを叩く
スクリプトでいけるかな。
ところがだ。
環境と思われるが、windowsでjruby1.6.4から作っていると
agent = Mechanize.new { |a| a.log = Logger.new("mech.log") } agent.user_agent_alias = 'Mac Safari' page = agent.get("http://www.google.com/")
agent.getでUnsatisfiedLinkError
なんでだろう。
プログラムを作るときの大半の問題は、こんなのだよね。
BDDとウォータウォール開発を考えてみる。パート1
ウォータウォール開発だと、要件定義書があって、仕様書があって
プログラムを作って、テストを行う。
アジャイルは響きはいいけど、業務系だと仕様を固めないと
何も出来ない、仕様というのは、一連の流れすべてであって
なかなかサイクル的に開発は出来ない。もちろんウォータウォール開発で、
フェーズ毎にリリースというのもあると思うが、その1フェーズは結構大きいスパンである。
うちの会社だとこんな感じの開発
?概要:
ショッピングセンターの売り上げ管理システム
?要件定義:
1.バッチ系システム図的なもの
2.オンライン系システム図とかシーケンスとか
?仕様書:
要件定義書をもとに、必要な機能を洗い出し
各機能毎に起こしていく
1.オンライン売上紹介画面仕様書
2.オンライン売上修正画面仕様書
3.etc....
?詳細設計書:
言葉でプログラムする。
1.オンライン売上紹介画面仕様書
?コーディング:
作る
?単体テスト:
詳細設計書をもとに単体テストを作成する。
観点は、分岐網羅、限界境界テスト
?結合テスト:
機能間連携テスト
オンライン売上照会画面→売上修正画面→照会画面みたいな
?システムテスト:
すべてがっちゃんこしてやるテスト
?性能テスト:
性能試験
?リリース
ruby会議on UST
たのしいRails を聞いてメモ
コミュニティに参加しようよ。っというお話でした。
とっても面白かったです。
プラクティスとして
- 毎日comitログを見る
- ドキュメントをメンテする
- 英語を覚える
- 毎日edgeを見る?
- rails会議に行こう
こんな感じかな?下の本の著者さんみたいですね。読んでみたいな。
- 作者: 高橋征義,松田明,諸橋恭介
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2011/07/25
- メディア: 単行本
- 購入: 34人 クリック: 966回
- この商品を含むブログ (38件) を見る
Rubyマスターへの道 を聞いてメモ
みたいなのが、気になったポイントかな。
githubの話が会議全体でよく出てくる気がするな。
あとまとめの
幸せは現在感じていること。
みたいな言葉の紹介がすばらしかった。
未来に感じる幸せは幸せじゃなくて、過去の幸せを振り返るの幸せではなくて
現在感じている幸せが幸せなんだと。感動した!w
BDD style Unit Testing を聞いてメモ
Rspecとかminitest?とかの使い方が主みたいだ。
おいらとしては、BDDを使用した仕様の落し込み?みたいなの聞きたいな。
おいらの現場は、要件定義書があって、仕様書が出来上がって、プログラムを
つくることになるんだけども。仕様書をつくったんじゃBDDする意味ないと思うんだよね。
5 years know-how of RSpec driven Rails app. development. を聞いてメモ
これは面白そうだ。
railsのrspecに関して
テストの書き方についてみたいだ。
- モデルのテストを書く
- データ作りが大変
- データの種類
- マスタ
- 更新されない
- 依存が少ない
- 自動生成でいいよね〜的な
- リソースデータ(ファイルとかじゃない)
- 学生とか?
- 増減し、更新されるもの
- イベントデータ(テンポラリデータ、売上げとか?)
- マスタ
- fixture
- 特徴
- はやい
- yamlなのでメンテが大変?
- モデルのvalidを追加すると設定値が全滅する?
- fixture Replacement?
- オブジェクトの作り方を定義しておいて、そこから作る?
- flexibleらしい
- 使い方が難しい
- 遅い
- Fabricator?
- 両方使う
- マスタ→fixuture
- リソース→fixture Replacement
- イベント→before()/setup
- 特徴
- 問題
- DRYじゃなくなる?
- データの読み込み処理の定義が重複する
- 修正すると、大変
- DRYじゃなくなる?
Java in Ruby: Scripting Java in JRuby を聞いてメモ
- java のライブラリを使うのは、C拡張を使うのと同じようなもんだ
- しかし、javaはCよりrubyに近い
- javaはgc
- javaとrubyを相互で使える
- C拡張は、Cのコールバックを使用するので大変だ
- jruby しか動かない
howto
- require 'java'
- require 'javaライブラリー'
- jrubyがうまくやってくれる
- javaのインタフェースの実装をrubyでできる?
- javaのclassをrubyで拡張#継承できる。(extends)
- javaのclassにrubyのメソッドを追加できる
Q&A
Q-jrubyはいつメソッドの変換をしている?
A-クラスをロードしたときにやる。
- >名前がかぶるときは、明示的にjavaの名前を呼ぶことも可能
Q-名前変換のルールは?
A-jruby wiki にあるよ
A-javaBeansに沿っているよ
Q-jrubyは1.9or1.8
A-国際化のとこがメタメタそこは、1.8ほかは1.9
Q-jrubyはどれだけJISを意識しているのか
A-hoply
The Gate を聞いてメモ
面白い人みたいだ
デビッドトーマスの紹介から
- 作者: アンドリューハント,デビッドトーマス,Andrew Hunt,David Thomas,村上雅章
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2000/11
- メディア: 単行本
- 購入: 42人 クリック: 1,099回
- この商品を含むブログ (347件) を見る
RailsによるアジャイルWebアプリケーション開発 第3版
- 作者: Sam Ruby,David Heinemeier Hansson,Dave Thomas,前田修吾
- 出版社/メーカー: オーム社
- 発売日: 2009/12/01
- メディア: 単行本
- 購入: 16人 クリック: 316回
- この商品を含むブログ (39件) を見る
話し手の紹介
角谷 信太郎
http://www.esm.co.jp/agile/people/kakutani.html
理工学専門書|Ohmsha
http://www.ohmsha.co.jp/
アジャイルサムライ ――達人開発者への道
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06856-0
- 作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未
- 出版社/メーカー: オーム社
- 発売日: 2011/07/16
- メディア: 単行本(ソフトカバー)
- 購入: 42人 クリック: 1,991回
- この商品を含むブログ (257件) を見る
ruby会議on UST
現在育児休業中なので、当然出席なんて出来なくて、USTで見ております。
Ruby Ruined My Life. を聞いていてメモ
最後のプロポーズが印象的だったw
Ruby を利用した大規模ウェブサービスの開発・運用 を聞いていてメモ
内容は、インフラ的な説明が主だった気がする。下記アプリが、気になった。
あと、最終的な判定時に、リリースしないアプリが発生する際の戻しを
専用の機能をつくってやっているみたいだ。
こういうの結構現場であると思う、現に私が働いている職場でもよく聞く、
簡単にできるなら、ぜひとも公開してほしい。
Shipping at the Speed of Life を聞いていてメモ
英語が早くてわからない><;
Rubyで作った "critical mission" システムについて を聞いていてメモ
緊急地震速報の地震の集計部なのか?、rubyで作られているみたいだ、その開発に関する発表だった。
rubyを使ってやったのは、正直SUGEEEEEなっつうか、よくrubyに決まったなっ!って感じだが、
最後の質問でもあったが、
うーん、なんとも。rubyでWEB以外を作れたっという実績はとっても評価できるが、
発表内容をみると、rubyが遅いとか、信頼性がないからrubyのバージョンアップが出来ないとか
まぁーミッションクリティカルならそうだろうけども、それだと発表にあったバージョンしか
信頼出来ないということになるし、よかった点というのも、プログラマが呟いた、
「rubySUGEEE」
っていうところだけだと、ここから、本当のお客さんにアピールできることは、なさそうだ。
本当のお客さんというのも、なんかお金がとってもありそうなプロジェクトだったみたいだ
普通のお客じゃなさそうだ。
早く、安く、信頼性の高いシステムを!ってのが求められている中で、この発表だと
rubyというか、javaに行っちゃうと思うな。