Facebookが公開し、GitHubのAPI v4にも採用されたことでも知られるGraphQL。旧来のRESTfulな形式のAPIを爆発的に置き換えていっている!とは言えませんが最近少しずつ国内でも採用事例を聞くようになりました。
このトークではGraphQLの魅力について話し懇親会で話のネタに出来るくらいに分かった気になるトークをしたいと思います。
社内ベンチャーやスタートアップでは少ない人的リソースで高速にプロダクトを開発していくのが重要です
しかしながら、大きなピボットや急な仕様変更の可能性も高く、こういった状況でのAPI開発は様々な課題があらわれます
このセッションでは上記の課題にどういう解決策を考え、BEAR.Sundayでどういったかたちで解決していったのか
そして、少し珍しいフレームワークであるBEAR.Sundayでの実務例をご紹介いたします
専門学校の講師として3年、Laravel を使ったアプリケーション開発の講師をやってきました。
エンジニア教育とはちょっと違う、専門学校でのIT教育みたいな話をします。
日ごろからお世話になっているインターネット。
そのインターネットはネットワーク同士を接続した巨大なネットワークです。
そのネットワーク内でルータがどう動いているのか、ネットワークをつなげるためルータがどれだけ頑張っているのかを少しでも理解したいと思い、ソフトウェアルータを自作しました。
コアな部分はErlangで実装し、追加のモジュール部分はElixirで実装しました。
内容はL2、L3の実装、ルーティングの実装を行い、さらにL4以上をコントロールするためのモジュール実装をどのように行ったのかを話せればと思います。
ネットワークはアプリケーションにない面白いところが沢山あります。
あまり意識することのないネットワークに焦点を当ててみてはどうですか。
少しでもネットワークのことに興味を持ってもらえると嬉しいです。
PHPでURLルーティングをつくってみた話をします。
普段フレームワークを活用していると、ルーティングの実装はフレームワークが用意したパッケージや外部ライブラリ依存であることが多く、自作するモチベーションやメリットはあまり浮かばないかもしれません。
今回、実用性のあるものを作り上げるのは難しかったですが、敢えて車輪の再発明に挑戦することで
様々なライブラリの実装パターンや実行速度のパフォーマンスの懸念点を知る機会になったり、
アルゴリズムの実装力(エンジニアの基礎体力)を鍛える良い練習にもなりました。
15分の時間内でURLルーティングを自作するメリットと楽しさについてお話できればと思います。
みなさん試行錯誤してPHPサービスを止めないように努力されていると思いますが、
現実世界上でSLA100%を完全保証することは不可能です
では最速で復帰させる為にどの様な努力を行えば宜しいのでしょうか?
僕が行っている最速で「気付く」方法を赤裸々に語ります
PHPのエラーが発生して何が起きたかを慌てるのではなくて、
発生した瞬間に認識する方法を思考します
昨年のベストトーク賞「SOLIDの原則ってどういうふうに使うの?」でも話題になったとおり、設計の難度を上げるのは「バリエーション」です。
そのバリエーションの発生パターンの見極め・予測法こそがプログラマーとしての経験値と言っても過言ではないと思います。
いざバリエーションが発生してから「しまった…!」とならないように、発生しうるバリエーションの予測精度を上げるには設計時にどこに注目・注意すればいいか?のコツをお伝えします。
Zaim はオンライン家計簿のアプリですが、運用上 PHP の役割が大きいです。
今回の発表では、Zaim における PHP アプリケーションの運用において、使用しているツールや直近の困ったことなどを共有させていただきたいと思います。
長年PHPをやってきた普通のウェブエンジニアが、ある日突然コンパイラの魅力にとりこまれ、寝ても覚めてもコンパイラのことしか考えられなくなりました。
こんなに面白いものがあったのかと。
まずC言語コンパイラをCで書き(写経)、つぎにC言語コンパイラをGoで書き(移植)、気がついたらGo言語コンパイラをGo言語で書いている自分がいました。
そこで見えてきたものは、それまでWeb開発で見ていた景色とは全然違う世界でした。
値とは何か。式とは何か。解釈とは何か。
コンパイラを作る者は、それらの問に対して自分なりの答えを見つけなければなりません。
Goコンパイラに挑戦して1日目Hello wordがで動いたとき、ソフトウェアエンジニアとして非連続的な成長をしつつあるのを実感しました。
コンパイラが書きたい。もっと書きたい。
コンパイラ作りの魅力について語ります。
Raspberry Pi でLEDを光らせたりするのは、Python / C だけだと思っていませんか。
このトークでは電子工作の基礎から、PHP から Raspberry Pi の GPIO を制御する方法や、OSS のライブラリを紹介します。
そんな方の背中を少しでも押せたらいいなと思います。
アセンブリがわかればコンピュータがわかる。
コンピュータが動く仕組みを知りたいと思ったことはありますか?
コンピュータが直接理解できるのはマシン語だけですが、それを少しわかりやすくしたのがアセンブリ言語です。
アセンブリは高級言語とぜんぜん違います。
変数、IF文、ループがありません。そんな言語で何ができるのか?
何でもできる!
アセンブリ言語はまた、多くのコンパイラの出力データとしても使われています。
実際に私はこの知識をつかってC言語コンパイラとGo言語コンパイラをある程度書けるようになりました。
一介のWebエンジニアにすぎなかった私がアセンブリを学んで読み書きできるようになった体験をもとに、わかりやすく解説します。
本トークを聞いたあと、あなたは「アセンブラ難しいと思ってたけど、意外とやればできるのでは」という感覚を得られるでしょう。
Fargateとかそろそろキャッチアップしておきたいという方向けの発表です。AWSサービスにおいてECS/EKS等コンテナベースでのアプリケーション運用の事例が出てきたかと思います。12 factor appsなどの設計アプローチなどがあるようにコンテナでの運用においてログ・設定情報の扱いなど、アプリケーション設計においても影響がありうります。今回、業務でGoをECS/Fargateで運用している知見をベースに、PHPアプリケーションをFargateで使うにあたった基礎知識と検討ポイントについてまとめてみようと思います。