早いもんだね。。。
プーしてたときには欠かさず毎日postしてたのに
今では月に一回ってところです。
できれば有意義な情報をpostしたいなぁ~と思えば思うほどキチンとまとめないと世間様に見せることもできないなんて思ってしまって。。。
と自分への言い訳はこの程度にして
まぁ、投稿してたものにしても世間様でお役に立っているのかどうか?と不安に思っていたんですが、
今日、珍しくコメントを頂いて
やっぱり、居たんだね私と同じことを思っていた人が!嬉しいですよ!!
やっぱり、有意義な事だけpostしようと思いつつ
こんなpostをしてる自分がちょっと情けない。。。
日曜日, 12月 06, 2009
日曜日, 1月 04, 2009
とりあえず3年目
おととしに比べれば格段にpostした回数は落ちてるけど
このブログを初めて何とか3年目です。
これからも思ったことを書いていこうと思う。
というか少しはお役に立てる情報を発信できればと思います。
しかし、冷静に考えてみれば
なーんも良いことなんて書いたことなんてあったけ??
何とかして便利なものを探していこうと
まぁ、努力はしてみます。
このブログを初めて何とか3年目です。
これからも思ったことを書いていこうと思う。
というか少しはお役に立てる情報を発信できればと思います。
しかし、冷静に考えてみれば
なーんも良いことなんて書いたことなんてあったけ??
何とかして便利なものを探していこうと
まぁ、努力はしてみます。
水曜日, 12月 31, 2008
やっぱり偏ってるよなぁ~
早いものでもう年末の大みそか
今年はホントに色々ありました。。。
新しい仕事
新しい家族
これからもよろしくお願いします。嫁さま
まぁ、ともかく普段からPCをポチポチ触っている割に
自分の知ってることにかなり偏りがあるってことがよーくわかった。
それはMoneyLook3とかいうソフト
正直、こんなに楽だとは。。。
もっと色々見識を広げたいもんだね。
来年はもっと色んな見識を深めたいと思います。
今年はホントに色々ありました。。。
新しい仕事
新しい家族
これからもよろしくお願いします。嫁さま
まぁ、ともかく普段からPCをポチポチ触っている割に
自分の知ってることにかなり偏りがあるってことがよーくわかった。
それはMoneyLook3とかいうソフト
正直、こんなに楽だとは。。。
もっと色々見識を広げたいもんだね。
来年はもっと色んな見識を深めたいと思います。
木曜日, 12月 25, 2008
ただの旅行のはずだったのに。。。
金曜日, 9月 26, 2008
基本に戻る
ちょっと気になることがあって
Spring2.5のイントロダクションを読んでいる。
どっかに日本語訳ないかなぁ~
どうしても、Springポートフォリオってのがどんなものをイメージしているのか見えてこない。。。
僕の解釈ではSpringコアによって各ビジネスオブジェクトの分散が可能(EJBみたいな意味の分散ではなく)ってな具合に読み取っているんだけどあってるのかなぁ~???
分散って言うよりかは依存性を少なくし各モジュールの独立性を高めたんで管理しやすいWindowsファミリならぬSpringファミリってな具合のことを言いたいのかな??
このあたりを理解しているしていないの違いがどのあたりに現われてくるのかもまだ分かっていない。
まぁ、じっくり読んでいくことにしようと思う。
月曜日, 7月 28, 2008
プレッシャーとバネ
今日は2つ目です。
仕事場で今言ってる会社が出しているポスターがあるんですが、
そこに社長さんのメッセージが載っていて、
「プレッシャーをバネに・・・」云々と書いてあったんですが、
そもそも、こういう使い方ってありなのか?って考えてしまいました。
そもそも、プレッシャーってどういった意味?って考えると
どう考えても仕事いうとマイナスイメージなワードしか出てこないです。。。
脅迫って・・・
どうやったら脅迫されているのに、無茶をせなあかんのだ?って僕は考えてしまいます。
次にバネなんですが、ざっくり言うと「弾性エネルギーを蓄積する性質をもつ機械要素」ってことらしいです。
物理ちっくな話になりますが、弾性エネルギー云々を専門用語で『畜勢』(ちくせい)といいます。
この蓄えられたエネルギーを取り出すためにはため込む時に利用した。エネルギーを取り除くことによって、弾性エネルギーを放出するという仕組みになっています。
さぁ、ここで改めてタイトルのプレッシャーとバネを考えてみると
脅迫やら仕事に追われている状況を弾性エネルギーと考えったらベクトルとかがそろわないと思われるので、ある程度方向性をまとめるためにフィルタリングしたと考えて、
そのエネルギーがバネに貯め込まれます。
貯めるためにかかる力=プレッシャー
貯まる力=プレッシャーがかかっているチーム(人)の素地
っていう解釈を僕はしているので、
ここで、一般的に考えられるバネの反発(畜勢されたエネルギーが元に戻る)を発生させるには、
蓄積する際に利用した力(ようはプレッシャーですね)を取り除かないとエネルギーを解放できないと思われるんですが。。。
それで良いんだろうか??
水曜日, 6月 11, 2008
色々ある日だなぁ~
仕事の方はまったく進展が見えないですけどね。。。
「わくわく青色申告2」を購入してみた。
とりあえず、ずっと伝票を入力し続けた。。。
ところで、交通費ってどうやって清算しようかな?
ICOCA使ってたらチャージした時に領収書をもらうようにしないと。。。
後は伝票入力の裏でホームサーバのFedora8 x86_64を9に上げてみました。
何のことはなくすんなりアップグレードは完了です。
話は戻るが、伝票はマメに入力しようというお話でした。
日曜日, 6月 08, 2008
サイトのwidthを思い切って1000pxにしてみる
前々から思っていたことなんですが、3カラムのレイアウトを使っていると
どうしても使いにくいというか読みにくなぁ~と思うことがたびたびあった。
そこで!
思い切って横幅を1000pxにしてみました。
analyticsの解像度とかを見てる限り、
まぁ、世間一般的に問題ないだろうと思う。
土曜日, 5月 31, 2008
火曜日, 5月 13, 2008
自身の高校生活を思い返してみる
この間から社会復帰を果たしたんですが、
それまでの間にいろいろと考えることがありました。
その中でも学生生活のころに「もっとこうすれば良かった」なんて後悔することもしばしばありました。
今の自分が高校生に戻ったらどうなるんだろう??
と、叶いもしないことをもやもや考えてみたり。。。
まあ、戻ったところで大して変わりそうにないような気もしないこともないですが。。。
少なくとも語学は勉強しなおしたいもんです。
何かと英語の技術文書を四苦八苦して読んでいるとなおさら実感できます。。。
そんな中、いつもお世話になっているプレスブログさんから
フィジーに高校を作っちゃう!っていうリリースを目にしました。
さすがに僕が学生にはなれないんですが、ボランティアも募集しているようです。
もう少し早くこの情報を手に入れていれば。。。
せめて今の契約を交わす前に。。。
そうすれば、いろんな意味で僕も成長できると思うんです。
その高校はフィジーの無人島に建てられるそうです。
南国のフィジーかぁ~、環境とかも良いんだろうなぁ~
環境が良いというのは、学習(フィールドワーク)内容とかも充実してそうw(かなり勝手な思い込みですが。。。)
その高校はフリーバードというところが来年の1月に開校に向けて活動しているそうです。
あ、ちなみに無人島ってことは全寮制なんですけどね。
イメージとしてはこんな感じなんですかね?
フィジーといえば観光ビジネスとかが盛んだと思っていたんですが、確かに観光に使える環境に教育を組み合わしたビジネス展開をしているフリーバードさんには「なかなか良い着眼点なんじゃないのかなぁ~」と僕の中での評価は上々です。
フィジーといえば観光ビジネスとかが盛んだと思っていたんですが、確かに観光に使える環境に教育を組み合わしたビジネス展開をしているフリーバードさんには「なかなか良い着眼点なんじゃないのかなぁ~」と僕の中での評価は上々です。
月曜日, 4月 21, 2008
BlogPeopleのレビューがついてた
こういうのをもらえるとうれしいもんですね。
意外とBloggerを改造している記事に需要があるようだ。
しかし、そういう意味でいくと
普段、下らないことしか書いていないのに申し訳なく思ってしまうのです。
もうちょっと人の為になる記事を書こうと改めて思った。
月曜日, 4月 14, 2008
金曜日, 12月 21, 2007
Blogger Large Post Editorをちょっといじる
クリボウの Blogger Tips: 投稿編集画面を広くするユーザースクリプト「Blogger Large Post Editor」
で紹介されていた
を導入してみました。
便利なんですが、ちょっと嫌なところも。。。
それは、テンプレートのサイズによってレンダリング結果が異なるという点です。
特に画像を並べて表示するときとか!!
きちんとhtmlを考えて組めばいいわけですが、せっかくのWYSIWYG編集機能ですから、そのまま使いたいのが人情です。
bloggerの編集画面はアンダーバーが引けないのにガッカリしてはいるのですが。。。(FireFoxだと、ctrl+uでページのソースが表示されます)
そこで、1行だけですがスクリプトを変更しました。
場所は36行目のid=richeditorframeに当たる部分のwidthの値を私が使用しているテンプレートサイズ425pxに変更しました。
編集画面はパッと見では変なところもありますが、この部分だけを変更すれば、編集画面の『作成』タブのときだけ指定したサイズになります。
逆に『HTMLの編集』タブにすると画面幅最大(width=100%)まで広がるようになって編集しやすいと思います。
レンダリング結果に苦労している方はやってみては?
ただし、入力エリアのフォントサイズはブラウザに影響されるんで注意が必要です。。。
なんとかならんかなぁ~
火曜日, 11月 20, 2007
30代を目の前にした「プログラマ35歳定年説」
CNET Japanさんの記事に「36歳になって思う「プログラマ35歳定年説」」ってのが載っていたので読んでみた。
色々と見解を見せてくれているが、
以下の言葉にまったくもってそのとおり!と思った。
ここまでで「プログラマ35歳定年説」について考えてみると、 私はどっちかというと否定派でありたいと考えています。 何故なら私の場合、人に職業を聞かれれば「プログラマだよ」と答えるからです。 「プログラマからSEへステップアップ」とかよく言いますが、 「そもそもSEとは何ぞや?」という問いかけがあるからです。
我ながら無職なのによくもまあこんなにむちゃくちゃなことを書くなぁ~と思いますが、IT業界に残るにしても他業種に走るにしても経営や経理の部分はしっかり考えれる人間になれればと思います。 昔、バイトを始めた頃に親父から言われた言葉の重大さがよくわかります。 「働いているところの金の回し方を良く観察して、少しでもおかしいと思ったらあやしいから辞めてしまえ」 要は、「そのバイト先なり企業の金の巡り(キャッシュフロー)を見れば会社の質がよくわかるよ」という意味なんだと今更ながらに思うわけです。 タイトルからは思いっきり脱線してるような気もしなくはないですけど、所詮は定説なんだからあんまり言葉に振り回されないように35歳くらいまでに足元を固めとけよという意味くらいで私は受け止めておきます。
少なくとも、「私は管理職が嫌なんです。技術がしたいんです」と、「技術を何かを断る道具」にしている間は、何も解決には向かわないであろう。そういう私も、かつては自分自身が「技術」を使って他を嫌がっていた張本人。過去に「もし」はないが、もしも過去に戻ることができたら、今の自分から昔の自分に言ってあげたい。そうだよなぁ~、「技術」って言葉で片付けて、今までやってきた自分はこれに見事に該当するんではないか? さらに言えば「技術」と一言で言ってもいろんな技術がある(大工といっても鳶職もいれば左官屋もいるわけで)私の場合はJavaでやっていきたいという希望だけを漠然と持っていただけでさらにブレイクダウンさせないといけないのをそこでストップさせてしまっていたんでは無いんだろうかと考えてしまう。 うつになったのも「とりあえず、技術技術って言って先走ってみたのは良いものの、技術(ここではJavaだけど)のどういったところに特化すべきか?」なんてことも碌に考えずに「僕はアーキテクトになるんだー」なんて甘っちょろい考えをしていたのが悪かったんじゃないのかと思う。 結局のところ、自分のキャリアパスとしてアーキテクトというのはあるがそのアーキテクトって言葉の裏にどういう意味を込めているのか(正確には込めるべきか?)が自分自身わかっていなかったんじゃないのか?と思うわけです。 これって「技術」⇒「アーキテクト」に置き換えてるだけで、結局、技術技術と周りにある管理とかの世界から背を背けているだけなんじゃないの?とぼんやり思うようになったわけです。 昔々に「EA(エンタープライズアーキテクチャ)やりてー」と言っていた時に会社のエライ人に「お前にはまだ早い」と言われた理由が今ならよくわかります。 今は所詮、世間様から見ればちょっとJava言語ってのを使えるプログラマでしかないということを実感するわけです。
ここまでで「プログラマ35歳定年説」について考えてみると、 私はどっちかというと否定派でありたいと考えています。 何故なら私の場合、人に職業を聞かれれば「プログラマだよ」と答えるからです。 「プログラマからSEへステップアップ」とかよく言いますが、 「そもそもSEとは何ぞや?」という問いかけがあるからです。
- 要件定義ができればSE?
- 基本設計ができればSE?
- 詳細設計ができればSE?
我ながら無職なのによくもまあこんなにむちゃくちゃなことを書くなぁ~と思いますが、IT業界に残るにしても他業種に走るにしても経営や経理の部分はしっかり考えれる人間になれればと思います。 昔、バイトを始めた頃に親父から言われた言葉の重大さがよくわかります。 「働いているところの金の回し方を良く観察して、少しでもおかしいと思ったらあやしいから辞めてしまえ」 要は、「そのバイト先なり企業の金の巡り(キャッシュフロー)を見れば会社の質がよくわかるよ」という意味なんだと今更ながらに思うわけです。 タイトルからは思いっきり脱線してるような気もしなくはないですけど、所詮は定説なんだからあんまり言葉に振り回されないように35歳くらいまでに足元を固めとけよという意味くらいで私は受け止めておきます。
月曜日, 11月 19, 2007
僕がBloggerを使う理由
まぁ、もともと旧Blogger時代から存在も知っていましたし、カスタマイズ性の高さが一番の理由でした。
ただ、当初はタグはない、トラックバックは別サービスを利用(これは変わってないですねw)といろいろ準備する間に飽きてしまい。。。
はてなでちょっとやってみたりFC2でちょっとやってみたりを繰り返し、最終的には@wiki等のwiki系に流れていきました。(仕事の関係でTracとかTiddlyWikiを使っていたのが原因かもしれませんが)
今回、いろんな事があって初心に戻ってBloggerにやってきたわけですが、確かに昔のに比べれば完成度は上がっているのかな?
splogとかの問題も起こっていたようですが。。。有名になればなるほどそういうところは辛いですもんね。。。
基本的にレイアウトを改造した時とかにはIEとFireFoxを使って確認はしていますが、何分自分勝手な運用をしているのでFireFoxで読めればいいかぁ~とほったらかしに近い部分もあります。(僕はFireFoxユーザなもんで)
結局、初めてブログっていうものを書いたのもBloggerだった(今はもう無いけど)のが一番大きいのかもしれません。
日曜日, 11月 18, 2007
日曜日, 11月 11, 2007
彼女の両親と会食
まずは、疲れました。。。
とりあえず、心斎橋で飲んでいたので彼女のご両親が無事に家へ帰れているのか?というのが現時点では心配の種です。
何だかんだと世間話からシステム系の話(前職からの得意分野)に持ち込み自分ペースで会話はできたと思います。
そうそう、その帰りにボクシングの井岡に逢いました!!(彼女のお父さんが見つけたんですけどね。。。)
内心「おぉ!井岡やー!!」と思いつつはしゃいでいる親父さんを抑えていると井岡さんからステッカーを貰いました。ありがとうございます!!
とりあえず、2種類あることを確認しました。
1つはわかるんですが、
何故に月亭八光??というのが今日の最大の気がかりです。
後は自分の両親に無職なったことを伝えないと。。。
こっちのがプレッシャーになってます。。。
(確実にしばかれるだろうなぁ~)
彼女のご両親とかと会うときはお互いにラフな格好で会うのがいいと思います。
この辺は事前の打ち合わせは必要だとは思いますが。。。
後は帰ってきてからTVでフリーターからの人材育成塾?的なものの放送がされていましたが、タイトル的には「フリータの再生工場」とか言ってましたが、これって使い捨て用の人員作成工場でしかないような気がしてしまって仕方がないんですがどうなんでしょうか?
ブログの横幅の標準は?
色々なサイトを見てみましたが、
結構バラバラなんですよねぇ~
今までは750pxで運用してきていました。
とりあえずGoogleAnalyticsのScreen Resolutionを確認すると最小は800×600が存在しました。
ここで、悩むのは全体の1.2%が800×600に当たるということです。
(一応、私は1650×1050を使用しているので、その分を差し引いても2.1%に当たります)
うーん、切り捨てるべきか?どうなのか?
とりあえず、横幅を800pxに変更してみます。
俗にいう"New Blogger"改造(その2)アーカイブのカレンダー化
2009/01/29追記 2009/01/29時点でここのコードをそのままコピーしてもアーカイブのリンク先がコメントのフェードになってしまいます。
やっつけな対応ではありますが
対応方法をalt=json-in-scriptリクエストのjson内のlink[]内容の順番が変わってた。。。に書いておきました。
俗にいう"New Blogger"改造(その1)2カラムから3カラムへの変更に引き続き今回はアーカイブのカレンダー化について纏めました。 参考にしたのはphydeaux3というサイトです。 Blogger Archive Calendar Stylesの部分を参考にしていただければ、私のようなに拙い英語力でも何とか実装できます。 一応、非公式日本語説明書にでもなればぁ~と思います。 (作成者ご本人のエントリーにはコメントを入れてはいますが。。。) まず、実装前の注意として 作成者本人が
やっつけな対応ではありますが
対応方法をalt=json-in-scriptリクエストのjson内のlink[]内容の順番が変わってた。。。に書いておきました。
俗にいう"New Blogger"改造(その1)2カラムから3カラムへの変更に引き続き今回はアーカイブのカレンダー化について纏めました。 参考にしたのはphydeaux3というサイトです。 Blogger Archive Calendar Stylesの部分を参考にしていただければ、私のようなに拙い英語力でも何とか実装できます。 一応、非公式日本語説明書にでもなればぁ~と思います。 (作成者ご本人のエントリーにはコメントを入れてはいますが。。。) まず、実装前の注意として 作成者本人が
I'm still not really convinced that a calendar is a great navigational device.「まだまだ、完璧じゃないよ~」(超意訳)と言われています。 その点についてはご容赦ください。 実装にはいくつかのステップをがあります。
- テンプレートタグのHTMLの編集を選択します。ウィジットのテンプレートを展開はチェックしなくてOKです。(デフォルトはチェック無です。)
- <b:widget id='BlogArchive1' locked='false' title='%ここは何らかのタイトル(Archive、アーカイブ等々)%' type='BlogArchive'/>に対して次のコードを貼り付けます。
<b:widget id='BlogArchive1' locked='false' title='Blog Archive' type='BlogArchive'> <b:includable id='main'> <b:if cond='data:title'> <h2><data:title/></h2> </b:if> <div class='widget-content'> <div id='ArchiveList'> <div expr:id='data:widget.instanceId + "_ArchiveList"'> <b:if cond='data:style == "HIERARCHY"'> <b:include data='data' name='interval'/> </b:if> <b:if cond='data:style == "FLAT"'> <b:include data='data' name='flat'/> </b:if> <b:if cond='data:style == "MENU"'> <b:include data='data' name='menu'/> </b:if> </div> </div> <b:include name='quickedit'/> </div> </b:includable> <b:includable id='toggle' var='interval'> <!-- Toggle not needed for Calendar --> </b:includable> <b:includable id='flat' var='data'> <div id='bloggerCalendarList'> <ul> <b:loop values='data:data' var='i'> <li class='archivedate'> <a expr:href='data:i.url'><data:i.name/></a> (<data:i.post-count/>) </li> </b:loop> </ul> </div> <div id='blogger_calendar' style='display:none'> <table id='bcalendar'><caption id='bcaption'> </caption> <!-- Table Header --> <thead id='bcHead'></thead> <!-- Table Footer --> <!-- Table Body --> <tbody><tr><td id='cell1'> </td><td id='cell2'> </td><td id='cell3'> </td><td id='cell4'> </td><td id='cell5'> </td><td id='cell6'> </td><td id='cell7'> </td></tr> <tr><td id='cell8'> </td><td id='cell9'> </td><td id='cell10'> </td><td id='cell11'> </td><td id='cell12'> </td><td id='cell13'> </td><td id='cell14'> </td></tr> <tr><td id='cell15'> </td><td id='cell16'> </td><td id='cell17'> </td><td id='cell18'> </td><td id='cell19'> </td><td id='cell20'> </td><td id='cell21'> </td></tr> <tr><td id='cell22'> </td><td id='cell23'> </td><td id='cell24'> </td><td id='cell25'> </td><td id='cell26'> </td><td id='cell27'> </td><td id='cell28'> </td></tr> <tr><td id='cell29'> </td><td id='cell30'> </td><td id='cell31'> </td><td id='cell32'> </td><td id='cell33'> </td><td id='cell34'> </td><td id='cell35'> </td></tr> <tr id='lastRow'><td id='cell36'> </td><td id='cell37'> </td></tr> </tbody> </table> <table id='bcNavigation'><tr> <td id='bcFootPrev'></td> <td id='bcFootAll'></td> <td id='bcFootNext'></td> </tr></table> <div id='calLoadingStatus' style='display:none; text-align:center;'> <script type='text/javascript'>bcLoadStatus();</script> </div> <div id='calendarDisplay'/> </div> <script type='text/javascript'> initCal();</script> </b:includable> <b:includable id='posts' var='posts'> <!-- posts not needed for Calendar --> </b:includable> <b:includable id='menu' var='data'> Configure your calendar archive widget - Edit archive widget - Flat List - Newest first - Choose any Month/Year Format </b:includable> <b:includable id='interval' var='intervalData'> Configure your calendar archive widget - Edit archive widget - Flat List - Newest first - Choose any Month/Year Format </b:includable> </b:widget>ウィジット自体はこれでOKですが、コアになるJavascriptはまだ実装されていないのでこれだけでは動きません。。。 テンプレートの上部にスタイル部分の終わり(]]></b:skin>)がありますが、それと</head>の間に
]]></b:skin> ここです。ここ!! </head>
以下のコードを貼り付けます。 <!-- Blogger Archive Calendar -->
<script type='text/javascript'>
//<![CDATA[
var bcLoadingImage = "http://phydeauxredux.googlepages.com/loading-trans.gif";
var bcLoadingMessage = " Loading....";
var bcArchiveNavText = "View Archive";
var bcArchiveNavPrev = '◄';
var bcArchiveNavNext = '►';
var headDays = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
var headInitial = ["Su","Mo","Tu","We","Th","Fr","Sa"];
// Nothing to configure past this point ----------------------------------
var timeOffset;
var bcBlogID;
var calMonth;
var calDay = 1;
var calYear;
var startIndex;
var callmth;
var bcNav = new Array ();
var bcList = new Array ();
//Initialize Fill Array
var fill = ["","31","28","31","30","31","30","31","31","30","31","30","31"];
function openStatus(){
document.getElementById('calLoadingStatus').style.display = 'block';
document.getElementById('calendarDisplay').innerHTML = '';
}
function closeStatus(){
document.getElementById('calLoadingStatus').style.display = 'none';
}
function bcLoadStatus(){
cls = document.getElementById('calLoadingStatus');
img = document.createElement('img');
img.src = bcLoadingImage;
img.style.verticalAlign = 'middle';
cls.appendChild(img);
txt = document.createTextNode(bcLoadingMessage);
cls.appendChild(txt);
}
function callArchive(mth,yr,nav){
// Check for Leap Years
if (((yr % 4 == 0) && (yr % 100 != 0)) || (yr % 400 == 0)) {
fill[2] = '29';
}
else {
fill[2] = '28';
}
calMonth = mth;
calYear = yr;
if(mth.charAt(0) == 0){
calMonth = mth.substring(1);
}
callmth = mth;
bcNavAll = document.getElementById('bcFootAll');
bcNavPrev = document.getElementById('bcFootPrev');
bcNavNext = document.getElementById('bcFootNext');
bcSelect = document.getElementById('bcSelection');
a = document.createElement('a');
at = document.createTextNode(bcArchiveNavText);
a.href = bcNav[nav];
a.appendChild(at);
bcNavAll.innerHTML = '';
bcNavAll.appendChild(a);
bcNavPrev.innerHTML = '';
bcNavNext.innerHTML = '';
if(nav < bcNav.length -1){
a = document.createElement('a');
a.innerHTML = bcArchiveNavPrev;
bcp = parseInt(nav,10) + 1;
a.href = bcNav[bcp];
a.title = 'Previous Archive';
prevSplit = bcList[bcp].split(',');
a.onclick = function(){bcSelect.options[bcp].selected = true;openStatus();callArchive(prevSplit[0],prevSplit[1],prevSplit[2]);return false;};
bcNavPrev.appendChild(a);
}
if(nav > 0){
a = document.createElement('a');
a.innerHTML = bcArchiveNavNext;
bcn = parseInt(nav,10) - 1;
a.href = bcNav[bcn];
a.title = 'Next Archive';
nextSplit = bcList[bcn].split(',');
a.onclick = function(){bcSelect.options[bcn].selected = true;openStatus();callArchive(nextSplit[0],nextSplit[1],nextSplit[2]);return false;};
bcNavNext.appendChild(a);
}
script = document.createElement('script');
script.src = 'http://www.blogger.com/feeds/'+bcBlogId+'/posts/summary?published-max='+calYear+'-'+callmth+'-'+fill[calMonth]+'T23%3A59%3A59'+timeOffset+'&published-min='+calYear+'-'+callmth+'-01T00%3A00%3A00'+timeOffset+'&max-results=100&orderby=published&alt=json-in-script&callback=cReadArchive';
document.getElementsByTagName('head')[0].appendChild(script);
}
function cReadArchive(root){
// Check for Leap Years
if (((calYear % 4 == 0) && (calYear % 100 != 0)) || (calYear % 400 == 0)) {
fill[2] = '29';
}
else {
fill[2] = '28';
}
closeStatus();
document.getElementById('lastRow').style.display = 'none';
calDis = document.getElementById('calendarDisplay');
var feed = root.feed;
var total = feed.openSearch$totalResults.$t;
var entries = feed.entry || [];
var fillDate = new Array();
var fillTitles = new Array();
fillTitles.length = 32;
var ul = document.createElement('ul');
ul.id = 'calendarUl';
for (var i = 0; i < feed.entry.length; ++i) {
var entry = feed.entry[i];
var link = entry.link[0].href;
var title = entry.title.$t;
var author = entry.author[0].name.$t;
var date = entry.published.$t;
var summary = entry.summary.$t;
isPublished = date.split('T')[0].split('-')[2];
if(isPublished.charAt(0) == '0'){
isPublished = isPublished.substring(1);
}
fillDate.push(isPublished);
if (fillTitles[isPublished]){
fillTitles[isPublished] = fillTitles[isPublished] + ' | ' + title;
}
else {
fillTitles[isPublished] = title;
}
li = document.createElement('li');
li.style.listType = 'none';
li.innerHTML = '<a href="'+link+'">'+title+'</a>';
ul.appendChild(li);
}
calDis.appendChild(ul);
var val1 = parseInt(calDay, 10)
var valxx = parseInt(calMonth, 10);
var val2 = valxx - 1;
var val3 = parseInt(calYear, 10);
var firstCalDay = new Date(val3,val2,1);
var val0 = firstCalDay.getDay();
startIndex = val0 + 1;
var dayCount = 1;
for (x =1; x < 38; x++){
var cell = document.getElementById('cell'+x);
if( x < startIndex){
cell.innerHTML = ' ';
cell.className = 'firstCell';
}
if( x >= startIndex){
cell.innerHTML = dayCount;
cell.className = 'filledCell';
for(p = 0; p < fillDate.length; p++){
if(dayCount == fillDate[p]){
if(fillDate[p].length == 1){
fillURL = '0'+fillDate[p];
}
else {
fillURL = fillDate[p];
}
cell.className = 'highlightCell';
cell.innerHTML = '<a href="/search?updated-max='+calYear+'-'+callmth+'-'+fillURL+'T23%3A59%3A59'+timeOffset+'&updated-min='+calYear+'-'+callmth+'-'+fillURL+'T00%3A00%3A00'+timeOffset+'" title="'+fillTitles[fillDate[p]].replace(/"/g,'\'')+'">'+dayCount+'</a>';
}
}
if( dayCount > fill[valxx]){
cell.innerHTML = ' ';
cell.className = 'emptyCell';
}
dayCount++;
}
}
visTotal = parseInt(startIndex) + parseInt(fill[valxx]) -1;
if(visTotal >35){
document.getElementById('lastRow').style.display = '';
}
}
function initCal(){
document.getElementById('blogger_calendar').style.display = 'block';
var bcInit = document.getElementById('bloggerCalendarList').getElementsByTagName('a');
var bcCount = document.getElementById('bloggerCalendarList').getElementsByTagName('li');
document.getElementById('bloggerCalendarList').style.display = 'none';
calHead = document.getElementById('bcHead');
tr = document.createElement('tr');
for(t = 0; t < 7; t++){
th = document.createElement('th');
th.abbr = headDays[t];
scope = 'col';
th.title = headDays[t];
th.innerHTML = headInitial[t];
tr.appendChild(th);
}
calHead.appendChild(tr);
for (x = 0; x <bcInit.length;x++){
var stripYear= bcInit[x].href.split('_')[0].split('/')[3];
var stripMonth = bcInit[x].href.split('_')[1];
bcList.push(stripMonth + ','+ stripYear + ',' + x);
bcNav.push(bcInit[x].href);
}
var sel = document.createElement('select');
sel.id = 'bcSelection';
sel.onchange = function(){var cSend = this.options[this.selectedIndex].value.split(',');openStatus();callArchive(cSend[0],cSend[1],cSend[2]);};
q = 0;
for (r = 0; r <bcList.length; r++){
var selText = bcInit[r].innerHTML;
var selCount = bcCount[r].innerHTML.split('> (')[1];
var selValue = bcList[r];
sel.options[q] = new Option(selText + ' ('+selCount,selValue);
q++
}
document.getElementById('bcaption').appendChild(sel);
var m = bcList[0].split(',')[0];
var y = bcList[0].split(',')[1];
callArchive(m,y,'0');
}
function timezoneSet(root){
var feed = root.feed;
var updated = feed.updated.$t;
var id = feed.id.$t;
bcBlogId = id.split('blog-')[1];
upLength = updated.length;
if(updated.charAt(upLength-1) == "Z"){timeOffset = "+00:00";}
else {timeOffset = updated.substring(upLength-6,upLength);}
timeOffset = encodeURIComponent(timeOffset);
}
//]]>
</script>
<script src='/feeds/posts/summary?max-results=0&alt=json-in-script&callback=timezoneSet'></script>
<!-- End Blogger Archive Calendar -->アーカイブの設定は - 階層はフラットに
- その他はお好きにどうぞw
/* Archive Calendar Variable Setups
Do not modify unless you know what's what
=========================================
<Variable name="bcCalenderFonts" description="Calendar Font Sizes"
type="font" default="normal normal 100% Tahoma, Arial, Sans-serif" / value="normal normal 100% Tahoma, Arial, Sans-serif">
<Variable name="bcTableBackgroundColor" description="Calendar Background Color"
type="color" default="#ffffff" value="#ffffff">
<Variable name="bcTableBorderColor" description="Calendar Border Color"
type="color" default="#000000" value="#000000">
<Variable name="bcTableTextColor" description="Calendar Text Color"
type="color" default="#000000" value="#000000">
<Variable name="bcMenuBackgroundColor" description="Calendar Menu Select Background Color"
type="color" default="#ffffff" value="#ffffff">
<Variable name="bcMenuTextColor" description="Calendar Menu Select Text Color"
type="color" default="#000000" value="#000000">
<Variable name="bcTableHeaderBackgroundColor" description="Calendar Header Background Color"
type="color" default="#ffffff" value="#ffffff">
<Variable name="bcTableHeaderTextColor" description="Calendar Header Text Color"
type="color" default="#000000" value="#000000">
<Variable name="bcTableHighLightColor" description="Calendar Highlight Color"
type="color" default="#cccccc" value="#cccccc">
<Variable name="bcCalenderLinksColor" description="Calendar Links Color"
type="color" default="#0000ff" value="#0000ff">
<Variable name="bcCalenderLinksHoverColor" description="Calendar Links Hover Color"
type="color" default="#0000ff" value="#0000ff">
<Variable name="bcTableFooterBackground" description="Calendar Footer Background Color"
type="color" default="#ffffff" value="#ffffff">
<Variable name="bcFooterLinksColor" description="Calendar Footer LinksColor"
type="color" default="#0000ff" value="#0000ff">
===========================================
End Archive Calendar Variables */
/* Archive Calendar CSS
----------------------------------------------- */
/* div that holds calendar */
#blogger_calendar { margin:5px 0 0 0;width:98%;}
/* Table Caption - Holds the Archive Select Menu */
#bcaption {border:1px solid $bcTableBorderColor;padding:2px;margin:10px 0 0;background:$bcMenuBackgroundColor;font:$bcCalenderFonts}
/* The Archive Select Menu */
#bcaption select {background:$bcMenuBackgroundColor;border:0 solid $bcMenuBackgroundColor;color:$bcMenuTextColor;font-weight:bold;text-align:center;}
/* The Heading Section */
table#bcalendar thead {}
/* Head Entries */
table#bcalendar thead tr th {width:20px;text-align:center;padding:2px; border:1px outset $bcTableBorderColor; font:$bcCalenderFonts;background:$bcTableHeaderBackgroundColor;color:$bcTableHeaderTextColor}
/* The calendar Table */
table#bcalendar {border:1px solid $bcTableBorderColor;border-top:0; margin:0px 0 0px;width:95%;background:$bcTableBackgroundColor}
/* The Cells in the Calendar */
table#bcalendar tbody tr td {text-align:center;padding:2px;border:1px outset $bcTableBorderColor; color:$bcTableTextColor;font:$bcCalenderFonts;}
/* Links in Calendar */
table#bcalendar tbody tr td a:link, table#bcalendar tbody tr td a:visited, table#bcalendar tbody tr td a:active {font-weight:bold;color:$bcCalenderLinksColor;}
table#bcalendar tbody tr td a:hover {color:$bcCalenderLinksHoverColor;}
/* First Row Empty Cells */
td.firstCell {visibility:visible;}
/* Cells that have a day in them */
td.filledCell {}
/* Cells that are empty, after the first row */
td.emptyCell {visibility:hidden;}
/* Cells with a Link Entry in them */
td.highlightCell {background:$bcTableHighLightColor;border:1px solid $bcTableBorderColor}
/* Table Footer Navigation */
table#bcNavigation {width:95%;background:$bcTableFooterBackground;border:1px solid $bcTableBorderColor;border-top:0;color:$bcTableTextColor;font:$bcCalenderFonts;}
table#bcNavigation a:link {text-decoration:none;color:$bcFooterLinksColor}
td#bcFootPrev {width:10px;}
td#bcFootAll{text-align:center;}
td#bcFootNext {width:10px;}
ul#calendarUl {margin:5px auto 0!important;}
ul#calendarUl li a:link {}
/* End Archive Calendar CSS
----------------------------------------------- */
以上で実装終了になります。 こういうのをウィジット追加ボタンとかで提供できるとかっこいいのかな?と思っています。 後は同じ作者さんのところのタグクラウドの実装について書こうと思います。 今日はもう疲れました。。。
登録:
投稿 (Atom)
failed to read qemu headerのときのメモ
かなり久々。。。 忘れないようにここに書きこんでおく。 ちょっとした手違いで libvirtでイメージを起動しようとすると failed to read qemu header なんておっしゃられて起動しない。。。 vmwareserverを使って...
-
かなり久々、別に放置していた訳じゃないです。 仕事の都合で、現在の開発環境に定義されているDDLスクリプトを抜き出す必要があったので、DBMS_METADATAパッケージを使用してみた。 前に(言っても2年くらい前)DB2で同じようなことをやった時にはdb2lookupっ...
-
unitテストを作ろうと思い、作って実行してみると途中で止まる。。。 「なんで?」 結局のところ、unitテストで実行しようとしたクラスにSystem.exit(int)があったのが原因だった。 それならば、System.exit(int)が効かなくなるおまじないはな...
-
かなり久々。。。 忘れないようにここに書きこんでおく。 ちょっとした手違いで libvirtでイメージを起動しようとすると failed to read qemu header なんておっしゃられて起動しない。。。 vmwareserverを使って...