タグ

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

  • 「Jenkinsサーバで使う Docker」を発表してきました - Shin x blog

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

    kasumani
    kasumani 2014/12/23
    「Jenkinsサーバで使う Docker」を発表してきました すっかり年の瀬ですが、今年最後の発表を DevLove 関西にて行いました。 Docker 実践編ということで、CI の一環でビルドサーバに使っている Docker についてお話してきました。 T
  • Composer を倍速にした、たった 1 行のコード

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

    kasumani
    kasumani 2014/12/04
    Composer を倍速にした、たった 1 行のコード いまや使うのが当たり前となった Composer ですが、複雑な依存解決に実行時間がかかるのがネックでした。 Tags: feedly, ifttt, recently read, saved for later from Pocket December 04, 2014 at 05:43PM via IF
  • 「Ansibleではじめるサーバ作業の自動化」を発表してきました

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

    kasumani
    kasumani 2014/10/23
    「Ansibleではじめるサーバ作業の自動化」を発表してきました 2014/10/11 に開催された PHPカンファレンス にて、「Ansibleではじめるサーバ作業の自動化」という発表を行ってきました。 午前中のセッションだったのですが、多
  • 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

    kasumani
    kasumani 2014/10/04
    Ansible で EC2 インスタンスを起動して、Route53 に Public DNS を登録する Ansible は、構成管理ツールとして認知されていますが、AWS 関連のモジュールが多数実装されており、各コンポーネントの起動や設定ができます。 Tags: from Po
  • PHP コードの整形はプログラマがやるべきことじゃない

    PHP には、PSR が策定されたおかげで、これをベースにコーディングスタイルがある程度整ってきました。 ここ近年開発がはじまったプロジェクトなら、PSR-1/2 をコーディングスタイルとして採用しているプロジェクトも多いのではないでしょうか。 せっかく採用したなら、実際に書くコードはできるだけこの基準に沿うようにしたいものです。ただ、ここにあまり手間をかけるのも末転倒です。そこで、手間をかけずに、コーディングスタイルに従えるような方法を模索してみました。 開発環境には、PhpStorm を使う前提です。 PhpStorm の PSR1/PSR2 ルール まず、PhpStorm の Code Style で、PSR1/PSR2 をルールとして設定しました。 プロジェクト毎に規定したいので、Scheme はProjectにして、set from...をクリックして、Predefined S

    kasumani
    kasumani 2014/10/04
    PHP コードの整形はプログラマがやるべきことじゃない PHP には、PSR が策定されたおかげで、これをベースにコーディングスタイルがある程度整ってきました。 Tags: from Pocket October 04, 2014 at 01:11AM via IFTTT
  • Vagrant のプロビジョン時間を削減する vagrant-cachier プラグインが良い

    インストール vagrant-cachier プラグインをインストールするには、vagrant plugin install コマンドを実行するだけです。 $ vagrant plugin install vagrant-cachier Vagrantfile への記述 vagrant-cachier プラグインを有効にするには、Vagrantfile に下記の設定を行います。config.cache.scope では、キャッシュスコープを設定します。 下記では、:boxを指定しており、これは、プロビジョンでインストールしたパッケージを Box 単位でキャシュします。同一 Box を使う Vagrantfile であれば、別の VM でもキャッシュを共有することができます。 私の用途であれば、この設定が使いやすそうです。 あとは、通常どおり、vagrant up を行うとプラグインが有効と

    kasumani
    kasumani 2014/09/28
    Vagrant のプロビジョン時間を削減する vagrant-cachier プラグインが良い Vagrant でプロビジョンを行う際に時間がかかるのが、yum などを使ったパッケージのインストールです。ネットワーク環境が悪い場合、ダウンロード自体に
  • PHP で配列を走査して処理するのは、for / foreach だけじゃない

    PHP で配列の要素にアクセスして、処理を行うには、for や foreach を使うのがおなじみです。 この方法でも良いのですが、PHPには、それ以外にも配列を走査する関数やライブラリがあります。ここでは、配列を走査して処理を行う方法を見てみましょう。 サンプル仕様 このエントリで以下の配列を処理対象とします。array.phpで保存されている想定です。 <?php return [ [ 'id' => 1, 'year' => 1993, 'name' => 'Harada', ], [ 'id' => 2, 'year' => 2001, 'name' => 'Kato', ], [ 'id' => 3, 'year' => 2009, 'name' => 'Aoyama', ] ]; この配列について処理を行います。 配列内に連想配列が格納されており、nameとyearというキーを

    kasumani
    kasumani 2014/06/19
    PHP で配列を走査して処理するのは、for / foreach だけじゃない PHP で配列の要素にアクセスして、処理を行うには、for や foreach を使うのがおなじみです。 Tags: feedly, ifttt, recently read, saved for later from Pocket June 19, 2014 at 02:39PM via IF
  • PHP 定義されている情報(クラス、関数、変数等)を取得する関数まとめ

    PHP には、定義されているクラスや関数、変数などの一覧を取得する関数があります。 ここでは定義情報を取得できる関数群をまとめてみました。ここでは実行例として、Laravel アプリケーションのビューテンプレート(hoge.blade.php)で実行した内容を記載しています。 定義された情報を取得する関数群 get_defined_constants() 定義されている定数を連想配列として取得します。キーが定数名で、要素がその値となっています。 http://www.php.net/manual/ja/function.get-defined-constants.php 出力してみると、1771 個の定数がありました。内容を見ると、フレームワークやアプリケーションで定義されたものの他に、PHP体や extension で多数の定数が定義されていることがわかります。 array (size

    kasumani
    kasumani 2014/06/06
    PHP 定義されている情報(クラス、関数、変数等)を取得する関数まとめ PHP には、定義されているクラスや関数、変数などの一覧を取得する関数があります。 Tags: feedly, ifttt, recently read, saved for later from Pocket June 06, 2014 at 03:40
  • Heroku で Composer を使う時に気を付けたいこと

    HerokuPHP をサポートしたので、テストがてら Laravel アプリケーションをデプロイしてみました。 デプロイしたのは、Doctrine を利用するアプリケーションだったのですが、ローカルでは composer でインストールできるのですが、Heroku にデプロイするとインストールされないという現象が起こりました。 Laravel での Doctrine 使用 今回のアプリケーションでは、DBのテーブルスキーマ情報を読み込んで、動的に画面を作るという処理があり、そこで Doctrine の SchemaManager を使っていました。 Laravel で、Doctrine の SchemaManager のインスタンスを取得するのは簡単で、下記のメソッドを実行するだけです。 $manager = DB::connection()->getDoctrineSchemaMa

    kasumani
    kasumani 2014/05/24
    Heroku で Composer を使う時に気を付けたいこと Heroku が PHP をサポートしたので、テストがてら Laravel アプリケーションをデプロイしてみました。 Tags: feedly, ifttt, recently read, saved for later from Pocket May 24, 2014 at 08:36AM via IFTTT
  • Vagrant体験入門ハンズオンの資料を公開します

    2014/04/24 DevLove関西にて、Vagrant体験入門を行いました。 これからVagrantを使ってみようという方向けに、Vagrantを触ってみようというイベントです。 前半にVagrantの概要を話すセッションを行ない、その後ハンズオンで実際にVagrantに触れてみるという構成でした。 発表資料 前半で、Vagrantの概要を話した際の資料です。 ハンズオンをはじめるにあたって、下地となる内容を話しました。 Vagrant に関する発表は何度か行っていますし、blogを書く際にも何度と無く調べていますが、Vagrant自体の進化が速いので、見直すたびに発見があって面白いです。 ハンズオン資料 ハンズオンの手順は Gist にまとめることが多いのですが、今回は Qiita に書きました。Kobito があるとサクサク書けるのが良いですね。 http://qiita.c

    kasumani
    kasumani 2014/04/27
    Vagrant体験入門ハンズオンの資料を公開します これからVagrantを使ってみようという方向けに、Vagrantを触ってみようというイベントです。 前半にVagrantの概要を話すセッションを行ない、その後ハンズオンで実際にVagrantに触
  • Laravel コードからフレームワークの起動から終了までの流れを追う

    Laravel フレームワークが起動してから終了するまでの流れについて、コードを読んでみました。 今回読んだフレームワークのバージョンは、4.1.21 です。 エントリポイント エントリポイントは、public/index.php です。 このファイルではコメントが多数ありますが、実際に処理を行っている行は、下記の 3 行だけです。 このコードから想像できるように、オートローダの設定、フレームワークの設定、そして実行という流れです。 require __DIR__.'/../bootstrap/autoload.php'; $app = require_once __DIR__.'/../bootstrap/start.php'; $app->run(); それぞれについて見ていきます。 1. bootstrap/autoload.php ここでは、オートローダの設定を行います。Compo

    kasumani
    kasumani 2014/03/05
    Laravel コードからフレームワークの起動から終了までの流れを追う Laravel フレームワークが起動してから終了するまでの流れについて、コードを読んでみました。 このファイルではコメントが多数ありますが、実際に処理を
  • vagrant-serverspec で TDD ライクにサーバ構築を行う

    Shin x blog Advent Calendar 2013 の 24 日目です。 先日リリースされた vagrant-serverspec を使って、テストドリブンなサーバ構築を行ってみました。 vagrant-serverspec は、サーバ、インフラの状態をテストするツール serverspec を Vagrant のプロビジョナとして実行できるプラグインです。これを使うことで、vagrant コマンドから、serverspec のテストを実行することができます。 詳しくは、@ryuzee さんの下記エントリを参照して下さい。 vagrant-serverspecを使ってプロビジョニング結果をテストする | Ryuzee.com 仕様 今回構築するサーバの仕様は下記です。PHP 5.5.x をインストールして、ビルトインサーバを起動するというものです。(※ちなみにビルトインサーバ

    kasumani
    kasumani 2014/01/01
    vagrant-serverspec で TDD ライクにサーバ構築を行う 先日リリースされた vagrant-serverspec を使って、テストドリブンなサーバ構築を行ってみました。 Tags: from Pocket January 01, 2014 at 10:27PM via IFTTT
  • Mac で Vagrant を GUI で操作できる「VagrantX」をリリースしました

    Shin x blog Advent Calendar 2013 の最終日です。 12/1 から毎日書いてきた Shin x blog Advent Calendar 2013 ですが、いよいよ今日が最終日です。 今日は、クリスマスということで、ささやかながらちょっとしたプレゼントを用意してみました:D VagrantX GUI で Vagrant が利用できる VagrantX というツールをリリースしました。 http://shin1x1.github.io/vagrantx/ Vagrant は、とても良いツールなのですが、いかんせんターミナル(黒い画面)で操作するものなので、それに慣れていない人にとっては、少し敬遠されている面があります。Vagrantfile を自分で書くような人はターミナルでどんどん使うべきなのですが、用意された Vagrantfile をただ使うだけであれば、

    kasumani
    kasumani 2013/12/25
    Mac で Vagrant を GUI で操作できる「VagrantX」をリリースしました 12/1 から毎日書いてきた Shin x blog Advent Calendar 2013 ですが、いよいよ今日が最終日です。 今日は、クリスマスということで、ささやかながらちょっとしたプレゼ
  • 1