タグ

architectureとphpに関するshin1x1のブックマーク (10)

  • 事業会社の現場 - 「Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち」 - Shin x Blog

    @makoga さんから「Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち」を送って頂きました。ありがとうございました。 VOYAGE GROUP にある 5 つの事業会社についてそれぞれの事業を支えるシステムの開発、運用、改善といった内容を在籍するエンジニアへのインタビュー形式でまとめられたです。 事業会社の現場 システムは一度開発して終わりではなく、事業を継続し続ける限りその開発運用をしていくとになります。5 社ではそれぞれ別の事業を営んでおり、それぞれのコンテキストがあります。書では、システム開発における様々な意思決定(主にシステムの改善)と施策を行ってきたかという話がメインとなっているのですが、具体的な施策だけではなくその背後にあるコンテキストも含めて語られているのが大きいな特徴です。 システム開発は無数の意思決定の上に成り立っており、それぞれの

    事業会社の現場 - 「Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち」 - Shin x Blog
    shin1x1
    shin1x1 2020/08/21
    レビューを書きました。内容について話したくなる良い本でした。
  • サーバーサイドから見るChatworkの現状と未来 / Now and future of Chatwork from server side perspective

    関西サーバーサイドオールスターズ2019 登壇資料

    サーバーサイドから見るChatworkの現状と未来 / Now and future of Chatwork from server side perspective
  • Laravel におけるリポジトリ実装のポイント - Shin x Blog

    Laravel を使った開発でも、ドメインロジックと RDBMS などの永続化層へのアクセスを分離するためにリポジトリパターンを採用するケースが増えてきました。 ただ、Laravel には Eloquent という Active Record タイプの ORM があるので、これとリポジトリをどのように組み合わせるかで悩んでいる人が多いようで、これまで開発現場や勉強会などで質問を受けることがありました。 エントリでは、リポジトリを実装してきた経験を元に、私が考える実装のポイントをご紹介します。 1. ドメインデータの入出力にリポジトリパターンを使う 2. メソッドの型宣言にドメインデータを指定する 3. 機械的に CRUD メソッドを実装しない 4. Eloquent を利用したリポジトリクラスの実装 5. 複数テーブルを扱うリポジトリ 6. Paginator との連携 さいごに 1.

    Laravel におけるリポジトリ実装のポイント - Shin x Blog
  • 独立したコアレイヤパターン - Shin x Blog

    モチベーション 全体 サンプルアプリケーション コアレイヤ サービスレイヤ 口座間送金ユースケース 処理の流れ コアレイヤ サービスレイヤ コアレイヤ対象範囲 DDD スタイル 手続き型スタイル 実装アイデア レイヤでパッケージを分ける コアレイヤの範囲 ポートの種類 DDD スタイルへの一歩目 さいごに 参考 独立したコアレイヤは、アプリケーション実装パターンである。以下のような特徴を持つ。 アプリケーションを、何を実現するのか(What)と、どのように実現するのか(How)に分ける。 What は、コアレイヤに実装する。ユースケースやドメインロジックを実装する。フレームワークやライブラリには依存しない。UI やデータベースからは独立している。 How は、サービスレイヤ(仮)に実装する。フレームワークやライブラリを活用して、ユースケースが要求する技術詳細を実装する。 コアレイヤが必要な

    独立したコアレイヤパターン - Shin x Blog
    shin1x1
    shin1x1 2018/05/17
    アプリケーションコアと技術詳細をレイヤ分けするパターンです。アプリケーションとフレームワークの分離などに課題を持つ人の参考になれば。
  • 無理しないRails

    社内Techカンファレンスで発表した資料です。

    無理しないRails
  • 「レイヤードアーキテクチャを意識したPHPアプリケーションの構築」を発表しました

    2015/06/27 に開催された PHPカンファレンス福岡2015 にて、「レイヤードアーキテクチャを意識したPHPアプリケーションの構築」という発表をしてきました。 MVC フレームワーク(CakePHP / Laravel)で構築したアプリケーションをレイヤードを意識して改善したという内容です。参加いただいた皆さんの顔ぶれを見ると歴戦の勇者みたいな方ばかりでしたが、和やかな雰囲気でセッションを進めることができました。ご参加ありがとうございました。 発表資料 発表資料は以下です。 MVC にサービスレイヤを追加して、それぞれの役割を意識して作る。レイヤ間の依存を明確にする。サービス(ドメイン)を中心に考える。よく言われていることなのですが、実際に実践する中で、ハマりがちなことや実際に実践してきた中で感じたことを紹介しました。もちろん、これで ok ということはないので、今後取り組んでい

    shin1x1
    shin1x1 2015/06/29
    CakePHP / Laravel で実装したアプリケーションを例に話してきました。
  • Paul M. Jones | Refactoring To Action-Domain-Responder

    The v1 version of the Aura framework includes a controller to handle web assets. The idea for this controller was that an Aura package might have images, scripts, and stylesheets that need to be publicly available, but in development you don't necessarily want to copy them to a public document root every time you change them. The framework dispatches all "/asset/*" routes to the asset controller,

  • Beyond MVC

    PHP Advent Calendar 2013 - 6日目 昨日は@fivestrさんのComposerを使った簡単Travis CI設定でした。 TL;DR オブジェクト指向/MVCでうまく捉えきれていなかったものは何なのか?MVCから続くソフトウェアアーキテクチャーの「その先」は何なのか?Reenskaug博士を知っていますか? WikipediaによればReenskaug博士は1930年生まれ。MVCという概念が世の中に送り出された論文『MODELS - VIEWS - CONTROLLERS (pdf)』は1979年ですから、49歳の時ということになります。1960年からソフトウェアを書き始め、1973年からオブジェクト指向でソフトウェアを開発しており、現在でも現役でソフトウェアの世界にいらっしゃいます(ex 2009年の講演)。「プログラマ歴42年 (* Clean Coder

    Beyond MVC
  • FacebookにおけるMySQLを用いた大規模システムアーキテクチャの現実~MySQL Connect 2013

    米オラクルが主催するMySQLのイベント「MySQL Connect」が9月21日から23日まで、サンフランシスコで開催されました。Oracle OpenWorld、JavaOneとの同時開催でした。 基調講演の1つには、MySQLのヘビーユーザーであるFacebookのHarrison Fisk氏が登壇。FacebookにおけるMySQLの役割、大規模運用の背景などを紹介しています。その内容をダイジェストで紹介しましょう。 MySQL@Facebook Lots and lots of small data Harrison Fisk氏。 Facebookでデータパフォーマンスチームのマネージャをしている。社内ではMySQLはもちろん、HBase Hadoopなどにも関わっている。 まずは、どんな種類のデータをMySQLで扱っているのかについて。 Facebookとは基的にグラフだ。グ

    FacebookにおけるMySQLを用いた大規模システムアーキテクチャの現実~MySQL Connect 2013
    shin1x1
    shin1x1 2013/09/27
    HPHP は、C++ に変換して、バイナリとして動かすバージョンと、バイトコードに変換して、VM で動作させるバージョンの両方を使ってるのかな。
  • AVOIDING THE MUD // Speaker Deck

    All slide content and descriptions are owned by their creators.

  • 1