Webテクノロジーも日々進化していて、進化すればするほど簡単になっていきます。
今ではWebプログラムのインストールもとっても簡単。
WordPressなんか、解凍してアップロード、その後、install.phpにアクセスしてウィザード通りに進めればデータベースの設定までしてくれちゃいますもんね。
過去にはサイトデザインをプリントアウトしてお客様のところへもって行き、デザイン案をみてもらっていた時代もあったがさすがに今はそんなことはやらない。
仮サーバーを用意してそちらにデザインデータをアップ。直接、Web上で見てもらうのが主流。
まあ、どうしてもプリントアウトで見たいというお客様もいるにはいるのだが。。
で、Web上で見てもらうにしてもいろいろと問題点はあって、特に度々問合せが来るのが「更新されていないよ」という問合せ。
実はこれはキャッシュが悪さをしていることが殆ど。
キャッシュとは一度ダウンロードしたWebのデータ(画像、CSS等)を保管しておくスペース及びそのデータ。
同じサイトに再訪問した際、わざわざその度にインターネットからデータをダウンロードせず、一度ローカルに保存したデータを表示するというのが一般的なブラウザの仕様となっている。
そのために、たとえば画像の一部を修正したり、外部CSSの一部を修正したりした際に、更新されていないデータが表示されてしまうことがあるのだ。
で、そんなときはリロード(再読み込み)してくださいとお願いするのだがこれがちょくちょくあるのが悩みの種。
仮に、何とかしようと思っても、これはブラウザ側で設定する以外回避する方法はないのではないかと思っていた。
が、なんと、HTMLやCGI上でこれを回避するための記述があったらしい。
仮サーバーを用意してそちらにデザインデータをアップ。直接、Web上で見てもらうのが主流。
まあ、どうしてもプリントアウトで見たいというお客様もいるにはいるのだが。。
で、Web上で見てもらうにしてもいろいろと問題点はあって、特に度々問合せが来るのが「更新されていないよ」という問合せ。
実はこれはキャッシュが悪さをしていることが殆ど。
キャッシュとは一度ダウンロードしたWebのデータ(画像、CSS等)を保管しておくスペース及びそのデータ。
同じサイトに再訪問した際、わざわざその度にインターネットからデータをダウンロードせず、一度ローカルに保存したデータを表示するというのが一般的なブラウザの仕様となっている。
そのために、たとえば画像の一部を修正したり、外部CSSの一部を修正したりした際に、更新されていないデータが表示されてしまうことがあるのだ。
で、そんなときはリロード(再読み込み)してくださいとお願いするのだがこれがちょくちょくあるのが悩みの種。
仮に、何とかしようと思っても、これはブラウザ側で設定する以外回避する方法はないのではないかと思っていた。
が、なんと、HTMLやCGI上でこれを回避するための記述があったらしい。
CGIといえばperlと思いがちですが、CGIというのは「Common Gateway Interface」の略でウェブサーバ上でプログラムを動作させるための仕組みのことです。
□ Common Gateway Interface - Wikipedia
そのプログラムの中で一番メジャーなのがperlであって、別にプログラムがアプリであってもいいんですね。
ちなみにPHPはCGIではありません。(CGIで動かすことも可能)
この辺りは話が長くなりそうなので割愛。
で、今回ちょっとした案件でどうしてもEXEファイル(アプリケーション)をCGIで扱わなければならなくなりまして、その方法を探って見ました。
□ Common Gateway Interface - Wikipedia
そのプログラムの中で一番メジャーなのがperlであって、別にプログラムがアプリであってもいいんですね。
ちなみにPHPはCGIではありません。(CGIで動かすことも可能)
この辺りは話が長くなりそうなので割愛。
で、今回ちょっとした案件でどうしてもEXEファイル(アプリケーション)をCGIで扱わなければならなくなりまして、その方法を探って見ました。
こちらの記事で別記事でと言っていたヤツです。
コマンドプロンプトが使えることが前提となります。
最近はtelnetは最初から塞がれているところが多いのでsshでコマンドプロンプトを使っている人が多いと思います。
僕は「Tera Term(テラターム)」を使っています。
□ Tera Term (テラターム) プロジェクト日本語トップページ - SourceForge.JP
コマンドプロンプトが使えることが前提となります。
最近はtelnetは最初から塞がれているところが多いのでsshでコマンドプロンプトを使っている人が多いと思います。
僕は「Tera Term(テラターム)」を使っています。
□ Tera Term (テラターム) プロジェクト日本語トップページ - SourceForge.JP
mixiにブログを登録するとmixi日記がブログと入れ替わる。
これが、一番簡単なブログとmixiとの連携方法。
しかし、これだと今まで書いたmixi日記が無駄になってしまう。
これは悲しい。
さらに、過去に何度かmixi日記をブログと入れ替えたことあるのですが、やはりmixi日記のほうがレスポンス率が高い。
そこで、mixi日記を残しつつ、ブログを更新する度に自動でmixi日記にブログの更新情報を書いてくれるツールがないか探してみた。
この、リンス泥棒!― 変な寝言が忘れられない
著者:めさ&mixiコミュニティメンバー
販売元:ブログハウス
発売日:2009-06-30
おすすめ度:
レビューを見る
これが、一番簡単なブログとmixiとの連携方法。
しかし、これだと今まで書いたmixi日記が無駄になってしまう。
これは悲しい。
さらに、過去に何度かmixi日記をブログと入れ替えたことあるのですが、やはりmixi日記のほうがレスポンス率が高い。
そこで、mixi日記を残しつつ、ブログを更新する度に自動でmixi日記にブログの更新情報を書いてくれるツールがないか探してみた。
この、リンス泥棒!― 変な寝言が忘れられない
著者:めさ&mixiコミュニティメンバー
販売元:ブログハウス
発売日:2009-06-30
おすすめ度:
レビューを見る
久々に現場にてperlプログラミングなんぞをやってみましたよ。
とっても新鮮でした。これからもちょくちょくやっていこう。
今回行なったのは、簡易CMS(コンテンツマネージメントシステム)の改造。
新し目の記事に「NEW」っていうアイコンをつけたいとの事。
CGI&Perlポケットリファレンス (Pocket reference)
著者:藤田 郁
販売元:技術評論社
発売日:1999-03
おすすめ度:
レビューを見る
とっても新鮮でした。これからもちょくちょくやっていこう。
今回行なったのは、簡易CMS(コンテンツマネージメントシステム)の改造。
新し目の記事に「NEW」っていうアイコンをつけたいとの事。
CGI&Perlポケットリファレンス (Pocket reference)
著者:藤田 郁
販売元:技術評論社
発売日:1999-03
おすすめ度:
レビューを見る
perlのmy宣言についてさらに調べてみました。
DQNEOさん、情報ありがとうございます。
まずはこちらの記事を
□my について - my と local どう違う? - futomi's CGI Cafe
DQNEOさん、情報ありがとうございます。
まずはこちらの記事を
□my について - my と local どう違う? - futomi's CGI Cafe
my を使って定義された変数は、レキシカルスコープ変数 と呼びます。そして、my を使って変数を宣言することをレキシカルスコープ宣言と呼びます。□local について - my と local どう違う? - futomi's CGI Cafe
local を使って定義された変数は、ダイナミックスコープ変数 と呼びます。そして、local を使って変数を宣言することをダイナミックスコープ宣言と呼びます。
色々なところでperlのプログラムはuse strictを使うようにという記事を見かける。
□Perlで必須の記述 use strict と use warnings - Sakura scope
□404 Blog Not Found:perl - use strict; # and be happy
そこで、いつも使っている送信フォーム用のcgiプログラムにuse strictを単純につけて動かしてみる。
多分動かないだろうなぁと思ったら案の定。
□Perlで必須の記述 use strict と use warnings - Sakura scope
□404 Blog Not Found:perl - use strict; # and be happy
そこで、いつも使っている送信フォーム用のcgiプログラムにuse strictを単純につけて動かしてみる。
多分動かないだろうなぁと思ったら案の定。
たとえば与えられた変数によって違うページを表示させることを考える。
具体的には、ユーザーページやちょっとした占い等にもつかえそう。
そうでなくてもHTMLをCGIスクリプトの中に読み込ませることは多いはず。
そもそもプログラムをやる人間が知らなかったのも問題だが、そのあたりを調べてみた。
具体的には、ユーザーページやちょっとした占い等にもつかえそう。
そうでなくてもHTMLをCGIスクリプトの中に読み込ませることは多いはず。
そもそもプログラムをやる人間が知らなかったのも問題だが、そのあたりを調べてみた。
そろそろ限界が見えてきた。
今まで、アクセス数の多いサイトを移転させたことがなかったので、
いつも「META HTTP-EQUIV="Refresh"」を使ってましたが、
もっともSEOに適したのは「301リダイレクト」という方法らしい。
いつも「META HTTP-EQUIV="Refresh"」を使ってましたが、
もっともSEOに適したのは「301リダイレクト」という方法らしい。