出てきましたよ。出てきましたともさ。
今日になって山科署からハガキが。曰く「遺失物発見通知書」「あなたのものと思われるカードケースが……」
昨日散々家の中引っかき回した後、諦めて再交付を決めたときに「こういうのは探すのをやめてから、新しいのを手に入れた時に出てくるもんだ」と言ってたのが現実のものとなったわけです。嗚呼、3800円。
消印が H17.4.18 8-12 だから翌日配達してくれてたら間に合ったのに。隣の県なのに〜。
つまり現状
2005/04/01#p01 サブタイトル
と表示されるのを
2005/04/01#p01 [カテゴリ] サブタイトル
と表示するようにする。
但し、カテゴリA をリスト表示してるときに、[カテゴリA] なんて表示しても無意味だし、やらない。2つ以上のカテゴリに属す場合に [カテゴリB] というのを表示する。
↓misc/plugin/category.rb ($Revision: 1.21 $) の変更点
# categorized[c][ymd] << [idx, s.stripped_subtitle_to_html, shorten]
nonstripped_subtitle = s.categories.collect{|c2| (c2 != c) ? %Q[<%=category_anchor("#{c2}")%>] : '' };
nonstripped_subtitle.push(' ', s.stripped_subtitle_to_html);
nonstripped_subtitle = nonstripped_subtitle.join('');
categorized[c][ymd] << [idx, nonstripped_subtitle, shorten]
コメントアウトされた1行目がオリジナルで、2-5行目が追加部分。
一昨日から無くて、家にあると思ってたけどどうも外で落としたみたい。バイクに乗る人は胸ポケットに入れておくと落ちますので。注意。
警察署と免許センターに行って即日交付。3200円[+600円(証明写真)]もかかったせいで財布の中は400円。(不覚にもチェック漏れしてた) ●REC 3巻を本屋で発見したというのに買うにはチョット足りない。
↓skel/diary.rhtml ($Revision: 1.21 $ / 3行目)
<h2><span class="date"><a name="<%=date.strftime("%Y%m%d")%>" href="<%= opt['index'] %><%%=anchor "<%= @date.strftime( '%Y%m%d' ) %>" %>"><%= @date.strftime( opt['date_format'] ) %></a></span> <span class="title"><%= title %></span><%
↓misc/plugin/index_list.rb →tDiary-2.1.1(N日表示)対応版
# index_list.rb
#
# 「最新」「月」表示に対応した目次を表示。
# recent_listやtitle_listと違い日付のリンク先は日別表示でなくページ内。
# その為に、diary.rhtmlをいじって日付にアンカーを付ける必要がある。
# 骨格にrecent_list.rbを使用。
# [2005-04-20] 月表示では昇順に。
def index_list(date_format = nil, show_title = true)
date_format ||= @date_format;
if(@mode == 'latest')
limit = @conf.latest_limit;
elsif(@mode == 'month')
limit = 31;
else
return '';
end
result = '';
@diaries.keys.sort.send(@mode == 'latest' ? :reverse_each : :each) {|date|
break if(limit <= 0);
diary = @diaries[date];
next unless(diary.visible?);
result << %Q[<p class="recentitem"><a href="##{date}">#{diary.date.strftime(date_format)}</a>\n];
if(show_title && diary.title)
result << %Q[ #{diary.title}];
end
result << %Q[</p>\n<div class="recentsubtitles">\n];
i = 1;
if(!@plugin_files.grep(/\/category.rb$/).empty? && diary.categorizable?)
diary.each_section{|section|
result << section.categories.collect{|c| category_anchor("#{c}")}.join;
result << ' '+section.stripped_subtitle_to_html if(section.stripped_subtitle);
result << "<br>\n";
i += 1;
}
else
diary.each_section{|section|
if(section.subtitle)
result << %Q[#{section.subtitle_to_html}<br>\n];
end
i += 1;
}
end
result << "</div>\n";
limit -= 1;
}
return apply_plugin(result);
end
↓recent_update.rb
# recent_update.rb
#
# 「追記」「編集」時に、日記の日付と実際の時刻を記録。
# プラグインで最近更新された日記を表示。
# [2005-04-20] 表示数の制限がきいてなかったのを修正。
def recent_update(limit=5)
result = '';
uplist = RecentUpdateCache.new(@cache_path);
uplist.each{|d, up, ar|
break if(limit == 0);
date = d.strftime('%Y%m%d');
result << %Q[<p class="recentitem"><a href="#{@index}#{anchor date}">#{d.strftime('%Y-%m-%d')}</a> <span class="recentupdate_lm">(更新日:#{up.strftime('%Y-%m-%d %H:%M:%S')} /#{ar})</span></p>\n];
limit -= 1;
}
result;
end
add_update_proc(){
uplist = RecentUpdateCache.new(@cache_path);
d = @date;
up = Time.now();
ar = @mode;
uplist.append(d, up, ar);
uplist.save(30);
}
class RecentUpdateCache
def initialize(cache_path)
@path = File.join(cache_path, 'recent_update');
@update_list = [];
begin
File.open(@path, 'r') {|f|
f.each_line{|line| line.chomp!;
date, up_date, ar = line.split(/\s*,\s*/);
date = Time.local($1, $2, $3) if(date =~ /(\d{4})-(\d{2})-(\d{2})/);
up_date = Time.local($1, $2, $3, $4, $5, $6) if(up_date =~ /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/);
@update_list.push([date, up_date, ar]);
}
}
rescue
end
end
def append(d, up, ar)
@update_list.unshift([d, up,ar]);
end
def save(limit=-1)
begin
File.open(@path, 'w'){|f|
@update_list.each(){|d, up, ar|
break if(0 == limit);
d = d.strftime('%Y-%m-%d') if(d.kind_of?(Time));
up = up.strftime('%Y-%m-%d %H:%M:%S') if(up.kind_of?(Time));
f.puts([d,up,ar].join(','));
limit -= 1;
}
}
rescue
end
end
def each(&block)
@update_list.each{|d, up, ar| yield(d, up, ar) }
end
end
どういうわけだか 2005/200503.td2ファイルは存在してない。悲しい。
categoryキャッシュとamazonキャッシュから購入履歴だけは復元(できたと思う)。
要望リストから発見。自分も欲しい。古い日記もちょこちょこ修正するから。
appendとreplaceを捉まえて日付をファイルに記録していく方式になるだろうね。
↓tdiary.rb (Revision: 1.195.2.2。TDiaryLatestクラスだけ抜粋。変更点はそこだけ)
#
# class TDiaryLatest
# show latest mode view
#
class TDiaryLatest < TDiaryView
def initialize( cgi, rhtml, conf )
super
ym = latest_month
#↓追加
if(@cgi.valid?('from') && @cgi.params['from'][0] =~ /(\d\d\d\d)(\d\d)(\d\d)/)
date_from = Time::local($1.to_i, $2.to_i, $3.to_i)
ym = [date_from.year, date_from.month]
@date = nil
else
date_from = nil
end
#↑
unless @date then
@date = ym ? Time::local( ym[0], ym[1] ) : Time::now
@io.transaction( @date ) do |diaries|
@diaries = diaries
#↓追加
if(date_from)
(date_from.day+1..31).each{|day| self.delete(Time::local(date_from.year, date_from.month, day)) }
end
#↑
@diary = @diaries[@diaries.keys.sort.reverse[0]]
DIRTY_NONE
end
end
if ym then
y = ym[0].to_i
m = ym[1].to_i
oldest = oldest_month
calc_diaries_size
while ( oldest and @diaries_size < @conf.latest_limit )
date = if m == 1 then
Time::local( y -= 1, m = 12 )
else
Time::local( y, m -= 1 )
end
break if date < Time::local( *oldest )
@io.transaction( date ) do |diaries|
@diaries.update( diaries )
calc_diaries_size
DIRTY_NONE
end
end
#↓追加
date_to = date_from;
latest(@conf.latest_limit) {|diary|
date_to = diary.date;
}
if(date_to && date_from != date_to)
if(date_to.day == 1)
if(date_to.month == 1)
date_to = Time::local(date_to.year-1, 12, 31);
else
date_to = Time::local(date_to.year, date_to.month-1, 31);
end
else
date_to = Time::local(date_to.year, date_to.month, date_to.day-1);
end
@conf['date_to'] = date_to;
end
#↑
end
end
protected
def calc_diaries_size
@diaries_size = 0
@diaries.each_value do |diary|
@diaries_size += 1 if diary.visible?
end
end
def latest( limit = 5 )
idx = 0
@diaries.keys.sort.reverse_each do |date|
break if idx >= limit
diary = @diaries[date]
next unless diary.visible?
yield diary
idx += 1
end
end
def cache_file( prefix )
#↓条件文追加
if(@cgi.valid?('from'))
nil
else
"#{prefix}#{@rhtml.sub( /\.rhtml$/, '.rb' )}"
end
#↑
end
end
↓misc/plugin/next_diaries.rb (EUCで保存後、選択して使用可能にする)
# next_diaries.rb
#
# <概要> 「最新」表示の時に「次の○日分」へのリンクを表示する。
# <条件> tdiary.rbのTDiaryLatestクラスに細工してあることが前提。
def next_diaries(label=nil)
if(@mode == 'latest' && @conf['date_to'])
%Q[<a href="#{@conf.index}?from=#{@conf['date_to'].strftime('%Y%m%d')}">#{(label || next_diaries_label)}</a>]
else
''
end
end
def next_diaries_label()
"次の#{@conf.latest_limit}日分"
end
MLを読んでたわけではないのにこのカブりよう。
日日日。結局何冠なのか知らないがとにかくいっぱい賞をとったスーパー高校生。これはホラーらしい。『私の優しくない先輩』は純愛らしく、そっちのが興味あるが単行本なのでいかんせん価格が高い。
ホラーじゃないよね。怖くない。ちーちゃんは怪談好きだけどホラーって言えるのはそこだけ。日常の崩壊ったって主人公は最初から非日常の中で生活してるし。「ジュブナイルホラー」って書かれてたのからホラーだけを抜き出したのは間違いだった。
唐突に感想。
巧い。文体からは若さを感じない。言葉遊びや誤字・誤用、クセのある言い回しもら抜き言葉も読み飛ばしたくなるようなタルい文章もない。
話。語り部である主人公(高校生)は自分の悲惨な境遇に抵抗するでもなく幼なじみのちーちゃんと努めて普通の学校生活を送っている。でもそれは薄氷の上に成り立つ危うい日常に過ぎなくて、ちーちゃんに起こったあることがきっかけでたやすく崩壊してしまう。
もどかしい。現実から乖離していくちーちゃん、(世間から見て)壊れていくちーちゃんを主人公はどうして強くつなぎ止められないのか。抱きしめて安心させてあげられないのか。
破滅に向かって突き進んでいっておきながら、その先にあるラストには拍子抜け。どうせなら徹底的に全部ぶち壊して欲しかった。
この人の本は映画化もされた 秘密 しか読んでない。あらすじによると脳移植を受けた青年が徐々に自分を失っていくという。この辺りに、娘の体に母親の意識が宿る『秘密』に似た匂いを感じたので買ってみた。タイトルも漢字二字で似てるでしょ。
『秘密』では、娘の体を手に入れた妻が徐々に自分の手を離れて新しい人生を歩んでいくことへの夫の葛藤が描かれていて、ラストに至っては完全に夫に感情移入して一緒に喪失感を味わい読後の余韻に浸ったものです。
大学入ってすぐの健康診断で近くになった人にお勧めの本を聞かれたときに『秘密』と答えて変な顔されたのは、今思うと「秘密(教えられない)」と誤解されたのだろう。困ったタイトルだ。
クラッチレバー、クラッチレバーホルダ、ホルダブラケット、クラッチスイッチ、ネジ類のセットでした。クラッチレバーホルダ単品で売ってないのはクラッチスイッチを分けたくないからなのかも。
去年、春夏秋用に買ったグローブはイマイチだった。
この二点を踏まえ
をポイントに選ぶことに。
今回のポイントとは関係ないが選択肢を絞るために。
レザーにはやはり憧れる。使うほどに馴染んでくるというし、フィット感も優れているらしい。しかしシンプルなものは、のっぺらぼうで全く飾り気がなかったり、通気性のために甲側全面に穴が開いていたりで見た目が好きになれない。レザージャケットを着たアメリカン乗りなら似合うのかもしれないが。そして値段も7000円〜10000円と高め。
結論:街乗り100%のなんちゃってオフ車乗りにはメッシュが合う。
指を失いたくないのでハーフフィンガーは却下。フィット感が大事なので指が太いものも却下。フィット最優先なのでプロテクション性を謳ったゴツイものも却下。
判断が難しくて一番大事なのが親指と人差し指の開き具合。通販なのではめてみることができない。それでも、手のひらの真ん中に近い位置からにょっきり太い親指が生えてるものが条件を満たさないのは判る。画像で確認できた中で期待できそうだと思ったのが GOLDWIN。親指が細く、開いてるものが多く確認できる。
GOLDWINに決めてからも選択肢が多くて悩む。決め手は商品名を含めて7つもの「フィット」が登場する商品説明。これがフィットしなかったらどれを選んでもダメだろう、と。
結果は大正解。
敢えて難点を挙げると、想像以上にペラかったこと。プロテクションに関してはフィットのために切った部分ではあるし、それでも素手よりマシなので構わないが、耐磨耗性に不安が出てきた。
気に入ったグローブなので一、二年で破れるのなら今のうちに買っておきたい。
韓国ドラマは妹萌えの楽園だそうで。やっぱりそうだったのですね。母親が天国の階段を毎週見てるんだけど、「お兄ちゃんっ」という田中美里の声に呼ばれてテレビを見ること度々。もしやと思ってましたが、やはり。
"使える"本ではないだろうけど、"読める"本ではあると思う。
ブックオフで買おうか買うまいか決めかねてぱらぱらめくってたら一つの名前が目に留まる。太田克史。あんたこんなとこで何やってんだー(仕事だよ)ってことで購入決定。(何かを期待したわけじゃなくて単なるキッカケ)
著者があまりに自信満々に語るもんだから話半分に聞いてるつもりだけど(二章の途中まで読んだ現在までにも)いくつかうなずかされるところがある。
1.に関して自分は日本語を話すときでさえ言葉によっては口がついて来ないように感じるので表情筋が相当なまってるのだろう。
2.は確かに必要。頭の中にぼんやり文の全体像をためておき、ある程度量がまとまってきたら前後の関係などから 曖昧にしかわからなかった語をはっきりさせて、意味のある文を一つ作る。というようなことができればいいなと思ってる。語→文→パラグラフと脳で扱う単位を徐々に大きくしていけば処理速度が上がってリスニングが楽になる気がする。
3.新聞を読んでいて「メーン」という語に初めて出会ったとき思考が2秒ほど停止した記憶がある。本気で理解できなかった。読売新聞が機械的に[エイ]を[ー]にしてるようなのは前々から気付いてたので逆変換してみて初めて意味を理解できた。いやホントに。
他にもレーバーデーなんてのを見たこともある。意味不明でしょ。レイバーデイって変換して初めて Labor Dayかなって想像できる。
この問題の難しいところは、MAINはメインだけどGAMEはゲーム、NAMEもネームだってこと。個人の文章なら使い分けもありだけど新聞なんかは統一しなあかんにゃろね。
ログViewer。本当に"使ってみた"だけで、活用例ではないな。
サービス精神が足りない(メソッドが少ないとか、"文字列"への変数埋め込みができないとか)。イテレータがない。そのせいでどうしても冗長になりがち。
Ajaxって言葉は初めて聞いたけどその中身は何か懐かしい。WSHを思い出す。
どんなのかっていうと、これまでサーバーに情報を送るにはフォームを作ってSUBMITするかURLの最後にパラメータをくっつけて送る必要があってそれには必ずページ移動が伴ってたんだけど、XMLHTTPオブジェクトを使えばGETやPOSTがスクリプトだけで実行できてページの移動も発生しない。ということだろうか。
嬉しいのはIEの独自拡張ではないということ。FirefoxやSafariでも使えるらしい。
♭ セルフツッコミ昇順降順を考慮するように(index_list.rb)。表示数の制限が効いてない(recent_update.rb)..