comix

ジャンプみたいなブログになりたい。

Aktsk Tech Meetup #1に行ってきました

Elixirのイロハを学ぶためにアカツキさん主催のミートアップに行ってきました! 場所は代官山のアカツキさんオフィス。UNITの近くでした。

connpass.com

リアルタイムメモを晒しておきます。 (生メモなので正確なところはスライドを参照ください)

『GraphQL を Relay と Phoenix で実装する』

Speaker:岡田さん

WebAPI

オーケストレーション

  • 1画面1API
  • DBアクセス多い
  • 汎用性なし
  • クライアント毎の最適化に強い

理想のAPI

  • サーバーの作りがシンプル
  • 汎用性がある

GraphQL

  • 理想のAPIに近い?

Relay

  • ReactにGraphQLの機能を追加するライブラリ

React

  • JSのライブラリ

Elixir

  • マクロでDSLを作ることができる

Ecto

  • DSLでデータベースアクセスを実装
  • マクロを自分でつくって、GraphQLを実装する

Phoenix

  • ElixirのWAF

QA

  • 複雑なクエリはどうしてるのか?
    • ASTで変換してる(聞き間違えてるかも)

speakerdeck.com

『Node.js is Dead - なぜ私がNode.jsを捨ててElixirに乗り換えたのか』

Speaker:平野さん

Node.jsへの期待

  • V8
  • npm

Node.jsを4年くらいやって学んだこと

  • コールバック地獄
  • ベストプラクティスがずっとない(RoR的なとりあえずこうしておけ的な)
  • 一個ブレイクスルーが起きるとそのフォロワーが山程出てくる問題がつらい
  • スクランナーだけでいくつも渡り歩いた(jake、grunt、brunch、gulp)

いまはこうしてる

  • ES6で書く
  • co+yield(TJ)
  • WAFはkoa(TJ)
  • sequelized

Node.jsはすごいが、、

  • 一個一個npmモジュールを評価し組み込むサイクルはつらい
  • サーバーサイドはもっともっと楽したい

補足

  • co + koa + sequelizedはよい。
  • BKSS開発ワロタ
  • co + koaで非同期処理中のエラーハンドリングもしやすくなってきた

Elixir

  • 安心して乗っかれるベストプラクティスがある
  • シンタックストレンディ

Elixirの美点

  • 関数型、データの不変性、参照透過性

すごさ

プロセスアーキテクチャ

  • エラーハンドリングは監視プロセス側で行う
  • ロジックとエラーハンドリングが分離出来る(これがNode.jsだと辛い)
  • SupervisorからTask.asyncとTask.awaitを使い、タスクの非同期呼び出しをする

他には、、

感想

  • Node.js(2ヶ月)→Elixir(2週間)

QA

  • よい教材は?

www.youtube.com

  • 踏んだ地雷は?
    • IOヘビーな処理は並列化することでパフォーマンスでる。
    • ストリング操作やりやすいが、SJISの文字列をUTF8に変換するのが大変(iconvを使った)

speakerdeck.com

懇親会は時間の都合上行けませんでした〜(T_T)

欅坂46とMongoDBのロゴがクリソツな件

以前Twitterでも呟いたのですが、今日MongoDBのドキュメント読んでて、改めて思ったのでこちらでも。(ちなみにMongoは3系を勉強中)

正確には、欅坂46のロゴではなく、「欅って、書けない?」でつくられたロゴなんだけど、最初の放送を観て、思わず「Mongoンゴ!」と思いました。(小並感)

 

では、まずみんな大好きMongoDBのロゴから。

f:id:itosho525:20151130184753j:plain

葉っぱが特徴的ですね。

では、次にドルヲタ大好き欅坂46のロゴを。

f:id:itosho525:20151130185623j:plain

お分かりいただけただろうか…?

こちらも葉っぱです!形もカラーリングも似てる!東京オリンピックだったら大問題!

 

ドキュメント指向アイドル欅坂46爆誕!

これが言いたかっただけ!おしまい!

 

ちなみに、小林由依さんをチョイスしたのに他意はありません。

TRICK or TREAT

伊勢神宮の国で生まれ育ったので、今までハロウィーン的なことを一度もしたことなかったのですが、昨日初めてハロウィーン的なイベントに参加してきました。

 

と言っても、ライブに行っただけです。

日テレ主催のハロウィンライブなるものに武道館へ行って参りました。

ライブなのに、いかにもテレビ的な演出が冗長な感じもしたのですが、子供もたくさんいたしまぁアリなのかと思いつつ、乃木坂ちゃんを堪能してきました。

なので、ハロウィーン的なイベントと言うか単なるヲタ活なのはここだけの秘密、さもないと、いたずらしちゃうぞ!

 

natalie.mu

 

↑な感じでけっこうたのしかったので、来年からはもう少しハロウィーンに対して積極的になろうかなと思ったのですが、渋谷の映像みて一瞬でその気持ちは吹き飛びました←

 

個人的には何でも取り込んでいく日本のミーハーなマルチカルチュラリズムは好きなんだけど、あれはちょっとカッコ悪い感じがしました。

と思ったけど、そういえば、この国はコスチュームプレイが大好きなヘンタイの国だから、普段は抑圧してるであろう変態性が発散出来るイベントは必要なのかもしれない…

とか考えている時点で僕は一生パーティーピーポーにはなれないんだろうなぁ。なりたくもないけど。

 

www.youtube.com

取り留めのないことを書けるブログがあるって幸せだ

もうすぐ乃木坂46の新曲『今、話したい誰かがいる』が出ますね。

楽曲的には正直僕の好みじゃないので、そんなにテンションが上ってないんだけど、歌詞が超いいですね。 

歌詞の流れというか、物語がすっごくいいんだけど、特に、 

諦めるなら一人でいいけど 夢を見るなら一緒がいい 

ってフレーズが好き。

これだけ切り出すと凡庸な歌詞なんだけど、曲の中で聴くととても沁みる。

(MV補正もあるんだろうけど)  

 

やすすってやっぱり凄いなと思ったし、なんだかとてもエモくなる一曲です。

ATS対応(CentOS+Apache編)

Qiitaにまとめるほどでもないので、ブログにでも。

 

iOS9から導入されたATS機能をONにしたアプリで、サーバー側のWeb APIを実行するとエラーになってしまった。(具体的にはSSLハンドシェイクのタイミングでNG)

 

サーバー側の環境は、よくあるLAMP環境で、CentOSは6.4系、Apacheは2.2.15-28というバージョンだった。ApacheSSL周りの設定はこんな感じ(分かりやすいようにちょっと改変してる)。

 

SSLProtocol ALL -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ALL

 

ATSの仕様をみると、TLSv1.2が有効となっていて、SSLCipherSuiteはECDHが有効となっていれば問題なさそうなので、Apacheの設定は大丈夫そう。

 

でも、何故かエラーが解消せず困っていたのですが、結局mod_sslのバージョンが古く、このバージョンだとECDHに対応していなかった。

 

ということで、mod_ssl(とhttpd)のバージョンをhttpd-2.2.15-47にしたところアッサリ解決。

(2.2.15-31以降であれば大丈夫っぽい。あと、これはCentの独自パッケージなので、ソースからコンパイルするときは2.2.3-x系からがよさそう。)

 

気付いてしまえば何てことないのですが、まだATSの情報が少なく、苦戦しました。。

 

【参考URL】

App Transport Security Technote: App Transport Security Technote

mod_ssl-2.2.15-47.el6.centos.x86_64 RPM

 

PHPカンファレンス2015に行ってきた

外の空気を吸うためにPHPカンファレンス2015に行って参りました。

(最近Rubyに浮気しているのは秘密にして)

 

f:id:itosho525:20151005225055j:plain

 

自分自身の備忘も兼ねて、参加したセッションのスライドをまとめておこうと思います。(敬称略)

①今どきのSQLインジェクションの話題総まとめ(徳丸浩)

www.slideshare.net

はじめて生徳丸先生を拝見しました。

PHPカンファレンスだけど、Railsの話してました←

Zend Frameworkのorderメソッド脆弱性がある話で、一つのメソッドで色んなことが出来るのが原因で、FWの脆弱性というよりは、仕様の問題という話が興味深ったです。

 

②Inside CyberAgent's Game Development(白井英 / 川村猛)

スライドみつかりませんでした(´;ω;`)ブワッ

セッションは、白井さんがまずCAの子会社を中心としたゲーム事業開発の歴史を説明してくれました。

CAってnode.jsのイメージ強いけど、PHPも結構使っているとのこと。

デプロイの歴史が、Capistranorsync(shell)→Capistranoと一度rsyncになっているのがちょっとツボでした。

川村さんはGRIPHONEという会社のCTOをやられていて、最初のゲームアプリで失敗した後、PHPで開発して成功を収め、PHPに命を救われた的な話をしてくれましたw

HHVMの導入に手こずっているのが気になった。

お二人とも丁寧でわかりやすく、自分の開発現場もモダンにしなきゃなぁと改めて思った。

 

③フリマアプリ「メルカリ」の急成長を支えるエンジニアリング(久保達彦) 

speakerdeck.com 

お次は乗りに乗っているメルカリさん。

バックエンドはGoが多いみたい。MySQL on ioDriveとgauranというpushサーバーライブラリ?が気になりました。Exlir勉強しようかなと思っていたけど、やっぱりGoから勉強しようかな。

 

④Database Theory Models and Abstractions(Eugene Cook

speakerdeck.com

 こちらは内容よりも英語のセッションをきいてみたかったので、参加してみました。平易な内容だったので、割と理解しやすかったです。あとスライドが可愛かったので参考にしよう。

 

脆弱性もバグ、だからテストしよう!(市川@cakephper)

www.slideshare.net

最後はTwitterも昔からフォローさせていただいている市川さんのセッション。

cakephp-mongodbも使わさせていただいております!)

脆弱性診断サービスであるVAddyの紹介でした。フリーミアムのなので、一度使ってみようかな。

 

最後はLTに参加してきました。みなさんとてもおもしろかったです。やっぱりもっと外の世界みておかないとなと思いました…!

なんかこういうのに参加するのにまだ慣れていないせいか小学生の日記みたいになってしまった←

 

でも、アメリカの空気を吸っただけバスケットボールが上手くならないように、カンファレンスの空気を吸っただけで、PHPは上手くならないので、カンファレンスで学んだことを仕事に生かして行きたいと思います。 

次はRubyKaigiかな。

 

参考リンク:

PHPカンファレンス2015 スライドまとめ - sprawl

welcome to the people!

こんばんは。タモリです。

いろんなサービスのIDを統一したくなったので(基本itosho or itosho525)、長年使ってたはてなIDと決別(大袈裟)し、新しくIDをとりなおしました。

ので、気分一新ブログでも書いてみました。

続くかは、はてなですが。。