30年以上前に作られたDNSの仕組みが今もなお同じように動作し、私たちのインターネットを支えている。2020年、令和の時代に熱いDNSの話をして、インターネットの基礎を支える技術に興味を持ってもらいたい。
DNSレジストラの脆弱性によりドメインハイジャック事件が起こりました。この事象を防ぐのは難しく、いかに早く改ざんを検知するかにかかっています。
そこでDNSのネームサーバ情報を定期的にチェックして改ざんを検知し、通知するツールを作成してOSSで公開しました。
https://github.com/ichikaway/nschecker
本セッションでは、DNS改ざんによるドメインハイジャック、DNSの基本的な仕組み、検知方法、キャッシュとの戦いを紹介し、DNSプロトコルの実装を解説します。
基本的にDNSパケットはUDP 512バイトでやりとりされ、その制約から1bit単位で意味を持つようになっています。この意味を解説しながら、先人たちが1ビットまで大切にしてきた想い、考え抜かれた仕組みを紹介します。
普段の開発では知らなくても動いているDNSですが、DNSキャッシュや権威サーバのツリー構成など知っておくとトラブルシューティングやサイト移転時に役立ったりします。
Track ID: Track3-4-A
Discord Channel: #track3-4-a-dns-packet
弊社のシステムはバックエンドのフレームワークは Laravel を使用、そして OpenAPI と呼ばれる API の設計書を書けば CRUD に対応した API が自動的に実装されるような仕組みを用いて自動生成し、最後にバリデーションを書けば、一つの API が完成します。
もともと弊社の社内システムは SaaS 上にしかなかった、かつバックエンドエンジニアが私一人である中で、どう効率的にゼロベースからプロダクトを組み上げてプロダクトのローンチを早められるかが鍵でした。
CRUD に対応した API 実装、正常系・異常系テストの生成自動化、API のドキュメントの記述、全文検索エンジンへどう自動的に繋ぎこむか、例外処理はどうするか?といった全ての事情を汲み取りながら基盤開発に邁進し、
今では一つあたりの API の実装は 10 分もかからないレベルになりました。本トークでは、この基盤の構築をした経験を元に、考えてきた事、実行してきたこと、判断に迷ったこと、そして Laravel を使った実装についてのお話をできればと思います。
弊社にはプロダクト開発部というものがありませんでした。物流のオペレーションは全て SaaS のシステム一つのみ。そのシステムを内製化するため
プロダクト開発部のチームをゼロから設計し、今ではエンジニア 3 名、デザイナー 1 名の小さいですがチームが組み上がってきました。
チームを組み上げていくにあたって大切にしてきたこと、そしてチームにおける技術の価値観の定義についてお話できればと思います。
弊社では顧客管理システムを SaaS で管理していたのですが業務要件が拡大するにつれて SaaS が提供している API のコールが頻繁に発生し Rate Limit になってしまったり、顧客 1 人の詳細を開くのに
5 秒以上かかる、そしてシステムがスケールできないといった課題がありました。その課題を解決するための一歩として顧客管理システムの内製化をはじめました。
本トークでは、どのように内製化を進めていき、そして稼働するまでの軌跡をお話できればと思っています。
Laravelで運用しているサービスをNuxt.jsにリプレイスした(している)状況を共有したいと思います。
Laravelで使われているロジックはそのままに、LaravelをREST APIとして稼働させてNuxt.jsでフロントエンドを構築しています。
サービスを無停止で移行する方法やインフラアーキテクチャ、苦労していることなどを共有して似たようなことを検討している人の助けになればと思います。
Track ID: Track4-1-A
Discord Channel: #track4-1-a-laravel-to-nuxt
人生においてお金があることで選択肢が増えることがあります。磨いてきた技術力を何らかの対価に変える方法の一つに企画があります。このコーナーではペチパー向けにできるだけ多くの実例をもとにした、採用される企画書の書き方をご説明します。また、より深く知りたい方向けに抽選で10名様に拙著「ITエンジニア向け企画力と企画書の教科書」(2020年3月出版)をプレゼントいたします。