パッケージを管理するツールとして Composer を利用している方が多いと思います。
一方で、自分で Composer パッケージを作成している方はどれくらいいらっしゃるでしょうか?
実は Packagist に公開しなくても、自分たちのコードを Composer から利用可能なパッケージにする方法があります。
本発表の前半ではその方法や、そうすることのメリットを解説します。
後半では、自分たちのコードをフレームワークの「外」に持っていく方法と、それ実践するために必要な「技術的でない」ことについてお話します。
昨年 11 月に PHP 8.0 がリリースされました。
本発表では PHP 8.0 で新しく追加された構文や関数等について、利用頻度が高そうだったり、関係する人が多そうなものをメインに紹介していきます。
昨年 11 月に PHP 8.0 がリリースされました。
本発表では PHP 8.0 で新しく追加された構文や関数等について、利用頻度が高そうだったり、関係する人が多そうなものをメインに紹介していきます。
Composer で見かける「PSR-0」「PSR-4」、コーディングスタイルでみかける「PSR-2」「PSR-12」など、PHP に関わっていると自然と目にする「PSR」という言葉。
「PHP Standard Recommendation(標準勧告)」の頭文字なのですが、果たしてこれは何なのか?使い方は?どんなメリットがあるのか?
そんな疑問に対して、具体的なコードとともに解説していきます。
PHP-FPM(FastCGI Process Manager)の設定項目を「なんとなく」「デフォルトのまま」にしていませんか?
不適切な設定は充分なパフォーマンスが発揮できないばかりか、障害の原因にもなりかねません。
本発表では PHP-FPM の子プロセス制御方法と設定項目の意味、適切な設定値の判断方法について説明します。
「テスト駆動開発入門」が 2002 年に出版されてもうすぐ20年が経とうとしていますが、テスト駆動開発はどの程度普及したでしょうか。私の知る範囲でも、自動テストのないプロダクトや、自動テストを書いたことがないウェブアプリケーションエンジニアが少なからず存在しています。主にそうした自動テスト未経験の方やテスト駆動開発未経験の方向けに、テスト駆動開発の楽しさと進め方のコツをお伝えしたいと思います。
株式会社あつまるでは自社のサービス(サイト制作)のために WordPress サイトと WordPress プラグインを5年以上前から開発してきました。
度重なる改善のおかげでサイト制作効率は何倍にもなり、弊社の生産性向上に寄与しています。
が、そんな中でも「なぜこんな作りにしてしまったんだ…」「なぜもっと早くこれをやらなかったんだ…」と後悔していることも少なくありません。
WordPress 特有の問題、モダンなフレームワークに憧れて真似した結果火傷した話など、みなさまにお話しさせていただきます。
株式会社あつまるでは自社のサービス(サイト制作)のために WordPress サイトと WordPress プラグインを5年以上前から開発してきました。
度重なる改善のおかげでサイト制作効率は何倍にもなり、弊社の生産性向上に寄与しています。
が、そんな中でも「なぜこんな作りにしてしまったんだ…」「なぜもっと早くこれをやらなかったんだ…」と後悔していることも少なくありません。
WordPress 特有の問題、モダンなフレームワークに憧れて真似した結果火傷した話など、みなさまにお話しさせていただきます。
「他の人と未来の自分のために、調査しやすいコミットをしていこう」コミットの内容について僕が思うことです。
とはいえ調査しやすいコミットと言われても、ぱっと思いつかない人もいるのではないかと思います。
そこで本セッションでは、調査しやすいコミットとは何かについて話していきます。
具体的には以下のような内容について話をする予定です。
多くのサービスがRDBMSを使っています。
しかし、RDBMSは銀の弾丸ではない現実があります。
そこで今回はRDBMSが苦手な次のようなことに対して、RDBMSやNoSQLを使って如何に解決するか?をお話します。
こんな悩みをどのように解決するかをお話します。
気軽に欲しいと言われるけど実は作るのが大変な機能ランキング第1位といえば、CSVファイルによるインポート/エクスポートでしょう。(異論は認めます)
特にインポートは入力データのバリデーションやインポート前のプレビュー表示などが必要になるとやることが多くてひたすら面倒です。
エクスポートはエクスポートで、データ量の多いアプリだと結構シビアに計算量をカットする必要があったりしますね。
このように、カジュアルに要望される割に意外と腕が試されるCSVインポート/エクスポートについて、PHPでの具体的な実装例をご紹介できればと思います!
気軽に欲しいと言われるけど実は作るのが大変な機能ランキング第1位といえば、CSVファイルによるインポート/エクスポートでしょう。(異論は認めます)
特にインポートは入力データのバリデーションやインポート前のプレビュー表示などが必要になるとやることが多くてひたすら面倒です。
エクスポートはエクスポートで、データ量の多いアプリだと結構シビアに計算量をカットする必要があったりしますね。
このように、カジュアルに要望される割に意外と腕が試されるCSVインポート/エクスポートについて、PHPでの具体的な実装例をご紹介できればと思います!
大阪市でシステム会社をやっている向江と申します。
トークの内容は現在自分がPMとして参画している開発期間が3年を予定されている小売店のアプリについて、第一フェーズが完了して少しおちつくので、アプリ自体はFlutterを採用しバックエンドにL aravelを採用したらどうなったかを話したいと思います。
■FlutterとLaravelの相性
■この規模感でこの選択は正しかったか
■ちょっと脱線するけどFlutterとかLaravelを採用している新参の会社がチームを組むとどうなるか(苦笑)
などを話せればと思います。
2020年10月24日に、Composer 2.0がリリースされました。
Composer初のメジャーバージョンアップデートですが、どんな新機能が増えたのでしょうか?
そこでComposer2.0で新しく実装された機能について、時間が許す限りご紹介・解説いたします。
時間の都合で全ての機能について触れられない可能性がございますが、以下の機能について触れる予定です。
2020年10月24日に、Composer 2.0がリリースされました。
Composer初のメジャーバージョンアップデートですが、どんな新機能が増えたのでしょうか?
そこでComposer2.0で新しく実装された機能について、時間が許す限りご紹介・解説いたします。
時間の都合で全ての機能について触れられない可能性がございますが、以下の機能について触れる予定です。
路線バスデータ形式を定義した「標準的なバス情報フォーマット(GTFS-JP)」の中で、路線バスの運行情報は「GTFS リアルタイム(GTFS-RT)」として定義されています。
静的データがカンマ区切りのプレーンテキストなのに対して、GTFS-RTはProtocol Buffers(プロトコルバッファ)という、データ構造が規定されたバイナリ形式をベースとしています。
しかし、バイナリデータを開いて読めるように加工はあまりしたことが無い上に、Pythonを使用した情報は多いものの、PHPの使用情報は少ないのです。
(「Protocol Buffers」がGoogle主導のデータ形式な関係もありそう)
それでも、PHPでの加工にこだわり、何とかプレーンテキストまで加工して、無事にバス運行情報を見られるようにした流れや経緯をお話しします。
PHPerが日々奮闘するソフトウェア開発の現場では、ユニットテストを書くことは推奨され普及してきました。
一方、E2Eといった高レベルのテストになると整備したいという気持ちはありつつ、初期構築コスト自体の高さや、構築したもののテスト維持に失敗する話をよく聞きます。
その要因の一つとして、本トークではテスト環境とテストデータに着目します。
テスト環境とテストデータの扱いは、既存システム都合との折衷案を取る必要があったりする理想と現実の間での戦いになる事が多いでしょう。
現場での戦いの武器となるような事例とそれぞれの実践手段のメリット・デメリットをまとめてお伝えします。
論点1. テスト環境を専用に作るか、既存のものを利用するか
論点2. E2Eでは利用不可な外部サービスがあるケース
論点3. テストデータを作る3つのバリエーションとそのメリット・デメリット
昨今モノリシックな機能拡張ではなく、いわゆる"micro service"と呼称されるような新規サブシステムの構築を設計手段として選択するケースが増えてきました。
そのような場合、開発環境構築から始まりますが、要件によって温度感が分かれます。
それぞれどのようにDocker開発環境を構築・拡張するかとよいかパターンを紹介します。
私は元 Haskeller です。関数型言語出身です。
今から8年ほど前、私が PHP を書き始めたときの印象は「型の表現力が乏しい」というものでした。時は流れ PHP7 そして PHP8 にかけて、PHP は以前からは想像もできないほど豊かな型の表現力を獲得しました。
一方で PHPStan で実装済みのジェネリクスが PHP コアには未実装だったりと、PHP の型表現はまだまだ伸びしろ十分です。
PHP8 や PHPStan で型表現はどこまでカチカチになれるのか、翻って、PHP らしい型付けってどのようなものだろうかと思いを馳せてみます。
プログラミングを始めた人が必ず一度は作る物といえば、そう、「独自のプログラミング言語」ですよね?
独自プログラミング言語を実装する最初の一歩は、ソースコードを構文解析して抽象構文木(AST)を得るところから始まります。今回はこの構文解析に着目して、PHP でパーサ(構文解析器)を書いてみました。
文字列処理と聞くとすぐに正規表現を書きたくなる方も多いと思いますが。正規表現とは一味違ったパーサの世界もちょっと覗いてみませんか?