2008年2月アーカイブ
こちらもWebScrapアプリケーションを作成中に疑問に思ったので覚書として書きます。操作完了したら元URLへリダイレクトしようと思ったのですが別サイト(別ドメイン)へのリダイレクトを以下2つの方法で試しました。
renderメソッドでは外部サイトにはリダイレクトできず、redirect_toを使用したら上手くいきました。
参考プログラムは以下の通りです。
renderメソッドでは外部サイトにはリダイレクトできず、redirect_toを使用したら上手くいきました。
参考プログラムは以下の通りです。
if @item.save
flash[:notice] = 'Item was successfully created.'
redirect_to("http://www.sample.com/")
else
render :action => 'new'
end
以前に話した「WebScrap」を仕事終わってから、作成しているのですが、Webページをキャッシュする部分でDBに保存するのはリソース上やはり厳しいということで自分のGMailに送信することにしました。
これであれば、Web上にHTMLのキャッシュを残しておくことができ、さらに過去にキャッシュしたHTMLページのデータもGoogleの検索エンジンで見つけられます。
Railsで通常のメールを送信するのは、以前の記事(ActionMailer)に書きましたが、HTML形式のメール送信の方法は以下の通りです。
まずはemailオブジェクトを生成し、content_typeを設定してからメール送信すればOKですね。
これであれば、Web上にHTMLのキャッシュを残しておくことができ、さらに過去にキャッシュしたHTMLページのデータもGoogleの検索エンジンで見つけられます。
Railsで通常のメールを送信するのは、以前の記事(ActionMailer)に書きましたが、HTML形式のメール送信の方法は以下の通りです。
- コントローラーに以下メソッドをprivateメソッドとして準備しました。
def sendmail(title, content, mail)
email = RMailer.create_sent( title, content, to )
email.set_content_type("text/html")
ScrapMailer.deliver(email)
end
まずはemailオブジェクトを生成し、content_typeを設定してからメール送信すればOKですね。
hrよりも細いラインを引きたいことがあります。hrだとIEでは細いアンダーラインがひけるのに、Firefoxでは細くならないということもあります。さらにborder 1pxより細いラインが引きたいというときはこれでOK!
他にもやり方あれば教えてください。
他にもやり方あれば教えてください。
.thinline {
border-color:#CCCCCC;
border-style:solid;
border-width:0pt 0pt 1px;
height:0pt;
}
最近、Webアプリケーションを全然つくっていなかったので、以前からつくりたかったScrapBookのWeb版をつくりたいと思います。過去のブログで書いた「Firefoxで必ず使う7つのアドオン」の3位にしたScrapBookの簡易版(きちんとつくるのは手間がかかりそうなので・・・)をWeb上に保存できるサービスを考えてみたいなと思います。
※この前読んだレバレッジ勉強法にもあるようにWebのデータをスクラップできて、どんどん捨てていくようなことが簡単にできるように
ということでいつも通り要件定義
片手間でも2週間くらいでつくれないかなぁー。
※この前読んだレバレッジ勉強法にもあるようにWebのデータをスクラップできて、どんどん捨てていくようなことが簡単にできるように
ということでいつも通り要件定義
- まずはユーザ登録(メールアドレスとパスワードくらいで十分でしょう)
- URLを入力するとサーバに保存できる
- どこからでも登録したサイトが確認できて、ブックマークと違いリンクが消えていることがない(データをサーバに保存するから)
片手間でも2週間くらいでつくれないかなぁー。
先日書いた「Ares Tube」でYouTube動画をiTunesに保存するでは、ipodで再生できる動画形式でなかったため、いろいろ探していたらTube2Podというほぼ求めていた機能があるソフトをみつけました。
機能は以下の通り
Tube2Pod 株式会社マグノリア:オプトメディアライブラリ
機能は以下の通り
- クライアントアプリケーション(インストールタイプ)でWindowsで動作可能
- YouTubeのURLを入力すると指定した形式で指定フォルダに保存できる
- 動画の形式はmpeg4、H264などipodでみれるもの(もちろん、wmv等も指定可能)
- フリーだけど、広告配信アプリケーションも同時にインストールされる
Tube2Pod 株式会社マグノリア:オプトメディアライブラリ
私が使っているipodは、ちょっと古くなってしまいましたが第5世代で動画再生もできるで重宝しています。
いつも動画をいれる際には携帯動画変換君でipod向けに変換していました。
------------------------------------------------------------------------------------------------------
追記(2008.02.16):
下記Ares Tubeですが、iTunesには入ったものの、肝心のipodには保存できなかいです。
mpegフォーマットがipodでは再生できないためですが他のフォーマットで保存する方法がAresTubeに見つかりませんでした。
------------------------------------------------------------------------------------------------------
しかし、YouTubeの動画をいきなりipod(iTunes)に保存できるAres Tubeというサービスを見つけたのでご紹介。
(既に知っている人も多いのでしょうが、、、)
1) まずは以下のリンクからAres Tubeをダウンロードします
Ares Tube ? Descargar Videos De Youtube
特に問題がなければ、そのままデフォルト設定でインストールしましょう
3) Ares Tubeを起動し、YouTube動画を保存する
いつも動画をいれる際には携帯動画変換君でipod向けに変換していました。
------------------------------------------------------------------------------------------------------
追記(2008.02.16):
下記Ares Tubeですが、iTunesには入ったものの、肝心のipodには保存できなかいです。
mpegフォーマットがipodでは再生できないためですが他のフォーマットで保存する方法がAresTubeに見つかりませんでした。
------------------------------------------------------------------------------------------------------
しかし、YouTubeの動画をいきなりipod(iTunes)に保存できるAres Tubeというサービスを見つけたのでご紹介。
(既に知っている人も多いのでしょうが、、、)
1) まずは以下のリンクからAres Tubeをダウンロードします
Ares Tube ? Descargar Videos De Youtube
- 「DESCARGAR ARES TUBE」をクリックして「Ares_Tube_Setup.exe」をダウンロードします
特に問題がなければ、そのままデフォルト設定でインストールしましょう
3) Ares Tubeを起動し、YouTube動画を保存する
- Ares Tube上部のテキストフィールドに保存したいYouTubeのURLを入力する
- テキストフィールド右の矢印をクリックし、その後「+」アイコンをクリックする
- 画面を確認し、保存したい動画であれば「Download」ボタンをクリックする
- [Done]http://jp.youtube.com/watch?xxxxxxxと表示されれば正常にダウンロード完了
長いタイトルになってしまいましたが、その通りなので書きます。これもよく忘れてしまうんですよね。ドメイン名を取得し、別ドメインにリダイレクトする手順です。
1) ドメインをとる。
私はVALUE DOMAINで取得しています。理由は安いからです。.comや.netドメインが1000以下でとれてしまいます。
2) 「メニュー」から「取得済みドメイン一覧」を選択
3) 「DNS」をクリックし以下を記述
※IPはサーバのグローバルIPを設定
4) 次にグローバルIPのサーバの設定(httpd.confにVirtualHostを設定する)
上記設定により、www.syutoku.comにアクセスすると自動的に http://www.redirect.com/redirect/redirect/ にリダイレクトされます。
1) ドメインをとる。
私はVALUE DOMAINで取得しています。理由は安いからです。.comや.netドメインが1000以下でとれてしまいます。
2) 「メニュー」から「取得済みドメイン一覧」を選択
3) 「DNS」をクリックし以下を記述
※IPはサーバのグローバルIPを設定
a * 000.000.000.000 a www 000.000.000.000
4) 次にグローバルIPのサーバの設定(httpd.confにVirtualHostを設定する)
<VirtualHost www.syutoku.com>
ServerAdmin you@example.com
ServerName www.redirect.com
Redirect permanent / http://www.redirect.com/redirect/redirect/
</VirtualHost>
上記設定により、www.syutoku.comにアクセスすると自動的に http://www.redirect.com/redirect/redirect/ にリダイレクトされます。
またまた、体調を崩してしまい。病院の受付で2時間以上待たされたので近くのコンビニで本書を買いました。この「レバレッジ○○○」シリーズは一度読んでみたかったので丁度いい機会だと思って購入。今はコンビニでもこういった本が売っているんですね。
目新しさは無い
時間のない人が効率よく勉強するためのアイデア
自己投資の何たるか。
「本書は自己投資しましょうよ。」といった本です。若い人や、業務に忙殺されてしまっている人にとてもよいのではないかと思います。以下に感想書きます。
目的達成後の自分のイメージを絵とかメモとかで残しておくのも良いかもしれないですね。
すると更にその人からインプットすることがあるのでスパイラルとなる。
特に納得したのは仕事後はそういった人達との話す機会としてスケジュールを埋めるといったところです。
朝:勉強(インプット)→仕事→飲み(スパイラル)→夜:暗記(インプット)というのが効率が良さそうです。
→これいいですね。私もブログの読書カテゴリをA4に印字して持ち歩くことにします。
1)人の話 →すぐにメモ
2)ビジネス書 →A4用紙に印刷する
3)雑誌 →必要な部分だけ切り取り、後は捨てる
4)ウェブ情報 →コピーして自分にメールする
後は情報をシェアするか、頭の中に入れて捨ててしまう。
ちょっとした時間が有効に使えると思います。
なんか久々にRailsでその辺のLifeHackツール作りたくなってきました。
非常に読みやすく、なんかはじめようかなという気分にさせてくれる本だと思います。
【参考サイト】
祐川京子のブログ > 本田直之さん主催「ビジネス書著者の会」に参加しました。 : ITmedia オルタナティブ・ブログ
全米が泣いた!「起業家のためのへそまがりワンポイントアドバイス」 レバレッジ勉強法:本田直之
本田直之
大和書房 (2007/09/25)
売り上げランキング: 1581
大和書房 (2007/09/25)
売り上げランキング: 1581
おすすめ度の平均: 

目新しさは無い
時間のない人が効率よく勉強するためのアイデア
自己投資の何たるか。「本書は自己投資しましょうよ。」といった本です。若い人や、業務に忙殺されてしまっている人にとてもよいのではないかと思います。以下に感想書きます。
- ビジョンを持ってリターンを得る
目的達成後の自分のイメージを絵とかメモとかで残しておくのも良いかもしれないですね。
- インプット・アウトプットのスパイラル手法
すると更にその人からインプットすることがあるのでスパイラルとなる。
特に納得したのは仕事後はそういった人達との話す機会としてスケジュールを埋めるといったところです。
朝:勉強(インプット)→仕事→飲み(スパイラル)→夜:暗記(インプット)というのが効率が良さそうです。
- 時間は天引きする
- レバレッジメモ
→これいいですね。私もブログの読書カテゴリをA4に印字して持ち歩くことにします。
1)人の話 →すぐにメモ
2)ビジネス書 →A4用紙に印刷する
3)雑誌 →必要な部分だけ切り取り、後は捨てる
4)ウェブ情報 →コピーして自分にメールする
後は情報をシェアするか、頭の中に入れて捨ててしまう。
ちょっとした時間が有効に使えると思います。
なんか久々にRailsでその辺のLifeHackツール作りたくなってきました。
非常に読みやすく、なんかはじめようかなという気分にさせてくれる本だと思います。
【参考サイト】
祐川京子のブログ > 本田直之さん主催「ビジネス書著者の会」に参加しました。 : ITmedia オルタナティブ・ブログ
全米が泣いた!「起業家のためのへそまがりワンポイントアドバイス」 レバレッジ勉強法:本田直之
Excelの関数にはASC()があり、全角文字を半角に変換します。この場合、カタカナも半角カナ文字へ変換されてしまいます。
例)A1に「A1のセル」と入力し、B1セルに「=ASC(A1)」と入力する。
結果 ⇒ A1のセル
私が調べたところマクロを使うしかありません。(もし、マクロ以外でもっと簡単な方法があれば教えてください)
以下コードをマクロにコピペし登録してください。
これで先程の例でいうとC1セルに「=ASC2(A1)」と入力すると以下の石化になります。
結果 ⇒ A1のセル
例)A1に「A1のセル」と入力し、B1セルに「=ASC(A1)」と入力する。
結果 ⇒ A1のセル
私が調べたところマクロを使うしかありません。(もし、マクロ以外でもっと簡単な方法があれば教えてください)
以下コードをマクロにコピペし登録してください。
Function ASC2(ByVal str As String) As String
Dim length As Integer
Dim char As String
length = Len(str)
Do While str <> ""
char = Left(str, 1)
If (char >= "0" And char <= "9") Or (char >= "A" And char <= "Z") Or (char >= "a" And char <= "z") Then
ASC2 = ASC2 & StrConv(char, vbNarrow)
Else
ASC2 = ASC2 & char
End If
str = Mid(str, 2)
Loop
End Function
これで先程の例でいうとC1セルに「=ASC2(A1)」と入力すると以下の石化になります。
結果 ⇒ A1のセル
設定ファイルでよく変更のあるデータを外出しにしておきたいことがあります。PerlではYAMLを使ってたのでRubyでも使用できないかと検索したら、なんと標準で使えることがわかりました。
今回はRubyでYAMLを使う方法です。
YAML(ヤムル)とは?
簡単なサンプル(例:設定ファイル)
配列やハッシュもテキストファイルにかけるので便利ですね。
今後は、設定ファイルをYAMLを積極的に使っていくと思います。
【参考サイト】
今回はRubyでYAMLを使う方法です。
YAML(ヤムル)とは?
- テキストプレーンで記載できるのでXMLより楽に記載できる(タグとかを記載しなくてよい)
- データを「配列」、「ハッシュ」、「スカラー」を記載するとオブジェクトに変換してくれる
- 設定ファイル、ログファイル等に使うと便利
簡単なサンプル(例:設定ファイル)
- 配列
- item1 - item2 - item3
- ハッシュ
name: Taro age: 28 email: test@test.testRubyで使用したサンプルソース
- オブジェクトをYAMLフォーマットでダンプする(Ruby → テキスト)
#!/usr/bin/ruby -Ks
require 'yaml'
$KCODE = 's'
hash = {"name" => "Taro", "age" => 28, "email" => ["test1@test.test", "test2@test.test"] }
# YAMLフォーマットでダンプする
puts YAML.dump(hash)
# 実行結果 > ruby main.rb --- name: Taro age: 28 email: - test1@test.test - test2@test.test
- YAML形式の設定ファイルをRubyで取り込む
# config.yamlファイル name: Taro age: 28 email: - test1@test.test - test2@test.test
#!/usr/bin/ruby -Ks
require 'pp'
require 'yaml'
$KCODE = 's'
# YAMLフォーマットでダンプする
config = YAML.load_file("config.yaml")
pp config
# 実行結果
> ruby main.rb
{"name" => "Taro",
"age" => 28,
"email" => ["test1@test.test", "test2@test.test"] }
配列やハッシュもテキストファイルにかけるので便利ですね。
今後は、設定ファイルをYAMLを積極的に使っていくと思います。
【参考サイト】
何度も同じようなプログラム(Rubyでスクレーピング)を作成しているような気がしますが、久々のRubyでクローラー作成。なんでこんなに何度も書くのかというと結構チェックしたいサイトが多く、仕事でも頼まれるためです。
※Perlで作成したクローラーはこちら
今回はきっちりクラスらしく作りました。結構汎用的になっているのではないかと思います。簡単なスクリプトです。
ソースはこれまで通りクリエイティブコモンズで。
かなり以下のサイト参考になります。何度も読ませて頂きました。
【参考サイト】
※Perlで作成したクローラーはこちら
今回はきっちりクラスらしく作りました。結構汎用的になっているのではないかと思います。簡単なスクリプトです。
ソースはこれまで通りクリエイティブコモンズで。
#!/usr/bin/ruby -Ks
require 'hpricot'
require 'mechanize'
require 'kconv'
$KCODE = 's'
class Crawler
def initialize(wait_time, internal, ngwords)
@agent = WWW::Mechanize.new
@wait_time = wait_time
@internal = internal
@ngwords = ngwords
@links = []
end
def http_connect(url)
print "OK\n"
@page = @agent.get(url)
end
def crawl(root)
@page = @agent.get(root)
@page.links.with.href(%r{}).each{|link|
if link.href =~ /^http/
url = link.href
else
%r|http://([^/]*)/| =~ root
url = 'http://' + $1 + '/' + link.href
end
@links << url.sub(/#.*$/,'')
}
@links.uniq!.delete(root)
puts @links
@links.each{|link|
begin
print link if $DEBUG
next unless access_test?(link)
http_connect(link)
sleep @wait_time
rescue => ex
puts ex.message
end
}
end
private
def access_test?(link)
unless %r|#{@internal}| =~ link
print "External Link.\n"
return false
end
@ngwords.each{|ng|
if /#{ng}/ =~ link
print "NG Word\n"
return false
end
}
true
end
end
かなり以下のサイト参考になります。何度も読ませて頂きました。
【参考サイト】
- Rubyでスクレーピング(mechanizeとhpricot)
- Perlでクロールする(LWP::UserAgent)
- RubyScraping - FrontPage
- Greenbear Diary - RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize , HikiReload
いわずと知れたアップル創業者でカリスマ経営者のスティーブ・ジョブズの本です。前から読みたかった本だったのでした。書店でみたらハードカバーでサイズも大きかったのでで驚きました。iMacやiPodの誕生等のエピソードやジョブズの考えなども載っているため買ってよかったと思っています。共感できた内容、感想を書きます。
ジョブスとアップルの偉大なる歴史を振り返りつつ、秀逸なブランド本として読むと面白い。
ますますワクワクします
ジョブズが好きなら買っておくべき
【製品開発について】
どれだけ自分の創る製品にこだわりを持てるか?ということが大切なんだなぁ、と。ジョブズは製品に最高のデザインと飛びぬけているものを求めました。そこには市場など関係なくただ自分が最高に気に入るものを創るということが、以下本人の言葉からわかります。そのこだわりがユーザに期待感を与えているのだと思います。
【リーダーシップについて】
独裁的でもあるが、才能を見つけるのが上手なのだと思います。ウォズニアックにしてもそうですが、彼の周りには優秀な才能がそろっていました。それはジョブズにカリスマ性があるからなのでしょう。更にそれら才能に使命感(とてもすごいことをやっているんだよ)と認識させることに長けていたのでしょう。実力がある人にとって、社会的に意味があることをやっていることが、1番モチベーションがあがるというのを自然とわかっていたのだと思います。
【プロモーションについて】
プロモーションが上手いなぁと思いました。まるで歴史的瞬間を見ているような気分にさせられるんだろうと読んでいて重いました。すごくわくわくして今度は何をするの?という期待感がマスコミにもあったのだと思います。
読んでいて自分もベンチャーを立ち上げたくなるような本でした。ジョブズの言葉も記載しましたが、終始自分がやりたいのは何なのか?という点に強引なまでこだわっているのだと思います。わたしがジョブズに感じたのは、使命感、行動力、デザイン、技術へのこだわり、本来どうあるべきかを考え、使いやすいようにシンプル化し、人々の生活への影響まで計算しているのだと思います。以前に書いたハッカーと画家と類似している点も多数ありました。「良いデザインはシンプル」、技術者はアーティストであるべきという点です。詳細はこちら。
そのようなビジョンが経営者としての魅力になり、実行することでユーザを満足させているのだと思います。iLifeもそうですが、複数のプロダクトがつながり、1つのスタンダードになるという考えは私も持てるようになりたいですね。
他にも本書のことを書いている人もいるんですね。とても参考になりました
スティーブ・ジョブズ 偉大なるクリエイティブ・ディレクターの軌跡
posted with amazlet on 08.02.03
林 信行
アスキー (2007/12/17)
売り上げランキング: 653
アスキー (2007/12/17)
売り上げランキング: 653
おすすめ度の平均: 

ジョブスとアップルの偉大なる歴史を振り返りつつ、秀逸なブランド本として読むと面白い。
ますますワクワクします
ジョブズが好きなら買っておくべき【製品開発について】
どれだけ自分の創る製品にこだわりを持てるか?ということが大切なんだなぁ、と。ジョブズは製品に最高のデザインと飛びぬけているものを求めました。そこには市場など関係なくただ自分が最高に気に入るものを創るということが、以下本人の言葉からわかります。そのこだわりがユーザに期待感を与えているのだと思います。
「僕たちはマックを誰のために作るのではない自分自身のためにつくっている。われわれが問題にしたのはそのマシンが素晴らしいかどうかであって、わざわざ市場調査をしようとは思わなかった」
【リーダーシップについて】
独裁的でもあるが、才能を見つけるのが上手なのだと思います。ウォズニアックにしてもそうですが、彼の周りには優秀な才能がそろっていました。それはジョブズにカリスマ性があるからなのでしょう。更にそれら才能に使命感(とてもすごいことをやっているんだよ)と認識させることに長けていたのでしょう。実力がある人にとって、社会的に意味があることをやっていることが、1番モチベーションがあがるというのを自然とわかっていたのだと思います。
「これは音楽業界のター二ングポイントとして歴史に残るだろう。まさに画期的なものなんだ」
【プロモーションについて】
プロモーションが上手いなぁと思いました。まるで歴史的瞬間を見ているような気分にさせられるんだろうと読んでいて重いました。すごくわくわくして今度は何をするの?という期待感がマスコミにもあったのだと思います。
「今日、アップルは電話を再発明する」
読んでいて自分もベンチャーを立ち上げたくなるような本でした。ジョブズの言葉も記載しましたが、終始自分がやりたいのは何なのか?という点に強引なまでこだわっているのだと思います。わたしがジョブズに感じたのは、使命感、行動力、デザイン、技術へのこだわり、本来どうあるべきかを考え、使いやすいようにシンプル化し、人々の生活への影響まで計算しているのだと思います。以前に書いたハッカーと画家と類似している点も多数ありました。「良いデザインはシンプル」、技術者はアーティストであるべきという点です。詳細はこちら。
そのようなビジョンが経営者としての魅力になり、実行することでユーザを満足させているのだと思います。iLifeもそうですが、複数のプロダクトがつながり、1つのスタンダードになるという考えは私も持てるようになりたいですね。
他にも本書のことを書いている人もいるんですね。とても参考になりました
- スティーブ・ジョブズ 偉大なるクリエイティブ・ディレクターの軌跡 | 石原明の経営のヒント
- 『スティーブ・ジョブズ 偉大なるクリエイティブ・ディレクターの軌跡』というお宝本:[mi]みたいもん!
- 「スティーブ・ジョブズ 偉大なるクリエイティブ・ディレクターの軌跡」と「iPhoneショック 」 - [モ]Modern Syntax



