ORM(Object Relational Mapper)使っていますか?
生PDOを使っていた段階からはじめてORMを使ったとき、誰しも感動したと思います。
しかし、しばらく使っていると…アレアレ?困り事が発生してきます。
このトークではPHPの代表的なORMについて概観し、ORMにまつわる困り事の具体例を解説してから、ORMを乗り越えて、ORMに縛られるのでなくORMの使い方をコントロールするための考え方についてお話しする予定です。
ORMとは何を解決してくれるツールで、何は解決してくれないのか。ストレスなく保守しやすいORMとの付き合い方のバランスはどこにあるのか。皆さんが考えてみるきっかけとなることを目指しています。
キーワード: DTO(Data Transfer Object), 詰め替え, クリーンアーキテクチャ, ORM as 高級なクエリビルダー
2023年5月、Twitter(現X)が提供するAPIが突如として有料化し、2009年から個人により運営されてきたTwilogがサービスの終了を発表しました。
そこに手を差し伸べる1つの企業がありました。そう、Twitter関連企業のTogetterです。
華麗な買収エピソードの裏側で、Twilogの統合プロジェクトがスタートします。
などなど、1年間に及んだ移行作業の全容についてお話しします。
Twitter(X) :
yositosi(@yositosi) https://x.com/yositosi
アオヤマ ミント(@MintoAoyama) https://x.com/MintoAoyama
エンジニアとして始めると必ず知る概念、それが「デザインパターン」です(諸説あり)。
私は新卒の頃、輪読会としてデザインパターンの本を読みました。そして、その知識を持て余したものです。
”デザインパターンを勉強しよう”で知ったデザインパターンは、その適用に失敗することの方が多いように感じます。
「道具として自然に出てくること」が大事であること、そして「道具としてもう使われないものもあること」を認識するのが大切です。
普段使用するフレームワークやライブラリに出てくるデザインパターンを参考に、今でもよく使われるデザインパターンを紹介していきます。
話すこと
・デザインパターンとの向き合い方(共通言語として”デザインパターン”を知っておく)
・フレームワークやライブラリに出てくるデザインパターン
・好んで使わないデザインパターン
※GoFのデザインパターンのことを指します。
何らかの技術の理解を深めるのに、最も適した方法はなんでしょうか。
私は、その技術のサブセットを実装することだと信じています。
PHP、ひいてはプログラミング言語というものを理解するために、PHP 言語のサブセットを実装しましょう。
プログラミング言語処理系における「セルフホスト」とは、その処理系のソースコードをその処理系自身が処理できることを指します。つまり、今回作るPHP処理系の上でそのPHP処理系を動かすことを目指します。
PHP で書く PHP 処理系(のサブセット)の作り方
必要なソースコードはすべて公開され、このトークを聞かれた方が同じものを作成できるように構成します。
以下は実用的な言語処理系を支える重要な要素ですが、このトークでは意図的に省き、より容易に理解できる手法で代替します。