タグ Shin x
人気順 10 users 50 users 100 users 500 users 1000 usersPHP アプリケーションのトレース計装ではじめる OpenTelemetry 入門 - Shin x Blog
OpenTelemetry を利用して PHP アプリケーションのテレメトリデータを計装する方法をまとめました。 本エントリのコードは下記で公開しています。 github.com OpenTelemetry とは 用語 PHP アプリケーションのマニュアル計装(手動計装) 構成 OTel Collector Jaeger 動作環境 必要なパッケージ PHP コード 設定 実行 PH... 続きを読む
use 文は PHP ファイルを読み込まない - Shin x Blog
PHP の use 文では、クラス名や関数名、定数、名前空間などのエイリアスを設定できます。 <?php use App\Foo; use App\Bar as ABar; $foo = new Foo(); $bar = new ABar(); https://www.php.net/manual/ja/language.namespaces.importing.php この use 文は指定したシンボルにエイリアスを設定する、言い方を変えると名... 続きを読む
Docker Compose で php-fpm が発行するシステムコールを見る - Shin x Blog
php-fpm の挙動を確認するために発行されるシステムコールを簡単に確認できる Docker Compose 環境を作りました。 github.com システムコール strace-php-fpm strace オプション Docker 環境で strace を実行する注意点 php-fpm が発行するシステムコール例 ini ファイルの探索 nginx からの FastCGI リクエスト PHP フ... 続きを読む
「PHPコードの実行モデルを理解する」をPHPカンファレンス香川2024で発表しました - Shin x Blog
2024/05/11 に玉藻公園内 披雲閣で開催された PHP カンファレンス香川 2024 にて、「PHPコードの実行モデルを理解する」を発表してきました。 発表資料 日頃実行している PHP コードがどのように実行されているかをざっくりとイメージして頂くために、PHP コードの実行モデルと、身近な SAPI である php-fpm(mod_php)と ... 続きを読む
現代のソフトウェア工学を示す「継続的デリバリーのソフトウェア工学」 - Shin x Blog
年末年始に「継続的デリバリーのソフトウェア工学」を読みました。新年を迎えて、気分を一新して開発を始めるのに良い本でした。 ソフトウェア開発に役立つプラクティスを示した本 学びのエキスパート 複雑さ管理のエキスパート 実践的なツール データに基づく指標 ソースコードに限らずに広く適用 ソフトウェア開発者と... 続きを読む
「ドメインをモデリングして PHP コードに落とし込む」を発表しました / PHP カンファレンス 2021 - Shin x Blog
2021/10/02, 03 にオンラインで開催された PHP カンファレンス 2021 にて「ドメインをモデリングして PHP コードに落とし込む」を発表しました。 発表資料 Sample code: https://github.com/shin1x1/domain-modeling-with-php Togetter: https://togetter.com/li/1783062 joind.in: https://joind.in/talk/650b0 ドメイ... 続きを読む
level=0 から始める PHPStan(Larastan) 導入ガイド - Shin x Blog
PHP にはアプリケーションを実行せずに静的にコード品質をチェックする静的解析ツールがいくつかあります。有名なところでは、PHPStan や Psalm、Phan、PHPMD などがあります。本エントリでは、まだこうした静的解析ツールを導入していないプロジェクト向けに PHPStan 導入の流れをまとめてみました。 3(4) 行まとめ サ... 続きを読む
ソフトウェア設計原則は変更容易性に通ず - Shin x Blog
色々な原則や方法論はあれど、つまるところいかに変更容易性を確保するかと言う話に帰結するのでは。極論すれは、正しく動いていて変更する必要が無ければどのような作りになっていても構わない。一方、Web アプリケーションを稼働し続ける上で全く変更しなくて良いということもない。— Masashi Shinbara (@shin1x1) 202... 続きを読む
PHP 8 をオフィシャル Docker イメージで試す - Shin x Blog
2020 年末にリリース予定 の PHP 8 の オフィシャル Docker イメージ(library/php)が Docker Hub に公開されました。 https://hub.docker.com/_/php?tab=tags&page=1&name=8.0-rc- イメージタグに 8.0-rcや 8.0-rc-fpm、8.0-rc-apacheなど 8.0-rc や rc-のタグが付いているものが現時点では PHP 8 のビルドとなってい... 続きを読む
誰のためのソースコード? - Shin x Blog
「誰のためのデザイン?」の旧版と改訂・増補版を読みました。 以前に旧版を読んだのですが、その記憶もあやふやなくらい前だったので、あらためて読み直し、その面白さゆえに改訂・増補版も購入してこれも読み終えました。 Web システム開発を生業としているので、日々ユーザとのインタラクションが発生するプロダクト開... 続きを読む
Vue.js + Vuex + TypeScript ファーストインプレッション - Shin x Blog
日頃は、サーバサイドの開発が主なのですが、その UI として フロントエンドの開発も行うことがあります。最近話題の Vue.js を試してみたのでその感想などを。 前提 これまで利用した構成 Vue.js 構成 雑感 ちょっと試す、がすぐにできる vue-cli が楽 vue ファイル template ディレクティブ scoped css vue-router / V... 続きを読む
独立したコアレイヤパターン - Shin x Blog
2018 - 05 - 11 独立したコアレイヤパターン 独立したコアレイヤは、アプリケーション実装パターンである。以下のような特徴を持つ。 アプリケーションを、何を実現するのか(What)と、どのように実現するのか(How)に分ける。 What は、コアレイヤに実装する。ユースケースやドメインロジックを実装する。フレームワークやライブラリには依存しない。UI やデータベースからは独立している。 ... 続きを読む
PhpStorm + Docker for Mac(docker-compose)での PHPUnit と Remote Debug の設定 - Shin x Blog
2017 - 10 - 27 PhpStorm + Docker for Mac(docker-compose)での PHPUnit と Remote Debug の設定 PhpStorm から Docker for Mac の Docker コンテナ内で PhpUnit のテスト実行や Remote Debug を行うための設定です。 下記バージョンにて構築を行いました。 PhpStorm 20... 続きを読む
PHP カンファレンス関西 2017 にて基調講演をしました - Shin x Blog
2017 - 07 - 18 PHP カンファレンス関西 2017 にて基調講演をしました PHP カンファレンス関西 2017 の基調講演にてお話してきました。 発表資料 今回は、開発現場から見た PHP の特徴をあらためて見直すということで、私が日頃感じている特徴をお話しました。最後には現場で奮闘している PHP エンジニアへのメッセージを入れました。 朝一番のセッションにも関わらず、立ち見が... 続きを読む
DI(Dependency Injection)に関するメモ - Shin x Blog
2017 - 05 - 20 DI(Dependency Injection)に関するメモ PHPの現場 にて、DI 談義を行うので、頭を整理しておくためのメモです。 DI についてきちんと知りたいのであれば、参照に挙げたリンク先に有用な記事があるので、そちらを参考にして下さい。 PHP を念頭に置いてますが、Java など他言語でも大枠は同じだと思います。この内容は、いずれ整理するかもしれません... 続きを読む
WordPress Way を知る本 「エンジニアのための WordPress 開発入門」 - Shin x Blog
2017 - 03 - 10 WordPress Way を知る本 「エンジニアのための WordPress 開発入門」 著者の杉田さんに献本して頂いたので拝読しました。 PHP エンジニアのための WordPress 本 タイトルにあるとおり、普段フレームワークなどを使って Web システムを開発している PHP エンジニアのための WordPress 本です。 ただ、ユーザとして WordPr... 続きを読む
「PHPの現場」という Podcast をはじめます - Shin x Blog
2017 - 03 - 02 「PHPの現場」という Podcast をはじめます 学生の頃からラジオを聞いて育ってきたので、技術系のPodcastが好きで色々と聞いています。 日本語で PHP 界隈の話題について話すPodcastが無かったので、はじめてみることにしました。 「PHPの現場」というPodcastです。 PHP がメイントピックにはなりますが、PHP の開発現場で出てきそうな話題な... 続きを読む
アプリケーションから例外を投げる派、投げない派 - Shin x Blog
2016 - 12 - 27 アプリケーションから例外を投げる派、投げない派 例外をどのような状況に投げるかもしくは投げないか、というのはわりと意見が分かれるところです。もちろん、プログラミング言語によっても異なりますが、同じプログラミング言語ユーザ同士でも様々です。 基本の考え方 ベースとしては、Effective Java の項目 39 にある下記の方針が参考になります。 例外的な状況の時にの... 続きを読む
公開 Podcast のような勉強会セッションをやってみる - Shin x Blog
2016 - 12 - 20 公開 Podcast のような勉強会セッションをやってみる 勉強会の企画を考えるとき、あの人からあの話聞きたいなというのがあって、普通なら登壇を依頼すればいいんだけど、準備も大変だろうから、あの話の blog エントリや過去のスライドを前に出して、インタビュー形式で「ここ教えて下さい」みたいな感じでやるセッション案。 — Masashi Shinbara (@shin... 続きを読む
「サーバ/インフラエンジニア養成読本 DevOps編」にて Ansible 2 について書きました。 - Shin x Hatena Blog
2016 - 02 - 09 「サーバ/インフラエンジニア養成読本 DevOps編」にて Ansible 2 について書きました。 2016/02/26 に出版される「 サーバ/インフラエンジニア養成読本 DevOps編 」というムック本にて、Ansible 2 について書きました。 本書は、昨今では普及してきた DevOps や Infrastructure as Code といったキーワードに... 続きを読む
Vagrant + Ansible で開発環境を作るなら ansible_local プロビジョナがいい! - Shin x Hatena Blog
2016 - 01 - 21 Vagrant + Ansible で開発環境を作るなら ansible_local プロビジョナがいい! Vagrant 1.8 で、ansible_local という新しいプロビジョナが追加されました。 これは、Ansible をゲスト( VM )側にインストールして、ローカルコネクションで VM 内で実行するものです。これは、まさに待ち望んでいた機能ので紹介しま... 続きを読む
PHP 7 でコードを書いたファーストインプレッション - Shin x Hatena Blog
2016 - 01 - 07 PHP 7 でコードを書いたファーストインプレッション 正月の書き初めとして、 PHP 7 でコードを書いてみました。 年始から始まるプロジェクトで PHP 7 に取り組む予定なので、素振りも兼ねています。実際に書いて感じたことを挙げてみます。 書いたコード 今回書いたのは、Markdown からコードブロックを抜き出して、それぞれをファイルに出力するコードです。 h... 続きを読む
CI で PHPコードスタイルをチェックする Style CI - Shin x Hatena Blog
2015 - 12 - 22 CI で PHPコードスタイルをチェックする Style CI PHP コードスタイルのチェック、整形を行うサービスである Style CI を紹介します。 このエントリは、 Laravelリファレンス Advent Calendar 2015 の22日目です。 Laravel 公式が利用しているサービス Style CI は、 Alt Three が運営している G... 続きを読む
2015年の技術本執筆環境 - Shin x Hatena Blog
2015 - 12 - 21 2015年の技術本執筆環境 2015年は「 Laravelエンジニア養成読本 」「 Laravelリファレンス 」、そしてまだ未発表ですが、もう一冊の技術本の執筆に参加しました。 時代によって技術本の執筆環境も変化してきています。今年、技術本の執筆に利用した ツール 、サービスを紹介します。 過去の技術本執筆環境は、以下のエントリにあります。 いまどきの技術本執筆環境... 続きを読む
Laravel 5.1(LTS) を解説した「Laravelリファレンス」を執筆しました - Shin x Hatena Blog
2015-12-10 Laravel 5.1(LTS) を解説した「Laravelリファレンス」を執筆しました 「Laravelリファレンス」という書籍を執筆しました。 Laravel リファレンス[Ver.5.1 LTS 対応] PHPカンファレンスの壇上でご紹介した書籍がいよいよ登場します。色々な事情で、出版予定日は年を越す形(2016/01/08)になりましたが、何とか年内に入稿まで進められ... 続きを読む