Browser フラットデザインからマテリアルデザインへ

2015年2月21日 | Browser | コメント (0)

ウェブページなどで、従来のボタンのデザインのように、立体的に見えるようにデザインしたものをリッチデザインというそうです。マックやWindowsが登場してからごく最近まで、画面上に出っ張りがあるように見せるユーザーインターフェース(UI)がずっと続いていました。それまでのCUIの時代は、ほぼテキストだけだったので、GUIで容易になったことをどんどん活用したのではないかと思います。

一般の人がホームページを作り始めたころは、ホームページビルダーに付属されていたアニメーション画像を多用したサイトもたくさんありました。動きがあるほうが、コンピュータで表示している感じがあったのでしょう。紙では表現できないことだからでしょう。だたし、手作業なので、半年過ぎても記事リンクに「NEW!!」というキラキラした画像がいつまでもあるようなサイトもありました。フラッシュもセキュリティの面から衰退。

このブログを始めたころは、ボタンは立体的で、タイトルなどのクリックしても何も起きない場所まで影を付けて立体的にしていました。だいたいどのサイトもそうだったと思います。このサイトもつい最近までそうでした。そうすることに疑いもなかったです。

最近、iOS7のころから、突然「フラットデザイン」という言葉が出てきました。もちろん一般人にとって「突然」というだけで、いろいろな動きはあったのでしょう。単にユーザーインターフェースを研究しているうちにたどり着いただけではないようです。

アニメーション画像は、広告以外に使われなくなり、企業のロゴがあるトップバーも細くなり、白をベースにシンプルなページ構成。リンクとリンクの行間も隙間があって、見やすくなりました。すっきりしてきたのは、スマホ対応が大きな要因だったようです。指でタッチするので、間隔は広くないと間違ったところをタップしてしまう。

さらに最近、マテリアルデザインという言葉が登場しています。行き過ぎたフラットデザインの揺り戻しのようでもあり、ページをめくったり、タップした時のアイテムが広がる感じなどの物質感を表現したもの。エフェクトは面白いのですが、操作性の統一感はまるでない。もちろんなんでもかんでも立体的にしていたころも、統一感はないのですから、そんなものです。

たぶん、使う側が求めているのは、クリックなりタップなりしたときに、反応がある場所なのかどうかが目で見てわかることだと思います。ボタンをなくしてしまえば、色を変えない限り反応があるものなのかがわかりません。スマホだとマウスを載せてマウスカーソルの変化で判別するということもできません。

どのサイトもスタイルシートを使って色を変えているのですが、確かリンクは青、すでに開いたリンクは紫だったと思います。サイトデザインの統一感のためにその通りになっていないサイトが多いので、そんな色使いだったことを知らない世代もあるかもしれません。しかし、もし統一するなら、もしわかりやすくリンクを表現するなら、青と紫の色分けがわかりやすいのではないかと思います。いわゆるデファクトスタンダート(?)。ただし、濃い青(紺)は、黒との区別がわかりづらいので、却下。

マテリアルデザインを推進する前にやるべきことはあると思います。

MovableType 過去30日間のアクセスランキング

2015年2月21日 | MovableType | コメント (0)

2005年の記事に、
[E] MySQLで記事のアクセス分析
ということで、アクセスランキングを設置したのですが、データが蓄積され続けるので、ときどきリセットして運用していました。

これを過去30日間のアクセス数集計をしたいと思いました。MySQLのクエリーをネットでサンプルを調べながら、下のようなクエリーにたどり着きました。

$query = "SELECT entry_blog_id, mt_entry.entry_id entry_id, entry_title, entry_authored_on, sum(views) as total FROM mt_entry, recently_most_viewed where mt_entry.entry_id = recently_most_viewed.entry_id and entry_blog_id =".$blogid." and (DATEDIFF( NOW(), date ) <= 30) group by entry_id ORDER by total DESC LIMIT 0,$INFOMAX";

$blogidには、ブログIDが入り、複数のブログを運用している時のフィルダになります。$INFOMAXは、ランキングの数です。

「sum(views) as total」とすることで、閲覧数の集計を行ないます。「DATEDIFF( NOW(), date ) <= 30」という部分で、30日以内のデータを。「group by entry_id」とすることで、エントリー別の集計を行なうように支持しています。

Linux mrtgでbindのクエリー推移を出力

2015年2月 8日 | Linux | コメント (0)

mrtgでbindのクエリー数の推移を表示する方法は、いくつかのサイトで見ることができます。

例えば → 実用 BIND 9で作るDNSサーバ(10):BIND 9の運用情報収集と分析方法 (2/2) - @IT

rndcコマンドで「rndc stats」としたときのsuccessとfailureをdnsstats.plを使って、グラフ化するものです。

CentOS5だとこの方法が使えるのですが、CentOS6はいつまでも0です。CentOS 5.11のBINDのバージョンが9.3.6、CentOS 6.6のBINDのバージョンが9.8.2です。どうやらBINDのバージョンが9.6移行の「rndc stats」の出力形式が異なるのが原因のようです。前のバージョンと同じ形式の出力にするために、いろいろ調べてみたのですが、設定ファイルの編集などでは対応できないようです。

BIND9.3.6の出力が

+++ Statistics Dump +++ (1423322807)
success 16524
referral 1
nxrrset 1690
nxdomain 3420
recursion 13345
failure 311
--- Statistics Dump --- (1423322807)

BIND9.8.2の出力が

+++ Statistics Dump +++ (1423221603)
++ Incoming Requests ++
                2382 QUERY
++ Incoming Queries ++
                 567 A
                1783 PTR
                   8 TXT
                  24 AAAA
++ Outgoing Queries ++
[View: default]
                1190 A
                  68 NS
                 352 PTR
                   8 TXT
                  28 AAAA
[View: _bind]
++ Name Server Statistics ++
                2382 IPv4 requests received
                2358 responses sent
                2170 queries resulted in successful answer
                  88 queries resulted in authoritative answer
                2177 queries resulted in non authoritative answer
                   6 queries resulted in nxrrset
                  93 queries resulted in SERVFAIL
                  89 queries resulted in NXDOMAIN
                 559 queries caused recursion
                  24 duplicate queries received

と続いています。

そこで、下のサイトにあるbind96-stats-parse.plを利用します。
Monitoring BIND9 | packetmischief.ca

bind96-stats-parse.plを/root/mrtg/に置いたとします。

dnsstats.plの$newstatfileをこのあと変換するファイルを指定します。

my $newstatfile = "/root/mrtg/named_stats.txt";

system("$rndc", "stats");
の後ろに

system("/root/mrtg/bind96-stats-parse.pl < /var/named/data/named_stats.txt > /root/mrtg/named_stats.txt");

と追記します。

if (($foundsuccess == 0) && ($line =~ /^success (\d+)/)) {

if (($foundsuccess == 0) && ($line =~ /^name_server_statistics:queries_resulted_in_successful_answer=(\d+)/)) {

と変更。

if (($foundfailure == 0) && ($line =~ /^failure (\d+)/)) {

if (($foundfailure == 0) && ($line =~ /^name_server_statistics:queries_resulted_in_servfail=(\d+)/)) {

と変更。

このdnsstats.plを/etc/mrtg/mrtg.cfgに記述します。

### DNS Server monitor ###
Target[dns-server]: `/root/mrtg/dnsstats.pl`
Title[dns-server]: DNS Server monitor
PageTop[dns-server]: <H1>DNS Server monitor</H1>
Options[dns-server]: growright,noinfo,nopercent,unknaszero,perminute
#RouterUptime[dns-server]: public@192.168.0.1
MaxBytes[dns-server]: 32000
AbsMax[dns-server]: 64000
RRDRowCount[dns-server]: 3200
Colours[dns-server]: YELLOW #F9C000,RED #F90000,LIGHT YELLOW #FFFFBB,LIGHT RED #FF8080
ShortLegend[dns-server]:queries/m
YLegend[dns-server]: Qs per Minute
Legend1[dns-server]: Queries received over 1 minute
Legend2[dns-server]: Failed Queries received over 1 minute
Legend3[dns-server]: Maximal Queries over 5 minutes
Legend4[dns-server]: Maximal Failed Queries over 5 minutes
LegendI[dns-server]: &nbsp;Queries:&nbsp;
LegendO[dns-server]: &nbsp;Failures:&nbsp;

以上の設定で、無事にグラフの出力ができました。