2012年 04月 01日

関連エントリー (画像)

2012年 04月 02日

関連エントリー (画像)

なぜ CoffeeScript がダメか

自分は CoffeeScript が好きではない。個人的に書き捨てるコードを書くときには良いだろうけれど、継続的にメンテナンスが必要なコードに、この言語は絶対に採用してはならないと考えている。

CoffeeScript のメリット

CoffeeScript を採用することで発生するメリットについて、僕の認識を書く。当然、CoffeeScript というのが存在するためには、それ相応のメリットがあるはずだし、メリットの説明なしにデメリットとの差 (つまり採用すべきかを判定する基準) は導けないからだ。

箇条書きで

  • タイプ数が減る
    • function が -> になるのでカッコいい
    • 括弧を書かなくてよいのでシンプル
  • グローバル変数を使いにくくなるのでバグが出にくい
  • == と != が使えないのでバグが出にくい

CoffeeScript のデメリット

  • 単純な JS へのトランスレータ (革新的な機能は特にない)
  • デバッグが難しくなる (ブラウザのサポートが必要)
  • JS の知識がないと書けない

CoffeeScript は基本的には、シンプルに書きやすくすることにフォーカスされていて、例えば非同期処理が劇的に読みやすくなるとか、そういうことはない。function を -> って書けるとか、記号的な文法は書きやすくはなっても、そんなに読みやすくはならない。

確かに、CoffeeScript の導入によって、書きやすくなるコードは大変に多い。「JSではなぜこれができないんだ!」と思ったことが解消されて、かゆいところに手が届く。

しかし、継続的にメンテナンスが必要なコード (OSSとか、ウェブサービスのコードとか) というのは、書いている時間よりも、読む時間・読まれる時間のほうが多い。書くのは一人でも、読むのは複数人いるし、しばらく触っていないコードは、例えそれが自分で書いたコードであったとしても、また読解する必要がある。

CoffeeScript を読む場合、読む人には CoffeeScript の知識と、JavaScript の知識、どちらも必要だ。むしろ JavaScript を詳しく知っていなければ、CoffeeScript のメリットは理解できない。前述の通り、読む人は書く人よりも多い。書く人がいくら楽になっても、読む人にとって、CoffeeScript で書かれていることは単に学習コストの増大であり、メリットではない。

逆に、読む人にとってメリットがあれば、それは書く人にとってのメリットの何倍も嬉しいことになる。では CoffeeScript で書くことによって、JavaScript より読みやすくなるか、というと、そうでもない、と自分は思っている。function が -> になることで読みやすくなるか? 括弧を書かないと読みやすいのか? タブによるインデントの強制は読みやすさに貢献するかもしれないが、これは単にコーディングルールの問題だ。

バグが起きにくい仕組みは大変素晴しいものだけれど、残念ながらそれは、CoffeeScript を採用することで読む人にかける負担 (これは場合によって何倍にもなる) を上回らないと考えている。むしろそこは、JSLint などで、書く人が気をつける、すなわち負担をうけて解決すべきだと考える。

まとめ

将来 CoffeeScript に、使うと超読みやすくなるよマジやばい!!! っていう機能が入るといいと思いますが、そうでないなら、絶対に OSS とかをこれで書くのはおすすめできない。

CoffeeScript が現状のままだと、こんな未来が想像できます。

 「うわ、これおれが CoffeeScript 期に書いたやつかよ。この言語オワコンって言われてから何年経ってんだ…… もう文法覚えてねーな。あ〜終わりゆく言語の文法を学びなおすのか……まじめげるな……」

2012年 04月 03日

関連エントリー (画像)

先週末土曜日に、いろいろなりゆきでろくろを回した。講師の人がすごく教えるのが上手かったせいもあり、非常に楽しめた。1日体験教室なのでおいしいとこだけやる感じだったけど、最初の土盛って出すところにも興味が沸いた。できあがるまで1ヶ月ぐらいかかるらしい。楽しみ。他の人にもすすめたい。

日曜日は県立フラワーセンター大船植物園にいった。満開の桜が数本あって楽しかった。この植物園ははじめていったけど、どこの植物園もだいたい楽しい。春を良く感じた。

PL フィルタを買ったけど、まだ活用できていない。太陽の位置で効果が変わるので、太陽の位置をいつもより意識して撮ってみたら、とにかく逆光でばかり撮ってしまいることに気付いた。これでは PL フィルタの意味がない。

2012年 04月 06日

関連エントリー (画像)

2012年 04月 05日

FlashAir の最新ファイルを表示するやつ

バグをとったり高速化したりしてある程度安定していい感じになった。

サムネを表示するためにいちいち FlashAir の thumbnail.cgi というのを叩いているのが不安なので、localStorage にキャッシュするようにした。この際、サムネ画像は 30kb 前後あって大きすぎるので、canvas で一旦縮小し (この際、少し画像周辺をカットすることで中央付近を拡大してる)、toDataURL('image/jpeg') で 5kb 前後までサイズを落としてる。

しかし Android 2.x 系だと toDataURL() が全く使えないので、JavaScript JPEG Encoder を使って toDataURL を実装しなおしている。速度でるのか? と思ったけど、デカい画像というわけでもないので、気にするほどでもなかった。

キャッシュは LRU で勝手に消えていって欲しいので、lscache というのを使ってみた。memcached と同じ感じなので簡単です。

あとロード自体も前よりもうちょっと工夫して、画面サイズを考慮し、端数が出ないように調整しながらロードするようにしてある (このほうが心理的に高速に感じるっぽい)。つまり iPhone の場合、横に 3 つしか画像が入らないので、1つ画像をロード、2つ画像をロード (ここで横が揃う)、3つ画像をロード (揃ったまま)、6つ画像をロード (揃ったまま)、6つ画像をロード…… とロードしていく。画面が埋まるまでロードしたら一旦ロードを止め、スクロールするまで待つようにしてある (autopgerize 的な)。

iPad とかでも一覧性を保ってほしいので頑張ってリキッドレイアウトにしてある。うまくおさまるようにレイアウトをJSで調整している。また、window.devicePixelRate によってサムネのサイズを調整しているので、Retina とかでも汚い感じにならないつもり (検証してないけど)。

2012年 04月 07日

関連エントリー (画像)

2012年 04月 11日


関連エントリー (画像)

2012年 04月 12日

写真の意義とはなんだろうとしばしば考える。特に絵画に対しての強みとはなんだろうと考える。絵画はとにかく、書く人の個性は作品を見れば一目瞭然だけれども、写真は所詮現実を機械の力を借りて写しているに過ぎないし、同じ設定で、同じ場所で撮れば、誰がシャッターを押しでも同じだ (セッティング済みのセルフポートレイトのシャッターを他人に押させた場合、それはだれの作品になるだろう)。ようは良くも悪くもインスタントなのだ。

ひとつは、写真があくまで現実の写していることが、そのまま強みであろうと思う。絵画はやはり、現実には存在しえない演出が可能であるから、そういう意味で「これはあくまでフィクションだ」と冷めてしまう場合があるけれども、写真であれば、写っているものは現実なので、そういうことはない。写真は、どんなに演出をしたとしても、絵としてそれを書かない限り、ノンフィクションとしてある程度説得力を持ち続ける。

また、圧倒的な情報量は、具体的な描写を通して (暗喩として)、何か直接的には言いづらいメッセージを出せるように思う。ただこれは絵画でもやろうと思えばできる。組写真による、より強い暗喩というのも、やはり絵画でできないこともない。ただこれらの手間の違いは比べものにならないので、写真でやる意義がある。


関連エントリー (画像)

gerry++

2012年 04月 13日

関連エントリー (画像)

Xcode を 4.3.2 にしたら iOS Simulator がどっかいった

/Applications に symlink はった

ln -s /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone\ Simulator.app /Applications
2012年 04月 14日



関連エントリー (画像)

2012年 04月 13日

FlashAir で最新の画像表示するやつ、1ファイルコピーしたらいけるようにした

だけコピーしたらうごくようになった。

Rakefile ファイル書いて結合するようにした。

2012年 04月 15日



関連エントリー (画像)

PowerShot S100 を買った

Canon デジタルカメラ PowerShot S100 ブラック PSS100(BK) 1210万画素 広角24mm 光学5倍ズーム 3.0型TFT液晶カラーモニター - キヤノン

キヤノン

3.0 / 5.0

を買った。コンデジは SIGMA DP2 を持っていたけど、使っていないので売って、これを買ってみた。

コンデジって基本的にいらないと思っていて、というのも、わざわざカバンに入れて持ち出すなら一眼でいいじゃんという感じだし、画質気にせず気軽に撮るならケータイのでいいじゃんという感じだしで、立ち位置が非常に微妙だと思っているからだ。

なのになんで買ったかというと

  • 最近のコンデジは画質が良いらしい
  • 平日にある程度自由度のあるカメラを持ち歩きたい
    • 一眼はずっとカバンに入れておくほど軽くない
  • 適当に撮ってもいい感じになるのがほしい

あたりが主な理由だと思う。

DP2 は画質的には好きだけど、高感度に弱すぎて明るい日中しか使えないフィルムカメラみたいなノリなので、面白いカメラだけど、使わないので売ってしまった。

PowerShot S100 は高感度に強いとの噂なのでこれにした。RAW で撮影もできる (オートモードではできないっぽい) ので、一眼たまたま持ってないときにも割と頑張れそう。

まだ Av で1日しか使えてない。測光がハイ気味なのかダイナミックレンジが狭いのとがあわさってなのか、白飛びしやすい。コントラスト高いシーンだと厳しい。あとやっぱセンサーサイズ的に (コンデジにしては少々大きいとはいえ) ボケにくいので、パンフォーカスで綺麗になる構図のほうが良さそう。F2.0 で撮影できるのは広角側だけなので、もともとの背景がうるさいと、基本的にはどうしようもない気がする (望遠側にすると絞られるので、背景はすっきりしない)。

普段使いでは RAW 撮影せず、JPEG の M1 ぐらいのサイズで撮影するのがちょうど良さそう。オートモードは今度試す。

コンデジ使ったあとに一眼使うと操作性良すぎて鼻血でるので、やっぱあの形のデカさには意味があるのだな…… と再度実感した。5D Mark III 欲しい!!

Canon デジタル一眼レフカメラ EOS 5D Mark III ボディ EOS5DMK3 - キヤノン

キヤノン

3.0 / 5.0

2012年 04月 16日

関連エントリー (画像)

さくらのVPSの新プラン (1G) を契約したので、移転させた。無停止でいけたっぽい。変な移転ミスがないか不安だ。

2012年 04月 17日


関連エントリー (画像)

写真の SEO って難しい。タイトルをつけないようにしてると、検索できるものが皆無なので、だいぶ不利だ。

「氾濫原」はローマ字にしたとき「HANRANGEN」とNにリズムがあって格好いい。

2003年の自分の日記を一瞬読んだ。人間、どんなクソでも多少は成長する。当時に比べたら今はだいぶマシな文を書いてる。あと10年ぐらい経ったらまともな文章が書けるようになるかもしれない。

2012年 04月 18日


関連エントリー (画像)

2012年 04月 19日

関連エントリー (画像)

2012年 04月 20日

関連エントリー (画像)

去年作った1つの組写真作品を、改めて HTML として1ページにまとめた。

ちょっと構成は違うが (部分的に写真の元データが消えていたので)、だいたい去年某コンテストに応募して落ちた内容である。恥を忍んで (というか恥だらけなので気にならないが) 公開しておくことにした。本来は40枚のものだったが減っている。今改めてみると軸がぶれている組である。

2012年 04月 21日


関連エントリー (画像)

2012年 04月 22日

関連エントリー (画像)

フラワーアレンジメントとやらの体験教室に参加した。思ったより工作力がいるようだった。小学生以来しばらくぶりに工作力を思い出した。

gerry++

gerry++

2012年 04月 24日

関連エントリー (画像)

ちょっと前、大船植物園で見たドクダミの写真が印象に残っている。広角気味で撮ったもので、一見普通のシーンなのだけれど、はっとする発見がある作品だった。ああいうのをもっと見たい。

日曜日に写真美術館に行ったけど、だいたい行こうと思ったときは古い作品やってることが多く、カラーでないので普段と感覚とあわず、うまく参考にできない。白黒で撮るのと、カラーで撮るのとでは、ものすごく大きな差があるように感じてしまう。でも実際白黒でもカラーでも撮る人はいるわけだから、たぶん自分が単に未熟なだけなのだろう。

一歩近付いてとったらそれっぽい、という変なセオリーに頼りすぎていて、安直な構図が多いので、全くおもしろくないというのがまずあると思う。これはテーマの問題ではなくて、技術の問題なので、技術力の向上によってさっさと解決しないといけない。

観葉植物を買った。シェフレラというやつらしい。虫が沸かないように頑張る。

2012年 04月 25日

関連エントリー (画像)

2012年 04月 26日

関連エントリー (画像)

2012年 04月 28日

関連エントリー (画像)

あと何度、春が来るかと考えたところ、そんなに多くはないことを思った。植物を育てようとしたとき、その回数はそのまま試行錯誤できる上限なので、ちょくちょく育成するべきだと考えた。

普通に育てるのもそんなに面白くなさそうなので、なんとなくできるだけハイドロカルチャー (水栽培) で育てる方針を立ててみた (土も平行してやりたいけれど、とりあえず)。ハイドロカルチャーのいわるゆメリットというのは虫が沸かないとか、水の管理が簡単とか言われているみたいだけれど、実家で土で栽培されているやつから虫が沸いているのを見たことがないし、よくよく調べてみるとハイドロカルチャーのほうが水の管理が難しそうだし、メリットについてはかなりまゆつばもんなのだけれど、土栽培より知の高速道路が整備されておらず、エッジな技術っぽいので手を出してみた。結果失敗する可能性は高いけど、がっかり感に耐えて頑張る感じにしたい。

東急ハンズでシェフレラ (カポックという札がついていたが、本来はカポックという植物とは別らしい) を買った。これは最初からハイドロカルチャーのものを買った。

ダイソー (100均) で買ったルッコラと、バジルと、レモンバームの種を適当に蒔いた。種によって性格が全然違うので (あたりまえなんだけど) 面白い。ルッコラは即座に芽がでて、即座に伸びはじめていて、1日の中でもすごく変化が大きくて面白い。バジルの種は水を吸うとグロ注意な感じになる。レモンバームは発芽まで2週間ぐらい必要らしい。ハーブを選んだのは、花を咲かせる必要がないので、難易度が低めで、強いのが多い (というイメージ) による。

種がだいぶ余ったので、ティッシュに蒔いて観察していたりする。変化がわかりやすいので楽しい。けどそのうち飽きそう。


最近の100均には植物の苗も売っているのですごく便利だ。園芸店のより安くて、手軽で強めのが売ってるようなので試行錯誤に便利そうだと思った。パキラ、プミラ、ブライダルベールを買って、とりあえずパキラとプミラを水栽培用に植え替えをした。うまく根付くかはわからない。失敗したらまた試そうと思う。

部屋に植物を導入したことにより、昼間カーテンをちゃんと開けておく強いモチベーションに繋がった。