にしし らぼらとりー

にしし(西村文宏)製スクリプトの公開開発実験場(ラボラトリー)です。各種スクリプトの最新版やβ版の動作確認ができます。バグ報告や、機能面でのご要望などもお気軽にお知らせ下さい。

※当ウェブサイトは、にしし製フリーCGIなどの動作確認サンプルを公開したり、製作進行に関する呟きを掲載している実験場のようなものです。 各種CGIスクリプトの配布パッケージを入手したい場合や、にしし(西村文宏)の個人サイトをお探しの場合は、 本家サイト「にしし ふぁくとりー」へお越し下さい。(╹◡╹)ノ

RSS Feed

開発放言 全年全月3日の投稿(時系列順)[13件]

新規投稿 / 管理用

バックアップサービスを遠隔で提供するとか。tegalog.xml と tegalog.ini を専用空間に遠隔保存する感じで。これなら、アップデート時にFTPでファイルを初期ファイルに上書きしてしまっても回復できる。

by nishishi. てがろぐ <108文字> 編集

先頭に固定する投稿の場合には、投稿日時欄に投稿日時を出力しないオプションも欲しい気がする。空欄にしても良いし、何か別の文字列を出力するのでも良いが。

by nishishi. てがろぐ <74文字> 編集

日付境界バーを挿入するかどうかの設定を、スキン側で強制指定もできるようにしたい。

by nishishi. てがろぐ <40文字> 編集

キャッシュしておけるものは最大限キャッシュしておいて、動的生成の頻度を極力減らして、そろそろ速度向上(負荷軽減)を図った方が良いだろうなあ。毎回全データを読み込む仕様なので、データファイルの大きさに比例して重たくなっていくハズなので、データファイルを読んでどうにかする以外の部分の負荷くらいは削減しておきたい。

by nishishi. てがろぐ <155文字> 編集

予約投稿機能の実装もわりと簡単に実装できそうな気がしてきた。既に「投稿日時の手動設定」機能と「下書き」投稿機能があるので、これを活用すれば良さそうだ。

1. てがろぐが実行された際に時刻を確認。
2. 予約時刻に達していなければ「下書き」状態のまま。
3. 予約時刻を過ぎていれば「下書き」を解除して公開。

誰かがアクセスしなければ上記「3」が実行されないので、「予約時刻になったら自動で公開される」というわけではないのだけど、誰もアクセスしていないのであれば、公開されていなくても問題ない。
『予約時刻を過ぎてアクセスしてきた1人目の閲覧タイミング』で(下書き状態を自動解除して)公開状態にすれば、事実上は「予約時刻で自動公開」したのと同じ結果になる。(人間以外のBotやRSSリーダ等がアクセスしてくる場合も同様。BotでもRSSリーダ等でも何でも、アクセスされれば「てがろぐが実行される」ことに変わりはないため。)

コンテンツを静的に事前生成するようなCMSだとこの方法は採れないが、てがろぐのように(WordPressとかもそうだが)全ページを動的に生成するならこの方法で問題ない気がする。
予約投稿の需要がどれくらいあるのか分からないが、企業や組織サイトでお知らせ用途にてがろぐを使っている場合には需要あるだろうか。

by nishishi. てがろぐ <567文字> 編集

どうせ作るなら需要のあるものから作りたいとも思うのだが、問題は需要がなかなか分からんことだ。┌(:3」└)┐

by nishishi. <54文字> 編集

画像インデックスを生成することそのものはまあ良いのだが、それを使って画像管理画面を作ろうとすると、画像管理画面での画像一覧生成処理をかなーり大きく書き換えないといけないことが分かった。これは……、大変だ。この実装をしようと思ったら、クッキーとチョコレートがめちゃくちゃたくさん要る。あと、それらをたくさん食べても太らない身体が……。_(:3」∠)_

by nishishi. てがろぐ <174文字> 編集

まったく同じコードを2つ書く必要があるとき、
  • そのコードだけを独立した1つの関数になるようリファクタリングしてから書く
  • とりあえず、同じコードを2つ書く
のでどうするか迷う。いや、望ましいのは前者に違いないのだが。リファクタリングに結構な手間がかかりそうだと迷う。いや、結構な手間がかかりそうなくらいスパゲッティなコードになっているなら、なおさら(手遅れになるほどこんがらがる前に)リファクタリングすべきなのだが……。
要するに、リファクタリングしないといけないということか。(結論)

クッキーとチョコレートはどこだ!!!(あと食べても脂肪を蓄積しない身体)

by nishishi. <284文字> 編集

とりあえず、画像インデックスが存在しないときに、画像保存用ディレクトリから画像一覧を読んで画像インデックスXMLファイルを新規に作成する機能はできた。次に、画像管理画面から各種情報を登録できるようにする必要がある。
20221203010125-nishishi.png

by nishishi. てがろぐ <112文字> 編集

Perl 5.30未満だと、正規表現の「戻り読み」記法が使えないのだと思っていたが、自分の書いたコードの中で既に使っていて、Perl 5.8とかでも動いている。どういうことだ……と思ったら、Perl 5.30未満で使えないのは可変長の戻り読みだけだった。可変長でさえなければ戻り読みは可能なのだ。なるほど。

by nishishi. <153文字> 編集

今後のβ版では、追加機能の解説をFanbox上に書くのではなくて、β版の追加機能の説明自体も本番解説サイトに追記していくようにしたい(正式版にはまだ含まれていない機能であることは、『β版』みたいななんかタグで示しておけば良いだろう)。そうしないと、正式リリースのたびにドキュメントを書く作業がめちゃくちゃ大変で、気力が維持できない……。_(┐「ε:)_
特に今回は、めちゃくちゃ多いから……。
20230103221827-nishishi.png
もうちょっと手前で正式リリースを刻むべきだった……。orz

by nishishi. てがろぐ <227文字> 編集

てがろぐをワンクリックでバージョンアップできるPHPを作る。仕事で構築しているウェブサイトにてがろぐを組み合わせているケースがそこそこあるのだが、改めて数えてみたら少なくとも21件はあったので。これらを手動でバージョンアップさせるのは面倒だから……。
だいたい以下のような機能があれば良いだろうか。
  1. いま稼働しているバージョンと、配布されているバージョンを比較して、新バージョンが公開されていれば以下の処理を進める。
  2. いま稼働している全構成ファイルをbackup20231003.zipみたいなファイル名でZIPにバックアップ保存する。
  3. 更新用のtegalog.zipをダウンロードしてくる。
  4. その中身を仮作成したサブディレクトリの中に展開する。
  5. 稼働しているファイル群のパーミッション値を調べて保持しておく。
  6. tegalog.cgiの冒頭で設定が変更されていれば、それと同じように仮サブディレクトリ内のtegalog.cgiを書き換える。
  7. tegalog.cgi と fumycts.pl を上書きコピーする。(仮サブディレクトリ→本番ディレクトリ)
  8. それらを保持しておいたパーミッションに変更する。
  9. 仮サブディレクトリと、ダウンロードしたtegalog.zipを消す。

上記の(6)は、過去に仕事で構築したサイトではどこも不要だったような気がするので、後回しで良いかもしれない。
一般向けにも配布するなら、標準添付スキンがそのまま使われているならついでに上書きする機能もあると便利だろう。
上記のような機能をPerlで書くのは激しく面倒なので(※Webから何かファイルを取ってこれる系のモジュールとかファイルを移動できる系のモジュールとかを使わないと私には無理)、PHPを使う方が簡単だ。

最初に(1)の処理があるので、第三者にアクセスされても問題はないと思うが、実行許可用のパスワードを設定しておけるようにすると、より安心かもしれない。てがろぐ管理画面TOPからアクセスした場合にだけ実行を許可するような仕組みを用意すれば望ましいだろうか。「ワンクリック」というか、ノークリックで無条件に常時バージョンアップするのでも良いかもしれないが。その場合はcronで月に1回くらいの頻度で自動起動できるようにすれば良いか?

by nishishi. てがろぐ <968文字> 編集

てがろぐのメリットの1つがたぶんスキンの自由度だと思うので、スキンの自由度は同じレベルになるようにする。

by nishishi. 製作中ツール <52文字> 編集

Powered by てがろぐ Ver 4.2.3.

DASHBOARD

■開発放言について

にしし製CGIの開発進行に関する放言です。思いついたことを適当に放り込む空間なので、どんな呟きも確定的な開発予定というわけでは全くありません。しかしながら、機能面でのご要望や開発予定機能への支持表明はお気軽にどうぞ。ただし、ここには直接は投稿頂けませんので、公式動作テスト用てがろぐ等をご利用下さい。

編集

■全文検索:

■日付検索:

■カレンダー:

2020年10月
123
45678910
11121314151617
18192021222324
25262728293031

■ハッシュタグ:

▼現在の表示条件での投稿総数:

13件

▼最後に投稿または編集した日時:

2024年03月20日(水) 14:34:18