css を書くの、なんとか楽にならんものかなぁ。

2010年3月9日

NZサイト を作ったときの css コーディングの覚え書きというか、メモというか。

ちと、今回は、セレクタの階層をなるべく浅くやってみようというポリシーで作ってます。なので、ほとんどクラス名のみ。
このやり方で書くのは正直めんどくさい。 自分のサイトだからやってみたけど、仕事ではしないと思います。

ul.hoge > li とかやったほうが絶対楽なのはわかってんですけど、パフォーマンスに影響する とか、yahoo どっかで見た気がして、やってみようかと。

(とか思ったら、そんなに効果は無いっぽい? CSSセレクタのパフォーマンスへの影響)

クラス名のみでやってると、当然ながら html のタグが変わっても多少粘れるっていうのはあるかも。
ま、div と span とっかえて、display 指定が無かった場合なんかは壊れますが。

あと、class 名のつけかた。相変わらずいきあたりばったりでつけているので、一貫性が無い。これはなんとかしたい。
やっぱり最後に整理しないといかん。


今回は less を使いました。コーディング時はファイルを分割して書き、プレビューするときに 1 つの css にまとめて表示させるようにしています。手動じゃやってられんので当然自動で。

今のところ、ちと気になる点が2つほどあって、
・less ファイル(cssも?)のプロパティの値を改行するとパースエラーになっちゃって、グラデーションの指定をするときに見辛くて大変困る。
・複数セレクタを指定しているとき、セレクタに疑似クラスが入っていると、レンダリング時に分割されてしまう。同じ指定がいくつもあるので無駄。

でも、 変数が使えたり計算できたりするのはかなり便利。-moz-hogehoge と -webkit-hogehoge をまとめたりするときに重宝してます。


デザインが落ち着いて、整理し始めたら、プロパティ別整理法っぽいこともやっています。
font-size とかフォント色・背景色とか。

/* font-size 12px がデフォ */
/* font-size: 9px */
.photo_info_title,
.exif_key
{
  font-size: 9px;
}

/* font-size 10px */
.header_navi,
.no_map,
.index_top_navi_item_ja,
.nogps,
.photo_section_title
{
  font-size: 10px;
}

/* font-size 18px */
.page_title,
.photo_title
{
  font-size: 18px;
}

これで、新しいクラスのフォントサイズを 10px にしたいなーって時には、10px んとこにクラス名を追加すると。制作も後のほうになってくると、他のクラスとの整合性なんかが気になってくるので、個人的にはこっちが好きです。が、プロパティ別なものと、クラス別なもの両方あったりするので、自分しか理解不能ってのはあるかも。そんなときの Firebug でw。

あと、同じ見た目にしたいけど、クラス名は同じにならんよなぁ〜っていう時にもこの方法でやってます。
class="hogehoge shadow1"
class=”shadow1″ なんて class=”red” と同じじゃん って感じなんで、やりたくない。けど、同じ影のプロパティつけたいし、後で変更するかもしれないし・・・ ってとき。

/* ボタン用シャドウ */
.footer_pagetop_link:hover,
.index_top_navi_item_link:hover,
.photo_prev_footer_link:hover,
.photo_next_footer_link:hover
{
  .box-shadow(0, 1px, 5px, rgba(0,0,0,0.3)); // .box-shadow を別のところで定義してます。
}

とか。

コメントを書いとかないと、何やってんだかわかんなくなるので、この部分に関してはなるべくコメント書くようにしてます。

ちょっとめんどくさいのは、セレクタの一番下のものにコンマをつけるとエラーになる (ま、そうですな) ので、一番したのものを消すときに行削除だけじゃすまないこと。 たまに忘れるんです。上の行のコンマ消すの。


んー、もーちっと楽になんないかのう・・・。
やっぱ経験値稼がんとだめやなぁ。

NZサイト公開しました。

2010年3月4日

http://bit.ly/l13_nz

公開しました。やっと。
自分のサイト作ったのって何年ぶりだよって感じなんですけど(汗。
できました・・・と書こうとしたけどやっぱりやめたのは、
まだやってないことも、やりたいこと山のようにあるんで。

一応 html5 + css3 をメインで作ってるので、Chrome が一番まともに見える気がします。
Firefox 3.6 だと、transition 効かないし。
Safari は、なぜか transition がマズいのか transform がマズいのか、twitter ウィジェットとの相性が悪い。
Mac の Chrome でも、デフォルト表示を transition かけて表示してくれちゃったりする。
IE は見えるけど、色々としょぼい。

今日はこれで一息ついて、明日からまたちまちま修正と変更です。

Meadow Fresh

2010年3月3日

http://lisastown.com/inspirationwall/2010/02/11/a-new-zealand-train-station-gets-carpeted-in-green/

さすが NZ 。

そういや、うちがいたころも、 Wellington の駅で羊つかって撮影やってたっけ?

Training session at the sheep station

Lyrics training 歌詞の聞き取り

2010年2月27日

lifehacker 見てたら発見。
http://www.lyricstraining.com/
歌を聞いて歌詞の穴埋めするやつ。

NZで学校行ってるときにやりました。
上にビデオ、下に歌詞があって、歌詞にブランクがあって、そこを入力してく感じ。

Help に書いてあるけど、
BS – リピート
TAB – スキップ
Enter – 再生/一時停止

いがいとおもろいねこれ。

Google Closure Library + Compiler メモ

2010年2月27日

ADVANCED_OPTIMIZATIONS 使いたいっ!・・・・・・いや、なんとなく。
やっぱ js は、ちっさいほうが良いし、NZ サイトの JS をSIMPLE_OPTIMIZATIONS と比較したら、こんだけ違ったわけだし。

-rw-r--r-- 1 hoge hoge  35495 2010-02-27 04:56 test.js(ADVANCED)
-rw-r--r-- 1 hoge hoge 157754 2010-02-27 05:08 test_uncomp.js (defalult (SIMPLE))

というわけで、Closure Library を使い、圧縮に Closure Compiler の ADVANCED_OPTIMIZATIONS を使おうとしてハマったことのメモです。
Libary 自体、まだまだ使いこなせていなく、わかんないことだらけなので、これからも色々起こるでしょうけど。

google map v3 を使いたいんだけど、google.maps.LatLng 達がいなくなる

compiler のオプション –externs で google_maps_api_v3.js” を使う。
勝手に変更しないやつの定義みたいなものらしい。ってか、インタフェースの定義だよねあのファイル。

参考
How to Declare Externs with the Closure Compiler Application
Closure-Compiler Extern File Now Available

プロパティ名が変わる。

プロパティ名を文字列にする。


var opt ={
  zoom: 12,
  center: pos
  mapTypeId: google.maps.MapTypeId.ROADMAP
};

を、


var opt ={
  'zoom': 12,
  'center': pos
  'mapTypeId': google.maps.MapTypeId.ROADMAP
};

にすると ok っぽい。
そこでしか使わないやつは ドットを使い、別のところでも使うやつは文字列でいくと。

参考
Inconsistent Property Names

goog.events.listener(window, hoge …) とやると未コンパイルでは動くが、コンパイルすると動かない。

window つっこんじゃマズいんですかね・・・。
とりあえずトリガーだけ欲しい & this が使いたいので、今回は下記の方法で逃げた。


var me = this;
window.addEventListener(EVENT, function(){
  me.hogehoge();
}, false);

html から呼びたい関数があんだけど、リネームされた

window のプロパティに設定する。


function hogehoge(){
...
}
window['hogehoge'] = hogehoge();

参考
Removal of Code You Want to Keep

コンパイルしたとき warning 出るけど意味わかんね

Error and Warning Reference

コンパイル前と後で動きが違うんですけど・・・

ね・・・。
試しにクラスを1つテストを書いてコンパイルしてみて、テストは通ったから大丈夫!
と思ったけど、まとめると動かないとかあるし。
selenium とかで動きチェックしないとダメなんですかね、やっぱり。
ここはちゃんと考えないとマズいよなぁ。

とりあえず、デバッグは console.log 入れまくって頑張り、function も console.log につっこんで、
そっから js 整形ツールにつっこんで中身確認とか(理解できないやつもあるけど)。

と、今んとこそんな感じか。calcdeps.py で deps.js 作ったりとかも後でメモれたらメモる。

なんでこんなメンドっちいことをやっているかというと・・・、おもしろそうだからw
仕事で普通のサイト向けに js 書くなら jquery のが楽だし作業は早いし、
それなりのクオリティで出せる(出せていると思いたい)はずなので。

色々でてくる

2010年2月25日

ナビゲーションのことを考えてたら、
autopagerize と ldrize があるのを思い出し、
それに対応したいかなぁ〜とか考えてたら、
ページ追加後のイベントも取れそうだったので、
今日は終わらんと思って、制作をやめましたw
hAtom だの xFolk とか見とこう。
ってか、そのへん microdata との絡みも少し見ないと。
明日また頑張ろう。

今日やった事といえば、
・テンプレートの整理
・更新データ作成スクリプト制作
・写真単品ページのナビゲーション制作

まだ、そんなに細かいところを気にしてるわけじゃないのに色々と出てくるわ。

ubuntu で、firefox 3.6

2010年2月25日

拡張の関係で見送ってたけど、ようやく入れました。

Firefox Stable Channel Packagesのリポジトリを加えて、インストール後、
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest-3.6/linux-i686/xpi/ja.xpi
の、ja.xpi を入れて日本語にして完了。

[追記 2010/02/25]
と思ったんだけど、greasemonkey やら page speed を入れると起動しなくなる(涙。
たぶん、プロファイルに変なのが入ってんだろう。
環境再構築は大変だから、しばらく 3.5.8 に戻しておきます。

久々の amazon – 『ビジネス人生論・なぜ、泣ける男は成功できるのか?』

2010年2月24日

nakeru

ビジネス人生論 なぜ、泣ける男は成功できるのか?(amazon)
ビジネス人生論・なぜ、泣ける男は成功できるのか?(著・平林久和)(公式サイト)

日本に帰ってから、3冊目(譜面以外)に買った本が届きました。
例の、うちの先生の本。

そろそろ次の仕事を探さなきゃなぁって事もあり・・・
ってか、そういう人がターゲットな本じゃないけど。
とか思ってパラパラっと開いたら、
思ったよりすらっと読めます(まだ最初ですけどね)。

『コンサルタントの道具箱』もまだ読んでないし、少し読書の時間を作ろう。

自分のことというと、相変わらず、長期の目標が無い。
まだコード書くのがおもしろいから、まだコード書いてるだろうけど、その後がねぇ。
なんか、こう、寝る間を惜しんで何かするってのも無いし。
ってか、そもそも己の持ってるスキルが貧弱やから、勉強せにゃなぁ・・・。
で、落ち込みスパイラルに入り、フテ寝するのが流行(涙。
とかいうのも、一種の「モヤモヤ感」なんですかね?
なにはともあれ読んでみよ。

読んだ後に変われるか?俺。

メモメモ 【ニコニコ動画】 佐藤雅彦CM集

2010年2月24日

nz サイト・・・まだです。

2010年2月23日

monz test
ロケーション一覧っぽいページ。なんか、デザインべただなぁ・・・。

1歩進んで2歩下ってます。
サイトのプレビューを作ってるツールを webrick 直叩きから Rack を使うように変更し(Rack だとスッキリだ〜)、
テンプレートエンジンを Erubis から Tenjin に変え、
裏側は大分整理されました。

んで、表。とりあえずスタティックなページで攻めることにしました。
なんとなーくアウトラインは見えてきた感じ。
まずは、完成させんとな…

頭がおいつかない

2010年2月19日

いや、例の NZ 写真サイト。

考える事が多くてわけわかんなくなってきてます。
ま、そんな時には、画像でもレタッチするわけですが、
何故か、google map の衛星画像を読み込むので 403 がでてしまい、それも進まず。

根本は、見せ方が決まらんの。

写真を1枚ぼこっと置くだけなら簡単。
こっちで順番を決めて、この順番で見てくださいね っていうのも簡単。

でも、それじゃ面白くないので、色々な切り口でまとめられるようにしたい。
となると、まぁ、難しい。

あと、もう一つ問題は、adsense を入れようと思ってるんだけど、ajax と相性が悪い。

入口は html 版で、凝ったことをるすページは ajax でいくっちうのもありなんだけど、
そうすると、html 版を作らなきゃいけなくて、そっちの生成方法やら、デザインやらも考えないといけない。

てーか、そもそも、画像がまだ40枚くらいしかないから、
まだナビゲーションあんまり凝らなくて良い?って考えもなくもなく・・・。

今のところ、
画像生成(大きい画像、正方形サムネイル、google map に使うマーカーアイコン を出力)スクリプトはできた。
html の生成は、プロトタイプ制作環境(?) っというか、まぁ、webrick でテキトーに作ったやつで試行錯誤中。
ajax 版は closure library でホゲホゲして遊んでるところ。

html 版は、php で作ってそのまま上げるか、こっちで html 生成して上げるか迷い中。
ページ数はそれほど多くならないハズなんだけどなぁ。

あとは、テキストをどれだけ書けるか。

思ったより苦戦してます。

digiKam での写真の整理方法をちょっと変更

2010年2月11日

・編集元ファイルの名前を “年-月-日T時_分_秒” に変更。
→Web をつくる時に使うファイル名と合わせた。
が、リネーム設定が保存できないのでめんどくさい・・・何かないかのぅ。
あと、リネーム間違えたのを後で気付いた場合の変更がめんどくさい。

年-月-日T時_分_秒.ARW #(元)
年-月-日T時_分_秒.ARW.jpg #(出力)
年-月-日T時_分_秒.ARW.xcf.gz #(エディット用)
年-月-日T時_分_秒.ufraw #(現像用)
といったファイルがずらーっとできるようになった。
今気付いたけど、ufraw にはARW が無いなぁ & 連写してたとき、秒だとアレかも、でも連射の場合は、そっから選ぶだけだから平気か。

・編集元のファイルのタグに “editmaster”、編集済jpgに “final” のタグをつける。んで、絞り込みは「検索」で。
マイ検索で保存しておけば、すぐ呼び出せる。

・Ctrl-G で GeoTag を入力できるようにショートカットキーのわりあて。
撮影日が同じなので、digiKam上で同じ画像が並ぶので、複数選択して Ctrl-G で位置情報をくっつけられる。

えーと、2月だ。

2010年2月5日

今日公開しなきゃいけないサイトも午後に無事上がり、ちょっと一息。

お仕事、コード書きは ubuntu、確認は KVM 上の Windows 7 (メイリオ確認 IE8)と Windows XP (MSゴシック IE6)、
で済んでます。
HDD を交換したら、KVM がえらい快適になり、Web の検証にはほぼ問題無し。flash はわからんけど。

でも、画像作るときはやっぱ Mac に頼ってしまうなぁ。
Gimp でやろうとすると後からの微調整ができなくて死ぬ。レイヤースタイルと調整レイヤーをどんだけ使ってるかって事ですね(^^;
# Gimp にあるかもしれないけど調べきれてない。

KVM の Windows に CS 入れるのも手なのだけど、RDP だと色わかんなくなってるし〜 とか思ってたら、設定あった! Windows 7 も ClearType 指定できるんだ。
でも、7 は、マウスカーソルが遅れてついてくる。んー、どうしたもんか。もちょっと掘ってみないと。

ま、仕事で使う分にはしょうがないですな。

あと、1日1枚画像レタッチしようと頑張ってます。NZ写真のサイトをほんとにつくらねば。技術デモができない。
写真の管理は相変わらず digiKam でやってます。が、まだファイルの管理が乱雑。
レタッチしようとした1つの写真につき、ファイルがいくつもできちゃってます。

1.オリジナル(オリジナルばっかり入れてるディレクトリにある)、2.オリジナルをコピーしたもの(編集しているファイルの入っているディレクトリにある)、3. .ufraw (ufraw)、4. .xcf.gz (Gimp)、5.エディット済jpg

1と5はしかたないとしても、2,3,4がうまいことまとまるとすごく嬉しいんだよなぁ。
1と2の違いは、ディレクトリの場所だけだったりするので、シンボリックリンクでもいけるかも。
3 は raw の現像のパラメータで、4はレタッチデータだから、必要なのだが、4 のファイルサイズがデカいのがバックアップのときにちと困る。ここでもやっぱり、愛しの調整レイヤーw

んで、NZ 写真のサイト・・・、digiKam の db から exif とか geotag とか抜いて、raw と jpeg のマッチは ruby でゴニョゴニョ書いて出力しようかなと。

デザインとか構造はあーでもないこーでもないと考え中。
写真サイトのナビゲーションって難しいね〜。 今のところ flickr っぽくいくのが良さげな感じだけど。
あとは、html5 でどんだけ遊べるか。

そして、チョコの買い置きが無くなったころにチョコが買い辛い季節到来orz。ココアたっぷりのブラウニーでも作るか〜。

SATA の BIOS 設定が IDE のままだった

2010年2月5日

AHCI にしてみた。今んとこ問題無し。

HDD 入れかえたら DigiKam のライブラリが移動できなくて焦る

2010年2月2日

DIgiKam は、 ライブラリのディスクを UUID で管理してるっぽく、
HDD を入れかえてコピーしただけじゃライブラリが認識されなかった。

えーっと、130GBまたコピーで、そのうえメタデータ消える?(涙
っと焦りましたが、なんとか回避。

sqlite3 の DB を変更できるアプリで、digikam4.db を開いて、
albumroots のテーブルの内容を変更すればok。
いやはや。どうなることかと(^^;;;