ニクニクドットミー

カッコいいおっさんを目指すエンジニアの厳かなブログ

キィニョンの生クリーム食パンを買うには販売15分前に並べ

生クリーム食パン

生クリーム食パンってめちゃくちゃ柔らかい

ついに今日、ヒカリエにある「ラ・ブランジュリ キィニョン」で、生クリーム食パンを手に入れました。

実はこのシルバーウィーク中に買いに行ってみようと奥さんと話していて、昨日(9/22日)にヒカリエに行ってきました。

着いたのが13時30分ごろだったのですが、なんと売り切れ...この日は販売開始から40分で完売したそうです。(さらにその前日は20分で完売。恐ろしい)

ということがあったので、今日(9/23日)にリベンジしてきました。

販売開始の15分前に並べ

ヒカリエにあるキィニョンでは、生クリーム食パンを12時より販売開始しています。 今日は昨日の反省を活かし、1時間前の11時にヒカリエに到着。 さっそくお店に向かいましたが、さすがに誰も並んでおらず。そのままヒカリエをブラブラ。 お店の雰囲気

10分ほど時間を潰して、またお店の様子を見に行きましたが、まだ誰も並んでない。

お店の様子が見える位置で11時45分まで待機していましたが、普通に買い物する人はいるものの誰も並ぶ様子はありませんでした。

11時45分にお店に向かい、店員さんに「並んでいいですか?」と聞くと「自然とお客さんが集まって列になるので、並ぶということは特にしなくても大丈夫かも?」との事。

なので、お店の商品を見て時間を潰す事に。

11時50分くらいから生クリーム食パンの試食の準備が始まり、その時にチラホラ人が集まってきました。といっても3人程度。

生クリーム食パン狙いの人もいれば、たまたま買いに来たときに試食が始まるから並んでみようという人も。

自分はそのまま試食台の列に並んでました。するとその列が気になってあれよあれよと20人くらいの列になりました。

キィニョンの生クリーム食パンは一人2斤までなので、列に並んでいると店員さんに必要な数を聞かれました。 結構皆さん気になるようでとりあえず2斤いっておくかという感じで2斤頼んでいる人が多かったです。(自分は1斤)

丁度12時になったタイミングで店員さんが、列に並んでいる人に生クリーム食パンを配り始め、そのままレジに直行。

食べ比べも必要かと思い、キィニョンの食パンも半斤購入。12時5分頃にお店を出ました。

といった感じで、販売開始の15分前(11時45分)にはお店に入れば間違いなく購入できるかと思います。列が気になったお客さんも集まるので、まだ誰もいないから大丈夫と思っていると気づいた時にはすごい列になっているかもしれません。

生クリーム食パンは口の中で消える

なにもつけなくてもおいしいとの事で、まずは生で食べてみました。 とてもふわふわ。ほんのり生クリームの風味がして、いくらでも食べれる感じ。なにもつけなくても十分なおいしさ。

生クリーム食パンを焼いてみた

わかりにくいですが、焼いてみました。焼くと口にいれて噛んだ瞬間にジュワっとしてあっという間に消えてしまいました。まさに大トロのような感じ。

こんなん朝に食べたら最高ですね。こちらもなにもつけなくてもめちゃくちゃ美味しい。

普通の食パンと大きさを比べた

後ろがキィニョンの食パン。若干生クリーム食パンの方が小さい。あと少し黄色感じ。

キィニョンの食パンと食べ比べた感想は、圧倒的な柔らかさと生クリームの風味。 キィニョンの食パンと比べると厚みは生クリーム食パンの方が厚いので、噛んだときの食感のやわらかさは圧倒的。 キィニョンの食パンも十分美味しいのですが、生クリーム食パンには勝てない。自分の人生の中で最強の食パン。

是非ヒカリエに立ち寄った際は一度覗いてみてください。口の中で消える食パンは本当に美味しいです。

ブレイクダンスをカジっていた僕が選ぶ「最強の」ブレイクビーツ!

breakdance AGEPhotography

基本的にエンジニアはブレイクダンスをやってます(大嘘)

いまから十数年ほど前、まだ高校1年生のころにブレイクダンスをカジってました。

あ。ちなみにブレイクダンスのブレイクは曲の間奏部分(ブレイク)がダンスを一番披露できるからという由来があります。あくまでもぶっ壊すとか壊れたダンスではないです。

高知市にある中央公園という公園でイベントがあり、そこで初めてブレイクダンスを見ました。

クルクル回ったり、カッコイイ振り付けのダンスを踊ったりしていて、「すげー俺もやってみてー」と素直に感動したことを覚えています。

その時は中学3年とかだったと思いますが、その後入学した高校でブレイクダンスをやっている人と出会いました。

その高校では意外とブレイクダンスをやっている先輩がいて、一緒に昼休みに学校の廊下(変に広いスペース)で、練習していました。

同じ学年のブレイクダンスをやっている人のチームに入れてもらえることになって、小さい大会にも出た事があります。 ちなみに入ったチームの名前は「シャドウタウン」

練習は土日にあって、市営の球場の側にある、ガラス張りのところで練習していました。

といっても、その時バイトも初めており、両立できずバイトを優先したので、数ヶ月で退団してます。

練習中はもちろん曲をかけるのですが、その時に気に入った曲を紹介します!

Flying Steps - Breakin' It Down

ブレイクダンスは、曲に合わせてフリーズ(ポーズをとる)して、成り立つダンスです。この曲は合わせてダンスしやすいし、曲もカッコイイのでとても気に入ってます。iTunes storeで見つけたので買っていまでも聞いてます。

zeb.rock.ski. - Keep prepared for the battle

シンプルにカッコイイ曲。攻撃的な感じでブレイクダンスって感じの曲。アップロックという相手を威嚇する動作しやすい曲かなーと。it's battle time!でポーズ取るのをよくやってましたw(ふざけてだけど) ちなみにかなり昔のめちゃイケで岡村 vs ゴリのダンス対決で流れていた曲です。

Def Cut - Street Level

うーんカッコイイ。この曲も練習中によくかかってましたね。 この曲がかかっているHong10というダンサーのダンスの動画がとてもカッコイイので紹介。

フリーズも決まっていて、トップロック(床でダンスする前の曲にノッてダンスするやつ)もカッコイイですね。

Def Cut - Start the Panic

曲中盤のスクラッチが好きな曲です。この曲もiTunes storeにあったので買って聞いてます。

Incredible Bongo Band - Apache

Apache!まるでwebサーバーみたいですねw この曲もよくかかってました。スローテンポですが、盛り上がる曲です。

パワフルなダンサー Junior

好きなダンサーの紹介をしておきます。 動画で二人ダンスしていますが、黒人の方がJuniroです。パワフルで筋肉ムキムキでめちゃくちゃカッコいいんですよね。こんなにダンスできたらなー。

なんかふとブレイクダンスしていたことを書こうと思いました。たぶん久々にFlying Stepsの曲を帰り道に聞いたからだと思います。

ブレイクダンスの曲はカッコイイ曲が多いのでオススメです。

YAPC::Asia 2015 初めましてさようなら

初めましてさようなら

なんかおしゃれなフレーズを思いついたけど、生まれて初めて参加したYAPC::Asia 2015に参加してきましたよというお話です。

ちなみに初めての参加でしたが、いっきなり個人スポンサーで申し込みました。

個人スポンサーだとTシャツとかTシャツとかTシャツを貰えるので、いいなーと思い、12,000円をお支払いさせて頂きました。

沢山のノベルティ 赤yapc Tシャツ

yapc パーカー

yapc タンブラー

※チョコレートカラーのTシャツもありますが、ちょうど洗濯中だったので、写真はないです。

YAPCの存在は2年前?くらいに知って、去年か一昨年に参加しようかと思ったのですが、タイミングがあわずに参加できませんでした。印象としてはPerlのえぐい人達が集まるイベントだろうと思ってました。 さらに自分はPerlをほとんど書いた事がないので、参加しても面白いかな?と不安だったことを覚えています。今年も開催するよーとなにかで知り、まぁ思い切って参加してみるかーと思い、同僚に声を掛けてみたところその人は数年前から参加しており、さらに個人スポンサーで参加していました。 個人スポンサーだとたくさんノベルティ貰えるし、Tシャツ欲しいし(IT系のTシャツ集めてます)で、自分も個人スポンサーで初めてYAPCに参加させてもらいました。

wktkしていると知り合いが前夜祭で登壇するとTwitterで知り、自分が勤めているところの会議室を借りて、発表の練習をするというイベントが発生。

yapcのページ Perlワンライナー入門

Perlワンライナーすげぇっていうのが率直な感想。ワンナイナーでライブラリ読み込むってエグいですねw 非常に強力だなぁと。 YAPCは前夜祭から参加していたので、もちろんこちらの発表を拝見させて頂きました。結構ウケてましたし、自分の隣の席で聞いていた人も「そんなやりかたがあるのかなー」とつぶやいていました。

前夜祭では@tagomorisさんのOSSの話がインパクトありましたね。自分もOSSもどき的なものを作っていて、非常に参考になりました。みんな英語でやりとりしようね。あとtagomorisさんの怒濤のラッシュの感じ好きですね。 あと@uzullaさんのトークがすごく面白かった。PHPをイジりつつ、みんなPHPやろうっていう熱い気持ちが伝わってきました。さすが去年のベストトーク賞を取った方ですね。

一日目はなんとなんとまさかの不参加でした。行く気まんまんだったのですが、その日は朝から障害対応が入ってしまい、参加できず^^;

個人的に気になっていた発表は、 世界展開する大規模ウェブサービスのデプロイを支える技術 Consulと自作OSSを活用した100台規模のWebサービス運用

懇親会も参加してみたかったですが、残念でした。。。

二日目(最終日)は朝からいくぞーと張り切っていたけど、おもいっきり寝坊。 到着が11時頃となってしまいました。 二日目は、特にnginx luaは絶対に聞こうと決めていました。なんせ@cubicdaiyaさんの発表なので。

満員なセッションが多くて、仕方なく会場をウロウロしているとレバテックさんのブースがあり、タブレットとカップラーメンをもらいました。ちなみにパッケージの女性の方もブースにいらっしゃいました。

次にを聞こうと思って列に並んでいたのですが、列が進んだと思いきや、皆引き返してきて、どうしたんだろうと思ったら満員。 無限コーヒーがあったので、飲みまくり。

で、ランチセッションは必ず行くぞ!と思い、少し早めに列に並んでいると同僚を発見。同僚と立ち話していたら、外人の女性に話書けられ、この列はトイレの列ですか?と聞かれて、No. TrackB TrackB!と連呼。 なんとか分かって貰えましたw

一番楽しみにしていた、実践nginxモジュール開発〜CとLua〜

感想としては、C難しいけどLuaだとすごい楽だなーと感じました。nginxは業務で使っていますが、Luaでゴニョゴニョするということはやってないので、なにか出来ることないかなーと。 Cのモジュール作成方法もお話にあったので、試せるときに一度試してみたい。 nginxの実行順序もちゃんと把握しておかないとなーと自分の無知さが身に染みましたw

nginx_small_lightの話では、自身であまり使ってないとおっしゃれていたので、質疑応答の時に作成したきっかけを質問しました。

Q.nginx_small_lightはご自身ではお使いになってないということでしたが、作成した背景についてお聞かせ頂けますか? A.apacheのmod_small_lightをnginxでやってみたくて、作成しました。

既存のものを再現してみるって手を動かしやすいなと思いました。自分でいま作っているOSSもどきはPythonで書いてますが、Ruby,Goでも作って、言語を覚えたいなと思ってます。

クロージングは、感動でした。@lestrratさんのいままでのYAPCの気持ちが入っていて、うるっと来ました。 すごく明るくしゃべられていて、それがとても印象的でした。 YAPCのこれまでの10年がひしひしと伝わるそんなクロージングでした。

僕が思うにYAPCは終わってなんかなくて、ある日どこかで復活すると思ってます。 いろんなイベントに参加してきましたが、あんなに楽しいイベントは初めてです。 だって発表者がビールがぶ飲みしながら、マシンガントークですよ。しかも煽ってくるしw 遊びに行くっていう表現が正しいイベントでした。

@lestrratさん、トーカーの皆さん、ゲストの皆さん、スタッフの皆さん、本当におつかれさまでした。 とっても楽しいイベントでした。またお願いします。 クロージング!

調子にのってDocker化しまくったらしんどかった話

Docker

前回Sentryというエラートラッキングツールのplaybookを書きました。 もってけエンジニア!エラートラッキングツール【Sentry】のplaybookを書いたよ

このSentryをDocker化してしまえ!と思い、Dockerで構築してみたのですが、しんどいことに気づいたので、メモっておきます。

※Kubernetes,composeとか使えば楽になるんじゃないかと思います。あくまでもDockerのみでやろうとした時の感想です。

結論 --linkだらけにすると地獄をみる

githubに上げました。MySQLはsentryのmigration済みのデータが入っています。 MySQLの容量が300MBあったので、上げれませんでした^^;なんか方法考えます。。。 https://github.com/maaaato/docker-lab/tree/master/sentry ※一応リンク。

どういう構成でDocker化したか図を載せます。 docker sentry

インターネットからのアクセスはnginxで受け、バックエンドのsentryサーバへproxyする形です。 あとはsentryで必要なMySQL(PostgreSQL)、Redisを用意しています。

これらをコンテナ化しましたが、図を見て頂くとわかると通りにコンテナ同士を通信させる必要があります。

Dockerのコンテナ同士の通信には

docker run -d --link CONTAINER_NAME:ALIASE IMAGE_NAME

といった様に

--link

オプションが必要になります。

図の例で言いますと、nginxはsentryサーバへproxyさせています。この時どのようなconfになっているかと言うと、


upstream sentry {
    server sentry-docker:9000;
}


server {
    listen 80;
    location / {
        proxy_redirect     off;
        proxy_set_header   Host              $host;
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;

        proxy_pass http://sentry;
    }
}

proxyさせる先をsentry-dockerといった様に書いています。

--linkでCONTAINER_NAME:ALIASEで、ALIASEをsentry-dockerと指定してdocker runさせています。 こうすることでnginxのコンテナ内の/etc/hostsには、


172.17.0.9      2b312db7e6b4
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.8      sentry-docker 1f4c972658c2 sentry

このようにsentryサーバのIPアドレスが書き込まれます。 sentryサーバの--linkも同様で、MySQL、Redisも同じように各コンテナのIPが/etc/hostsに登録されます。

docker ps

の結果

CONTAINER ID        IMAGE                  COMMAND                CREATED             STATUS              PORTS                NAMES
2b312db7e6b4        maaaato/nginx          "/bin/sh -c '/usr/sb   4 minutes ago       Up 4 minutes        0.0.0.0:80->80/tcp   nginx
1f4c972658c2        maaaato/sentry         "sentry --config=/et   5 minutes ago       Up 5 minutes        9000/tcp             sentry
5473ad46ec96        maaaato/redis          "/entrypoint.sh redi   17 minutes ago      Up 17 minutes       6379/tcp             redis-docker
cdb6a0adf437        maaaato/mysql-sentry   "/usr/bin/mysqld_saf   18 minutes ago      Up 18 minutes       3306/tcp             mysql-docker

つまり!!

ここでMySQLのコンテナをstopし、新規にrunしたらどうなるでしょうか? MySQLのコンテナが新規に立ち上がるので、新たにIPが割り振られます。

つまり!MySQLへlinkしているコンテナはIPが変わった事なんてしらないので、あれ?接続できないぞ。。。となってしまいます。南無。 まぁ当たり前か。。。

先ほどの図では、sentryコンテナからMySQLコンテナに接続していました。これを再び接続し直すには、sentryコンテナをrestartして、nginxコンテナもrestartが必要です。 restartでうまくいかない場合は、コンテナの作り直しが発生してしまいます。

まとめ

Dockerでlinkさせまくると一カ所が死んだときに影響範囲が大きくなってしまう可能性があります。 Docker化を進めるにあたり、Docker化にするところしないところをしっかり設計する必要があると感じました。 Kubernetes,composeはまだ試していないのですが、Dockerの管理が楽になるもの?だと思いますので、次は試してみます。

参考サイト

Dockerのネットワークについてはこちらの記事がとても分かりやすいです。 Dockerのネットワークの基礎 Dockerコンテナ間のlink,database.ymlの書き方

もってけエンジニア!エラートラッキングツール【Sentry】のplaybookを書いたよ

sentry

Ansibleのplaybookをちょくちょく書いてます。

業務で【Sentry】というエラートラッキングツールを使っているのですが、それを構築するplaybookを書いてみました。

といってもすごく簡単な事しかしてません。

https://github.com/maaaato/Ansible-Sentry

ポイントとして、postfixをAnsibleで入れるときにdebconfを使いました。

参考サイト

sentry Sentry + Django コトハジメ

まとめ

OSSと商用版があるのですが、OSS版ですと7.5.4でユーザ作成時にプロジェクトを作るにチェックを入れて、登録ボタンを押すと、エラーとなってしまいます^^;

さらに、チェック入れずに登録しても、作成したユーザでログインするとリダイレクトループが発生してしまいます... スーパーユーザでプロジェクトを作り、そのプロジェクトに招待するという形であればリダイレクトループやエラーにはなりませんでした。

だれがこの現象知ってますか?

【オススメ】最高にうまい梅干しが食べれるおうすの里には京都に行ったら必ず行くべし!

白寿の梅

さてGWが終わって1ヶ月ほど経ちましたが、いかがお過ごしでしょうか。

僕はGW開けにリフレッシュ休暇という5日間休みが貰える制度を利用して、さらに休んでダラ〜と過ごしていました。

ただ、ダラ〜と過ごしていた訳ではなく、友人に会うため、奈良県に行って参りました。

高知の友人なのですが、現在は奈良に住んでおり、来年あたりに結婚するとのことでこれは会わなければと思い、高知に住んでいる共通の友人と共に行きました。

そこで、せっかくだから大阪・京都を周ろうということになり、京都に立ち寄った訳です。

実は京都に行くのは二回目で、去年の11月頃に奥さんと一緒に2泊3日の旅行に行きました。そのときに出会ったのが「おうすの里」です。

おうすの里って?

天保の時代より梅作り一筋に励んでまいりました。祇園店は平成11年に開店。 梅本来の持ち味を生かしながら、可能な限り塩分を控えた、うす味でさわやか な後味が特徴です。これからも、梅を知り尽くした職人達の繊細な技によって、 その味を大切に守り続けてまいります。 一粒一粒丹念に仕上げられた梅干しをぜひご賞味ください。

京都の梅干し屋さんです。梅作りのプロ中のプロ。 たくさんの種類の梅干しや梅を使った商品があります。祇園が本店のようです。 京に咲く梅 おうすの里 祇園本店 | 祇園商店街振興組合

今回の旅行で友人におうすの里に連れて行ってあげたいと思い、嵐山店へ向かいました。前回に行ったのも嵐山店です。

お店に入るとズラーっと商品が並んでおり、店の奥にはカウンターがあります。そこでほぼ全ての商品の味見ができます。ほぼ全てってやばい。

オススメ商品の味見をしつつ、商品一覧を見せてもらい、そこで気になったものを味見します。全部おいしいので、本当に迷います。

おうすの里で買ったもの

これが買った商品たち!前回は梅ひじきを買い忘れたので、忘れずに購入!

買った商品の紹介

梅すぐき

梅すぐき 梅すぐき

すぐきとは京都の伝統的な漬け物の一種みたいです。そこに梅が入っていて、すっぱうまい仕上がりになってます。

ご飯に乗せて食べてもいいですが、昆布茶をかけたご飯の上にたっぷり乗せて食べるとめちゃうまいです。

梅ひじき

梅ひじき 梅ひじき 梅ひじき

前回買い忘れてしまった梅ひじき。今回は忘れずに買いました!

しょっぱ過ぎない味付けで、梅はすこし甘い仕上がり。ひじきとの相性が抜群で、お弁当によく乗せてます。うまい。

梅のり

梅のり 梅のり 梅のり

梅のり。磯の香りと梅のさわやかな香りとご飯に乗せるだけで食欲が爆発。

梅の身がはいっていて、いい感じにすっぱくて最強にうまい。

白寿の梅

白寿の梅 白寿の梅 白寿の梅

おうすの里で最強にうまい、マジでオススメの一品。梅にんにく。

青森産の臭くないにんにくを使用しているので、にんにく臭くなることはない。

梅のすっぱさとにんにくの歯ごたえがバツグン!おかずにもいいですが、お酒のおつまみにも合います。

5tくらいほしい商品。マジでいっぺん食べてほしい商品。

通販できるの?

電話注文もしくはFAXでの注文になります。こんなページを見つけました。 おうすの里祇園本店 お問合ご注文専用 - 京都市/食品:マピオン電話帳

実は電話注文、FAXでの注文の存在を知らなくて、実際に店舗に行かないと買えないものだと勘違いしてました(笑)

嵐山店にしか行った事がないですが、梅酒もたくさんおいてあります!試飲はできないですが^^;

これは前回に買った梅種セット。赤い梅酒からメープルの梅酒など5種類のセットです。 梅酒

まとめ

また行きたい!!!

【AWS】CodeDeployでS3をRevision Locationにしてデプロイしてみた

Codedeploy つい先日CodeDeployを試してみました。【AWS】5分で分かるAWS CodeDeploy その時はGithubと連携してデプロイを試したのですが、今回はS3で試してみたいと思います。

前回の記事で用意したApplicationを使いまわします。

S3バケットの作成

肝心のS3バケットを作成します。バケットのリージョンに注意しましょう。 CodeDeployはヴァージニア、オレゴンにしか対応してないので、それ以外のリージョンに作ってしまうとデプロイがDownloadBundleでコケます。 s3

aws deploy pushでリビジョンのアップロード

リビジョンとはデプロイするソースコードを指します。 リビジョンのアップロードにawscliを使ってみます。 ちなみにawscliのversion。2015/04/22時点の最新。

aws-cli/1.7.23 Python/2.7.5 Darwin/13.4.0

awscliにdeployとかあったんですね。知らなかった^^; ドキュメントはこちら。 http://docs.aws.amazon.com/cli/latest/reference/deploy/push.html

aws deploy push --application-name WordPress_App --description "This is my deployment" --ignore-hidden-files --s3-location s3://CodeDeployDemoBucket/WordPressApp.zip --source /tmp/MyLocalDeploymentFolder/

sourceで指定したディレクトリをzip圧縮して、それをs3-locationで指定したS3バケットにアップロードします。 今回は前回作ったApplicationを使い回してますが、aws deployコマンドでApplication作ることもできます。

サンプルを例にdeploy push してみます。前回のApplicationを使うので、test_v1という前回作ったものを指定してみます。


aws deploy push --region us-west-2 --application-name test_v1 --s3-location s3://s3-deploy/test_v1.zip --source ./CodeDeployLab/

push成功すると、こんな感じ


To deploy with this revision, run:
aws deploy create-deployment --application-name test_v1 --s3-location bucket=s3-deploy,key=test_v1.zip,bundleType=zip,eTag="66f02fcb38c7e4987e7bb0ee246c6b50" --deployment-group-name  --deployment-config-name <deployment-config-name> --description <description>

eTagというのがつきました。

Etagはオブジェクトのハッシュです。Etagはオブジェクトのコンテンツの同一性を識別するものなので、メタデータの変更はEtagには反映されません。 Etagはオブジェクトが作成されたときに決まります。 PUTまたはPOSTオペレーションにより作成されたオブジェクトの場合、Etagはクォート付の32桁の16進数となり、これはオブジェクトデータのmd5ダイジェストを表しています。

オブジェクトのコンテンツの同一性を識別するものみたいです。 s3_1

CodeDeployでデプロイする

Create New DeploymentでRevision TypeをS3を選択します。 s3_2

これでデプロイ! s3_3 無事成功ですね。

失敗もしたのですが、その時はS3のバケットをTokyoリージョンで作ってしまったが原因でした。

まとめ

自動化必須! 次はLambdaと組み合わせて自動化してみよう!

参考

LambdaでCodeDeployの自動デプロイ機能を実装する