タグ

ブックマーク / www.1x1.jp (224)

  • 「レイヤードアーキテクチャを意識したPHPアプリケーションの構築 ver2」を発表しました。 #DevKan

    2015/09/14に行われたDevLove関西にて「レイヤードアーキテクチャを意識したPHPアプリケーションの構築 ver2」を発表してきました。 このセッションは、PHPカンファレンス福岡で発表したものですが、DevLove関西主催の @yohhatu さんからお声がけ頂いて、再演を行いました。ただ、同じ内容では面白くないので、Laravelアプリケーション構築時に意識した点を掘り下げて資料を改変しました。 発表資料 発表資料は以下です。 アプリケーションコードをレイヤ分けする際に、ただのグループとして分離するのではなく、レイヤの責務を明確にする、そしてレイヤ間の依存関係(処理の流れ)を一方向にするのがポイントです。 さいごに 今回は、3 人のスピーカーだったのですが、発表内容を事前に打ち合わせしたわけでもないのに、私、@s_kozake さん、@OkaHiromasa さんの順に抽象

    shin1x1
    shin1x1 2015/09/16
    コード例やレイヤ分離のポイントを追加しました。
  • 「先取り!PHP 7 と WordPress」を発表しました

    今年の 11 月にリリース予定の PHP 7 上で、WordPress を動かすとどうなるか、ということをデモを交えて紹介しました。 デモでは、9 年間稼働しているブログ(Shin x blog)のコードを PHP 7 で動かしたりしてみました。そのままは動かないので、エラーメッセージを表示して、修正して、という作業を壇上で行い、最終的には表示するところまで進めました。PHP 7 への移行作業の雰囲気が伝われば嬉しいです:) WordPress では、PHP 7 の新機能よりも、パフォーマンスアップの方が恩恵が大きいと思うので、PHP 5.6 との比較も行っています。 WordCamp Kansai 2015 雑感 私は、2 日目の夕方のセッションだったので、午後に会場入りして、いくつかセッションを見ていました。そこで感じたのが以下でした。Web エンジニアが見て面白いセッションがいくつ

    shin1x1
    shin1x1 2015/07/27
    PHP 5 から PHP 7 では、メモリ効率が良くなっているのも見逃せません。
  • 「Twilioを使えば簡単にできるアプリケーションと電話/SMS連携」を発表しました

    第4回イノベーションエッグで、「Twilioを使えば簡単にできるアプリケーションと電話/SMS連携」という発表をしてきました。 発表資料 発表資料は以下です。 セッションでは、デモにて、Web アプリケーションから電話をかけたり、簡易 IVR で、コールセンター(を見立てた携帯電話)に電話をつないだり、SMS 送信を行ったりしました。 電話で簡単にデモできるのが、Twilio の良さですね。 さいごに Twilio-UG という Twilio のユーザグループが立ち上がったので、2015/09月頃に大阪でもイベントを行う予定です。 Twilio は、電話や SMS という、デバイスは身近にあるのに、システムとどう連携するかが、Web の人間にはピンと来ないものを Web の文脈で簡単に利用することができます。 Twilio の使いどころとして、これを中心に据えるというより(コールセンター等

    shin1x1
    shin1x1 2015/07/06
    Twilio は、電話や SMS をびっくりするくらい簡単に連携できるのが面白いところです。
  • 「レイヤードアーキテクチャを意識したPHPアプリケーションの構築」を発表しました

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

    shin1x1
    shin1x1 2015/06/29
    CakePHP / Laravel で実装したアプリケーションを例に話してきました。
  • 勉強会(カンファレンス)を有料にするということ

    毎年おなじみとなりました、PHPカンファレンス関西リレーブログ。5/30 の開催に向けて、スタッフが思いのたけをブログにぶつけていきます! 昨日のリレーブログは、id:matsutoshi さんでした。 私は、今回はセッション担当なので、セッションに関するあれこれをやっているのですが、昨日の matsutoshi さんのエントリが、うまい具合にまとまっているので、今日は、違うお話を。 PHPカンファレンス関西2015で変わったところ イベントは、2011年からはじまり、今年で、5回目となりました。 毎年、より良いイベントになるべく、色々なチャレンジを行っているのですが、今年はこれまでに無い試みを行っています。まず大きいのは、会場を変えたこと。慣れ親しんだ産創館(大阪産業創造館)から、ブリーゼプラザになります。会場が変われば、部屋割は当然のこと、コストやオペレーションなど運営面は大きく変わ

    shin1x1
    shin1x1 2015/05/14
    PHPカンファレンス関西を今回から有料にした話
  • 「認証機能に学ぶ Laravel 5 アプリケーション」を発表しました #phpkansai

    第21回関西PHP勉強会にて、「認証機能に学ぶ Laravel 5 アプリケーション」というタイトルで発表しました。 Laravel 5 アプリケーションの作り方を知る題材に Laravel 5には、認証周りの機能がデフォルトプロジェクトに含まれています。そのまま利用できて便利というのはもちろんなのですが、はじめから存在する Laravel アプリケーションのサンプル実装という見方もできるので、これを題材に、アプリケーションの実装で活用できるノウハウをお話しました。 発表資料は、以下です。 勉強会では、これから Laravel を触るという方が多かったので、少しイメージしにくい部分があったかもしれません。今後、Laravel を使っていく中で、ヒントとなることもあると思うので、いつか思い出して頂けると嬉しいです。 これから Laravel を触るなら ちょうど良いが今日発売したので、よろ

    shin1x1
    shin1x1 2015/04/22
    デフォルトの認証には、色々な Tips が詰まってます。レイヤー構造 / コンストラクタインジェクション / メソッドインジェクション / Trait / Contracts / Middleware
  • 一冊まるごと Laravel な「Laravelエキスパート養成読本」が出ます

    Laravelエキスパート養成読」が、2015/04/21に出版されます。このの執筆に参加しました。 昨今、話題のフレームワーク Laravel ですが、ようやく日語での書籍が登場します。これまで、和訳された電子書籍はあったのですが、紙の書籍としては、国内初となります。 目次 目次は、下記のようになっています。バージョンは、Laravel 4 をベースにしており、新機能紹介として、Laravel 5 の内容を加えています。 Chapter1. Laravel をはじめよう Chapter2. MVC モデルが基礎からわかる Chapter3. IoC コンテナ、ファサード、サービスプロバイダ、Eloquent Chapter4. Laravel 5 新機能紹介! Special. PHP フレームワーク最新事情 Chapter5. 実践!REST API アプリケーション La

    shin1x1
    shin1x1 2015/04/02
    執筆に参加しました。よろしくおねがいしますー!
  • AWS で請求金額にビックリしないようにやっておくべきこと - Shin x blog

    AWS は、従量課金なので、他者からの不正利用(来無いことですが)や想定外の利用で、翌月の請求が来て、ビックリということがあります。 私自身も関わっているプロジェクトで、ある月に平時の数倍の請求が来て、原因調査を行ったという経験がありました。 転ばぬ先の杖ということで、先にやっておくべきことについてまとめておきます。 1. AWSアカウントの不正利用を防ぐ まず、考えられるのが、アカウントを乗っ取られての不正利用です。もちろん、不正利用は、請求だけでなく、システムやリソースを守るという点でも防ぐべきことです。 そこで、AWS アカウントは、2要素認証(2段階認証 / 2 Factor authentication / 2FA)を設定しておきます。 手順は、下記のエントリがまとまっています。 AWSアカウント作ったらこれだけはやっとけ!IAMユーザーとAuthyを使ったMFA2段階認証

    shin1x1
    shin1x1 2015/03/13
    請求に驚かないように設定しておく / yoya さんに捧ぐ
  • 「Azure Websites で作るスケーラブルな PHP アプリケーション」を GoAzure 2015 で発表してきました

    Home > Azure | Laravel | PHP > 「Azure Websites で作るスケーラブルな PHP アプリケーション」を GoAzure 2015 で発表してきました Azure コミュニティの一大イベント GoAzure 2015 にて、「Azure Websites で作るスケーラブルな PHP アプリケーション」という発表を行ってきました。 セッションでもお話したのですが、テーマは、もう一つあり、それは「LAMP(LAPP) ユーザが使う Azure Websites」でした。 Azure は、マイクロソフトのサービスなので、どうしても Windows に最適化されているイメージがあったのですが、普段 Mac で開発して、Linux にデプロイして、運用している人間でも、興味深いサービスであることを伝えようと考えました。 発表資料 発表資料は、こちらです。 発

    shin1x1
    shin1x1 2015/01/19
    #goazure での発表資料を公開しました。 / PHP の PaaS として、Azure Websites は面白いので、Mac ユーザも Linux ユーザも触ってみると良いですよ!
  • 2015年は「問題解決」

    新年、あけましておめでとうございます。旧年中は、お世話になり、誠にありがとうございました。 2015 年に入って、最初のエントリということで、2014 年のふりかえりと 2015 年の抱負などを書いてみたいと思います。 2014 年ふりかえり 2014 年の抱負は、「ちゃんと稼いで、べていく」でした。 社会人である以上、当たり前の目標なのですが、その当たり前を今一度、目標として、足場を固めていく一年になりました。おかげさまで、無事に、1 年を乗り切ることができました。ありがとうございます。 事業としては、「受託開発」「技術サポート」をメインに行いました。新規開発の案件では、LaravelAngularJS を組み合わせて、サーバーサイドは API を提供して、UI 等は、クライアントサイドで開発するというスタイルで構築を行いました。今後もこうした形は、増えていくでしょう。 技術サポ

    shin1x1
    shin1x1 2015/01/06
    2015 年もよろしくお願いします!
  • 2014 年に発表したセッションと資料まとめ

    2014 年も残すは、あと 1 週間になりました。今年も様々なイベントで登壇しましたので、発表したセッションと資料をまとめてみます。 写真提供:久岡写真事務所 登壇イベント 2014/04/04 「わかってるフレームワーク LaravelLaravel勉強会福岡 「わかってるフレームワーク Laravel」とうタイトルで発表しました。 Laravel で、とあるプロジェクトの開発が終わった後だったので、Laravel への良さを主観たっぷりでお話しました。 翌日の Laravel Meetup Tokyo と合わせて、一人 Laravel Japan ツアーでした:D 2014/04/05 「知っておくべき Auth オートログイン」 Laravel Meetup Tokyo vol.3 Laravel 4.1.25 以前にあった Auth フィルタ利用時のオートログインの問題点について

    shin1x1
    shin1x1 2014/12/23
    今年は、Vagrant, Docker, PHP, Laravel, Heroku, Ansible について発表しました。参加頂いた方、お声がけ頂いた方、ありがとうございました!
  • 「Jenkinsサーバで使う Docker」を発表してきました - Shin x blog

    すっかり年の瀬ですが、今年最後の発表を DevLove 関西にて行いました。 Docker 実践編ということで、CI の一環でビルドサーバに使っている Docker についてお話してきました。 発表資料 Jenkins サーバに Docker を入れており、ビルドの環境として利用しています。構成や使い方は、わりとベーシックな内容です。 プロビジョンには Ansible を使っており、ローカルコネクションで ansible-playbook を実行しています。 使い捨てできる環境なら実用的 勉強会の最後に、発表者への QA の時間があったのですが、多数の質問があり、Docker に対する関心が高いのをあらためて実感しました。 今回、参加された方は、これから Docker を使ってみようという方が多いようで、導入に関することや、安定性などに対する質問が多かったです。(安定性に関しては、私のセッ

    shin1x1
    shin1x1 2014/12/22
    Jenskin サーバでビルド環境に Docker を使う発表を行いました。
  • Docker Hub 公式 PHP イメージで、複数バージョンの PHP コンテナを起動する

    Home > Docker | PHP > Docker Hub 公式 PHP イメージで、複数バージョンの PHP コンテナを起動する Docker Hub の 公式 PHP イメージで、PHP 5.4, 5.5, 5.6 のコンテナを起動します。 PHP Advent Calendar 2014 の 12 日目です。昨日は、PHPで簡単に華麗にDIとAOPをキメる でした。 Docker Hub には、公式でミドルウェアや言語のイメージがで公開されています。PHP もその一つで、現在は、5.4, 5.5, 5.6 が公開されています。また、バージョン毎に複数のタグが存在し、cli / fpm / apache(mod_php) といた構成違いのものが存在します。 https://registry.hub.docker.com/_/php/ ここでは、5.x-apache タグのイメージ

    shin1x1
    shin1x1 2014/12/12
    5.x-apache は、さっと動かすのに便利
  • 自分流 Laravel 4 アプリケーションアーキテクチャ

    Laravel Advent Calendar 2014 の 9 日目です。 今年の Advent Calendar では、Laravel 5 リリース目前ということで、Laravel 5 の話題が多いのですが、それは他の方にお任せして、ここでは、Laravel 4 でのアプリケーション実装について書いてみます。 Laravel は自由度の高いフレームワークですので、アプリケーションも自由な構成にすることができます。ただ、この「自由さ」が故に、どういう構成が良いのかというのが悩ましい点でもあります。 このエントリでは、私が実際に構築したプロダクトをベースに構成例をご紹介します。Laravel アプリケーションを構築する上での参考になれば嬉しいです。 1. ディレクトリ構成 まずは、大枠のディレクトリ構成から。アプリケーションや開発環境用の Vagrantfile やプロビジョンファイルなど

    shin1x1
    shin1x1 2014/12/09
    書きました
  • Composer を倍速にした、たった 1 行のコード

    まだ 12 月早々ですが、PHP ユーザに素敵なクリスマスプレゼントが届きました。 いまや使うのが当たり前となった Composer ですが、複雑な依存解決に実行時間がかかるのがネックでした。 これは日国内だけでなく、海外のユーザも同じで、皆がしょうがないと思いつつも、小さな不満を持ちながら使っていました。 そんな、ある�日、わずか 1 行のコードが追加されたことで、実行時間が、わずか半分になるという現象が起こりました。 Composer を倍速にするには? composer self-update を実行して、最新版にするだけです。 $ composer self-update 実際の効果 このコードの効果を見てみましょう。composer コマンドの --profile オプションを使って、実行時間と使用メモリ量を出力します。 $ composer update --dry-run

    shin1x1
    shin1x1 2014/12/04
    composer install / update での依存解決がぐっと速くなりました。まだの方はお試しを。
  • CakePHP2 アプリケーションを Heroku で動かす設定

    CakePHP2 アプリケーションを Heroku 上で動かす設定についてです。 以前のエントリにも書きましたが、Heroku で Web アプリケーションを動かす際に重要なのは、Web サーバ自体(Heroku では、Dyno)に、アプリケーションの状態(データ、セッション情報、ログ等)を保持させないということです。 Heroku の Dyno は、デプロイの際や、定常的な再起動により、破棄されるため、記録されたファイルは消えてしまいます。よって、こうしたデータファイルは、アドオンなど外部に記録する必要があります。 Heroku では、アドオンを活用するのがポイントですので、ここでは、主に CakePHP アプリケーションからこうしたアドオンと連携する方法を見ていきます。 Environments Library as a plugin まず、開発環境と Heroku 環境で設定値を切り

    shin1x1
    shin1x1 2014/12/03
    Heroku では、いかに状態を外部に持たせるがポイントです。あと、Environments Library as a plugin がめちゃ便利(というか無いと困る)。
  • Retina 5k iMac(Late 2014) が届いたので、環境構築メモ

    10 月末に発注した Retina 5k iMac(Late 2014)が、約一ヶ月待って、到着しました。 早速、日頃の開発に使えるようにセットアップしましたので、そのメモです。 0. セットアップ セットアップは、旧 iMac からの移行は行わず、クリーンインストールの状態から行っていきます。 1. OSX 環境設定 セキュリティとプライバシー FileVault で暗号化 ファイアウォールを入にする Dock 画面上の位置を「左」に 「Dock を自動的に隠す/表示」にチェック Spotlight 「21. Bing Web 検索」のチェックを外す キーボード 「キーボード」タブ 「キーのリピート」を右端(速い)に 「リピート入力認識」までの時間を右端(短い)に 「F1, F2 などのすべてのキーを標準のファンクションキーとして使用」にチェック 「修飾キー」をクリック Caps Loc

    shin1x1
    shin1x1 2014/11/28
    ほんとセットアップが楽になった
  • Laravel 4 データベースを使ったテストで Migration と Seeder を使う

    Laravel 4 でデータベースを使ったテストを書く際の Tips です。 自動テストでデータベースにアクセステストを書く際に大切なのが、データベーステーブルのデータをテストで想定された状態にしておくということです。テーブルの内容がテストを実行される度に異なると、ある時はテストが通って、ある時は通らないという状態になります。 この「想定された状態」をセットアップするために、フレームワークで用意されている Migration と Seeder を利用しています。 テストケースでマイグレーション実行 開発を進めていると、データベーススキーマを変更する場合があります。マイグレーションファイルを作成して、php artisan migrate コマンドで適用するのことになります。テスト用データベースについても適用する必要がありますが、php artisan migrate --env=testi

    shin1x1
    shin1x1 2014/11/12
    テストクラスごとにフィクスチャがあった方が楽な場面が多いので、活用してます。
  • 「Ansibleではじめるサーバ作業の自動化」を発表してきました

    2014/10/11 に開催された PHPカンファレンス にて、「Ansibleではじめるサーバ作業の自動化」という発表を行ってきました。 午前中のセッションだったのですが、多くの方にご参加頂き、ありがとうございました。 発表資料 発表資料をslideshareに公開しました。 今回は、これからAnsibleを使ってみようという方を対象として、Ansibleの基的な内容をメインにしました。また、実際に私自身がPHPプロジェクトで採用した際のユースケースを紹介しています。 発表後、「Ansibleをやってみます!」という意見を頂けたので、このセッションの目的は達成することができました:D このセッションのフィードバックは、joind.in にて受けて付けています。すでにいくつか好評価を頂いていて安心していますが、もし良かったらお願いします。 https://joind.in/talk/vi

    shin1x1
    shin1x1 2014/10/22
    #phpcon2014 で発表した資料を公開しました。
  • Ansible で EC2 インスタンスを起動して、Route53 に Public DNS を登録する

    Home > Ansible | AWS > Ansible で EC2 インスタンスを起動して、Route53 に Public DNS を登録する Ansible は、構成管理ツールとして認知されていますが、AWS 関連のモジュールが多数実装されており、各コンポーネントの起動や設定ができます。 このエントリでは、Ansible で、検証環境用の EC2 インスタンスを起動して、その Public DNS をRoute 53 に登録してみます。 以前書いたこのエントリの内容 を Ansible で自動化するイメージですね。 準備 今回は、AWS を操作するので、PythonAWS SDK である boto をインストールしておきます。boto は、pip なり、yum なりでインストールできます。 OSX $ pip install boto RHEL / CentOS $ rpm

    shin1x1
    shin1x1 2014/10/04
    Ansible で EC2 インスタンスを生成して、プロビジョンしてが一気にできますね。