これは半分ポエムみたいなもんです。 CTOをやっているということもあって、 少し前からタイトルのようなことをずっと考えていたりしています。 日本が劣っているとかそういう話ではなく、 ここしばらく欧米や中国などのソフトウェア関連技術や設計関連の発展…
ちょっと時間が空いてしまいましたが・・ これまではローカルのみでアクターを動かす簡単なアプリケーションと、 基本的な機能や考え方について解説しました。 今回はProto Actorを使って、ネットワーク上でアクターシステム同士がコミュニケーションを行い…
PHPだけで分散処理ってできるの? 多分皆さんがそう思うはずです。 これまでPHPではリソースの操作などで並行処理を利用することは エクステンションなどの介して実現はできていましたが、 物理的分かれているPHPに処理を依頼する、結果を戻すなどは Kafkaな…
Supervisionの続き 前回はアクターモデルの監視・監督について説明していきました。 特に親子関係による監視・監督についてはなんとなく理解することができたのではないかと思います。 今回は親子関係にないアクター間の監視について触れていきます。 blog.y…
吉祥寺に集合だ! kichijojipm.connpass.com ということで、今回は家庭的な用事を済ませて本編の後半から参加しました。 といってもLTとナカミチさんの発表くらいしか参加できませんでしたが・・・ (聞けなかった発表はスライドとかみなさんのつぶやき等を…
PHPでES+CQRS PHPで完全なES+CQRSを表現するには、CDC(Change Data Capture)+Outbox形式にするのが定番でした。 単純なQueueではリプレイができず、 伝播させて終わり、いわゆるEvent Streamingの形になってしまうことが多いと思います。 とはいえCDC+Outbox…
はじめに 今回は、アクターモデルの監視・監督について説明します。 監督は親アクターが子アクターの状態を監督する機能で、 監視はアクターモデルをサポートするツールキットの特徴のひとつで、アクターが他のアクターの状態を監視する機能です。 一般的なW…
PHPでアクターモデルが導入できない・・? 長い間そう言われてきました(自分も言ってました)。 実際に並行システムのためのものでもあり、 PHPでは簡単な並行処理以外は難しくもありました。 ja.wikipedia.org PHP主体の方はOOPに慣れ親しんでいると思いま…
メッセージが届かない時って? 前回はアクターモデルのMailboxにメッセージが届いた時にどの様な仕組みで処理されるかを見ていきました。 今回はメッセージが届かない時に何が起きるかを見ていきます。 前回 blog.ytake.jp.net DeadLetters メッセージが届か…
Malboxとは 前回まではアクターを使った簡単な実装について解説しました。 一般的なWebアプリケーションで利用するHTTPのリクエストレスポンスを中心として考えるものと異なり、 情報伝達経路を中心に考えていくように感じられたかもしれません。 アクターの…
執行役員CTOに就任しました 2024年2月の話ですが、千株式会社の執行役員CTOに就任しました。 sencorp.co.jp 千株式会社とは以前から繋がりのある会社でして、 事業として取り組んでいる領域や、 自分自身が課題に感じていて変えていきたい領域と接点も多く、…
小さなアプリケーションを実装してみよう 今回は、前回のhello worldから少しだけアクターについて掘り下げていきます。 Proto Actorでの用語で記述しますが、Akka/Pekkoと用語がちょっと異なるだけなので、 読み替えてみると良いと思います。 構成を考えよ…
Hello Actor 細かい機能の解説はあとの回として、 まずはアクターシステムを使ったプログラミングを体験してみましょう。 Goではアクターシステムが商用でも十分利用できるものは、 下記のProto Actorとergoがあります。 github.com github.com Proto.Actor…
まえがき アクターモデルといえばErlang、もしくはScala/Javaなどで利用できるAkka/Pekkoがデファクトですが、 Go言語でも不自由なく利用できるProto Actorというツールキットがあります。 Akka/Pekkoほど機能はないため いくつかは自分で実装しなければいけ…
2023年はあんまりパッとしなかった? いつもの年末振り返り。 去年に引き続きブログ等のアウトプットもあまりしていなかったので、 振り返りと来年はアウトプットしていくぞ! アウトプット 今年もアウトプットは意図的に抑えていました。 コミュニティには…
今年は楽器・ギター再熱したこともあって、機材をちょこちょこ買って楽しんでました。 買ってとても良かったなぁ、っていうものをピックアップ。 Ibanez RG5328 8弦ギター www.ibanez.com Meshuggahを弾きたくて、そのために買ったと言っても過言ではないん…
Goで簡単に分散システムを作りながらNew Relicを使ってしっかりとメトリクス収集していきましょう、という内容をお届け
メッセージを扱ったシステムでは必須のテクニックの一つ、スキャッタ・ギャザーを実装してみましょう!Goを使ってアクターモデルを学びます。
SREはインフラエンジニアだけではなく、みんなの活動なのではないかという話を書きました みんなでやろうSRE!
技術的負債はどこにでもある タイトルにあるように、 いくつかの開発チームと一緒に技術的負債を改善する開発や、それらに関する活動を行うことが多く いろんな取り組みをしていく中で、よかったことがいくつかありました。 もちろん技術的負債を返すのは数…
ニアリアルタイムで更新されるデータ基盤を作るために データ基盤をはじめとするデータ処理やその辺りに興味がある、 もしくは 作らないといけない!という形にもぴったりだと思う実際にやっている方法を紹介します。 Snowflakeとは? すでにご存知の方は次…
今年買って良かったものです。 何かの参考にあれば幸いですが個人的なものも含みますので、 ふーん くらいに捉えていただければ。 書籍 事業分析・データ設計のためのモデル作成技術入門 読んだ感想を書こうと思ってすっかり忘れてましたが、 概念的な要素も…
2022年は大変だった 年末でいつもの振り返り。 去年に引き続きブログ等のアウトプットもあまりしていなかったので、 振り返りとどんなことをしていたのか、 毎年の殴り書きです。 アウトプット 今年もアウトプットは意図的に抑えていました。 やはりコミュニ…
とても長い文章ですけど、現状と向き合ってシステムを考える時の頭の中をちょっとだけ。 うまく文章化されてませんが 一つの物事をいろんな角度で見てみる話。
PHPerKaigi2022! オンラインな時代になり、カンファレンスへの参加がオンラインになってしまったり 色々ありますが1年ぶりくらいにカンファレンスに登壇(録画)しました。 この2年くらいで子供が大きなったり色々ありました(当たり前) 現地参加ができなか…
Kafka+Spark Structured StreamingとProtocol Buffers マイクロサービスアーキテクチャというと、 適切なドメインモデルを参考にシステムを切り出して、 小さくしてチームを分けてAPI開発すればいいんだな、と思う方も多いかもしれませんが、 実はこのまま…
2021年は忙しかった 年末でいつもの振り返り。 今年は多忙につき年末のいつものアドベントカレンダー参加は見送っていたのと、 ブログ等のアウトプットもあまりしていなかったので、振り返りと、どんなことをしていたのか、 ということの殴り書きです。 スタ…
もう少しで在籍1年 スターフェスティバル株式会社にジョインしてもうすぐ一年くらいになります。 中長期の目線を持ってゴールに向かって様々なものを変えていく、 というところにフォーカスして日々改善やいろいろな破壊活動を続けています。 だがしかし、や…
新しいかもしれないLaravel本 新しいかもしれない、というのは 本書は3年ほど前の「PHPフレームワーク Laravel Webアプリケーション開発」の 改訂版で、 Laravel8対応のコードなどに変更してあり、一部改訂となっているためです。 3年経ったということもあり…
これは先日、株式会社アイスタイルにて参加した社内むけで話した内容を清書したものです。 (現在は株式会社アイスタイルの社員ではありませんが技術顧問的な立場でサポートさせていただいてます) 対象として、初学者やエンジニアなりたての人向けではあり…