Archive for 6月, 2013

XHTMLとCSS、時々レスポンシブ [準備体操 – cssで迷いなくす為のポイント]

みなさん、こんにちは。

インフォアライブの二等兵 西本です。

最近、「忍者衣装やたこ焼きの被り物を着用しながら、日々プログラムと戯れている人」というキャラクターのせいで、
社内から少々頭のネジが緩そうな人柄として認識されているような気がしますが、そんなことは無いです。

真面目で好青年なイメージを改めて認識してもらう為にこちらのブログでは若干真面目に記事を書きます。

さて、弊社スタッフ達が色々な知識を投稿しておりますが、
私はWEBサイト構築時の原点であるXHTMLとCSSの内容をピックアップ致します。

最初のお題ですが、cssにあまり触れない方に対する覚えておいた方が良いcssのポイントをご紹介いたします。

1.CSSファイル読込場所について

ズバリ「タイトルタグ下にまとめて記載」するのが一番理想的です。

スタイルシートの基本書sampleでもhead内に記載されていますので
「今更感」がありますが、head内に記載するだけでは駄目です。

「head内に記載するだけ」守れば良いという方に良くあるミスが特定の理由も無しに
外部js読込タグ下でCSSの読込を記載しているパターンです。

というのも、ブラウザがページを表示する時にHTMLに記載されている内容を上から順に読込む為
表示時のレスポンスを左右する可能性があるからです。

jsファイルをスタイルシートの読込前に記載した場合にjsの読込時間が大幅に掛かると、
ブラウザが一時的に真っ白になってしまいます。

エンドユーザがストレス無くサイトへアクセス出来るようにする為にも
こういった基礎的な所に気を使わなければなりません。

尚、補足ですがjsファイルの読込場所に関しては特定の理由がない限り、bodyの閉じタグ上に書込むのが理想的です。

詳細な説明は下記参考書に記載されておりますので、興味がある方は是非読んで下さい(^o^)

https://www.oreilly.co.jp/books/9784873113616/

▼ 理想的な配置例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<link rel="stylesheet" type="text/css" href="stylesheet1.css" />
<link rel="stylesheet" type="text/css" href="stylesheet2.css" />
<link rel="stylesheet" type="text/css" href="stylesheet3.css" />
</head>
<body>

~ 内容 ~

<script type="text/JavaScript" src="scriptfile1.js" />
<script type="text/JavaScript" src="scriptfile2.js" />
<script type="text/javascript"><!--

~  js処理 ~

--></script>
</body>
</html>

WEBページの表示速度に不満を感じた場合はこの書式を意識して記載してみて下さい。

今回は初の投稿なのでここらへんで終了いたします。

来週は今回の続きで

  • ドキュメントタイプは必ず宣言しよう
  • displayプロパティを理解しよう
  • clearfixを知っておこう

の3点をお送りいたしますのでお楽しみ下さい(^o^)

,

No Comments

Linux Tips: findで見つけたファイルへのコマンド一括実行

ファイル検索コマンド find を使って、マッチしたファイルやディレクトリに対して、一括して何かコマンドを実行したい場合、オプション(-exec)を使って、それを実現することができます。

以下は、一例ですが、CentOS-5.x(Linux)では、マニュアルの「EXAMPLES」セクションに様々な実行例が紹介されています。

特定パターンのファイルの行数を数える

ファイル名の末尾が「log」または「1桁の数字」で終わるファイルを対象に wc コマンドで行数をカウントします。

$ find /var/log/ -type f \( -name "*log" -or -name "*.[0-9]" \) -exec wc -l {} \;
1643 /var/log/messages.2
368 /var/log/messages.1
2 /var/log/httpd/access_log
2882 /var/log/httpd/error_log

特定パターンのファイルについて、ファイルサイズを調べる

ファイル名の末尾が「log」または「1桁の数字」で終わるファイルを対象に du コマンドでサイズを表示します。

$ find /var/log/ -type f \( -name "*log" -or -name "*.[0-9]" \) -exec du -h {} \;
128K    /var/log/messages.2
28K     /var/log/messages.1
4.0K    /var/log/httpd/access_log
344K    /var/log/httpd/error_log

特定パターンのファイルを一括して圧縮

Linuxのログ世代管理ツール「logrotate」は、デフォルトでログを圧縮しない設定(nocompress)になっており、それを圧縮する設定(compress)に変えたいケースがあります。その場合、既存のログファイルを次のコマンドを使って一括して圧縮することができます。

該当ファイルの一覧表示。

$ find /var/log -type f -name "*.[0-9]"
/var/log/messages.1
/var/log/messages.2
/var/log/httpd/access_log.1
/var/log/httpd/access_log.2
/var/log/httpd/error_log.1
/var/log/httpd/error_log.2

圧縮処理の実行。

$ find /var/log -type f -name "*.[0-9]" -exec gzip {} \;

実行結果の確認。

$ find /var/log -type f -name "*.gz"
/var/log/messages.1.gz
/var/log/messages.2.gz
/var/log/httpd/access_log.1.gz
/var/log/httpd/access_log.2.gz
/var/log/httpd/error_log.1.gz
/var/log/httpd/error_log.2.gz

ファイルの所有者を一括して rootに変更する

特定ユーザー(root)が所有していないファイルの所有者を一括で変更します。

該当ファイルの一覧表示。

$ find log/ ! -user root -name "*.[0-9]" -ls
2619934  332 -rw-rw-r--   1 zabbix   zabbix     333562  6月  1 04:02 log/zabbix/zabbix_agentd.log.1
2619915   20 -rw-r-----   1 nginx    adm         18720  6月  7 04:02 log/nginx/access.log.2
2619919    4 -rw-r-----   1 nginx    adm           264  6月  6 14:57 log/nginx/error.log.1
2619918   76 -rw-r-----   1 nginx    adm         72575  6月  7 04:02 log/nginx/error.log.2
2619921   40 -rw-r-----   1 nginx    adm         37950  6月  6 04:02 log/nginx/access.log.3
2619849   20 -rw-r-----   1 nginx    adm         18853  6月  7 03:59 log/nginx/access.log.1

所有者の一括変更。

$ find log/ ! -user root -name "*.[0-9]" -exec chown root:root {} \;

実行結果の確認。

$ find log/zabbix log/nginx -name "*.[0-9]" -ls
2619934  332 -rw-rw-r--   1 root     root       333562  6月  1 04:02 log/zabbix/zabbix_agentd.log.1
2619915   20 -rw-r-----   1 root     root        18720  6月  7 04:02 log/nginx/access.log.2
2619919    4 -rw-r-----   1 root     root          264  6月  6 14:57 log/nginx/error.log.1
2619918   76 -rw-r-----   1 root     root        72575  6月  7 04:02 log/nginx/error.log.2
2619921   40 -rw-r-----   1 root     root        37950  6月  6 04:02 log/nginx/access.log.3
2619849   20 -rw-r-----   1 root     root        18853  6月  7 03:59 log/nginx/access.log.1

特定パターンのファイルについて、パーミッションを一括変更する

パーミッションが 600 ではないファイルを一括して、パーミッションを 600 に一括変更します。

該当ファイルの一覧表示。

find ./log -type f ! -perm 600 -ls
2619933   28 -rw-r--r--   1 root     logcheck    26925  6月  6 22:46 ./log/messages
2619906    8 -rw-r--r--   1 root     logcheck     7393  6月  2 04:02 ./log/messages.1.gz
2619923   24 -rw-r--r--   1 root     root        22166  5月 27 19:39 ./log/messages.2.gz
2619914    8 -rw-r--r--   1 nginx    adm          6325  6月  7 11:59 ./log/nginx/access.log
2619917    4 -rw-r--r--   1 nginx    adm           231  6月  7 07:48 ./log/nginx/error.log

パーミッションの一括変更。

$ find ./log -type f ! -perm 600 -exec chmod 600 {} \;

実行結果の確認。

$ ls -l ./log/messages* ./log/nginx/*
-rw------- 1 root  logcheck 26925  6月  6 22:46 ./log/messages
-rw------- 1 root  logcheck  7393  6月  2 04:02 ./log/messages.1.gz
-rw------- 1 root  root     22166  5月 27 19:39 ./log/messages.2.gz
-rw------- 1 nginx adm       6325  6月  7 11:59 ./log/nginx/access.log
-rw------- 1 nginx adm        231  6月  7 07:48 ./log/nginx/error.log

このように find コマンドのオプション(-exec)を使うことで、効率的に処理を行うことができます。
検索したいディレクトリの階層数(-maxdepth)などのオプションと組み合わせるのも有効です。

No Comments