Yahooインデックスアップデート後にSEOで検索した上位10。

Tuesday, January 26, 2010 Posted by admin

しかもフルアップデート。Yahooの検索順位が大きく変わりますねー。

Yahoo!検索 Index Update
http://searchblog.yahoo.co.jp/2010/01/yahoo_index_update_10.html

TDPと呼ばれている現象が解決するのか?加速するのか?
たまたまインデックスのされ方が悪かっただけなのか?

とりあえず2010年1月26日14時51分時点でYahooでSEOを検索した結果。

1. SEO対策、検索エンジン最適化はグラソフトへ
2. SEO対策|GMO SEOテクノロジー株式会社
3. 検索エンジン最適化 – Wikipedia
4. 長年の研究をもとにしたSEO対策「YES-SEO」-bing対策も始めました-
5. SEO対策 – 検索エンジンで上位表示(10位以内)できた場合のみ報酬を下さい。
6. SEO – Wikipedia
7. SEO対策:完全成果報酬型SEOサービス 旅行情報株式会社
8. SEO対策・・・。 – Yahoo!知恵袋
9. SEO対策|確かな技術と実績のスマートシステム
10. SEO – SEO対策 | 若葉なら10位までゼロ円

もう変動した後かも知れないですがどこまで順位が変動するのか楽しみです。

Google adwords APIのKeywordTool#getKeywordVariationsが遅い人へ

Wednesday, January 13, 2010 Posted by admin

V200909のTargetingIdea#getを使うと速くなりますよ!

adwords4rを利用したサンプルコード。

    service = @adwords.service("TargetingIdea", 200909)

    kw = service.module::Keyword.new
    kw.text = keyword
    kw.matchType = "BROAD"

    parameter1 = service.module::RelatedToKeywordSearchParameter.new
    parameter1.keywords = [kw]

    parameter2 = service.module::AverageTargetedMonthlySearchesSearchParameter.new
    parameter2.operation = service.module::LongComparisonOperation.new
    parameter2.operation.minimum = 0
    parameter2.operation.maximum = 100_000_000_000

    selector = service.module::TargetingIdeaSelector.new
    selector.searchParameters = [parameter1, parameter2]
    selector.requestedAttributeTypes = ["AVERAGE_TARGETED_MONTHLY_SEARCHES"]
    selector.ideaType = "KEYWORD"
    selector.requestType = "STATS"
    selector.localeCode = "ja_JP"
    selector.currencyCode = "JPY"
    selector.paging = service.module::Paging.new
    selector.paging.startIndex = 0
    selector.paging.numberResults = 1
    service.get(selector)

このサンプルでは月の平均検索ボリューム(AVERAGE_TARGETED_MONTHLY_SEARCHES)を1件のみ取得となっています。もしかすると自分の探し方が悪かったかもしれませんが、KeywordTool#getKeywordVariationsでは1件のみの取得が出来ませんでした。

V200909のTargetingIdea#getを使うと細かい設定ができるため、性能を良く出来ます。体感で70%ぐらい速くなりました。

MeCab 0.96でSegment fault。

Tuesday, January 5, 2010 Posted by admin

みんな、Taggerにはnilとか”"(空文字)とかを引数に渡しちゃだめですよ!

>> MeCab::Tagger.new.parseToNode(nil)
(irb):1: [BUG] Segmentation fault
ruby 1.8.7 (2009-04-08 patchlevel 160) [x86_64-linux]

単体で動かしていればすぐに気が付いたんだろうけど、デプロイした後で起こっていたのでなかなか気付きませんでした。

HpricotのXPATHを使って属性名の小文字大文字を無視する

Tuesday, January 5, 2010 Posted by admin

HpricotのXPATHではlower-caseとupper-caseは使えなかったんですね。アイター。

ということでさっくりとコードいじりました。

例えばmetaタグのdescriptionを取り出すときに、以下のように大文字になっていると

<meta NAME="DESCRIPTION" ...>

次のようなxpathでは取り出せません。

//head/meta[@name=description]

これを解決するには以下のようにxpathの関数を使うのが理想なのですが

//head/meta[lower-case(@name)=description]

Hpricotでの実現方法が分からなかったのでElem::Travを直でいじるという乱暴な方法で解決しました。

#
# 属性へのアクセスは全て小文字に揃えます。
#
module Hpricot
  module Elem::Trav
    def has_attribute?(name)
      self.raw_attributes && self.raw_attributes.has_key?(name.to_s.downcase)
    end
    def get_attribute(name)
      a = self.raw_attributes && self.raw_attributes[name.to_s.downcase]
      a = Hpricot.uxs(a) if a
      a = a.downcase if (a && self.name.downcase == "meta" && name == "name")
      a
    end
    alias_method :[], :get_attribute
    def set_attribute(name, val)
      altered!
      self.raw_attributes ||= {}
      self.raw_attributes[name.to_s.downcase] = val.fast_xs
    end
    alias_method :[]=, :set_attribute
    def remove_attribute(name)
      name = name.to_s.downcase
      if has_attribute? name
        altered!
        self.raw_attributes.delete(name)
      end
    end
  end
end

これでmetaタグのname属性だけが全て小文字に揃います。

根室産の刺身とか寿司

Thursday, December 17, 2009 Posted by admin

もう3週間ほどたっていますが、札幌駅北口にあるヤマイチ根室食堂で食べてきました。

サバの刺身!

色々と盛り合わせ豪華!

北海道の居酒屋は寿司もうまいです。

お店の雰囲気はほんと居酒屋です。座敷に座るタイプの、掘りごたつもありますが典型的な居酒屋スタイルで落ち着くと思います。

以下お店の住所です。

北海道札幌市北区北6条西6丁目札幌駅西口高架下
札幌駅西口JR高架下、サンクスより更に西へ

スープカレー食べてきました!ピカンティホライゾン。

Tuesday, December 15, 2009 Posted by admin

おいしいスープカレーおごって貰いました!野菜たっぷり、お皿はいつまでも暖かいまま!

辛さレベル3を選んだところ激辛で汗だくになりました。スープがすごく良い美味しいです。おすすめ!

以下お店情報です。

ピカンティホライゾン
札幌市中央区南19条西7丁目2-17

牡蠣食べてきました!牡蠣!

Saturday, December 12, 2009 Posted by admin

すすきのの勝山さんで牡蠣をたくさん食べて来ました!小粒で味がぎゅっと濃縮されていて体が欲しがる牡蠣です。

北海道って牡蠣の産地がないと思っていたのですがそんなことは無く、厚岸の牡蠣はすごい有名みたいです。天ぷらでも食べたいなー。

上品な野菜スティックを頂いたり、

〆のお蕎麦がまた別格の味わいです。蕎麦そのものも、上にのってる桜海老も、ソバツユもまたどれも優しいんです。

ごちそうさまでした!

近江軍鶏のお店で食べてきました

Sunday, December 6, 2009 Posted by admin

近江軍鶏と和食の店。直(じき)で食べてきました。焼き加減が素晴らしい!ものすごくふっくらとした焼き鳥です。

うすはりのグラスで飲む日本酒。すっきりとした味わいと香りが増す感じです。

たっぷりの炊き込みご飯!軍鶏の炊き込みご飯初めて食べました。これは美味い!4人で分けてちょうど良く食べれました。

店内は和風テイストで落ち着く空間、概観は通向けに目立たないようになっています。値段設定はやや高めぐらいですが価格以上に丁寧な料理が食べれますので大満足です。

以下、お店の情報詳細になります。

住所。札幌市中央区大通西18丁目2-12 MMビル1階
交通機関。地下鉄東西線 西18丁目駅3番出口より徒歩約2分
営業時間。18:00~24:00
定休日。日曜日
席数。14席(カウンター6席・テーブル8席)

場所はこちらです。


大きな地図で見る

MeCabで日本語を楽しむサイト作ったよー

Wednesday, November 25, 2009 Posted by admin

MeCabで日本語を楽しむサイト、めかるぶ(Mecab-る)をリリースしました!日本語が分解されるって面白い!

http://mecabru.jp/

日本語をMeCab(和布蕪)る

このサイトでしている事はほんとに単純で、MeCabの解析結果をそのまま画面に表示しているだけです。

この他にリリースしている地域ったーpimotterでもMeCabは使っていて、もうMeCabなしには生きられない体になってしまいました、YahooAPIのあれじゃ満足できないかも。

でもでも右左にMeCabでの解析結果、YahooAPIでの解析結果を見比べれるのは面白そうです。

仕事でもちょっと使っていますが、このライブラリとしての使いやすさは素晴らしいと思います。テキストプロトコルの偉大さを感じます。あと辞書に単語を足すのが凄く簡単です、パフォーマンスの問題はあるのですが、ちょっとした差分を辞書全体の構築からやり直さなくてもできるのでとっても手軽です。

以下今回のサービスのネタバレです。他は画面だけでした。モデルはありません。

require 'MeCab'

class MecabruController < ApplicationController

  def index
    @form = Form.new(params[:form])
    @form.text ||= DEFAULT_TEXTS[rand(2)]
  end

  def parse

    if (params[:form].blank? || (@form = Form.new(params[:form])).valid? == false)
      render :text => "
値を入力して下さい。
" return end m = MeCab::Tagger.new @nodes = @form.text.split(/[\r\n\t\s ]+/).inject([]){|result, text_node| n = m.parseToNode(text_node) while n result << [n.surface, n.feature] n = n.next end result } end class Form < ActiveForm attr_accessor :text validates_presence_of :text, :message => "テキストが入力されていません。" end DEFAULT_TEXTS = ["そんなことねーよ 前に俺がクオーターパウンダー頼んだ時、 玉ねぎがみじん切りの玉ねぎになっててわざわざ店まで戻って 「クオーターパウンダーの玉ねぎ違うだろ!」 ってクレームつけたら「?」みたいな感じで首かしげられて 新しいの渡されたけど開いてみたらまたみじん切りの玉ねぎで 「みじん切りの玉ねぎしかないなら予め伝えるべきだろ!」ってクレームつけたら 「いや、でも玉ねぎは玉ねぎですからねえ」みたいな事言われて 「いや、じゃなくて俺がクオーターパウンダー頼む理由は  玉ねぎがみじん切りじゃなくて千切りって理由で買ってるわけであって  それならビックマックたのんだ方がましじゃねーか!」 ってクオーターパウンダーモドキを投げつけたら 「こーまーりーまーすー」 とかいってきたからついでにポテトもばらまいてコーラも投げつけようとしたら 「こーまーりーまーすこぉーまーりーまーすぅー」 とか言いながら手を押さえ付けられたから 「え、何しちゃってんの?暴力?」 って言ってコーラ自分でかぶって 「店長さんよお、お前が手を叩いたから  俺にコーラ全部かかっちまったじゃねえか、どないしてくれますの」 って言ったら「こーまーりーまーすー」 ってまた言ってきたから示談金として ビックマックとフィレオフィッシュ要求したら、警察に通報されてて捕まった", "俺は昔H宿のマックでダブルチーズバーガーのLセット頼んだんだけど、 ドリンク置かれた場所がトレーの端だったから 地下行く階段の手前でトレーから落としたのね あちゃーって顔してレジ見たら店員のお姉さんが笑顔で 「新しいのご用意しますね」って言いながら、 トレー持って立ち尽くしてる俺に小走りでカウンターの中から出てきたのね 多分落ちたカップを拾ったり掃除しようとしたんだろうけどさ そしたらお姉さんがいきなり 「おきをふんすなっぶ」 とか言いながら落ちてた氷を踏んで豪快に転けたんだよ そして俺に体当たりしてきて俺はトレーに残ってたポテトを 撒き散らしながら階段を転げ落ちた お姉さんは体当たりした瞬間俺のみぞおちに二発位パンチしてて マックの店員ははんぱねぇと思ったわマジで"] end

以上です。それではよろしければMeCabを楽しんで下さい!

ここ数年で読んで面白かった本の紹介

Friday, November 13, 2009 Posted by admin

ふとした事で読んできた本を振り返る機会がありましたので、
ここ数年で読んで面白かった本の紹介です。

新訳 君主論 (中公文庫BIBLIO)
新訳 君主論 (中公文庫BIBLIO) Machiavelli

中央公論新社 2002-04
売り上げランキング : 3450

おすすめ平均 star
star人間性の本質を抉る、鋭い洞察の書
star二項対立的に考えるのは誤り
star後出しじゃんけんの方法論

Amazonで詳しく見る

マキャベリを読むと内製の重要性が分かります。

仕事を100倍楽しくするプロジェクト攻略本
仕事を100倍楽しくするプロジェクト攻略本
ベストセラーズ 2007-07-14
売り上げランキング : 12177

おすすめ平均 star
star最高のクリアを目指そう!
starプロジェクトの楽しさが倍増するヒントを満載
star人と協力して何かをするときに必ず役に立つ

Amazonで詳しく見る

全てのプロジェクトで共通する考え方と行動を学べます。個人的にソフトウェア開発のプロセスについて書かれた本の中で最高の本です。

人を伸ばす力―内発と自律のすすめ
人を伸ばす力―内発と自律のすすめ 桜井 茂男

新曜社 1999-06-10
売り上げランキング : 32157

おすすめ平均 star
star帯通り「人間観が一変」しました。
star「人を育てる」ことの本質を学べる本
star読みやすい 成果主義の愚かさがわかる

Amazonで詳しく見る

自分で自由を選び取る過程と、その環境を理解できます。自発的な行動をしたい、または促したい時に読むと最適だと思います。

自省録 (岩波文庫)
自省録 (岩波文庫) 神谷 美恵子

岩波書店 2007-02
売り上げランキング : 4257

おすすめ平均 star
star昔も今も、地位がある人も双でない人も、人は変わらない
star現実と理想の狭間で
star成功哲学の《元祖》。

Amazonで詳しく見る

変化し続ける事と、学び続けることの大切さ。その姿勢を正してくれる本です。ストイックな気持ちよさがあります。

戦争論〈上〉 (中公文庫BIBLIO S)
戦争論〈上〉 (中公文庫BIBLIO S) Carl von Clausewitz

中央公論新社 2001-11
売り上げランキング : 98486

おすすめ平均 star
star現在お金出して読む必要はなし
star歴史的著作物のひとつ
star戦争の考え方

Amazonで詳しく見る

前半だけ読むと面白いです。「戦争とは他の手段をもってする政治の継続である」

論理哲学論考 (岩波文庫)
論理哲学論考 (岩波文庫) 野矢 茂樹

岩波書店 2003-08-20
売り上げランキング : 1662

おすすめ平均 star
star必読教科書というよりは参考書的ポジションかも?
star我々は沈黙すべきか・・
star思考宇宙のそのはてに

Amazonで詳しく見る

プログラマーにはウィトゲンシュタインが好き人が多いです。ぼくもそうです。プログラミング言語ではありませんが、ここに書かれていることはプログラミングそのものです。

以上です、多いような少ないような感じでした。