2008年2月アーカイブ

#2 Railsで別サイトへリダイレクト(redirect_to)

   ブックマークに追加する
こちらもWebScrapアプリケーションを作成中に疑問に思ったので覚書として書きます。操作完了したら元URLへリダイレクトしようと思ったのですが別サイト(別ドメイン)へのリダイレクトを以下2つの方法で試しました。

renderメソッドでは外部サイトにはリダイレクトできず、redirect_toを使用したら上手くいきました。

参考プログラムは以下の通りです。


    if @item.save
      flash[:notice] = 'Item was successfully created.'
      redirect_to("http://www.sample.com/") 
    else
      render :action => 'new'
    end

#1 RailsでHTMLメールを送信する(ActionMailer)

   ブックマークに追加する
以前に話した「WebScrap」を仕事終わってから、作成しているのですが、Webページをキャッシュする部分でDBに保存するのはリソース上やはり厳しいということで自分のGMailに送信することにしました。

これであれば、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ですね。 

CSSで細いアンダーラインをひく方法

   ブックマークに追加する
hrよりも細いラインを引きたいことがあります。hrだとIEでは細いアンダーラインがひけるのに、Firefoxでは細くならないということもあります。さらにborder 1pxより細いラインが引きたいというときはこれでOK!

他にもやり方あれば教えてください。


.thinline {
border-color:#CCCCCC;
border-style:solid;
border-width:0pt 0pt 1px;
height:0pt;
}

#0 RailsでScrapBookのWeb版をつくる(WebScrap)

   ブックマークに追加する
最近、Webアプリケーションを全然つくっていなかったので、以前からつくりたかったScrapBookのWeb版をつくりたいと思います。過去のブログで書いた「Firefoxで必ず使う7つのアドオン」の3位にしたScrapBookの簡易版(きちんとつくるのは手間がかかりそうなので・・・)をWeb上に保存できるサービスを考えてみたいなと思います。
※この前読んだレバレッジ勉強法にもあるようにWebのデータをスクラップできて、どんどん捨てていくようなことが簡単にできるように

ということでいつも通り要件定義

  • まずはユーザ登録(メールアドレスとパスワードくらいで十分でしょう)
  • URLを入力するとサーバに保存できる
  • どこからでも登録したサイトが確認できて、ブックマークと違いリンクが消えていることがない(データをサーバに保存するから)
サービス名はWebScrapとします。

片手間でも2週間くらいでつくれないかなぁー。

#2 簡単にYouTubeの動画をiTunes(ipod)に保存できる Tube2Pod

   ブックマークに追加する
先日書いた「Ares Tube」でYouTube動画をiTunesに保存するでは、ipodで再生できる動画形式でなかったため、いろいろ探していたらTube2Podというほぼ求めていた機能があるソフトをみつけました。

機能は以下の通り

  • クライアントアプリケーション(インストールタイプ)でWindowsで動作可能
  • YouTubeのURLを入力すると指定した形式で指定フォルダに保存できる
  • 動画の形式はmpeg4、H264などipodでみれるもの(もちろん、wmv等も指定可能)
  • フリーだけど、広告配信アプリケーションも同時にインストールされる
以下リンクから「Tube2Pod_Optmedia116_Setup.exe」ダウンロードし、そのままインストールしてください。

Tube2Pod 株式会社マグノリア:オプトメディアライブラリ

簡単にYouTubeの動画をiTunesに保存できるAres Tube

   ブックマークに追加する
私が使っている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

  • DESCARGAR ARES TUBE」をクリックして「Ares_Tube_Setup.exe」をダウンロードします
2) Ares_Tube_Setup.exeをクリックして、Ares Tubeをインストールする

特に問題がなければ、そのままデフォルト設定でインストールしましょう

3) Ares Tubeを起動し、YouTube動画を保存する

  • Ares Tube上部のテキストフィールドに保存したいYouTubeのURLを入力する
  • テキストフィールド右の矢印をクリックし、その後「+」アイコンをクリックする
  • 画面を確認し、保存したい動画であれば「Download」ボタンをクリックする
  • [Done]http://jp.youtube.com/watch?xxxxxxxと表示されれば正常にダウンロード完了
※ファイアーウォールが有効になっているとダウンロードできない場合があります。私も環境もそうでした。

ValueDomainで取得したドメインをGIPと結びつけリダイレクトする方法

   ブックマークに追加する
長いタイトルになってしまいましたが、その通りなので書きます。これもよく忘れてしまうんですよね。ドメイン名を取得し、別ドメインにリダイレクトする手順です。

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/ にリダイレクトされます。

#5 【読書】「レバレッジ勉強法 」を読んで

   ブックマークに追加する
またまた、体調を崩してしまい。病院の受付で2時間以上待たされたので近くのコンビニで本書を買いました。この「レバレッジ○○○」シリーズは一度読んでみたかったので丁度いい機会だと思って購入。今はコンビニでもこういった本が売っているんですね。


レバレッジ勉強法
レバレッジ勉強法
posted with amazlet on 08.02.13
本田直之
大和書房 (2007/09/25)
売り上げランキング: 1581
おすすめ度の平均: 3.5
3 目新しさは無い
4 時間のない人が効率よく勉強するためのアイデア
3 自己投資の何たるか。

「本書は自己投資しましょうよ。」といった本です。若い人や、業務に忙殺されてしまっている人にとてもよいのではないかと思います。以下に感想書きます。

  • ビジョンを持ってリターンを得る
  具体的な目的達成後の自分を思い描くことで、自己投資を継続させる
  目的達成後の自分のイメージを絵とかメモとかで残しておくのも良いかもしれないですね。

  • インプット・アウトプットのスパイラル手法
  人と話すときは予め情報をインプットしておき、人と話すことでアウトプットする。
  すると更にその人からインプットすることがあるのでスパイラルとなる。
  特に納得したのは仕事後はそういった人達との話す機会としてスケジュールを埋めるといったところです。
  
   朝:勉強(インプット)→仕事→飲み(スパイラル)→夜:暗記(インプット)というのが効率が良さそうです。

  • 時間は天引きする
  忙しい人は特にですね。さらに朝型勉強にした方が集中できて良いようです。何度もトライしているのですがこれがなかなかなかできないんですよね。

  • レバレッジメモ
  本を読んだら大事な部分をPCに入力しA4用紙に印字しておく
  →これいいですね。私もブログの読書カテゴリをA4に印字して持ち歩くことにします。

  1)人の話 →すぐにメモ
  2)ビジネス書 →A4用紙に印刷する
  3)雑誌 →必要な部分だけ切り取り、後は捨てる
  4)ウェブ情報 →コピーして自分にメールする

  後は情報をシェアするか、頭の中に入れて捨ててしまう。

ちょっとした時間が有効に使えると思います。
なんか久々にRailsでその辺のLifeHackツール作りたくなってきました。

非常に読みやすく、なんかはじめようかなという気分にさせてくれる本だと思います。

【参考サイト】
祐川京子のブログ > 本田直之さん主催「ビジネス書著者の会」に参加しました。 : ITmedia オルタナティブ・ブログ
全米が泣いた!「起業家のためのへそまがりワンポイントアドバイス」 レバレッジ勉強法:本田直之


Excelで英数字のみ半角に変換する方法

   ブックマークに追加する
Excelの関数にはASC()があり、全角文字を半角に変換します。この場合、カタカナも半角カナ文字へ変換されてしまいます。

例)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のセル

RubyでYAMLを使う

   ブックマークに追加する
設定ファイルでよく変更のあるデータを外出しにしておきたいことがあります。PerlではYAMLを使ってたのでRubyでも使用できないかと検索したら、なんと標準で使えることがわかりました。

今回はRubyでYAMLを使う方法です。

YAML(ヤムル)とは?
  • テキストプレーンで記載できるのでXMLより楽に記載できる(タグとかを記載しなくてよい)
  • データを「配列」、「ハッシュ」、「スカラー」を記載するとオブジェクトに変換してくれる
  • 設定ファイル、ログファイル等に使うと便利
YAML自体はPerlやPythonでももちろん使えます。YAMLの仕様については以下が参考になります。

簡単なサンプル(例:設定ファイル)
  • 配列
- item1
- item2
- item3
  • ハッシュ
name:  Taro
age: 28
email: test@test.test
Rubyで使用したサンプルソース

  • オブジェクトを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でクローラー作成(mechanize, hpricot)

   ブックマークに追加する
何度も同じようなプログラム(Rubyでスクレーピング)を作成しているような気がしますが、久々のRubyでクローラー作成。なんでこんなに何度も書くのかというと結構チェックしたいサイトが多く、仕事でも頼まれるためです。

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

かなり以下のサイト参考になります。何度も読ませて頂きました。

【参考サイト】

いわずと知れたアップル創業者でカリスマ経営者のスティーブ・ジョブズの本です。前から読みたかった本だったのでした。書店でみたらハードカバーでサイズも大きかったのでで驚きました。iMacやiPodの誕生等のエピソードやジョブズの考えなども載っているため買ってよかったと思っています。共感できた内容、感想を書きます。

スティーブ・ジョブズ 偉大なるクリエイティブ・ディレクターの軌跡
林 信行
アスキー (2007/12/17)
売り上げランキング: 653
おすすめ度の平均: 4.5
5 ジョブスとアップルの偉大なる歴史を振り返りつつ、秀逸なブランド本として読むと面白い。
5 ますますワクワクします
5 ジョブズが好きなら買っておくべき


【製品開発について】
どれだけ自分の創る製品にこだわりを持てるか?ということが大切なんだなぁ、と。ジョブズは製品に最高のデザインと飛びぬけているものを求めました。そこには市場など関係なくただ自分が最高に気に入るものを創るということが、以下本人の言葉からわかります。そのこだわりがユーザに期待感を与えているのだと思います。

「僕たちはマックを誰のために作るのではない自分自身のためにつくっている。われわれが問題にしたのはそのマシンが素晴らしいかどうかであって、わざわざ市場調査をしようとは思わなかった」

【リーダーシップについて】

独裁的でもあるが、才能を見つけるのが上手なのだと思います。ウォズニアックにしてもそうですが、彼の周りには優秀な才能がそろっていました。それはジョブズにカリスマ性があるからなのでしょう。更にそれら才能に使命感(とてもすごいことをやっているんだよ)と認識させることに長けていたのでしょう。実力がある人にとって、社会的に意味があることをやっていることが、1番モチベーションがあがるというのを自然とわかっていたのだと思います。

「これは音楽業界のター二ングポイントとして歴史に残るだろう。まさに画期的なものなんだ」

【プロモーションについて】
プロモーションが上手いなぁと思いました。まるで歴史的瞬間を見ているような気分にさせられるんだろうと読んでいて重いました。すごくわくわくして今度は何をするの?という期待感がマスコミにもあったのだと思います。

「今日、アップルは電話を再発明する」

読んでいて自分もベンチャーを立ち上げたくなるような本でした。ジョブズの言葉も記載しましたが、終始自分がやりたいのは何なのか?という点に強引なまでこだわっているのだと思います。わたしがジョブズに感じたのは、使命感、行動力、デザイン、技術へのこだわり、本来どうあるべきかを考え、使いやすいようにシンプル化し、人々の生活への影響まで計算しているのだと思います。以前に書いたハッカーと画家と類似している点も多数ありました。「良いデザインはシンプル」、技術者はアーティストであるべきという点です。詳細はこちら

そのようなビジョンが経営者としての魅力になり、実行することでユーザを満足させているのだと思います。iLifeもそうですが、複数のプロダクトがつながり、1つのスタンダードになるという考えは私も持てるようになりたいですね。

他にも本書のことを書いている人もいるんですね。とても参考になりました

このアーカイブについて

このページには、2008年2月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年1月です。

次のアーカイブは2008年3月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

あわせて読みたいブログパーツ
フィードメーター - ウェブ-HACKS 「とりあえずやってみよう!」ブログ   
track feed
  • SEO対策 
  • _ 
  • _ 
  •  
  •  

このブログはクリエイティブ・コモンズでライセンスされています。