ブックマーク / blog.shin1x1.com (7)

  • ab ライクに SQS にエンキューするツール en9sqs - Shin x Blog

    SQS から AWS Lambda をトリガーできるようになりましたね! ワーカーを AWS Lambda で動かせるので、これは嬉しいリリースです。 aws.amazon.com en9sqs こういった機能を試すには、SQS にメッセージをエンキューする必要があるわけで、 パフォーマンスを見たい時は大量にメッセージを投下したい場合もあったりします。 そんな時に便利なのが、en9sqs というツールです。 golang で書いており、並列にメッセージをエンキューできます。 github.com インストール インストールするには、go get を使うか、64bit macOS 用ならバイナリが releases にあるので、これをダウンロードするのが良いでしょう。 $ go get -u github.com/shin1x1/en9sqs Releases · shin1x1/en9sq

    ab ライクに SQS にエンキューするツール en9sqs - Shin x Blog
    Dai_Kamijo
    Dai_Kamijo 2018/06/29
    書きました! / “ab ライクに SQS にエンキューするツール en9sqs - Shin x Blog” — Masashi Shinbara (@shin1x1) June 29, 2018 from Twitter https://twitter.com/Dai_Kamijo June 29, 2018 at 01:39PM via IFTTT
  • PhpStorm + Docker for Mac(docker-compose)での PHPUnit と Remote Debug の設定 - Shin x Blog

    PhpStorm から Docker for MacDocker コンテナ内で PhpUnit のテスト実行や Remote Debug を行うための設定です。 下記バージョンにて構築を行いました。 PhpStorm 2017.2.4 Docker for Mac 17.09.0-ce-mac35 PHP 7.1( php:7.1-apache ベース ) Xdebug 2.5 サンプルプロジェクトの取得 サンプルプロジェクトを用意したので、このプロジェクトをベースに設定を行います。このプロジェクトには、初期状態の Laravel アプリケーション(5.5)が含まれています。 github.com git で clone して、make を実行すると composer install と docker-compose up が実行されます。ブラウザで、 http://localhos

    PhpStorm + Docker for Mac(docker-compose)での PHPUnit と Remote Debug の設定 - Shin x Blog
    Dai_Kamijo
    Dai_Kamijo 2017/10/27
    ありがたい / PhpStorm + Docker for Mac(docker-compose)での PHPUnit と Remote Debug の設定 - Shin x Blog — とーます (@grimrose) October 27, 2017 from Twitter https://twitter.com/Dai_Kamijo October 27, 2017 at 02:57PM via IFTTT
  • パフォーマンスを意識して正規表現を書く - Shin x Blog

    正規表現を書く際、どのようなパターンにマッチさせるか、どこをキャプチャするかという視点で記述することはあっても、パフォーマンスを考えて記述するというのはある程度知っている人でなければ忘れがちな視点です。 このエントリでは、バックトラックをメインに正規表現がパフォーマンスに及ぼす挙動について見ていきます。 対象の正規表現エンジン ここでは、従来型 NFA を対象としています。具体的には、PHP の preg_ 関数で利用している PCRE や mb_ereg 関数が利用している鬼車です。PerlRubyPythonJava、.NET でも従来型 NFA を採用しているので、似た挙動となるでしょう。 「従来型 NFA」や「バックトラック」などの用語については、「詳説 正規表現 第3版」のものを用いています。 バックトラックによるマッチ探査 正規表現エンジンでは、指定された文字列が、パ

    パフォーマンスを意識して正規表現を書く - Shin x Blog
    Dai_Kamijo
    Dai_Kamijo 2016/09/20
    正規表現の負荷を爆発させるような文字列を入れるReDOSという攻撃手法。trimするようなよく使う正規表現でも単純にすごく長い空白文字列でReDOS攻撃が行えてしまう。 / “パフォーマンスを意識して正規表現を書く - Shin…”
  • PHPにおけるhttpoxyの対応 - Shin x Blog

    HTTP リクエストに任意の値をセットすることで、Web アプリケーションからの HTTP 通信を傍受したり、中間者攻撃(Man-in-the-Middle)を可能にする脆弱性が見つかっています。 専用サイト httpoxyという名前が付けられ、専用サイトが立ち上がっています。詳細は、このサイトが詳しいです。 httpoxy.org 攻撃内容 アプリケーションからHTTP通信を行う際に、環境変数HTTP_PROXYの値を、HTTPプロキシとして見るライブラリがある。 HTTPリクエストにProxyヘッダを付けられると、環境変数HTTP_PROXYにその値がセットされる。(これは、CGIの仕様) つまり、任意のプロキシを外部から指定できてしまうので、通信内容の傍受や偽装ができてしまう。 対象となる PHP アプリケーション HTTP リクエストを受けて動作する PHP アプリケーション アプ

    PHPにおけるhttpoxyの対応 - Shin x Blog
    Dai_Kamijo
    Dai_Kamijo 2016/07/19
    PHPにおけるhttpoxyの対応 - Shin x Blog — 上條 大 (@Dai_Kamijo) July 19, 2016 from Twitter https://twitter.com/Dai_Kamijo July 19, 2016 at 04:15PM via IFTTT
  • 「サーバ/インフラエンジニア養成読本 DevOps編」にて Ansible 2 について書きました。 - Shin x Blog

    2016/02/26 に出版される「サーバ/インフラエンジニア養成読 DevOps編」というムックにて、Ansible 2 について書きました。 書は、昨今では普及してきた DevOps や Infrastructure as Code といったキーワードに関心がある方向けのです。はじめに概念の定義や現状をおさえた後に、Ansible、Circle CI、DockerKubernetesなどツールを活用して実践する構成となっています。 Ansible 2 によるサーバ環境の構築 特集 1 である「Ansible 2 によるサーバ環境の構築」を担当しました。ここでは、Ansible の基礎をベースに、Vagrantを利用したサーバ環境の構築を解説しています。 Ansible には多くのユーザがおり、すでに多くの Playbook が公開されています。そこで、Playbook のシン

    「サーバ/インフラエンジニア養成読本 DevOps編」にて Ansible 2 について書きました。 - Shin x Blog
    Dai_Kamijo
    Dai_Kamijo 2016/02/09
    「サーバ/インフラエンジニア養成読本 DevOps編」にて Ansible 2 について書きました。 - Shin x Hatena Blog — 上條 大 (@Dai_Kamijo) February 25, 2016 from Twitter https://twitter.com/Dai_Kamijo February 25, 2016 at 11:55AM via IFTTT
  • Laravel セッターインジェクションによる DI - Shin x Blog

    Laravel のサービスコンテナでは、DI の手法として、コンストラクタインジェクションとメソッドインジェクションをサポートしています。サービスコンテナの機能を応用することで、セッターインジェクションを利用できます。 このエントリは、Laravelリファレンス Advent Calendar 2015 の11日目です。 セッターインジェクション DI する対象クラスが、以下の MessageDeliveryクラスです。このクラスは、Sender を必要としているので、setSender メソッドで与えます。この setSender メソッドで依存インスタンスを与えるのが、セッターインジェクションです。 サービスコンテナを利用することで、このクラスをコンテナで解決すると、自動で setSender メソッドが実行され、Sender を実装したインスタンスを与えることができます。 class

    Laravel セッターインジェクションによる DI - Shin x Blog
    Dai_Kamijo
    Dai_Kamijo 2016/01/14
    Laravel セッターインジェクションによる DI - Shin x Hatena Blog — 上條 大 (@Dai_Kamijo) January 14, 2016 from Twitter https://twitter.com/Dai_Kamijo January 14, 2016 at 06:39PM via IFTTT
  • PHP 7 の無名クラスから考えるクラスの在り方 - Shin x Blog

    いよいよ、PHP の次期メジャーバージョンの PHP 7 がリリースされます。すでに、RC4 が登場しており、来月予定されているリリースが楽しみです。 PHP 7 には幾つかの新機能が盛り込まれているのですが、その中でも気になるのが、無名クラスです。 無名クラスとは 無名クラスは、クラスの定義をすることなく、オンザフライでオブジェクトを生成する機能です。匿名関数(ネイティブクロージャ)のクラス版だと思うとイメージしやすいです。 無名クラスは、new classで、生成します。下記が、そのサンプルです。ここでは、sayメソッドを持つ無名クラスを定義して、$objectに格納しています。$object の say メソッドを実行すると、'Hello'という文字列が出力されます。 <?php $object = new class { public function say() { echo

    PHP 7 の無名クラスから考えるクラスの在り方 - Shin x Blog
    Dai_Kamijo
    Dai_Kamijo 2015/10/14
    “PHP 7 の無名クラスから考えるクラスの在り方 - Shin x Hatena Blog” — Hiraku (@Hiraku) October 14, 2015 from Twitter https://twitter.com/Dai_Kamijo October 14, 2015 at 01:23PM via IFTTT
  • 1