らきろぐ(画像作成中)

ラキログ LuckyLog

2010年04月

日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日




01
日記
02
日記
03
日記
04
日記
05
日記
06
日記
07
日記
08 09 10
11 12 13 14 15
日記
16 17
18
日記
19 20
日記
21
日記
22
日記
23
日記
24
25 26
日記
27
日記
28
日記
29 30
前:2010年03月 次:2010年05月

No.1385: Perlでカレンダー復旧

tags

月別表示: 2010年04月の記事 カテゴリー: Web Programing

投稿者 Lakililac 投稿日時 2010/04/20 23:18:24

  • B

次の記事: ウェブサイト開設9周年!?

2010年04月20日の日記の概要

Article Image

かれんだーを作った。

.

カレンダー機能復元しました

以前のブログシステムtb.cgiには実装されていたけれど、いつの間にか仕分けの対象とされて削除されていた機能があります。その一つがカレンダー機能です。


公開を停止していたのには理由があります。サーバーの移転の際に、ブログの記事URLの命名規則を見直し、YYYYMMDD.htmlからentry_id.htmlに変更していたためです。

そんなカレンダーが本日より、再実装されました。


このカレンダー機能が実装されるまでには、単に私のPerlのライブラリからのコピペでは済まず、数々の試行錯誤があったのですが、内情を書くとへたれプログラマであることを自ら暴露するだけに止まらず、本格的にダメなコーディングしてることがばれて仕舞います。


なので、やったことを大雑把に、曖昧に書いてみる。


  1. エントリー毎に生成する年月を取得する。
  2. 当該年月の末日(28,29,30,31日)を取得する。 - 閏年の計算
  3. 当該年月の開始日の曜日を計算する。 - ツェラーの公式
  4. 空白行挿入(開始日まで、末日以降)
  5. 前月、翌月へのリンク
  6. 日記記事が存在する日付には日記へのリンクを貼る


メモ

1.にて。

最初、全ての記事でカレンダーを毎回生成するという愚行、奇行に走る。

すでに造ったことのある年月のカレンダーは造らないようにすることで計算回数が1380→108回に。


2.~5.

特記事項なし。


6.が少し悩み所でした。

結局、大量のYYYYMMDD.htmlを作成しておいて、ファイルの存否を判断するという泥臭い方法をとりました。entry_idとYYYYMMDDは多対一の対応なのですが。そのうち日付毎に何かのデータ解析するのに使えたらいいなぁ。ぐらいのノリで。


ゆくゆくは予定ない日を公開する程度のカレンダー機能になれば良いかと思っております。

予定のある日と内容は公開しませんが。


あとは.ics形式のデータに対応できたら格好良いんだけど、面倒くさそうなので却下でしょう。

Trackback URL http://www.laki-web.net/system/cgi/luckylog.cgi/1385

関連記事



Comment/Trackbackの受付を終了しました.

Archives



検索

Keywords

key(64), 麻枝准(42), gid(38), ポケモン(32), 性別への違和感(30), gid編(30), srs(28), ksl(27), お勧め音楽(27), mtf(24)

Recent Comments

more

最近再生した曲(今週)

    Lakililac's Last.fm

    総アクセス数: 個別アクセス数: