はじめに Namespaces are one honking great idea1、nikkieです。 2/11のPHPカンファレンス2024登壇2準備より1ネタ。 autoloadの設定でハマりました。 ※この記事はハマったこととこうやったら解決できたというログを書き残すことを目的としています。 この方法がPHP界隈でいう"正解"なのかは自信がないところです(普段はPythonでTDDしていますが、PHPでテストを書くのが今回初めてです)。 PHPに関しては小さな点でもお気づきの点がありましたら、@ftnextまでお知らせください! 目次 はじめに 目次 PHPUnitでFizzBuzz…
codeigniter.com サイトタイトルは4.4.5と表示されていますが、そのうち訂正されるのでは? Modules CodeIgniter 4.5で、modulesフォルダを設置する場合で、わかったことを書きます。 Info 自分自身の備忘録として、書いています。 まだ十分に把握してなかったり、勘違いしている部分もあるかもしれません。 ご了承ください。 使用環境 Name Version PHP 8.3.6 CodeIgniter 4.5.1 app/Config/Autoload.php 下記は、ドキュメントから引用しています。 public $psr4 = [ APP_NAMESP…
今日は主に GC の実装を環境変数で指定した共有ライブラリで上書きできるという新機能の追加などがありました。 [9b1e97b211] HASUMI Hitoshi 2024-03-28 01:26:42 UTC struct parser_params の debug_lines や ISeq から VALUE の値を削るための変更のようです。 [07ff4aa19b] Jean Boussier 2024-04-15 11:44:48 UTC bb1c3418d0fd3235c678ad68f7b45d32f8183a3f で修正していた String#@- のテストで assert のメ…
OCIのRedisクラスタにPredisで接続する際に割とハマったので共有します。
はじめに バックアップをとらずに OS を再インストールしたため、全てが消えてしまいました。 この機会に、インストールしたものの種類や方法を全てメモすることにしました。 まずは Git / GitHub からです。 環境 環境は次の通りです。 macOS Sonoma ver.14.4.1 Apple M2 Chip Homebrew 4.2.17 zsh 5.9 パッケージの管理には Homebrew を用いています。 インストール gh まずは gh をインストールします。 brew install gh インストールが完了したら、ログインします。 gh auth login ログイン時に…
今日は parse.y の CRuby 依存の実装を除去する活動の一環の変更や拡張ライブラリ json の更新などがありました。 [4960a598d6] Peter Zhu 2024-04-01 19:46:51 UTC RubyVM::InstructionSequence を GC.compact で移動可能にした変更を revert していた 16c18eafb579cf2263c7e0057c4c81358fe62075 を revert して、つまり再度移動可能にしています。 iseqw_new() の rb_check_typeddata() の戻り値の扱いに修正がありそう。 […
可能性1:オートロードが変になっている composer.json内のautoloadが下記になっているか確認。 (プロジェクトフォルダをappフォルダと指定して、ここからuse文で名前空間を設定しています。) "autoload": { "psr-4": { "App\\": "app/", 可能性2:RouteServiceProvider.php protected $namespace = 'App\\Http\\Controllers'; をコメントアウト。
Poetryを使ったPythonの仮想環境とパッケージ管理について、自分なりに整理してみました。 第2回はasdf+Poetryの組み合わせによる環境構築の手順と、環境複製についてまとめます。 必要性や用語についてまとめた、第1回はこちら。 WSL2を使ったWindows環境での構築はこちら。
エキサイト株式会社の@mthiroshiです。 アプリのプッシュ通知は、Firebase Cloud Messaging を用いて実装できます。サーバー環境から FCM 実装でプッシュ通知を送る方法の一つとして、FCM HTTP API があります。現在、FCM HTTP API は、新しいAPIへの移行のアナウンスがされています。2024年6月にはレガシーAPIが利用できなくなります。 firebase.google.com 今回は、PHP の実装における FCM HTTP API v1 への移行について紹介します。 公式の移行ガイドによると、主な変更点は下記の3点です。 エンドポイントの変…
今日は主にスタックオーバーフロー検出で別プロセスから送信されたシグナルへの対処や Module#const_source_location が autoload で読み込み中のスクリプト内でも使えるようにする変更などがありました。 [1e7ee871cb] Peter Zhu 2024-03-07 21:47:32 UTC スタックオーバーフローの検出のためのシグナルハンドラでシグナルが別のプロセスから送信された場合に誤検出してしまっていたので siginfo_t::si_pid をチェックして他のプロセスからのシグナルの場合は無視するようにしています。 [72a57076e2] Koichi…
emacsの初期設定 emacsでバックスラッシュを書く方法 atomやpulsarでバックスラッシュを気軽に打ち込みたいのだが markdownのプレビューの問題 emacsのmarkdown-mode まずはinit.elに設定を書く 参考文献 emacsの初期設定 もともとはemacsではなく、pulsar editorの設定を試みているときに見つけた諸問題であった。 バックスラッシュと円記号の問題 markdownのプレビューの問題 2の問題については正直頓挫である。なにか進展があったら記録していきたいが、今の所は失敗の記録しかない。 一方、1の問題についてはemacsについては以前か…
今日のビルド af8a4205bfaebac3be8ad260ca5d044052384f4d までを pull ってきてビルド。
はじめに こんにちは。アプリケーション基盤グループでエンジニアをしている草間です。 SECによるビットコイン現物ETF承認や、ビットコイン半減期の接近などの大きなテーマにより、暗号資産市場は盛り上がりを見せているように感じます。そんな中コインチェックでは、「新しい価値交換を、もっと身近に」のミッションに基づき、2024年に入ってからも実現損益チェッカーやCoincheckリワード、Coincheck OnRampなど、数々の新しいサービスをリリースしてきています。 コインチェックでは2014年に暗号資産取引サービスを開始して以来、様々なサービスが誕生してきました。多くのプロダクションコードが生…
皆さん、こんにちは。 PHPerKaigi 2024 コアスタッフのmuno92です。 PHPerKaigi 2024の開催がいよいよ今週末に迫っていますね。 この記事では、事前収録されたトーク動画を元に一足早くトークの感想をお届けします。 トークの事前収録とは day0 (3/7) マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 PHP で読む楽しいコアダンプ day1 (3/8) 古くなってしまったPHPフレームワークとPHPのバージョンアップ戦略 Laravel OpenAPIによる "辛くない" スキーマ駆動開発 履歴データテーブルとの向き…
先日リリースされたDocker Desktopの4.27.0で Synchronized file shares という新たなファイル共有システムが導入されました。 docs.docker.com www.docker.com これはDocker社が買収したMutagenというファイル同期ツールで実装されていて、Dockerを使用した開発でボトルネックになりがちなファイルアクセスが改善されることが期待されます。Lenetのサービスは主にPHPで実装されていてファイルアクセスが多数発生するため、開発体験が改善されるかもしれません。 設定 早速 Synchronized file shares の…
Composer 参考にした記事 laravel-news.com 使用したバージョン Name Version PHP v8.3.3 Composer v2.7.1 Laravel v11.x ファイル構造 . ├── app ├── app-modules │ ├── teams │ │ ├── composer.json │ │ ├── database │ │ ├── node_modules │ │ ├── package.json │ │ ├── pnpm-lock.yaml │ │ ├── resources │ │ ├── routes │ │ ├── src │ │ └── …