最新 追記
RSS feed

からっぽの日記


2011-08-01(月) [長年日記]

tDiary を git で管理・更新していく その2

昨日書いた方針に基づき作業をしたのでメモ。まだよくわかっていない。fetch、merge はまだ試していないので次の更新がうまくいくかはまだわからない...

tdiary の取得(テスト環境)

github から tdiary 本体と contrib を取得する。

$ mkdir -p ~/local/tdiary
$ cd ~/local/tdiary
$ git clone git://github.com/tdiary/tdiary-core.git core
$ git clone git://github.com/tdiary/tdiary-contrib.git cntrib

公式リポジトリの設定(テスト環境)

公式と同期をとるためにリモートリポジトリ official を設定する。

本体

$ cd ~/local/tdiary/core
$ git remote add official git://github.com/tdiary/tdiary-core.git
$ git remote -v
official        git://github.com/tdiary/tdiary-core.git (fetch)
official        git://github.com/tdiary/tdiary-core.git (push)
origin  git://github.com/tdiary/tdiary-core.git (fetch)
origin  git://github.com/tdiary/tdiary-core.git (push)

contrib

$ cd ~/local/tdiary/contrib
$ git remote add official git://github.com/tdiary/tdiary-contrib
$ git remote -v origin
official        git://github.com/tdiary/tdiary-core.git (fetch)
official        git://github.com/tdiary/tdiary-core.git (push)
origin  git://github.com/tdiary/tdiary-core.git (fetch)
origin  git://github.com/tdiary/tdiary-core.git (push)

自分用のブランチ作成と設定を追加(テスト環境)

作成したブランチに下記のファイルや自作テーマなどをコピーしながら、git add と git commit を実行する。

ブランチを作成する。以下、ブランチで作業する。

$ cd ~/local/tdiary/core
$ git branch sakura
$ git checkout sakura
Switched to branch 'sakura'

$ git branch
  master
* sakura

section_footer2.rb 用に json.rb をコピー

$ cd ~/temp
$ wget http://www.ping.de/~flori/json-1.5.3.tgz
$ tar zxf json-1.5.3.tgz
$ cp -rp json-1.5.3/lib/* ~/local/tidary/core/misc/lib/
$ cd ~/local/tidary/core
$ git add misc/lib/json.rb
$ git commit

contrib/js にシンボリックリンクを作成する

$ cd ~/local/tdiary/core/js
$ ln -s ../../contrib/js/* .
$ git js/draft.js js/flickr.js js/jquery.socialbutton.js js/picasa.js js/socialbutton.js js/yahoo_kousei.js
$ git commit

contrib 以外に追加したプラグインを git で管理

$ mkdir ~/local/tdiary/other-plugin
$ cd ~/local/tdiary/other-plugin
$ git init

作成したディレクトリにプラグインをコピー後、

$ git add hogehoge.rb
$ git commit

さくらレンタルサーバに共用リポジトリを作成(レンタルサーバ)

さくらレンタルサーバにログインし、共有リポジトリ*1を作成する。

本体用

$ mkdir -p ~/var/git/tdiary-core.git
$ cd ~/var/git/tdiary-core.git
$ git --bare init
Initialized empty Git repository in /home/username/~/var/git/tdiary-core.git/

contrib 用

$ mkdir -p ~/var/git/tdiary-contrib.git
$ cd ~/var/git/tdiary-contrib.git
$ git --bare init
Initialized empty Git repository in /home/username/var/git/tdiary-contrib.git/

その他追加したプラグイン用

$ mkdir -p ~/var/git/tdiary-other-plugin.git
$ cd ~/var/git/tdiary-other-plugin.git
$ git --bare init
Initialized empty Git repository in /home/username/var/git/tdiary-other-plugin.git/

ローカルリポジトリの内容を共用リポジトリに反映(テスト環境)

本体

$ cd ~/local/tdiary/core
$ git remote rm origin
$ git remote add origin ssh://username@hostname/~/var/git/tdiary-core.git
$ git remote -v
official        git://github.com/tdiary/tdiary-core.git (fetch)
official        git://github.com/tdiary/tdiary-core.git (push)
origin  ssh://username@hostname/~/var/git/tdiary-core.git (fetch)
origin  ssh://username@hostname/~/var/git/tdiary-core.git (push)
$ git push origin sakura

contrib

$ cd ~/local/tdiary/contrib
$ git remote add origin ssh://username@hostname/~/var/git/tdiary-contrib
$ git remote -v
official        git://github.com/tdiary/tdiary-contrib (fetch)
official        git://github.com/tdiary/tdiary-contrib (push)
origin  ssh://username@hostname/~/var/git/tdiary-contrib (fetch)
origin  ssh://username@hostname/~/var/git/tdiary-contrib (push)
$ git push origin master

その他追加したプラグイン

$ git remote add origin ssh://username@hostname/~/var/git/tdiary-other-plugin
$ git remote -v
origin  ssh://username@hostname/~/var/git/tdiary-other-plugin.git (fetch)
origin  ssh://username@hostname/~/var/git/tdiary-other-plugin.git (push)
$ git push origin master

さくらレンタルサーバ上でチェックアウト(レンタルサーバ)

$ mkdir -p ~/local/tdiary
$ cd ~/local/tdiary
$ git clone file:///home/username/var/git/tdiary-core core
$ git clone file:///home/username/var/git/tdiary-core core
$ cd ~/local/tdiary/core
$ git checkout -b sakura origin/sakura

公開用ディレクトリの設定(レンタルサーバ)

$ mkdir ~/www/diary
$ cd ~/www/diary

index.rb を作成

#!/usr/bin/ruby
require '/home/hoge/local/tdiary/core/index'

update.rb を作成

#!/usr/local/bin/ruby
require '/home/hoge/local/tdiary/core/update'

パーミッションの設定

$ chmod 755 index.rb
$ chmod 755 update.rb

テーマと Javascript 用のシンボリックリンク作成

$ ln -s /home/username/local/tdiary/core/js .
$ ln -s /home/username/local/tdiary/core/theme .

プラグインのパス設定(tdiary.conf に追記)

@options['sp.path'] = [
    '/home/hoge/local/tdiary/core/misc/plugin',
    '/home/hoge/local/tdiary/contrib/plugin',
    '/home/hoge/local/tdiary/other-plugin',
]

*1 共有というか自分専用ですが^^;


2011-08-02(火) [長年日記]

フォト蔵プラグイン改良に向けて調べてみた

jQuery も Ajax もしらない私ですが、プラグインの picasa.rb が画面遷移なしで "アルバム取得→写真のサムネイル表示→テキストエリアに挿入" をできるのを見てすごいと思い、フォト蔵でもできないかなと思ったわけですがムズカシイ。甘くはない...

  • フォト蔵 API は XML で返してくるのでクロスドメイン制限に引っかかる。
  • photo_album APIメソッドは BASIC 認証が必要だ。公開アルバムだけでも認証なしならなぁ...
  • photo_list_public APIメソッドで取得したデータを加工すれば代用できそうだけど、許容なデータ量とかよくわからない... 加工も大変か?
  • アルバムのサムネイルは作れるのかなぁ。テキストで我慢?

jQuery + Ajax なサンプルコード書くまで知らんかったですが、クロスドメイン制限に引っかかるのですね... ということで、画面遷移なしは現実的ではないのかな... 画面遷移ありで考えても、そもそもどう実装するんだか描けてない。プラグインの書き方というか Web の知識がないからな、まだまだ遠い。

とりあえず4年前に書いたソースを晒してみます。bookmarklet で写真 ID を取得して、プラグイン記法をクリップボードにコピーするとかを作るのが私の限界かもなぁ。bookmarklet もよく知らないけど^^;

require "open-uri"
require "rexml/document"
require "kconv"


def photozou(photo_id, size = "medium", place = "photozou")
  photo = photozou_photo_info(photo_id.to_s, size)
  unless photo
    return "[ERROR] photozou.rb: failed to get photo."
  end

  if @cgi.mobile_agent?
    body = %Q|<a href="#{photo[:src]}">#{photo[:title]}</a>|
  else
    body = %Q|<a href="#{photo[:page]}"><img class="#{place}" title="#{photo[:title]}" alt="#{photo[:title]}" src="#{photo[:src]}"|
    body << %Q| width="#{photo[:width]}"| if photo[:width]
    body << %Q| height="#{photo[:height]}"| if photo[:height]
    body << %Q|></a>|
  end

  body
end

def photozou_left(photo_id, size = "medium")
  photozou(photo_id, size, "left")
end

def photozou_right(photo_id, size = "medium")
  photozou(photo_id, size, "right")
end

def photozou_open(photo_id)
  api_photo_info = "http://api.photozou.jp/rest/photo_info?photo_id=#{photo_id}"

  cache_dir = "#{@cache_path}/photozou"
  Dir::mkdir(cache_dir) unless File::directory?(cache_dir)

  file = "#{cache_dir}/#{photo_id}.xml"

  unless File.exist?(file)
    begin
      timeout(5) do
        open(file, "w") do |f|
          open(api_photo_info).each do |line|
            f.puts line
          end
        end
      end
    rescue TimeoutError => e
      File.delete(file)
      raise e
    end
  end

  open(file) {|f| yield f }
end

def photozou_photo_info(photo_id, size = "medium")
  photo_info = {}
  photo_size = {}
  photo_tag = ""

  begin
    photozou_open(photo_id) do |f|
      res = REXML::Document.new(f)
      photo_info[:page]  = res.elements["//rsp/info/photo/url"].text
      photo_info[:title] = res.elements["//rsp/info/photo/photo_title"].text
      photo_info[:src]   = res.elements["//rsp/info/photo/image_url"].text

    case size
    when "small"
        photo_tag = res.elements["//rsp/info/photo/large_tag"].text
      when "medium"
        photo_tag = res.elements["//rsp/info/photo/medium_tag"].text
      when "large"
        photo_tag = res.elements["//rsp/info/photo/large_tag"].text
      else
        photo_tag = res.elements["//rsp/info/photo/medium_tag"].text
      end
    end

    photo_size = get_photo_size(photo_tag, size)
    photo_info[:width]  = photo_size[:width]
    photo_info[:height] = photo_size[:height]
  rescue Exception => e
    return nil
  end

  photo_info
end

def get_photo_size(photo_tag, size)
  photo_size = {}

  if /width="(\d+)".*height="(\d+)"/ =~ photo_tag
    if size == "small"
       photo_size[:width]  = ($1.to_i / 3).to_s
       photo_size[:height] = ($2.to_i / 3).to_s
    else
       photo_size[:width]  = $1
       photo_size[:height] = $2
    end
  end

  photo_size
end

2011-08-06(土) [長年日記]

ウミノ先生の原画展に行って来た!

西武池袋で開催されているウミノ先生の原画展に行ってきました。初日ということもあるかもしれませんが多くの人が並んでおりました。待ち時間は30〜40分ほどだったかな?

まず入ってすぐのところにマンガの先生方やウミノ先生とゆかりのあるご著名な方々のお祝い色紙が展示されておりました。杉田さんの色紙がインパクトありました f^_^;)

次にハチクロに関しての展示がありました。イラストレーションズに載っていた画が生で観れたりしました。本当にやさしく繊細で色彩豊かに描いてあります。はぐちゃんとあゆの色々な描き方があって面白い。目の描き方が印象的かなぁ。

次に資料の写真や先生の道具、あとブンちゃんの写真がいっぱいでした。ブンちゃん、ほんとうにかわいい!

そしてネームやラフ?からネームに至る過程が展示されておりました。マンガの描き方はよくわからないですが、鳥肌が立ち、込み上げるものがありました。ウミノ先生は天才という人ではないと思います。ですが、ここまで人を惹きつけ何かを与える作品を作れるということは命を削りながら描いているのではないか? そう思ってしまうほどの力を感じてなりませんでした...

3月のライオンのコーナーでは先日読んだ最新刊に載っていた原稿があり、我慢していた涙がまた出そうに...

1時間半くらいの鑑賞ですが、時間も忘れ引き込まれてしまう催しでした。じっくり観ていただきたい、オススメです!そして、ぜひまたやって頂きたい!


2011-08-07(日) [長年日記]

WORLD HAPPINESS 2011

日光に弱い私ですが、WORLD HAPPINENSS 2011 に初めて行ってきた! YMO 好きでもないので申し訳ないのですが、 YUKI、サカナクションがお目当であります。開場2時間前くらいに夢の島に到着しましたが、皆さんお早くてけっこう並んでいらっしゃる。暑くてあれ以上は待てないですね、私は^^; 場所はセンターステージの中心15~20列目目を確保。最前列のほうは、YMO な気合い入った人たちなのかな。音楽のことはわかっておりませんが、ここで感想を。

トップバッターは OKAMOTO'S。元気いっぱい&ファンキーで良かった。いいスタートでした。次の宮沢和史さんは大人な盛り上げ方でよかった。スチャダラパーはたのしー。詳しくないですが、楽しく盛り上がれる。さすが。

そして、神聖かまってちゃん→サカナクション→Salyu x Salyu→YUKI の流れはすごかった。ここで力付きましたが... かまってちゃんはレフトステージのほうで盛り上がりたかったなぁ。尺が短くて不完全燃焼だったろうけど、異彩を放っていたw

生サカナクションはめちゃカッケー!一気に跳ねた感じ。盛り上がった。登場から演出もカッコイイわ。ライブ行ってみたい、観たい。

Salyu x Salyu はキュートで不思議というか表現できない。あの歌唱力、パフォーマンスはすごい。

そして YUKI は問答無用にかわいかったわけです。一番黄色い声援が飛んでましたね!

  1. JOY
  2. メランコリニスタ
  3. Hello!
  4. Wild Ladies
  5. 鳴いてる怪獣
  6. ワンダーライン

順番あってるかな? 掴みは JOY で。JOY ダンス躍って楽しすぎる! そして Wild Ladies では「限界を作らないことにした!」と宣言し、エレキギター弾いている姿はまぁ天使のよう。ちょっと調子は悪そうでしたがf^_^;) また観たいよ! そして、megaphonic を早く聴きたい、ツアー待ち遠しい。その前にサマソニあるけど!

あとはよくわかりません、ゴメンなさい。トリの YMO はふらふらながらも心地よく聴かせて頂きました。

雨が途中降ったりしましたが、そんなに長く振らなくてよかったです。晴れ女な YUKI ちゃんのおかげですねw 楽しかった。おわり。


2011-08-08(月) [長年日記]

ウミノ先生の原画展に再び

土曜日初日から2日ぶり通算2度目のウミノ先生の原画展に行ってきました。10時の開店と同時に入って行く方多数でしたが、わたしは #ponponpain のため出遅れ(>_<) とは言え、土曜日とは違いすんなり入場できました。鑑賞もしやすかったかな。土曜日に比べて人が少なかったというのはありましたが、ウミノ先生のツイートのおかげ?か空いてるスペースから回っている人も多かった気がしますし。とは言え、鑑賞時間は前回と同じ1時間半でした。やはりこれくらいは必要になる。少しゆったり観れてよかったです。そして2回目ですが、やはりネームの展示あたりから込み上げくるものが... 私の涙腺壊れかかってるのではないかと思ってしまいます...

ちょっと気になったのは物販の種類が減っていたので既に売り切れが発生しているのかと。補充とかあるのかな?私もやっぱり買っておけば良かったと思ってたものがあったけど、売り切れてた f^_^;)

私はウミノ先生に救って頂いたと感じておりますが、その恩を一生かかっても返すことはできないと思われます。そんな私ですがせめて先生が幸せであり続けるがお祈りしたいと思います。そして、この方の描く世界のゆく果てをもっと観てみたいと強く思います。

以上、3日ほど気持ち悪い日記で失礼しましたm(__)m


2011-08-13(土) [長年日記]

SUMMER SONIC 2011 大阪

サマソニに初参戦してきました!大阪 13日です。ワーハピ同様に YUKI がお目当ということでどうなんだというご意見があるかもしれませんが... 暑すぎて死にそうでしたが全体として楽しかった!また行きたいぞ。内容については語れるほどのものはございませんで YUKI のみ書いてみる。 それにしてもマキシマムザホルモン→ YUKI てすごい流れだったなw イイ意味で空気が変わりすぎ。マキシマムザホルモンすごかった、楽しかった。もっと前のほうへ行きたかったけど、ニワカには無理でした、ゴメンナサイ。

YUKI の出番では端のほうですがステージから10m くらいかな?のところから観戦開始。夢も島に引き続き舞洲でも天使すぎる!あちこちからカワイイという声が聞こえてきた。セットリストは、

  1. JOY
  2. 長い夢
  3. メランコリニスタ
  4. Hello!
  5. Wild Ladies
  6. 鳴いてる怪獣
  7. 裸の太陽
  8. ワンダーライン

であってるかな?日曜に続いて JOY ダンスで始まり楽しすぎる。長い夢では元気いっぱいでちょっと転んじゃったのかな?ちょっと心配でしたけど、その後も全開! Wild Ladies のギターは今回なかったですね^^; 泣いてる怪獣はガォーがやっぱりイイ! カワイイのは当然ながら、力強いステージだった。早くMegaphonic 欲しい。そして、アリーナツアーが待ち遠しい!

ヘッドライナーのレッチリは事情により30分くらいしか観れず...なんだかチケット代がもったいな気がしてならないが。ニワカな私なので By The Way が一曲目で聴けたのはせめてよかったか。人の量も空気もすごいわ。最後まで観たかったよ。あとは、もう少し MOUNTAIN ステージのほうも観たかったか。 それにしても日曜に引き続き、土曜も YUKI を観るということをやってしまい、12月まで耐えれるかわたし... とりあえず、金曜の Mステで YUKI 充するぞ!


2011-08-18(木) [長年日記]

ダ・ヴィンチ 2011年9月号

雑誌を買わない読まない生活になってましたが、久しぶりにダ・ヴィンチを買ってみた。お目当てはウミノ先生。モンスターウミノ先生 vs おかざき真里先生の対談もあり、充実の内容!

まずコピーがすごいよかった、グッときた。

「羽海野チカ 精一杯の真実」

本当に真っ直ぐな人だと感じる。馬鹿正直なくらい。悩んで悩んで追いつめられた末につかんだ答えが正しいと信じる先生。それ故、多くの人に愛されるのだろう。原画展の盛況ぶりや先生へのメッセージや先生からの回答を読んでいるとすごく伝わってくる。

不器用な天才。努力して努力して天才の領域に近付いている人ではないだろうか。天才とそうでない人、両者の視点を同時に描ける人はなかなかいないと思う。それ故、マンガの登場人物のように苦しみ闘っているのだろう、魂を削るように。ウミノ先生の対談を読んでいるとしばしば感じる。だからこそ、魂を揺さぶる作品が生まれ、いつも問いかけられているような気がする。「お前は今幸せか?」「お前は頑張っているのか?」と。そう問われながらも毎回凹んでいるだけで成長できていないですが...

ウミノ先生にとって生きることは描くことなのかもしれない。はぐちゃんの言葉を借りているのだとすれば。しかしあまり無理をなさらず、幸せであって欲しい。ブンちゃんとともに。

それにしても3月のライオンが3巻で終わるはずだったとは。驚きw

ダ・ヴィンチ 2011年 09月号 [雑誌]

メディアファクトリー
¥ 490


2011-08-21(日) [長年日記]

フォト蔵プラグインを作り始める。

ようやくですが、下記の流れで作り始めた。

  1. 日記の更新画面にてアルバム取得(仮)ボタンをクリック
  2. update.rb へ POST
  3. photo_album API へ POSTし、アルバム一覧を取得(SSL BASIC 認証あり)
  4. photo_list_public API へ GET し、アルバム毎の写真一覧を取得(XML をサーバに保存)
  5. 日記の更新画面にアルバム一覧を表示(各アルバムの最新?の写真をサムネイル表示)
  6. アルバムをクリックし、写真一覧を表示(jQuery から保存した XML を参照)
  7. 写真をクリックし、フォームに挿入

フォト蔵 API はクロスドメイン制限があるため、サーバ側で API をキックし取得した XML をサーバ上に保存する必要がある(たぶん)。XML 保存後は jQuery を使い、画面遷移なしで操作できるようにする。と書いていますが、問題というかわからない点もいくつか。

  • POST しているが、CSRF とかよくわかっていない。
  • プラグイン内でフォト蔵へ BASIC 認証しているが、セキュリティ的にどうなんだろう。
  • 処理が遅い。XML の入出力が問題。

セキュリティについては勉強が必要か。処理が遅い問題は、I/O を減らすロジックがうまく書けていないです...完成にはまだ遠そうだ。


2011-08-25(木) [長年日記]

megaphonic

いろんな表情をみせてくれる、そしてウキウキと元気になれる一枚!

前作うれしくって抱きあうよでは、「手作りの音を届けたい」という思いを生の音で表現した YUKI ちゃん。今回は統一性はないけど、いろんな音が込められている。不安で苦しいこともある。でも、今の自分を信じようよ、もっと楽しもう笑おうと語りかけてくれるように感じます。

揺れるスカート、クライマー・クライマーは新しい YUKI で衝撃?! 不安な気持ちを最高にかっこ良く歌っている。その間に鳴いてる怪獣というのがまたイイではないか。そして、笑い飛ばせ → 相思相愛 → 集まろう for tommorow では背中を押してくれているような感覚になります。相思相愛の最後はハミングバードなんだね。最初気づきませんでした...みなさんしっかり聴いてますね^^;

まとめると全部イイのだよ! かっこよく、軽快なんだけど力強い。YUKI の進化を表現しているような。ライブが楽しみ過ぎる内容だぁ! と音楽はわからいないので抽象的な内容の感想でした^^;

一点残念だったのは、DVD に Hello! の MV が入ってない... ユキビデオ3 を発売してくださーい!

megaphonic(初回生産限定盤)
YUKI
ERJ
¥ 3,203


2011-08-27(土) [長年日記]

アンテナブースターを入れてみた

PT2 で録画を始めて8ヶ月くらい経つわけですが、1ヶ月前くらいからか地上波でドロップ?・ブロックノイズ?が発生する時があり、まともに観れないことが発生するようになった。組んだ当初はそんなことなかったんですが、信号レベルも特に変わってないし... とりあえずよくわからないけど、手頃な値段だったのでブースーターを間に噛ますことにしました。

アンテナの分割は屋外で2分割、PT2 の手前で2分割でしていますので、PT2 側分割の前にブースターを入れました。ブースターを入れましたが、信号レベルは特に変わらず 33db くらい。導入後録画した1週間分を観ていますが、改善されたかも。ただ、毎回発生していたわけではないので経過観察が必要かな。

HORIC アンテナブースター 室内・地デジ(UHF/VHF)専用 中継タイプ HAT-ABS024

ホーリック
¥ 2,770


最新 追記
RSS feed