中目黒webデザインとランチブログ -11ページ目

YUIのBase CSSとGrids CSS

Yahoo! UI Library(YUI)のCSSライブラリにはYUI Reset CSSとYUI Fonts CSS以外にも便利なライブラリがあります。

Base CSS

YUI Reset CSSでスタイルをリセットした後、見出しやリストなどにスタイルを新たに定義する作業が残っています。この作業を簡単にするのが『Base CSS(http://developer.yahoo.com/yui/base/)』です。

Base CSSは、見出しやリストなどの要素に新しいスタイルを定義しています。適度な余白や文字の大きさに調整されているので、これをベースに調整していくことで簡単にスタイルを再定義することができます。

Grids CSS

ページを作成する際、横幅を制限したり2段組みにしたりなど、レイアウトに良く使われる枠組みがあります。これをあらかじめ定義したのが『Grids CSS(http://developer.yahoo.com/yui/grids/)』です。


YUIのライブラリは次のようにまとめて参照することもできます。

<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.6.0/build/reset-fonts-grids/reset-fonts-grids.css">

ブラウザのデフォルトスタイルをリセットする (YUI)

ジュンです。
今日は定番テクニックとなったリセットCSSについてまとめてみます。

リセットCSSとは、ブラウザのデフォルトスタイルをリセットするためのCSS設定をまとめたものです。スタイルシートのデフォルト値はブラウザによって違うため、同じスタイルを設定しても表示が異なることがあります。それを解消するために、マージンやフォントサイズなどの指定をリセットするテクニック、リセットCSSが多くのサイトで利用されるようになりました。現在ではすべての要素をリセットするということは少なくなってきていますが、ブラウザ間の差異を簡単に緩和するには有効なテクニックです。

リセットCSSの利用方法

YUI Reset CSS
http://developer.yahoo.com/yui/reset/

Yahoo! UI Library(YUI)でYUI Reset CSSというリセットCSSが公開されているので、それを使えば簡単に利用できるようになっています。

何も考えず、HEAD要素に次の行を追加すれば完了です。

<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.7.0/build/reset/reset-min.css">

もちろん、上記CSSをダウンロードし、必要な項目だけ使うことも可能です。

YUI Fonts CSS
http://developer.yahoo.com/yui/fonts/

YUIではYUI Reset CSSのほかにYUI Fonts CSSも用意されています。YUI Fonts CSSはフォント関連のCSS設定を行うスタイルシートで、これを使うとほとんどのブラウザ間で文字サイズの違いがなくなります。推奨する文字サイズ指定は、パーセンテージ指定です。

基準サイズは13px、line-heightが16px、書体はarialです。


ピクセルサイズをパーセンテージ早見表
希望のピクセルサイズ パーセンテージ
10pix → 77%
11pix → 85%
12pix → 93%
13pix → 100%
14pix → 108%
15pix → 116%
16pix → 123.1%
17pix → 131%
18pix → 138.5%
19pix → 146.5%
20pix → 153.9%
21pix → 161.6%
22pix → 167%
23pix → 174%
24pix → 182%
25pix → 189%
26pix → 197%

XMLの読み込み

ActionScript3.0になってからはXML関連の操作は驚くほど簡単になりました。

外部ファイルを読み込むには、flash.net.URLLoaderクラスを使います。使い方は簡単で、必要な外部ファイルをセットしたURLRequestを引数としたURLLoaderに渡すだけです。


// XMLの読み込み
xmlLoader.load(new URLRequest('doc.xml'));


読み込んだデータを処理するには、addEventListenerを使って外部ファイルの読み込みが完了した通知を受けられるようにします。


// 読み込まれたら処理するイベントリスナーを登録
xmlLoader.addEventListener(Event.COMPLETE, complateXMLHandler);


上記で、読み込みが完了したらcomplateXMLHandlerが実行されるので、XMLの処理を記述していきます。
たとえば、XMLデータをtraceで出力するには下記のようになります。


function complateXMLHandler(event:Event):void{
trace( new XML(event.target.data) );
}


もう少し丁寧に、不要なイベントリスナーを削除したり、XMLをグローバル変数に代入して利用する場合は下記のようになります。


function complateXMLHandler(event:Event):void{
// メモリの消費を抑えるために、使い終えたイベントリスナーは削除する
xmlLoader.removeEventListener(Event.COMPLETE, complateXMLHandler);

// XMLデータの代入
try{
xml = new XML(event.target.data);
} catch(e:TypeError){
trace( e.message );
}

trace(xml);
}


次の例では、新しい Loader オブジェクトを作成し、それにXMLファイルへのパスを含むURLRequestオブジェクトを渡します。ロード処理が成功した場合、completeイベントが送出され、XMLファイル内のデータが出力されます。


package {
import flash.display.*;
import flash.events.Event;

import flash.net.URLRequest;
import flash.net.URLLoader;

import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.system.LoaderContext;


public class xmlLoadTest extends MovieClip{
// グローバル変数
var xml:XML;
var xmlLoader:URLLoader;

/*-----------------------------------------------------------
コンストラクタ
-----------------------------------------------------------*/
function xmlLoadTest() {
// XMLファイルを読み込むためにURLLoaderオブジェクトを生成
xmlLoader = new URLLoader();

// 読み込まれたら処理するイベントリスナーを登録
xmlLoader.addEventListener(Event.COMPLETE, complateXMLHandler);

// XMLの読み込み
xmlLoader.load(new URLRequest('doc.xml'));
}

/*-----------------------------------------------------------
XMLファイルの読み込み処理メソッド
-----------------------------------------------------------*/
function complateXMLHandler(event:Event):void{
// メモリの消費を抑えるために、使い終えたイベントリスナーは削除する
xmlLoader.removeEventListener(Event.COMPLETE, complateXMLHandler);

// XMLデータの代入
try{
xml = new XML(event.target.data);
} catch(e:TypeError){
trace( e.message );
}

trace(xml);
}
}
}


カフェ『SPUMA』-渋谷

中目黒webデザインブログ-spuma


ランチビールの誘惑に負けてしまう、ジュンジュンです。
渋谷での打ち合わせや、神南にあるナノ・ユニバースビー・セカンドに買い物に行った際に良く利用するカフェがSPUMAです。
ちなみに、ジンナンって地名と場所は知っていましたが、ボクは神南をカミナミと読んでいました。ジンナンとカミナミってなんか同じ場所っぽいなとなんとなく思っていたのですが、深く追求しませんでした。そういうことってよくありませんか?

中目黒webデザインブログ


地下ということもあるのか、渋谷の喧騒から逃れてひっそりとランチできるお気に入りのカフェです。

カフェでランチする際の鉄則は簡単な料理をオーダーすること。そのルールに従って迷わずマグロとアボガド丼をオーダー。どちらも切ってぶっこむだけなので、まずくなりようがありません。そして、SPUMAのマグロアボガド丼はとても美味しい。サラダも手抜き感がなくとても好感が持てます。また、デザートがひと工夫されていて、嬉しくなります。あとジャスミンティーがあるのもいいです。

忘れていましたが、SPUMAはライブハウスでもあるんです。ランチしか使ったことないので、どんな感じだか知らないのですが一度行ってみたいですね。ただ、マイスペースの自己紹介にsupumaとスペルミスがあります。

なかなか自己紹介で名前を間違えるってないと思うので、貴重ですね。

スプーマ (ダイニングバー / 渋谷、明治神宮前、神泉)
★★★★ 4.0


東京都渋谷区神南1-17-4 神南ビルB1F
tel. 03-3770-8657
open 11:30~23:00/金土祝前10:00~翌4:00
無休

[SELinux] SELinuxを無効化する

SELinuxはセキュリティ管理をしてくれるとても大事なモジュールですが、慣れていないとSELinuxによる強力なアクセス制限によってインストール作業や運用業務でつまづくことがあります。

本来であればSELinuxをマスターすることが必要ですが、緊急時にはSELinuxの機能を停止する方法が手っ取り早い解決策となります。今回はその停止方法のご紹介です。

SELinux入門
http://itpro.nikkeibp.co.jp/article/COLUMN/20070827/280411/
日本SELinuxユーザ会
http://www.selinux.gr.jp/

●SELinux動作状態の確認

SELinuxの動作状況は getenforce コマンドを調べられます。。

# getenforce
Enforcing

getenforceコマンドを実行すると、現在のSELinuxの動作状況が以下のように表示されます。

enforcing
SELinux機能、アクセス制御が有効
permissive
SElinuxは警告を出力するが、アクセス制限は無効
disabled
SElinux機能、アクセス制御が無効

sestatusでより詳しい情報を表示させることができます。

# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 21
Policy from config file: targeted

●SELinuxを一時的に有効・無効化

SELinux機能を一時的に無効化します。この方法を使った場合、サーバの再起動の際にSELinux機能は元の状態に戻ります。

動作状態の変更はsetenforceコマンドを使用します。setenforceコマンドで動作モードを指定すると、即座に変更されます。SELinux機能を一時的に無効化するには、setenforceコマンドで0を指定します。

# setenforce 0

SELinux機能を一時的に有効化するには、setenforceコマンドで1を指定します。

# setenforce 1

●SELinuxの設定

再起動の際もSELinuxの状態を保持したい場合は、/etc/selinux/configを直接編集します。

# vi /etc/selinux/config

SELinuxを有効にする。

SELINUX=enforcing

SELinuxを無効にする。

SELINUX=disabled

サーバを再起動すると設定が反映されます。

Smart サイトデザイン

ゲバです。

Smartのデザインが出来上がりました。

中目黒webデザインブログ-Smart

最も気をつけた点は、バナーやウィジェットとサイトデザインとのバランスです。
広告もしっかり目立つように…。

コーディングとMT入れが完了したらいよいよローンチ。

ハンバーガー『GOLDEN BROWN(ゴールデンブラウン)』-中目黒

ボクらの事務所は上目黒の住宅街にあります。中目黒、青葉台、ちょっと歩けば代官山でランチアクセスはなかなか良いと思います。ちなみに、青葉台の高台付近は西郷山と呼ばれていますが、これはかつて西郷隆盛の弟・西郷従道の邸宅があったことによっているそうです。なるほど。

さて、中目黒から池尻方面へ山手通りをずんずんと歩いて行くと、イエローハットを過ぎたあたりに『GOLDEN BROWN(ゴールデンブラウン)』というハンバーガーのお店があります。

テーブル席が4、5数席とカウンターの小さなお店ですが、それほど窮屈な感じはありません。店内はありがちなアメリカンな内装ではありますが、アメリカンダイナーによくあるゴテゴテレトロというわけではなく、比較的すっきりした感じです。

それはそれとして、バーガーとジンジャーエールをオーダー。ジンジャーは辛口、甘口を選べるので、甘口をチョイス。ここの辛口は本当に辛いというか渋いので、甘口ぐらいがちょうどいいです。

中目黒webデザインブログ-ゴールデンブラウン


バーガーのお味はというと、かなりしっかりした味。ケチャップなどは全然必要ありません。パテは重厚で、肉汁たっぷり。ジンジャーの辛口で口の中をシュワっと洗い流して、すぐにまた食いつきます。バンズはちょっと柔らかなので、比較的食べやすいですね。

そういえば、がっつりハンバーガーってつぶしてから食べる方法もありますが、バンズ好きとしてはやっぱりそのままで食べたいですね。ちょっとぐらいこぼれてもいいんです。

ポテトは細いタイプで、カリカリ。悪くないです。もうちょっと濃いめの味付けでもよかったですね。途中からケチャップを使いました。

GOLDEN BROWN (ハンバーガー / 池尻大橋、中目黒、神泉)
★★★☆☆ 3.5


TEL:03-6661-8560
東京都目黒区東山2-3-1 青木ビル 1F
営業時間
11:30~22:00
無休

『Google Static Maps API』

モバイル用の地図が欲しいと思い、『Google Static Maps API』を利用しました。
『Google Static Maps API』は、Google Maps APIの静止画像版のようなもので、JavaScriptを使わずに指定された地点の静止画像を表示します。そのため、通常のGoogle Mapsのようにダイナミックに移動したりズームしたりはできませんが、普通の画像として出力されるため携帯電話でも使うことができます。もちろん、添付ファイルとして送付することもできるので、いろいろ利用できそうですね。

利用方法はすごく簡単で、下記のようにIMG要素のSRC属性にhttp://maps.google.com/staticmapを指定し、そのURLにパラメータを追加するだけです。

<img src="http://maps.google.com/staticmap
?center=35.645875,139.694416
&markers=35.645875,139.694416,red
&zoom=16
&size=220x200
&key=ABQIAAAANWHyAeNi2NcPYEcnv-ElSxQA_I0BqD9IUoV8i73yjf1GEj4aHxSBXtjd7Da6ExpT5zPy__2Cdl3rTQ">

・center(必須):マップ中央の座標を緯度と経度で指定します(例:center=35.645875,139.694416)。
・zoom(必須):ズームレベルを0~19の間で指定します(例:zoom=16)。
・size(必須):表示するマップのサイズを幅×高さで指定します。指定可能な最大のサイズは512x512です。
・maptype:マップの表示タイプを指定します。値はroadmapとmobileの2種類で、roadmapは標準のマップ表示、mobileは携帯用に見やすくした表示です。roadmapがデフォルトです。
・markers:マーカーをマップ上に配置します。マーカーを指定した場合、centerやzoomは省略可能です。指定できる内容は、マーカーの緯度・経度、マーカーの色(red,blue,green)、マーカーの文字(a-z)を指定できます。値を|(パイプ、%7C )で区切ることで、複数のマーカーを指定できます。
・key(必須):Google Maps API キーを指定します。

参考
http://code.google.com/apis/maps/documentation/staticmaps/

アフェリエイト企画のミーティング

ジュンジュンです。

本日はamazonアソシエイトを利用したサイトのミーティングをしました。アフェリエイトの良い所は収益があることは当然として、技術向上など本業へのリターンも期待できることです。とくに集客の難しさを体感するにはもってこいだと思います。

集客の方法
・ブログパーツを使ってバイラルマーケティング
・賞取りや有名雑誌、有名サイトへの掲載を狙ったアイデア勝負
・SEO

本日のミーティングはサイトの方向性で難航しました。商品の見せ方やデザイン的なことは尽きることなく出てきたのですが、集客をどうするか、今いる人員でどう運営していくのかなどを考えるとなかなかこれだ!というものがなかなかありません。
amazonや他サイトですでにやっていること、もしくは簡単にまね出来るといったアイデア、初期制作に時間がかかるものも今回は避けることにします。なかでも、集客をどうするか明確に説明できるかどうかが重要です。

サイトの必要事項
・金額的初期投資なしに、なんらかの集客手段がある
・今いる人員で運営できる
・簡単にマネできない
・リピーターを獲得できる
・SEO重視であればページ数の確保と、ライティングで勝負できること
・アイデアで勝負する場合は雑誌に掲載される、賞が取れるなどの見込みがあること

中目黒webデザインブログ

中目黒webデザインブログ


写真集をいっぱい並べる、日めくりカレンダー的に毎日1個の商品を紹介するとか、架空バイヤーのお勧めサイト、子育てで外出できない新人お母さんをターゲットする、セレクトショップのようにライフスタイルを提言するようなジャンルレスの厳選商品をリアル店舗風に紹介、Google MapsのAPIやYoutube APIとのマッシュアップ、などなどいろいろ考えたのですが、実際に運営して集客するところまでを考えるとなかなか決め手がないんですよね。

もうちょっと煮詰めればなんとかなるのかなー。

それはそれとして、問題点が明確になったり、共通認識が持てたりと少しは前進したかなと思います。

・・・、また考えてみましょう。

イタリアン『Barancetta/バランチェッタ』 中目黒

ジュンジュンです。

最近、MOVABLE TYPE4.25をインストールして、講座サイトのバックエンドにしようとカスタマイズを楽しんでいます。昔と比べるとずいぶんとユーザフレンドリーになっていますね。そして、ずいぶん進化しています。編集画面にWYSIWYGエディタが導入され、WORD感覚で編集できるようになりました。また、テンプレートタグが大きく拡張されて、変数や制御構造(条件分岐など)が利用できるようになりました。
MTはマニュアルやヘルプ関連のドキュメントが日本語で充実しているのも安心なところです。プログラム経験者であれば参考書はいらないぐらいです。
企業利用でも5ユーザまでは52,500円とお安い価格です。一昔前じゃ考えられないですね。

そんな今日はパスタかなと思い中目黒『Barancetta/バランチェッタ』でランチしました。
バランチェッタはお気に入りのお店です。何かの折に値上げしていたので足が遠のいていたのですが、今日見たら1000円に戻っていたので嬉しかったです。1000円以上のランチは普段使いにはできないですよね。

※サイトで確認したところ、土・日・祝日は2000円なので、休日出勤の折に見かけたのかな。

中目黒webデザインブログ-バランチェッタ


バランチェッタはとにかくパスタが美味しいのと、前菜、パン、デザートがなかなか素晴らしいんです。お水も瓶とコップのセットなので、なんとなくいい気持です。CP高いのではないでしょうか。

中目黒webデザインブログ-バランチェッタ


変わり種メニューのピッチという手打ちうどん風パスタがあるということなので、迷わずピッチをオーダーしました。トマトベースです。

麺が太くモチモチしているのですが、パスタのイメージからはそんなに外れていません。ありですねー。ただ、アラビアータとプッタネスカは好きなんですけど、酸味が効いている、というぐらいのトマトソース系パスタはそれほど好きじゃないんですよね。なのでソースはそれほど美味しく感じませんでしたが、ここはいつもソースが美味しいので、トマトソースが好きな人にはきっと美味しいはず。

デザートはチョコムース的な感じのケーキ。甘さ控えめで美味しいです。

自家製パニーニランチもあるみたいなので、次はパニーニにしようかな。

そうそう、このお店は店長風のおじさんの接客が若干ぶっきらぼうなのが気になるんですよね。もう少し朗らかにするだけでだいぶ違うのになー。

バランチェッタ (イタリアン / 中目黒、代官山、恵比寿)
★★★☆☆ 3.5


TEL:03-3710-6885
住所:東京都目黒区上目黒1-16-6
営業時間:
11:30~14:30 18:00~24:00
ランチ営業、夜10時以降入店可、日曜営業
月曜日