ytake Hatena

Web Application Developer

Laravelで作る分析・分散処理アプリケーション その2

Kafka Consumer + Prestodb例 ytake.hateblo.jp 上記のエントリの続編です。 その1 ではApache Kafkaを組み合わせて、 データの分散やアプリケーション自体をスケールするアプローチを紹介しました。 今回は分散したサービスのデータの集約をKafkaとPrestoを…

Laravelで作る分析・分散処理アプリケーション その1

先日のPHPカンファレンスやPHPカンファレンス関西、buildersconでお話しした内容を元にして、 Laravel(PHP)を使って分析処理の簡単な実装や、 ミドルウェアを組み合わせた分散処理の実装を紹介します。 本ブログのサンプルアプリケーションは下記になります…

PHPカンファレンス2017でApache Kafkaについて話しました

PHPカンファレンス2017 今年も参加してきました 2017/10/08 PHPカンファレンス2017で発表に使ったスライドです speakerdeck.com 巨大化してしまったアプリケーションを分解する場合や、 マイクロサービス化するにあたって、 こうしたメッセージミドルウェア…

PHPでビッグデータを操作しよう!Presto編 2

ytake.hateblo.jp *上記の続き 異なるデータベース、NoSQLなどを結合できるということが理解できたと思います。 それではPHPのアプリケーションから実際に利用してみましょう。 PHP Prestodb Client PHPのPrestoクライアントライブラリは、古いものがありま…

PHPでビッグデータを操作しよう!Presto編 1

引き続きビッグデータ関連のミドルウェアを使った開発ばかりしてます。 もうすぐスーパーファミコンですね。 PHPを使ったビッグデータへのアプローチ方法などを話すことが多いですが、 今回は登壇時に例に挙げることも多いPrestoとPHPからの利用方法について…

Laravel5.5 API Resourcesを利用する その1

先日、Laravel5.5がリリースされました。 このバージョンは新しいLTSとなりますので、5.1からのアップグレードなどを検討してみましょう! 5.5で追加された仕組みの一つに、Eloquent: API Resourcesがあります。 laravel.com 以前からEloquentで取得したオブ…

2016-2017買ってよかった書籍

最近はphpよりもSparkやKafkaといったミドルウェアを使った開発や、設計ばかりやってます。 そんな中で良い書籍がありましたので、せっかくなのでいくつか紹介します。 ビッグデータ系 スケーラブルリアルタイムデータ分析入門 スケーラブルリアルタイムデー…

PHP with Apache Kafka

Apache Foundation ビッグデータ系の処理向けにApache Kafkaを利用し始めました。 これまでもMessage Queueなどにzmq、Redis(PubSub)、ActiveMQ/RabbitMQなどを利用はしていましたが、 スケールのしやすさや、運用面や機能など今後フル活用できそうなためKaf…

Laravel5.4 Data MapperライクなDatabaseアプローチ

Laravelで使われているilluminate/databaseはPDOを利用して実装されています。 つまりPDOでできることは全て利用可能です。 Laravelの標準の機能では、データベースのレコードはCollectionクラスで、 stdClassまたは、配列でカラムと値が共に返却されます。 …

Laravel-Aspect update MessageDriven, QueryLog (1.7)

リリースノート作ればいいんですが、便利機能をいくつか追加しましたので、 使い所などを踏まえて追加機能の紹介です。 今回からLaravel5.2, 5.1は1.6、5.3以上は1.7となりました。 5.5リリース後、以前のバージョン対応は停止する予定です。 What そもそも…

php7 でxhp-extensionをインストール

XHP HackでおなじみのXHP XSS対策はもちろんのこと、現在のReactの元(ほぼ同じ記述法)になったもの、 とご存知の方も多いと思います。 php5ではfacebookのGithubで公開されています。 github.com が、現php7対応版は公開されておらず、Hackのみで利用可能と…

HHVM/Hack Dependency Injection/Service Location Container公開

About Hackで簡単に利用できる Dependency Injection/Service Location Containerライブラリを公開しました。 github.com Pimpleをはじめとして、 多くのライブラリをそのままHHVM上で動かすことはもちろんできますが、 typescriptやflowといった厳格さを利…

vagrant box / gardening update information

laravel/homesteadのCentOS7版のようなbox ytake/gardening というものをatlasで公開しています。 ytake.hateblo.jp 先月このボックスのアップデートを行いました。 CentOSのすぐ開発できるboxが欲しい!という方にはおそらくピッタリでしょう! github.com …

HHVM/Hackはじめの一歩

phpの拡張として、魅了的な要素がたくさん詰まったHHVM/Hack 挿入を始めるにあたって、壁にぶち当たるのがphpstormなどの様な高機能なIDEがない、 などがあげられるかもしれません IDEに代表される様な補完機能がなかなか効かないだったり、 typecheckerで既…

Lumenで実装するAPI REST拡張HATEOAS

API実装してますか? 弊社では最近APIにLumen(PHP), Zend Expressive(PHP), echo(Go)が利用されています。 そのなかでも徐々にAPIを表題のHATEOASへとシフトしつつあります。 HATEOASに関しては下記を参照ください postd.cc そのHATEOASですが、Lumenを使っ…

PHPカンファレンス関西2016 登壇しました

PHPカンファレンス関西2016 去年参加できなかったPHPカンファレンス関西に参加してきました。 conference.kphpug.jp その代わり今年は福岡に参加できませんでした。 今回は30分枠で設計寄りな[アスペクト指向によるアプリケーション拡張]で登壇しました。 日…

自分流Laravelディレクトリちら見せ

いつも通りTwitterでLaravelの話をしていたところ、 匿名でいいからディレクトリ構造シェアしてほしいw— たきゃはし (@takahashiyuya) 2016年5月2日 ということがあり、とりあえず自分流のLaravelを紹介します。 2014年にその時の自分の開発プロジェクトな…

Lumen with Aspect

Lumen使ってますか? APIなどのセッションや、テンプレートを必要としないアプリケーションには、 Laravelのマイクロフレームワーク版でもあるLumenを選択する方も多いのではないでしょうか。 このフレームワークはLaravelと同様にファサードを使うかどうか…

ytake/gardening HomesteadライクなCentOS

ytake/gardening という、 HomesteadのCentOS版みたいなものを公開中です。 laravel/homestead との違いは、 OSはUbuntu14.04ではなく、CentOS7となっています。 またwebサーバが、ApacheとNginxが切り替えて利用できるようになっています。 この環境ではデ…

2015年ytakeまとめ

本年は特にたくさんの方とご一緒する機会が多く、 周りの環境も多く変わる一年となりました。 今年作ったもの 今年はLaravel関連のパッケージを作ることが多かった一年でした。 後悔しているパッケージの他にも自作フレームワーク作りを行い、 何度も作って…

Lumen活用

これは Laravelリファレンス発売記念、販売促進アドベントカレンダー www.adventar.org の2015年12月18日分です。 今回は書籍では取り上げていませんが、Lumenについてです。 弊社のAPIでもLumen(とgolang)を活用していたりします。 Lumenおさらい LumenはLa…

Laravel services.jsonのなぞ

これは Laravelリファレンス発売記念、販売促進アドベントカレンダー www.adventar.org の2015年12月17日分です。 今回はLaravelに欠かせないファイル、services.jsonについて紹介します。 services.json Laravel5.1ではbootstrap/cache配下に作成されます。…

Laravel データベース拡張のヒント

これは Laravelリファレンス発売記念、販売促進アドベントカレンダー www.adventar.org の2015年12月16日分です。 データベース拡張 開発時に、Laravelがサポートしていないデータベースを使う必要がある場合や、 クエリビルダなどの挙動を変えたい場合があ…

Laravel ファサードを利用しないメリット

これは Laravelリファレンス発売記念、販売促進アドベントカレンダー www.adventar.org の2015年12月15日分です(1日遅れ更新中)。 必ずしも簡単 が重要ではない Laravelを選ぶ利用の一つとして、 フレームワークが持つ豊富な機能と、 静的メソッドに見える…

Laravel Broadcast Eventを使いこなそう

これは Laravelリファレンス発売記念、販売促進アドベントカレンダー www.adventar.org の2015年12月14日分です(1日遅れ更新中)。 Laravel Events LaravelのEventはフレームワークに登録されているコアのイベントを監視して、 実行させるイベント、 または…

Laravel Artisanコマンドアプリケーションを作ろう

これは Laravelリファレンス発売記念、販売促進アドベントカレンダー www.adventar.org の2015年12月13日分です(1日遅れ更新中)。 Laravel Artisan 今回はArtisanコマンドアプリケーション開発について紹介します。 Artisanコマンドなんてすでに作ってるぜ…

Homesteadを使いこなそう

これは Laravelリファレンス発売記念、販売促進アドベントカレンダー www.adventar.org の2015年12月12日分です。 Homestead LaravelにはVagrantを利用して簡単に開発環境が構築できるHomesteadというboxが公式で用意されています。 HomesteadはLaravel専用…