WordPressの機能の一つにブロックエディタというものがあります。
ブロックエディタはカスタマイズ性や柔軟性が非常に高く、デザインの編集など、管理画面上で殆どの対応が完結します。
ブロックエディタは管理画面上での編集のみならずコードベースでの管理もすることができます。
しかしながら、コードベースで管理する方法についてWeb上で検索すると不十分な公式ドキュメントしか見つかりません。
機能を十分に使うにはWordPress本体のコードを読むしかなく、ベストプラクティスのようなものも自分が知る限りでは存在していないようです。
今回のトークでは、実際に自分が初期導入から実装までやった経験を踏まえて、どのように開発していけば良いのかの一例をご紹介します。
想定対象者
当トークは、
聴取者にとって「自分は本を読むべきか、どう読書をすれば良いのか」を発見するヒントになることを目指します。
──本を読むのは良いぞ!!
それは何故でしょうか?
読書による学習方法には、例えば次のような特徴があると考えます
ここから色々な旨みが生じます
私自身は、こうした特性に助けられてきました。
実際、読書を通じて「壁を突破できた」ような経験をする場面が何度もあります。
当トークで、その想いや分析を共有できるでしょう。
「成長したい」「楽したい」を叶えたい人に聞いて欲しいです。
読書ができると何を得られ、どう活かすかを一緒に考えてみませんか?
テスト書いてますか?ますよね?
─果たして、本当にそれが正解でしょうか。
テストには「欠陥があることの証明」が重要です。
「証明しなくて良い事」が増えれば、テストの責任も軽減されるでしょう。
つまり、書くべきモノが減ります!!
実際に、設計技法やPHPの機能、ツールによって、そんな願いが叶えられると考えます。
例えば「引数にint型宣言」で、「文字列を受け取ったらどうバグるかの証明」はお役御免です。
良い意味でテストを減らす道・・・探りましょう!
NotionにはデータベースにCSVでレコードを一括投入するための 「CSV取り込み」 という機能が標準で搭載されています。
が、少なくとも2023年11月現在においては正直だいぶ貧弱な機能で、本当に最低限のことしかできません。
(例えば、インポートできるプロパティの種類が限られている、ページ本文はインポートできない、「名前」カラムの値が重複している行があると正常にインポートできない、など)
そこで最近、必要に迫られてPHPでNotionのデータベースにCSVをおインポートするフォームを自作しました。
このトークでは、このフォームの具体的な実装手順を、デモを交えつつサクッと解説します。
API Platformは、SymfonyをベースとするPHP製のオープンソースAPIフレームワークです。
Symfonyアプリケーションにアトリビュートを1行追加するだけで一瞬でREST APIとOpenAPIドキュメントを生成できてしまう優れもので、
Symfonyのエコシステムにおいてはすでに決定版と言える存在となっています。
このトークでは、API Platformの導入方法から、State Provider・カスタムコントローラ・State Processorといった重要な基本機能の概要までを、
実際に動作するデモをお見せしながら丁寧にご紹介します。
皆さんにAPI Platformの概要を知っていただき、少しでも興味を持っていただければ幸いです!
世の中には色々なフレームワークがあります
何か特定の世界に限りません
例えば、マーケティングの世界で有名なPPM分析もそう呼ばれたりします
フレームワークとそれ以外は、何が違うのでしょう?
プログラミングでいえば
「フレームワークの名前を複数挙げて」との問いには簡単に答えられても
「それはどうして?」の判断に迷う人もいるかとも思います
何がフレームワークなのでしょう
それ以上に重要なのは、”なぜ”フレームワークなのでしょう
これがあることで、開発者の仕事や思考は、どう変わりますか?
一緒に探ってみましょう!
パフォーマンス改善と聞くとどんなことを想像するでしょうか?
大半の人はクエリチューニングであったり、ロジック改善であったり、キャッシュ化であったり
元の仕様を変えずに速度向上をする、というイメージがあるかと思います。
ISUCONなどはまさにこれで、元のテスト(ベンチマークツール)が通るように改善を行っていきます。
しかし仕様から変えて良いものであれば、それは仕様再検討から実施することで圧倒的なパフォーマンス改善を実現できると私は考えています。
本セッションでは
このあたりをお話できればと思っております。
小田原っこ: 現在小田原に住んでいます
エンジニア同士の繋がりを作る上でコミュニティの存在は重要になってきています。
私が異業種からIT業界への転職した時に、業界内の知り合いが少なく孤独感を感じていました。
そのような背景からエンジニア達が一緒に勉強したり、情報共有できる場を作りたいと感じるようになり、
プログラミング学習コミュニティ「ねこプロ」を立ち上げて2年ほど運営しておりました。
活動内容は、LT会や交流会、勉強会を開催するなど多岐に渡ります。
コミュニティ運営をすることで学習に対するモチベーションを保てたり、繋がりの輪が広がるなど良い面もありましたが、課題も多くありました。
本トークではコミュニティ立ち上げから閉じるまでに経験したことを運営者目線でシェアすることで、
コミュニティ運営の魅力とリアルをお伝えします。
コミュニティに興味を持つ人が増えることで業界がより盛り上がれば素敵だなと考えております。
みなさん使っていますか?strace。
そうですね、コンテナ全盛期とも言えるこの時代、なかなか使う機会はないと思います。私もです。
ただ、あると思うと使いたくなるのが人情というものです。
そうです、コンテナにログインしてしまえば使えてしまいますね。
このトークでは、
というはじめの1歩を話していこうと思います。
PHP8.3が2023年11月リリース予定です。
PHPカンファレンス小田原2024が実施される頃には、皆さんの理解も進んでいることでしょう。
一方ですべての方がその機能を理解しているとは限りません。
今回はそのPHP8.3の機能を、小田原の地で一緒に振り返りましょう。
あと話者の趣味でパフォーマンス比較も行います。
PSR-15はPHP-FIGが勧告するHTTPハンドラとミドルウェアの標準仕様です。仕様の基盤となるPSR-7とともに非常に簡潔なインターフェイスの素晴らしい仕様です。
このトークではPSR-15がどのようにミドルウェアの仕組みを提供するのか、シンプルすぎるPSR-15とPSR-7の実用アプリケーションでの利用しにくさを改善できるかの試み、そして拙作のPSR-15ディスパッチライブラリHakoneの設計思想についてコンパクトにお話しいたします。
テストを書くとき、テストデータ(テストフィクスチャ)をどのように用意していますか?プロダクションコードを改修するとき、テストフィクスチャにも多数の改修作業が発生してつらくなっていませんか?
私は10年近くテストのある開発をしてきた経験から、テストフィクスチャもオープン(拡張に対して開いている)で、クローズド(修正に対して閉じている)にするのが良いのではないかと思うようになりました。
このトークではまず様々なテストフィクスチャの作り方を概観した後、オープン・クローズドなテストフィクスチャを実現するために現時点でベストだと私が思う方法をお伝えします。