タグ

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

  • AWS で請求金額にビックリしないようにやっておくべきこと - Shin x blog

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

    uzulla
    uzulla 2015/03/15
    転ばぬ先の杖
  • Composer を倍速にした、たった 1 行のコード

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

    uzulla
    uzulla 2014/12/04
    gc_diableウケる、これで某氏と仲良くなれるな!
  • 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というキーを

    uzulla
    uzulla 2014/06/16
    遠方で「linqが便利!!」って良く聞く
  • Heroku で Composer を使う時に気を付けたいこと

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

  • Travis CI を使って PHP コードを HHVM 環境でテストする

    Shin x blog Advent Calendar 2013 の 14 日目です。 PHP の高速な実行環境として知られる HHVM の新しいバージョン 2.3.0 がリリースされました。 今回のリリースでは、オープンソースプロジェクトの CI サービスとして人気の Travis CI へのサポートが発表されました。以前から Travis CI では、PHP 5.2 から PHP 5.5 の実行環境がサポートされていたのですが、ここに HHVM 環境が新たに加わることになります。 さっそく、Travis CI の HHVM 環境を試してみました。 Travis CI の設定 Travis CI 上で HHVM 環境でのテストを行う設定は簡単です。.travis.yml の php: に hhvm を追加するだけです。 php: - hhvm これで、次回のテストから hhvm 環境で実

  • PHP 5.6 に採用されるデバッガ phpdbg を使ってみた

    Shin x blog Advent Calendar 2013 の 21 日目です。 第 12 回関西 PHP 勉強会 にて、PHP 5.6 に採用予定の phpdbg をひと足先に PHP 5.5.7 で触ってみました。 phpdbg phpdbg は、gdb ライクな PHP 用のデバッガです。ブレークポイントを設定して、その時点のコンテキストを確認したり、ステップ実行などができます。 phpdbg | php debugger インストール PHP 5.6 から同梱される予定の phpdbg ですが、これ自体はすでにリリースされており、PHP 5.4 から利用することが可能です。インストールには、PHP のソースコードが必要になるので、PHP も ソースからインストールします。 $ sudo yum -y groupinstall "Development Tools" $ sud

    uzulla
    uzulla 2013/12/23
    ide対応待ちかなー
  • とある CMS を使ったサイトに Varnish を導入した話

    Shin x blog Advent Calendar 2013 の 6 日目です。 とあるサイトに、Varnish をリバースプロキシとして導入して、半年が経過しました。 導入した経緯やその効果など書いてみたいと思います。 Varnish とは Varnish は、HTTP アクセラレータです。Web サーバのリバースプロキシとして動作し、キャッシュを生かして高いパフォーマンスを発揮するのが特徴です。また、VCL という独自の設定言語を持ち、これにより状況に応じた設定を柔軟に行うことができます。 導入の経緯 このサイトでは LAMP 構成の CMS を利用しており、インフラには AWS を利用しています。基、閲覧が中心なのですが、イベント時に多数のアクセスがあります。S3 や CloudFront も検討したのですが、コンテンツを数分おきに更新する必要があるので今回は採用しませんでした

  • PHP5.4 で Zend OPcache をインストールしてベンチマークを取ってみた

    PHP5.5 から標準バンドルされる Zend OPcache を PHP5.4 にインストールしてみました。 インストールする環境は Vagrant 上の CentOS6.4 です。PHP は remi リポジトリからインストールしています。 $ php -v PHP 5.4.14 (cli) (built: Apr 11 2013 11:04:32) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies Zend OPcache のインストール remi リポジトリには Zend OPcache は存在しないようなので、github からソースをダウンロードしてビルドしました。 手順は Zend OPcache の github ページに記載

    uzulla
    uzulla 2013/09/11
  • 勉強会なんてやらなくても良い

    勉強会について考えているもやもやを。 私は、主にPHP界隈の勉強会やカンファレンスを開催したり、運営側として関わったりしているのですが、勉強会を開催することについて最近もやもやと考えています。 勉強会に色々な関わる人(開催、運営、発表、参加などなど)からの意見も聞いてみたく、2012年の終わりに一度吐き出しておこうと思います。勉強会についていろいろなコメントを頂けると嬉しいですm(_ _)m はじめに、ここでいう「勉強会」というのは、オープンソース界隈で良く開催されている有志がボランティアベースで運営されているものを指します。有料セミナーや別カテゴリのものは想定していません。 また、自分が開催する勉強会について書いていますので、他の方が開催されている勉強会について指摘する意図は一切ありません。 勉強会なんてやらなくても良い 業が忙しくなると、ついつい勉強会の開催が億劫になってきます。勉強

    勉強会なんてやらなくても良い
    uzulla
    uzulla 2012/12/28
    カンファレンス否定する訳ではないですが、小規模な勉強会では「消費されるイベント」にならないようにしたいですね。皆で価値を持ち寄れば(例:発表)いいんですよ。/後は主催をねぎらい、レポとか書こうw
  • iPhone Safariから画像を投稿する方法

    iPhone Safariから画像を投稿するならMMS連携が便利です。 iScreenShotのように、iPhone Safariから写真や画像を投稿してもらうWebサイトを作る時に悩むのが、どういう方法で画像をWeb側に投稿してもらうかです。 実際に構築するにあたって色々と試してみました。 Safariからファイルアップロード Safariからファイルアップロードで画像を投稿して貰う方法です。 単純に考えればこれですね。開発を始める時は、スマートフォンだしPCと同じ方法で良いよね、と安易に考えていました。 しかし試してみると分かるのですが、iPhone/iPadのSafariでは残念ながらファイルアップロードはできません。 ファイル選択ボタンが無効になってます。。。 メールから送信 次に考えたのが、メール添付による投稿。 mailto:でメールアプリを起動して、画像を添付して貰えれば良い

    uzulla
    uzulla 2012/08/22
    これはなるほど感ある。
  • Twitter @Anywhere はAPI制限に注意

    先日Twitterが公開した@Anywhere。Twitterの機能を手軽に自分のサイトに組み込めるとあって早速試してみました。 follow okに設置 いくつか提供されている機能のうち、一番気になったのはフォローボタン。これを設置すると自分のサイトにフォローするボタンが利用できます。 これは良い、ということで、早速follow okに設置してみました。 検索結果のユーザ一覧にフォローボタンを設置したところ、ほんと簡単にサイト上からフォローができるようになりました。 いやあこれは便利と思ってしばらく使ってみるとフォローボタンが not found という表示に。。。 Firebugで見てみると 何が起こったかとFirebugで見てみると見事に真っ赤っか。というかボタン表示の度にTwitter APIを呼びに行っている。。。 レスポンスを見るとエラーメッセージに「Rate limit ex

  • 1