Gruntで処理対象のファイルを動的に指定する方法

Configuring tasks – Grunt: The JavaScript Task Runner

1ファイルずつ個別で指定する場合(対象ファイル数が少ない場合など)

grunt.initConfig({
  uglify: {
    static_mappings: {
      files: [
        {src: 'lib/a.js', dest: 'build/a.min.js'},
        {src: 'lib/b.js', dest: 'build/b.min.js'},
        {src: 'lib/subdir/c.js', dest: 'build/subdir/c.min.js'},
        {src: 'lib/subdir/d.js', dest: 'build/subdir/d.min.js'},
      ]
    }
  }
});

指定フォルダ配下など、動的に指定する場合。filesの指定は配列でないといけないらしく、files: の後に[]を入れずにハマってしまった…

grunt.initConfig({
  uglify: {
    dynamic_mappings: {
      files: [
        {
          expand: true,     // true = 動的に指定する宣言
          cwd: 'lib/',      // 処理対象フォルダをgruntfileからの相対パスで指定
          src: ['**/*.js'], // 処理対象ファイルをパターンで指定。この場合はフォルダcwdで指定したフォルダ配下のjs全て
          dest: 'build/',   // 出力フォルダをgruntfileからの相対パスで指定
          ext: '.min.js',   // 出力ファイルの拡張子
          extDot: 'first'   // 出力ファイル名を決定する拡張子の位置('first' or 'last')。元ファイルが'foo.a.b.js'の場合、'first'なら'foo.min.js'、'last'なら'foo.a.b.min.js'となる
        }
      ]
    }
  }
});

これをCoffee Scriptで指定するとこんな感じ。

grunt.initConfig
  uglify:
    dynamic_mappings:
      files: [
        expand: true
        cwd: 'lib/'
        src: ['**/*.js']
        dest: 'build/'
        ext: '.min.js'
        extDot: 'first'
      ]

ついでに、Coffee Scriptで複数のフォルダを指定するならこう。Coffee Scriptに慣れないのでこれまたハマってしまった。配列の中にオブジェクトを記載するなら、明示的に{}をつけてあげた方がいいみたい(つけなければならない?)

grunt.initConfig
  uglify:
    dynamic_mappings:
      files: [
        {
          expand: true
          cwd: 'lib/'
          src: ['**/*.js']
          dest: 'build/'
          ext: '.min.js'
          extDot: 'first'
        },
        {
          expand: true
          cwd: 'lib2/'
          src: ['**/*.js']
          dest: 'build2/'
          ext: '.min.js'
          extDot: 'first'
        },
      ]

なかなかへたれない最強のキッチンスポンジ

いつの間にか我が家のスタンダードになりました。

へたれない!

きっかけが何だったか、確かせっけんシャンプーか何かで知った太陽油脂。割と天然の、お肌に優しい各種製品を作っている会社です。

人と環境にやさしい石けん製品をつくり続けて半世紀 太陽油脂株式会社

その太陽油脂の製品にキッチンスポンジがありまして。一見するとただのキッチンスポンジなんですけど、これがなかなかヘタれない。よく5個ワンセットぐらいで売ってる板状のスポンジだと、割とすぐにへたって、水でジャブジャブな感じになっちゃいますよね。どっこいこいつ、繊維が強いのか丈夫なんです。洗う量にもよるでしょうけど、4ヶ月ぐらいは軽くもつんじゃないでしょうか?薄いスポンジ5枚と比較しても負けないような気がします。

目が荒いので、泡立ちが良くて、油や食べカスが詰まりにくいのもGoodです。もちろん油の匂いがつかない訳じゃないので、グラスや湯のみ系とは分けた方がいいです。がっつり汚れ専門で使っても、かなり効果を発揮してくれます。

弱いところ

形がブロック状なので、長いコップの奥とかは苦手です。そういう食器が多い場合は、一般的なスポンジと併用した方がいいかもしれません。

もう一つは、目が荒いというメリットの逆で、洗剤が割と早く切れがちです。特に、普通のスポンジなら少し時間たっても洗剤が残ってますけど、これは少しずつ流れ落ちちゃってる感じがあります。少量の洗剤でも泡立つので、決して消費が増えるという事はないと思いますが、こまめに洗うよりは一気にまとめて洗う使い方の方が強いかも。

どこで買える?

太陽油脂株式会社 各県販売店リスト

公式サイトに販売店リストがあります!自分はいつも梅田の阪神百貨店で買ってます。定価が100円ちょっとなので、デパートらしからぬ金額で恥ずかしい(笑)Amazonでも買えるんですけど、送料がかかったりしてお得感が少ないんですよね…近くに販売店がない方なら通販でもいいのかな?

一度使ってみよう!

自分ではこのスポンジの良さを伝える十分な言葉を持ってないのが残念ですが、Amazonのレビューを見ると割とみんないい感じの感想があります(笑)いつも同じスポンジを使っていて、少し新しい経験をしてみたい人は、一度使ってみて判断するのもアリじゃないでしょうか?

体調報告(2014/6/2)

なだらかな下降線を描いています。

現在の調子

お待ちかね(?)の体調報告。

  • 胃腸

それなりでご飯は食べられるので、最悪ではないかな?でも胃腸がこっぽこっぽ音を立ててガスが発生しがちで良くもなく。昨日は朝食後に気分が悪くなってしばらく寝てました。きっと風邪にちがいない。最近は風邪を引くと、まず胃の不調から始まります。便もバナナ状のキレイなものはしばらく出ていないので、やはり快調には遠いなぁ。

頸椎はつらいです。日中はどうしてもパソコンに向かい合うので、なかなか休まりません。一応、意識して首の運動を挟んではいるんですが…

  • 体重

55kg前後をうろうろしてます。安定してるっちゃしてるけど、胃腸が良いころは58kg台で安定してたから、そこまでは上げたい。出来ることならもっと細マッチョに…(夢)

生活のポイント

  • 甘酒豆乳

甘酒と豆乳を半々で割ったものを飲んでます。甘酒が好きなので、発酵食品&栄養満点ということで。

  • ミューズリー

最近はグラノーラブームですね。でもデパ地下の良質(そんで高っかい!)なものは日常的に食べられないので、アララの800gで1000円弱ぐらいのやつを買ってます。牛乳ちょっとと、ヨーグルトをかけて。たまにイチゴジャムも加えます。おいしい。シリアル大好き!

  • お酒

まー飲んでます。お酒少々飲んで調子が悪くなることはないので。休肝日はあまりもうけず、だいたい日本酒を~1合/日で飲んでます。たまにワイン。

枕はなし、代わりに薄めのタオルケットを挟んでます。枕の頃に比べると、楽になった気がします。

  • 鍼灸

定期的に、1~2週間に1回ぐらい行ってます。気持ちいいんだけど、効果のほどは果たして…

まとめ

相変わらず、はっきりしない体調です。3月頃に好調のピークがあったけど、そこからなだらかな下降線。そんな訳で、ひぃふぅ言いながら生きております。体調が僕以上標準未満の方は、大変そうだなー俺はまだマシだなーなんて思っていただければ。

GLAY – カーテンコール

BELOVEDというアルバムに入っている優しいバラード。名曲ぞろいのアルバムの中でも特に好きだった。

GLAYの魅力

GLAYはいつまで経っても垢抜けないな…なんて思ったりする。ミスチルはデビュー当時こそいかにも90年代な楽曲だったけれど、小林武史と共にどんどん磨きをかけていった。ラルクとB’zはタイプが違えど、カッコイイを突き詰めたようなグループ。それに比べて、やっぱりGLAYは垢抜けない。歌詞はむき出し過ぎで詞的じゃないし、メロディもどことなく古い感じがする。

でも、だからこそTERUさんのパワフルで暑苦しいヴォーカルが映える。TERU語録なんて出来ちゃうほどド天然でまっすぐなTERUさんに、ラルクみたいな幻想的な詞を歌わせたって面白くもありゃしない。思いついた言葉をそのまま吐き出すような歌詞が、TERUさんを、GLAYを活かす。

震災が起こった時も、CDが流されてしまったファンのためにと、ファンクラブ会員にリリースされていたCDを送ったりする優しさっぷり。メンバーも仲良し。ロックバンドとして一世を風靡したけれど、およそ破天荒なロックスターとは遠い遠い、気のいい兄ちゃん達なんじゃないだろうか。

小径あるけば | 被災地のGLAYファンのみなさんへ

「グロリアス」で初めてGLAYのCDに触れてからもうすぐ20年。今はないCDショップ、自転車で走った風景を思い出した。

simple_html_dom.phpの使い方

スクレイピング

サイトの更新チェックをする機会が(趣味で)ときどきあって、何度かこのライブラリを使ったことはあり。ただ、毎回デバッグを繰り返して結果オーライになるように強引に使っていたので、今回はちゃんと理解して(?)使ってみました。

findは第2引数の有無によりオブジェクトor配列で返る

結局のところ、この一点につきます。ここで悩んでました。findの第2引数を指定しなければ配列で、指定すれば該当するインデックスの要素をDOMオブジェクトで取得できます。なので

$html->find('div')->find(expr)

は配列に対してfindしようとしているのでエラーになって

$html->find('div', 3)->find(expr)

は4番目のdiv要素オブジェクトからfindした結果が正しく返ります。
ちなみにHTML上でidは1つだけというお約束になってはいますが、ここでは関係なく第2引数の指定が必要です。

$html->find('#idname')->find(expr)

はエラーになって、

$html->find('#idname', 0)->find(expr)

はOKということです。第2引数は該当する要素について0ベースのインデックスになるので、適宜変更してください。

<div id="fuga">hoge</div>
<div id="bar">foo</div>
<div>aaa</div>
<div>bbb</div>

例えば上で2つめのdivを取得したい場合は

$html->find('#bar', 0)
$html->find('div', 2)

のどちらかで取得できます。

更新情報などのように、同じ構造の要素を複数取得したい場合には次のようにすればOKです。

foreach ($html->find(expr) as $elem) {
    $elem->find(expr, 0)->innertext;
}

findの第二引数を指定しなければ配列なので、foreachで回せば各要素が$elemに入るってことですね。

テキストの取得

<div id="aaa">bbb<b>ccc</b></div>

例えば上のようなDOMツリーがあるとしたら、それぞれ下記が取得できます。
$html->find('#aaa', 0)->outertext<div id="aaa">bbb<b>ccc</b></div>
$html->find('#aaa', 0)->innertextbbb<b>ccc</b>
$html->find('#aaa', 0)->plaintextbbbccc

属性の取得

属性値をプロパティのように取得可能です。(下記参照)
->href
->id
->checked

PHP Simple HTML DOM Parser: Manual

全部オンラインドキュメントに書いてあるんですけどね…ともかく今後はちゃんと使えそうです。自分のようなどどどシロウトの参考になりますれば!

全てのFF楽曲マニアに…シアトリズム ファイナルファンタジー カーテンコール

買っちゃいました。

きっかけ

発売直前まで、このゲームの存在を認識してなかったんですよね。最近はゲームも全然プレイしてなくて、前作があったことも知りませんでした。そして発売前日の4月23日。家でご飯食べながら、見る番組ないなぁと思って適当なチャンネルを流してたら、急にテレビから聞こえてくるFFのテーマソング。即反応。調べてみると、この日のこの時間にたった1回だけ放送された60秒の長尺CMだということ。そういえば前にそんなCMがあるって話は聴いていたような…

もろFF世代ですから。ファブール城からミシディアに船で向かう前に、リディアをLV60まで上げるとメテオが使える所まで頑張った程度にはやりこみましたから、ええ。そりゃFFの曲が流れてくれば耳も傾きます。

で、音ゲーは割と好きな方だし、発売後の評判も良さそうだし、たまにはやってみっかって事で買ってみました。

感想

まだ2時間ほどプレイしたところですけど、面白いです。面白いっていうか、気持ちいい?今までいくつも音ゲーはやってますけど、FFの曲でっていうだけで既に幸せ。サントラも結構聴いてるぐらいFFサウンドが好きなので、その楽曲に合わせてポチポチできるのは至上の喜びです。

操作はタッチ、ホールド、スライドの3つ。タッチペンだけ、両手で、左手だけの3種類のプレイスタイルで操作可能なので、右手でコーヒーを飲みながら、左手でゲームを楽しむなんていう優雅スタイルも楽しめますね。自分には無理ですけどw

そんなに頑張らなくても少しずつプレイできる楽曲は解放されていきます。同時にゲーム内のカード集め、レベルアップ、アイテム集めなども平行して進んでいくので、我慢することなく遊べる要素は増えていく感じ。他の方のレビューを見ていると、前作でその辺りの細かい不満がたくさんあったものが、かなり改善されているようでした。快適にプレイを楽しめるのは、前作があったればこそなんですね。

一気にプレイすると飽きてしまいそうなので、行き帰りの電車や、ちょっとした休憩時間にちょびちょびプレイして楽しんでいこうと思います。すれ違いもしなきゃ!

Sign in with Twitterで毎回認証画面が出ないようにする

自分が作ってるサイトに「Sign in with Twitter」ボタンを置いてるんだけれども、毎度「連携アプリを認証」ボタンが表示される。

Implementing Sign in with Twitter | Twitter Developers

Twitterの説明見ても、「ログイン済みで認証済みだったら、ボタン押させずにリダイレクトしまっせー」って書いてあるのに、なぜ!?なんて思いつつ、たまたまTwitter Developerの管理画面にアクセスしたらあっさり解決。Settingのところに「Allow this application to be used to Sign in with Twitter」っていうチェックボックスがあります。んでチェック入ってません。これだ!

設定を変えてみたら…動きました♪前後して調べてみたら、セキュリティの関係か仕様が変わったようで。

Twitter OAuth の挙動が変わりました

ということらしいです。スッキリ〜

頚椎の痛みと胃腸の不調

首と胃腸で記事書くの、一体何回目なんでしょう(苦笑)

今週に入って、首の痛みを感じる頻度が上がってきました。それに合わせてか、食欲減少、下腹部の痛み、肩から背中や肩甲骨の凝りなども併発しています。これだけタイミングが重なると、全ての原因が首にあるようにしか思えなくなってきます。いや、いっそそうあってくれたら、首が治ればスッキリ完治するんだから逆に簡単なんですけどね。

…治れば。

1〜2週間に1回のペースで定期的に通っている鍼では、胃腸の不調を治すため、現在は全身をまんべんなく診てもらっています。これを次回から、首が良くなることに重点を置いて治療してもらおうと思います。さてどうなることか!

不調と言っても、そこそこにはご飯も食べているレベルではあるものの、慢性的にしんどい感覚が続いているので、まずはそこを脱出したいです。その上で、3年続くこの不調に終止符を打てたらいいなぁ。

下は今気になりまくっている本です。今日本屋行ったら探してみよう。

二日酔いと機能性胃腸症

二日酔いました。花見で調子こいてワインと日本酒飲み過ぎたのが99%の原因で、最後の1%は帰りの終電のために小走りしたのがトドメに。帰る途中で気持ち悪くなり、最後の電車には乗ることなくギブ。最寄りのネットカフェでぐったりと夜を明かして帰りました。しめて2000円。完全に無駄な出費じゃぁぁ(´・ω・`)

久しぶりの二日酔い、しんどいです。水分とって排出しないと回復しにくいのに、その水分をとるのが辛いんだから。結局一日中横になって、徐々に水分を取れるようになって、尿からアルコールを排出して…という感じで夜は軽くご飯を食べられるところまで回復しました。ふぅ。

本当にしんどくて、しばらくお酒は控えようなんて思いもしたものの、少しだけ二日酔いになった事に喜びを感じていたりもします。機能性胃腸症になってこの方、飲むも食べるも満足に出来ない期間がずっと続いていて、ようやく人並み近くまでに回復したのがつい最近。低調だった頃には体が心配でセーブする事しか考えられなかったことを思うと、このツラさすら少し嬉しいのでありました。もう嫌ですけどね(笑)

いっそ完全に治ったんだったら安心できるけれど、調子の悪い日はちょいちょいあって、今日もお腹がぽこぽこと過敏性腸症候群のような趣を醸し出したりもします。ホント、どこにストレスがあるのやら。首が痛いのも継続しているから、頚椎からの自律神経、からの胃腸の活動不良という線も捨て切れません。うん、首だとしたらどこで治したらいいんでしょう?旅路はまだまだ続きます…

Linux Bash Shell Cheat Sheet 第1回 カーソル移動

やっぱね、Macとか使ってるとキーボードを効率的に使わなあかんと思うですよ。何となく。でもチートシートとか見ても数が多くて結局よくわかんねぇ!っていう俺向けの記事です。

  • 3本の矢は折れなくても、1本の矢なら折れる
  • 象を食べるには少しずつ
  • 千里の道も一歩から

飽きっぽい自分なんで果たしていつまで続くかな。1回で打ち止めかも…

ctrl + a :カーソルを行頭に移動
ctrl + e :カーソルを行末に移動
ctrl + b :カーソルを1つ左に移動
ctrl + f :カーソルを1つ右に移動
esc + b :カーソルを1単語前に移動
esc + f :カーソルを1単語次に移動

今回はこの6つのカーソル移動だけ。いいか、絶対に十字キー使ってカーソル動かすんじゃねぇぞ!絶対だぞ!

bはbackですよね、きっと。fはforward。eはend。aは?aはなんなの?アルファベットの最初だから最初に移動するの?

覚えるキーも6つなら何とかなるでしょう。よし今日はこれだけ覚えるぞ。レッツカーソル!