2013年10月27日日曜日

テスト環境と構成管理は初めにしっかりと

会社のオフィシャルHP が 7~8割方出来てきた。
ここ1週間は外出予定があまり無かったので、集中して内勤作業が出来たのが大きい。
(外出ばっかりだったから自宅で進めてたのは、まあご愛嬌)

関係者に確認して貰うためテスト環境を公開したのだが、
まだ制作中のため更新したら随時行うテスト環境の最新化をどうするかなーと。
大掛かりなものでもないので、svn update を定期的にするよう仕込みたかったんだけど問題が発生。
(単に考慮漏れなんだけど orz)

制作は自分のPC上でやっていて、そこではホスト localhost で index.html のリクエストURI は /index.html にしている。
しかし訳あってテスト環境上の リクエストURI は /official/index.html となる。

つまり DocumentRoot にサブディレクトリを含む含まないの違い。
  • http://www.aaaaa.com/index.html
  • http://www.aaaaa.com/official/index.html
のように / と /official/ といったサイトルート相対パスが異なる問題。

このサイトルート相対パスの違いによって問題となったのは、
html ファイル上で参照している js や css や img などの外部ファイルの参照や内部リンクの記述方法。
html ファイルでは参照系は全て以下のようなサイトルート相対パスで記述している。

  
  <link href="/css/official.css" rel="stylesheet" type="text/css"></link>
  <script src="/js/jquery.min.js" type="text/javascript"></script>

しかし自分のようにサイトルート相対パスを、制作している環境の / で構成管理していてしまうと、
サイトルート相対パスが /official/ なテスト環境で svn update すると当然参照系は全滅(omg ...)。
こんなことに時間割いてる余裕も無いので取り急ぎ以下のようなシェルで対応。。

#!/bin/sh
# ====================================================================
# 環境設定
# ====================================================================

# svn リポジトリ URL
SVN_URL="file:///subversion/repos/official-src/trunk/html"

# コンテキスト名
CONTEXT="official"

# ドキュメントルート
DOCUMENT_ROOT="/var/www/html"

# official ルート
OFFICIAL_ROOT=${DOCUMENT_ROOT}"/"${CONTEXT}

# ====================================================================
# 前処理
# ====================================================================

# clean
rm -rf ${OFFICIAL_ROOT}

# ====================================================================
# 本処理
# ====================================================================

# export
cd ${DOCUMENT_ROOT}
svn export ${SVN_URL} ${CONTEXT}

# owner
chown -R apache: ${OFFICIAL_ROOT}

# replace
cd ${OFFICIAL_ROOT}

# 
# /js/  --> /official/js/
# /css/ --> /official/css/
# /img/ --> /official/img/
#
grep -Evl '/js/'  ${OFFICIAL_ROOT} -r | xargs sed -i "s|/js/|/${CONTEXT}/js/|g"
grep -Evl '/css/' ${OFFICIAL_ROOT} -r | xargs sed -i "s|/css/|/${CONTEXT}/css/|g"
grep -Evl '/img/' ${OFFICIAL_ROOT} -r | xargs sed -i "s|/img/|/${CONTEXT}/img/|g"

#
# grep sed 祭りが続く...
#

# end
exit 0

なんかネガティブ対応な気がするし、スマートで無いなぁ(=o=;)
そもそもローカルのルート相対パス側をちゃんとすべきだった気がめっちゃするし(;・∀・)
次はもっと考慮して管理せんと駄目ですね。。

2013年10月20日日曜日

CSS のレイアウトにおける基本 5 要素

Web 制作を生業とされている方にはつまらない内容のエントリですが、
自分は社会人になってから IT業界でシステム開発・サーバー管理系ばかりやってきたので、
Web デザインってものをちゃんと体系的に学んで来ませんでした。
自分の中での優先度が低かったのもあります。

しかし今年 2013年に入ってから数件 Web 制作をやる機会があり、
また現在も自社のホームページ制作をやっている状況で、
CSS 触る機会が非常に増え、CSS 知りませんでは難しい状況になりました。

そんな時に自分の中での CSS の先生であるニコシスの Y さんから教わった CSS のレイアウトにおける重要な 5 つのプロパティ。
  • margin
  • padding
  • display
  • float
  • position
この 5 つのプロパティが CSS を使ってレイアウトを組む上では必須知識で、これらを理解して使いこなせば、Web 制作に関してド素人だった自分でも大抵の事は出来るようなりました。

これらプロパティ以外にも、ブロックレベル要素やインライン要素、CSS の優先順位など基本的な事はたくさんありますが、この 5 つのプロパティはとても重要なのでしっかりと抑えておきたいです。

一度きちんと学ぶには自分としては以下の書籍がオススメです。

[参考]
Web標準の教科書―XHTMLとCSSでつくる“正しい”Webサイト
http://amzn.to/1d83hFN


2013年10月19日土曜日

Apache 2.2.x → 2.4.x へのアップグレード

個人用仮想サーバー上の Apache, PHP のアップグレードに挑戦しました。
PHP 最新の 5.5.x から Ruby ではおなじみの Generator が導入されたのを是非試してみたかったのが主な理由。
そこで以下現状からそれぞれ最新へとトライ。
  • Apache 2.2.15 → 2.4.6
  • PHP 5.3.3 → 5.5.5
しかし Apache も 2.2.x から 2.4.x でかなり大きな変更となっていて、
ここは慎重に PHP は一段階に留めてアップグレードにしました(^^)

  • Apache 2.2.15 → 2.4.6
  • PHP 5.3.3 → 5.5.5 5.4.20
当たり前ですが Apache 2.2.x 系の config を使おうとするとかなり大変な事になります。。。
mod_xxx でエラーの連続で大変(ちゃんとドキュメント読みましょうww)

2.2.x から 2.4.x の詳細な変更内容は以下リンクを参照されると良いですが、
一番インパクトのある変更は認証、アクセス制御系なような気がします。

2.4.x にアップグレードする際はしっかりと公式のドキュメントに目を通して、
変更内容を理解されてからトライする方が効率的です。
設定ファイルも 2.4.x の conf.default を一からカスタマイズしていく方が当たり前ですがスムーズでした。

英語苦手ですが公式を頑張って読みましょう(^_^;)
どうしても無理な人は、翻訳されてる方などのサイトで大筋を理解してから、
詳細は頑張って公式を読みましょうwww

[参考]
Upgrading to 2.4 from 2.2
http://bit.ly/16m5sy2

Apache HTTPサーバ – Upgrading to 2.4 from 2.2 超意訳版
http://bit.ly/16m5p5i

2013年10月7日月曜日

10/5 バスケ

10/5(土)は、1ヶ月ぶりにバスケをした。




前回参加したときは、Running を絶賛サボってた時だったのでスグへばってたけど、
今回は数回ながらも走りこみをし、週に1,2回程片道 10km ほどの距離をチャリで通勤したりと、それなりに鍛えての参加(^。^)

場所は奈良県は大和郡山市にあるスポーツ施設にて。
何でもプロのバスケットボールの選手が試合をするような場所らしくて施設はかなり本格的。
今までバスケした中で一番良いコートだった。
そして今回は 4時間おもいっきし遊んだ。

【前回より良くなった点】

  • 最後まで体力が持った(╹◡╹)
  • 前回よりポジション取りが良かったのもありスティールやパスカットが何度か出来た。
  • カットインからのシュートや、庶民シュートもそこそこ入るようになった。
【相変わらず悪い点】

  • シュート精度がまだまだ悪い
  • ディフェンスが単調過ぎて、フェイクにスグひっかかってしまう(笑)
  • ドリブルがまだまだ安定しない
  • etc ...
相変わらずな面もあるけど、前回やった時に比べてかなり進歩もあって楽しかった♪
今回も会社のメンバーでやったけど、自分だけで無く何やら全体的にバスケ熱が高くなってるのか、また来月に開催する事が決定!!

バスケにしろゴルフにしろ、会社の人達と交流を深められるのは良いな。
まだまだコミュニケーションが足らないと思ってるので、今回もスポーツを通じて色んな人と話が出来て良かった。
来月も楽しみやなぁ(❛ ◡ ❛)