福岡に行ってきた

6/30(金) 〜 7/2(日)まで福岡に行ってきたので、写真とか載せておきます。

ちょうど山笠の時期 f:id:jitsu102:20170702113921j:plain

博多駅のハート型ポスト f:id:jitsu102:20170630113129j:plain

肉・ごぼう天うどん@牧のうどん f:id:jitsu102:20170630120605j:plain

暑すぎたのでビール f:id:jitsu102:20170630143815j:plain

中洲 f:id:jitsu102:20170630212713j:plain f:id:jitsu102:20170630213725j:plain

朝うどん@ウエスf:id:jitsu102:20170701085848j:plain

櫛田神社 f:id:jitsu102:20170702100922j:plain f:id:jitsu102:20170702100949j:plain f:id:jitsu102:20170702102002j:plain

櫛田神社近くの商店街 f:id:jitsu102:20170702102657j:plain f:id:jitsu102:20170702103135j:plain

STAR WARS!! f:id:jitsu102:20170702102759j:plain

住吉神社 f:id:jitsu102:20170702105446j:plain f:id:jitsu102:20170702105724j:plain

博多駅 f:id:jitsu102:20170702114022j:plain

寿司 f:id:jitsu102:20170702124123j:plain f:id:jitsu102:20170702124951j:plain

# YAPC::Fukuoka 2017 HAKATA に行ってきた #yapcjapan

YAPC::Fukuoka 2017 HAKATA に行ってきました。
初福岡でした。

前々夜祭(全然野菜)@GMOペパボ

前々夜祭から参加しました。
小規模なシステムのユーザ管理に OCTOPASS 良さげでした。
ビール飲んだ時点でダメダメでした。

前夜祭@ヌーラボ

LT ソンのライブ感凄かった。
前夜祭でも飲んでしまったので、内容こまかく覚えていませんが、楽しかったです。
プリン美味しかったです!

YAPC::Fukuoka 2017 HAKATA@LINE Fukuoka

f:id:jitsu102:20170701125619j:plain 以下、聴いたセッションと感想など。

Opening

LINE Fukuoka のオフィスがお洒落すぎて驚愕しました。
wifi 環境も快適だし、無料カフェもあったりで、本当にありがとうございました!

レガシーPerlと「今」を組み合わせ、開発を継続し続ける方法

レガシーシステムの処理系をバージョンアップしない、あるある(?)なトークでした。
Perl から Go にいくケースが結構多いのかなといった印象でした。

稼働中の Web サービスの Perl 処理系バージョンアップをしていく話

処理系を最新版に追随していくという話。
ビッグバンリリースしないなど、バージョンアップ戦略大事だなぁと思いました。

ウェブセキュリティの最近の話題早分かり

デモもあって、とても分かりやすいトークでした。
淡々と説明しながら、全方位的にディスる(?)感じが面白かったです。

コンテナを「守る」仕組みから、中身を理解しよう!

「しっかりと中身に興味を持ち、理解することで、危ない設定とかも回避できる」という言葉が印象的でした。
Docker 使っているけど、中身理解しないでなんとなく使っていたりするので、しっかり勉強しようと思いました。

はてなブログ最近の開発テクニックと最新の開発風景のご紹介

新しい開発ツールなどを入れる指標として、「連続的に移行できる」「一般的な概念である」「失敗したら元に戻せる」という話が参考になりました。
はてなのデザイナさん、いろいろやっていて凄いと思いました。

Web application good error messages (and bad error messages)

3 次元(リカバリ方法・再現情報)ログは考慮したことがなかったので、これからはエラーログで出すようにしようと思いました。
クリスマスツリー現象にならないように、ログの出し方を考えたい。

cpm

cpm 開発に至った経緯や開発方針などが分かって、非常に勉強になりました。
cpm 使ってみます。

P6W に基づく Perl6 に於ける Web 開発の基礎となる Crust

Perl6 ほとんど使っていないので、まずは使ってみようと思いました。
Perl6 での Web 開発周りの現状が、なんとなく理解できたように思います。

グローバルなエンジニアを目指す為の入門的な話

単純なローカライズ(翻訳とか)ではなく、カルチャライズ(文化に合わせる)が重要だと思いました。
現地のエンジニアが開発する方が良いと思うけど、いろいろ大変だよなぁと思いました。

Lightning Talks

  • mercari さんの personalization (solr + mysql blackhole エンジンレプリカ)勉強になりました。
  • YAPC::Okinawa 開催決定!!

Keynote

「海外勤務、いえーい」みたいな話ではなく、リアルな苦労話。
言葉の壁とか大変そうだけど、いろいろ工夫しているんだろうなぁと思いました。
良いキーノートでした。

Closing

初めてサイリウム使いました。
ベストトーク賞は「ウェブセキュリティの最近の話題早分かり」でした。

懇親会

いろいろな方と話せて良かったです。
ビール飲んでダメダメだったので、細かいことは覚えていません。
楽しかったです!!

まとめ

今回は、Perl 成分が多めなトークが多かったなぁと思いました。
もっと Perl 力上げようと思いました。
運営スタッフと関係者のみなさん、参加者のみなさん、ありがとうございました。
今回も楽しい YAPC でした。

そして、次へ

YAPC::Okinawa 行くぞー

YAPC::Fukuoka 2017 HAKATA

AWS アカウントを作成したらやりたい 7 のこと

AWS アカウントを作成したら、やっておいた方がよいことをまとめました。
基本的には、IAM の Security Status +α といった感じです。
他にもあったら、教えてください。

MFA (2 段階認証)設定

仮想 MFA アプリケーションは、Google Authenticator を使いました。
その他 MFA については、Multi-Factor Authentication を参照してください。

  1. AWS ルートアカウントでログイン
  2. [IMA(Dashboard)] -> [Activate MFA on your root account] -> [Manage MFA] -> [A virtual MFA device] を選択し、[Next Step] をクリック
  3. MFA なアプリケーションが必要だよメッセージで [Next Step] をクリック
  4. 画面に表示された QR コードをアプリで読み込み、2 回分の数字を入力し、[Activate Virtual MFA] をクリック
  5. MFA 関連付けが成功しましたメッセージで [Finish] をクリック

作業用アカウント作成(アカウントとグループ作成)

普段は AWS ルートアカウントを使わないようにしたいので、作業用アカウントを作成します。

  1. [IMA(Dashboard)] -> [Create individual IAM users] -> [Manage Users] -> [Add user] をクリック
  2. [User name] に作成するユーザ名を入力し、[AWS Management Console access] にチェックを入れ、パスワード関連の項目を入力し、[Next: Permissions] をクリック
  3. [Add user to group] を選択し、[Create group] をクリック -> [Group name] を入力後、ポリシーを選択して、[Create group] をクリック
  4. [Next: Review] をクリック
  5. 設定を確認し、[Create user] をクリック -> [Access key ID] と [Secret access key] をメモし(credentials.csv ダウンロードでも ok)、[Close] をクリック

    作業用アカウントの MFA 設定

    作業用アカウントにも MFA(2 段階認証)を設定します。

    1. [IMA(Dashboard)] -> [Create individual IAM users] -> [Manage Users] で作業用アカウントを選択し、[security credentials] をクリック
    2. [Assigned MFA device] を編集して、MFA 設定を有効にする(ルートアカウントの MFA 設定と同じ)

パスワードポリシー設定

パスワードポリシーを厳しめに設定します。

  1. [IMA(Dashboard)] -> [Apply an IAM password policy] -> [Manage Password Policy] でパスワードポリシーを設定して、[Apply password policy] をクリック
  2. パスワードポリシーを設定し、[Apply password policy] をクリック

請求情報アクセスを IAM ユーザに許可

IAM ユーザ(作業用アカウント)で、請求情報を見られるように設定します。

  1. 右上のアカウント名メニューで、[My Accout] をクリックし、[IAM User and Role Access to Billing Information] まで画面スクロール
  2. [Activate IAM Access] にチェックして、[Update] をクリック

利用料金の監視

知らないうちに利用料金が高額にならないように、アラートを設定します。
あわせて、請求書をメールで受け取るように設定します。

  1. 右上のアカウント名メニューで、[My Accout] をクリック
  2. 画面左のメニューから [Preferences] をクリック
  3. [Receive PDF Invoice By Email] と [Receive Billing Alerts] にチェックを入れ、[Save preferences] をクリック
  4. [CloudWatch] にアクセスし、[Billing] をクリック
  5. [Create Alarm] をクリックして、[exceed] に金額、[send a notification to] にメールアドレスを入力し、アラームを設定
  6. 入力したメールアドレスに “AWS Notification - Subscription Confirmation” なメールが届くので、[Confirm subscription] をクリック

Cost Explorer の有効化

コスト情報をグラフィカルに確認できる Cost Explorer を設定します。

  1. 右上のアカウント名メニューで、[My Accout] をクリック
  2. 画面左のメニューから [Cost Explorer] を選択し、[Enable Cost Explorer] をクリック

CloudTrail の有効化

API の呼び出しや諸々のイベントログを記録してくれる CloudTrail を設定します。

  1. CloudTrail サービス画面にアクセス
  2. [Get Started Now] をクリック
  3. 設定して、[Create] をクリック

    • Turn on CloudTrail
      • Trail name : (任意)
      • Apply trail to all regions : Yes
    • Management events
      • Read/Write events : All
    • Storage location
      • Create a new S3 bucket : Yes
      • Storage location -> S3 bucket : (任意)

その他

グローバル IP アドレスが固定な環境なら、ポリシーでアクセス元を絞りたいです。
以下のドキュメントをしっかり確認したい。

www.slideshare.net docs.aws.amazon.com

YAPC::Kansai 2017 OSAKA に行ってきた #yapcjapan

YAPC::Kansai 2017 OSAKA に行ってきました。
以下、参加したセッションと感想などです。

Opening


A 会場がいい感じでした。

メールフォームからメールを送る近代的な方法

メールをちゃんと送るのは大変。
バウンスメール処理はしっかりやろう。
Sisimai 初めて知りました。

オープンデータを利用したWebアプリ開発

PosgreSQL に PostGIS で拡張すると、Geometry 型が使えるようになる。
MySQL は、Geometry 型がある。

Elasticsearch 超入門

インストールしてちょっと触ったことがある程度だったので、勉強になりました。
kuromoji 初めて知りました。

Elasticsearch で作る ranking system のスヽメ

Elasticsearch でランキングシステムは試したことがなかったので勉強になりました。
試してみたいです。

Webアプリケーションのキャッシュ戦略とそのパターン

トーク面白かったし、一番勉強になりました。
世の中、いろいろなことがあるけど、キャッシュに頼り過ぎるのは良くない。
キャッシュは麻薬、キャッシュは最終兵器。

(CGI/)Perl でわかる!サーバレス

Azure Functions 面白そうなので、試してみたいです。
CGI/Perl はお父さんがやっていた Perlmod_perl はシニア世代がやっていた PerlPlackナウでヤングな Perl
CGI 世代には辛かったです。

利用しているBaaSが終了するときにすべきこと または Parse.com の終了と私たちの取り組み

BaaS に限らずマネージドなサービスは、機能によるロックとデータによるロックがある。
いつでもサービスを止められるように考えておく必要がある。
Baas の利用は借金に近い。

PerlのWebアプリケーションをデプロイする時に僕達が考えたこと

初めから作り過ぎるのはよくないけど、雑なビジョンだと、構築コストと実施コストがアゲアゲ。
デプロイ方法に絶対な回答はないと思うので、規模に合わせて成長させる感じがいいかなと思いました。
はてなのデプロイは「餃子の王将

カヤックのゲーム開発・運用の「今」 力技と効率化の先に我々が目にしたものとは

ソーシャル・モバイルゲーム運用すると、同じようなポイントで苦労するなぁと思いました。
特にデプロイの話は共感できたし、勉強になりました。
「覚悟と気合」大事。

Perl ウェブ開発の中世 〜CGIPlack の間〜

CGI から Plack への歴史。
懐かしい感じでした。

はてなシステムの考古学

はてなの歴史学。
はてなのサービス好きだし、興味深かったです。
@motemen さんのトーク聞きやすかったです。

Lightning Talks

YAPC っぽい LT でした。
Azure Functions で Sisimai 動かした話とか興味深かったです。

Keynote

「温故知新」な Keynote でした。
若い人への技術(UNIXアセンブラ etc...)伝承大事。

Closing

ベストトーク賞は、「Webエンジニアに知ってほしいRDBアンチパターン」でした。
おめでとうございます。

まとめ
  • 勉強になったし、刺激になりました。
  • 今回も素晴らしい YAPC でした。
  • スタッフと関係者のみなさま、参加者のみなさま、ありがとうございました。
  • 次は Fukuoka です。

YAPC::Kansai 2017 OSAKA

YAPC::Hokkaido 2016 SAPPORO に行ってきた #yapcjapan


※ 写真はイメージです

試される大地での開催でした。
最近カンファレンスとか行ってないし、YAPC はほぼ毎回参加してるから気楽な気持ちで行ったら 3 日間も参加することになりましたが、良い YAPC でした!!

前夜祭

Perl 成分低めなタイムテーブルでしたが、他の言語を学ぶことも大事だと思いました。
各テーブルにコースっぽい料理が提供される形式で、ガッツリ食事だけしてしまった感。
雪降ってるけど北海道感あっていいなぁとまだウキウキしていた頃です。

YAPC::Hokkaido 2016 SAPPORO (1 日目)

参加したセッションどれも勉強になったのですが、特に kazeburo さんの Site::Reliabiliby::Engineering のセッションが良かったです。
あと、クラウド 4 社が一同に集まったスペシャルセッションも、各クラウドの特徴が分かって興味深かったです。
以下、参加したセッションと感想などです。

  • オープニング
  • MySQL 5.7 の次の MySQL
    • サービスで使っている MySQL を 5.7 にしたい。
    • よく使うミドルウェアは GA になる前のバージョンも触っておくことが大事だと痛感。
  • 近年の OSS 開発における CI 選択のベストプラクティス
    • Perl の CI は Travis CI がオススメ。
    • CPAN Testers はいろいろな環境でテストしてくれるのでありがたい存在。
    • カバレッジの可視化は、Codecov が良いみたい。
  • APIPerl で作る時に僕達が考えたこと
    • API ではなく DB を介して連携するようにすると、マイグレーションがつらくなる。
    • 内部用に使う API でもドキュメント大事。
  • iOS/Android アプリにおける API サーバーのいろは
    • JWT(JSON Web Token/RFC7519)、初めて知りました
    • 複数のエラーコードを処理するのは、人類には早すぎる
  • Perl6 と Web 開発と
    • Perl6 にそろそろ手を出そうと思った。(遅い)
  • 2017年、飛躍する技術と共に命懸けのダイブ!「普段使い言語環境」更新によるスキルリセットサバイバルガイド
    • 内容はあれですが、すごく面白かったセッション。おじさん、ガンバろうと思いました。
  • TBD(Site::Reliabiliby::Engineering)
    • Perl が SRE (インフラ)にとって良い道具であることを再認識した。
    • SRE のような働き方やチーム作りをしたいので、とても勉強になった。
  • 今から始めるMicrosoft Azure - Dive into Azure
    • Azure を使ってみようと思った。
    • Vision API、面白そう。
  • スペシャルセッション「今さら聞けない、でも聞きたい。クラウドの過去・現在・未来」
    • クラウドの特徴が分かり、面白かった。
    • 構築するシステム要件で、各社クラウドの使い分けが大事かと思った。
  • はてなのインフラ環境を自宅で再現する
    • 勉強は泥臭く、仕事はスマートに。
    • 地雷は踏んだ数だけ強くなる。
    • 読む、軽く触るではよく分からない。設計したり作ったりするとよく分かる。
  • TBD(Delivering a CDN)
    • Keep innovate. Stable means dead.
    • 継続的デリバリーはツールだけの話ではなく考え方。
  • Lightning Talks
    • ベスト LT 賞の sakura さんおめでとうございます。
  • クロージング
    • 参加者、185 名
    • 今後の YAPC スケジュール
      • 2017.3.4 YAPC::Kansai
      • 2017.7.1 YAPC::Fukuoka
      • 2018 YAPC::Tokyo


懇親会

ビールもたくさん飲めたし、楽しかったです。
LINE Beacom もらいました、ありがとうございます!!

感想

  • 貴重なインプットと刺激をもらえて、とても楽しかったです。
  • Kansai, Fukuoka, Tokyo と続くので、どこかでアウトプット(発表)してみたい。
  • ツイートしたらステッカーもらえるとか最高です。ありがとうございました。


  • スタッフのみなさん、参加者のみなさん、ありがとうございました。お疲れ様でした。

おまけ

YAPC::Hokkaido 2016 SAPPORO (2 日目)

夕方の便だったので、航空機ガチャには参加せず、寿司食べて温泉入っていたら、出発が遅延してました。
検査場通って、そろそろ搭乗手続き始まるかなと思ったら、欠航しました。







YAPC::Hokkaido 2016 SAPPORO (3 日目)

スープカレー食べて、空港行って、夕方の便で帰ってきました!
君の名は。は時間の都合上観れませんでした!!





YAPC::Hokkaido 2016 SAPPORO