|
テーマ:たわごと(26606)
カテゴリ:プログラム
ホームページを部分的に自動生成する仕組みを作りつつふと思ったので,書いてみるよ
以下のような状況を想定してみる. index.html | +----- rockman.html | +----- [ dir ] | +----- roll.html 何でもかんでもロックマンとかロールちゃんとかって名前付けるのやめれー! とか言わないの URLで言うと"http://localhost/index.html"としましょう. つまり,ローカルサーバの公開領域の直下に"index.html"がいる訳です. で,"index.html"から見ると,同じ階層に"rockman.html"がいます. さらに同じ階層に"dir"というフォルダがあり,その下に"roll.html"がいます この時,"index.html"から"rockman.html"と"roll.html"へのリンクを張ることを考えてみましょう. ・方法1(絶対パス) "rockman.html" : http://localhost/rockman.html "roll.html" : http://localhost/dir/roll.html ・方法2(相対パス) "rockman.html" : rockman.html "roll.html" : dir/roll.html おぉ~,全然記述方法が違いますねぇ 上記とは逆に,"roll.html"から"rockman.html"と"index.html"へのリンクを張ることを考えてみましょう. ・方法1(絶対パス) "rockman.html" : http://localhost/rockman.html "index.html" : http://localhost/index.html ・方法2(相対パス) "rockman.html" : ../rockman.html "index.html" : ../index.html 絶対パスだと,"index.html"から見ても"roll.html"から見ても同じ記述方法でOKですね! これだと深く考えずにコピペしていけば大丈夫そうです. ただ,ちょっと文字列が長くなってしまうのが傷ですね~ 対して,相対パスですが,"index.html"から見た時と"roll.html"から見た時とで記述方法が変化しています. これは今どの位置にいるかで目的の位置までの生き方が変わるという相対パスの考え方そのものですね. "../"は1つ下という意味なので,2階層下であれば"../../"のような表記になります. ただ,相対パスの方が圧倒的に短く記述できますよね! つまり,ファイルの容量が小さくて済む訳です! ファイルの容量が小さく済むと,通信速度にも微々たるものながら影響しそうですよね~. でで,どっちが良いかってことですけど,個人的には絶対パスの方が良いかなぁと思います. 何といっても,記述が楽ですからね!! あと,ホームページのソースコードって簡単にコピーできちゃうので,参考になるサイトがあって良いなぁと思えば,大体のものはそっくりそのままコピーすることが出来ちゃいます. もちろん,私も参考のためにソースコードを見させていただくことは多々ありますので,覗くことは決して悪ではありませんが,時間をかけて作成したものをあっさりコピーされると何か悔しいですよね~ 特に悪意のあるサイトがそうです. こういう時に相対パスで指定していると,そのまま機能しちゃいますが,絶対パスなら元々の自分のサイトへのリンクになっているため,そのまま使用することは出来ません! この修正をしないといけない,というのはけっこう有効かなぁと まぁローカル環境で作業する時には不便ですけどね…. 自動生成する機構があれば,変数指定で後で書き換えてやれば良いですが,HTMLオンリーだとちょっと面倒くさいかなぁ. 最終的には好みなのかな?? 【送料無料】 はじめてのホームページHTML入門 BASIC MASTER SERIES / 荒石正二 【単行本】 【送料無料選択可!】みるみるPHPがわかる本 (単行本・ムック) / 掌田 津耶乃 著 お気に入りの記事を「いいね!」で応援しよう
[プログラム] カテゴリの最新記事
"朝から仕事でイラっち~(怒)"で休憩がてらブログに来たよ!…の聖人(笑)です.
"ホームページを部分的に自動生成"?何か分からないけど凄そう(驚!)"絶対パスと相対パス"ですがメリットとデメリットが色々あるので用途次第ですかねぇ~.ホームページの場合だと運用形態に依存するかニャ~? "コンテンツを位置固定で無用な手違いを起こしたくない" のであれば"絶対パス"で"ドメイン移行やディレクトリ配置を前提に柔軟な変更がある"等を考慮するなら"相対パス",とりあえずはこんなところかなぁ~? 今"イラっち~(怒)"なので,あまりまともな事言えないな~(笑) プログラミングで例えるなら"絶対アドレスと相対アドレス"かニャ~.上記のような考えで言えば"プログラムリソースの節約や,高速化"なら絶対アドレス,"プラットフォームの移行や,移植前提"なら相対アドレス,と言ったところだと思うよ~. "OSやコンパイラ/アセンブラのバージョン"や,"プラットフォームやハードウェア"が変われば移植したらメモリ空間のアドレスの割りあて変わるからね~ あとは,リバースエンジニアリングやデコンパイル/ディスアセンブルに相当する話かなぁ~? 聖人(笑)のエンジニア的考えだけど""複製しても,簡単に,理解させず,その機能を使わせないもの"というのが"技術レベルの高いもの"という考え方もあるよ~ 大昔,とある計測器メーカーが,あえて商品である"計測器の回路図を公開"していました.技術力に自身のあるメーカーだったそうで"複製できるものなら,してみなさい(笑)" という意図があったそうです~. 僕もそんな風になりたいニャ~. 上の2件で感想や意見を貰えるとありがたいニャ~. それではまたニャ~. (2012/03/01 11:02:11 AM)
>滋賀県在住の聖人(笑)さん
お仕事お疲れ様です~!イラっちしないで下さ~い(´・ω・`) 自動生成の経緯は色々あるのですが,基本的には興味本位です,はい(笑). って技術的なコメントありがとうございます. "絶対アドレスと相対アドレス"ですかぁ~. あまりレジスタレベルのプログラミングは経験がないですが,用途に応じての最適化は必要でしょうね. そういった意味では,「何をやりたいか」を最初に洗い出してから選択するのが良さそうですね! "複製しても,簡単に,理解させず,その機能を使わせないもの"…これ深いですね!! ソースコードは第3者から見ても可読性の高く,再利用性の高いものを,というのはよく聞く話です. ですが,私も仕事上のグループワークや未来の自分のためにそれらの工夫をするのは分かりますが,やはり根の部分の技術は自分のものでありたいと思います(わざとトラップを組み込むような感じ). 最近のブログネタは,ソースコード・仕組みをある程度守るための工夫だったりします(*´∇`*) あえて商品である"計測器の回路図を公開"というのは…それだけ自身を持って何かを公開したいものですね! 次に作るゲームは,「クリアできるものならクリアしてみろ」とは言いませんが,色々自分が面白いと思うものを仕込む予定です. やるからには自分らしさを詰め込んでいきたいと思います☆(公開はいつになるやら…) (2012/03/01 09:18:06 PM)
聖人(笑)から,もう一言.
プログラミングも~,回路設計も~,お客様に提供する商品なら "内部の特定の部位に対して,動作の安定性を確保するための仕掛け" って考え方が強くなるかも~? これって結構分からないもので,何も考えずに見ても~ "えっ?,コレ,どゆ,こと~??" って思うだけなのよね~(笑). んで,これを理解せずに"コピペで,動作機構を構成する"と "動かなくなる","動作不安定","バグ動作多発" って事態につながるわけなのよ~. これらの理解や助けになるのは."質の高い技術という事例"を たくさん見聞きして自分で考えて~, 自分の頭の中に"技術データベース"を作るってわけなのよ~. 昨今の"情報流通量"を考えるとね~, 技術者っていうのは,こういったノウハウがないと, 独自性や差別化が図れないと思うわけよ~. こういうものの考え方を総合的にすれば, 一点集中型の技術習得や勉強方法っていうのが, 回避できて~,"すご~い!エンジニアさん"になる と思ったりする聖人(笑)なのよ. まぁ偉そうなこと言っているけど, コレについて他者の敬意を頂けるほど 出来ていないから,名前から, "(笑)"が取れないんだニャ~(爆笑) (2012/03/01 10:15:42 PM) |
|