サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
コーヒー沼
blog.teraren.com
Ruby on Rails, Web Services, Software Development, Startups 概要 「日本のインターネットの父」と呼ばれる慶応大環境情報学部教授の村井純さん(64)が定年を迎え、16日、最終講義があった。村井さんは「インターネットに国境はない。国や政府が分断したり規制しようとしたりする試みは続くだろうが、若い人たちで守ってほしい」と呼びかけた。 https://www.asahi.com/ 村井先生の最終講義。16年ぶりに村井先生の講義を聞いて懐かしくなりました。せっかく良いことをたくさんおっしゃっていたので人力で書き起こしをしました。(Amazonウィッシュリスト) 講義全文 共同授業担当 佐藤特任准教授(以下教員): そろそろ始めましょうか。 村井: はい。それでは皆さん、こんにちは。インターネットの、2019年秋学期の最終回ということで集まっ
概要 PHP 7がPHP 5.6と比べて2倍速いみたいな発表があったので試してみました。 このBlogはPHP7で動いています。 Changelogを見る感じだと、まだまだ大きなバグが出ているので運用環境で使うのは時期早々かと思いますが、PHP5系からPHP7系にするだけで本当に2倍速くなります。 測定環境 Wordpres4.4とZenCacheの環境です。 純粋に1プロセスの処理時間を計測するために並列数は1 運用環境に近い環境で測定したかったのでZenCacheは有効にした状態で計測 Mac OS X ページのテキスト量が多いのでgzip付きで。 測定コマンド % ab -n 1000 -c 1 -H "Accept-Encoding: gzip,deflate" https://blog.teraren.com/ PHP 5.5 + APCU Requests per second
概要 ルータをBuffaloのWiFiルータからRTX1200に置き換えました。(定価 125,000円(税抜き)) 今は中古5,000円ぐらいで買えますもともと、WiFiルーターは1,2ヶ月に1回、勝手に再起動して接続が切れるときがあります。今まで10台くらいいろいろなメーカーのルータを使ってきたけどどこも同じ。もう、家庭用ルーターには耐えられない! さすが、Gbps対応なので、ポテンシャルが高いですね。自分のOUTのグローバルIPのルーティングもしてくれるから楽。 同じLAN内で、外向きのDNSサーバを運用していると、Buffaloのルータがルーティングしてくれなくて、不便でした。(=LANから自分の外側のグローバルIPアドレスのルーティングが行われない) RTX1200の設定 今のところの設定内容は以下のようになってます。秘密の情報はxxxxxでマスクしてあります。ポート開放(静的N
概要 Payment Advent Calendar 2015 12月12日分です。 決済代行会社は世の中にたくさんあります。 業者選定時に見落とさないようにするためにもKPIをまとめておきます。 決済会社選定の際はこれらのKPIをマトリックスにして評価するのが良いと思います。 KPIベスト10 第1位:経済条件 が一番重要ですね。決済サービスの乗り換えはとても困難です。お互い持ちつ持たれつなので、長期的に良い関係を築けるところとおつきあいしましょう。 利用ブランドによっても金額が変わってきます。 決済手数料 トランザクション手数料 初期費用 月額費用 入金サイクル チャージバック手数料 第2位:API提供の可否 自社サービスの特性に合わせて選びましょう。 大きく分けて以下の3種類があります。 100%全部マーチャント側でユーザからの決済をproxy SPIKE, Stripe, Webp
概要 Let’s Encrypt を使って、無料サーバ証明書を発行して設置します。 手順通りやれば、10分程度で出来ると思います。 最近Facebookがゴールドスポンサーになって、盛り上がってきています。 12月3日にPublic Betaになりました。 今は3ヶ月分の証明書を取得出来ます(コマンド1発で、無料で更新可能) サーバ環境は、Mac OS X 10.10 + Nginx 1.8です。 おそらく、各種OS + Nginxなら同じ手順で行けると思います。 Google Chromeが、WebRTCを使うためにはHTTPSが必須になりました。 セットアップ cloneしてくる。ちょっと容量は重め。 % git clone https://github.com/letsencrypt/letsencrypt % cd letsencrypt 証明書取得 普通の証明書取得は、メアド確認
背景 Web API Advent Calendar 12月4日分です。 概要 金融機関コードを検索できるWeb APIが存在していませんでした。金融機関コードを検索するREST APIをRailsで作りました。 https://bank.teraren.com/ サンプル いくつかAPIの例を載せておきます。 銀行情報取得 JSON https://bank.teraren.com/banks/8457.json HTML https://bank.teraren.com/banks/8457 支店情報取得 JSON https://bank.teraren.com/banks/8457/branches/028.json HTML https://bank.teraren.com/banks/8457/branches/028 銀行名称から銀行一覧を取得する JSON https://
概要 Vagrantには、provisioningという仕組みがあり、Vagrant(VirtualBox)のVMライフサイクルとVMホスト上で動くVMやコンテナのライフサイクルを簡単に管理できる仕組みがある Provisioningを使わないでDockerを管理するとなると、VMのライフサイクル毎に、コンテナのビルドやスタート、クリーンナップを自分で書かなければいけない Provisioningを使うことで、必要最低限のコードを書くだけで済む。 コードはこちらに置いてあります。 https://github.com/matsubo/vagrant-docker-provisioning/ デモ こんな感じで、2回目以降の起動は30秒でコンテナが起動します。 おまけ ほぼ同等のインフラ構成を行う、boot2docker + Docker composeも作ってみました。 -boo2dock
概要 vagrant up 一発でRuby on Railsの開発環境を構築出来るようにしました。 ローカルのファイルシステムをDocker上のアプリケーションサーバから参照しているので好きなテキストエディタを使えます。 すぐにRailsで開発を行えます。カスタマイズしたい場合はForkして頂くのがいいと思います。 dockerあれば、chef使わなくて良いですね。 初期設定 VirtualBox用のVMイメージをダウンロードします。(任意) % vagrant box add precise64 http://files.vagrantup.com/precise64.box あとは、サンプルコードをcloneしてvagrant upするだけです。 初回は30分程度かかります。 Docker imageのダウンロードとimageの構築があるので。 これでも、Containerのベースは1
multitailが便利だった。 インストール % brew install multitail 使い方。パラメータにファイル名を渡すだけ。 % multitail *.log 縦に3分割して、それぞれに適当に割り当てる場合は、-sオプションを付ける。 % multitail -s 3 *.log デモ
私は、1分ごとにcronで起動するように設定してあります。 * * * * * cd /path/to/bin/ && php main.php > /tmp/growthforecast.txt Mac OS XでCLIから温度を取得するために、Temperture Monitorをインストールしておきます。 GrowthForecastの設定 グラフはごとに、単位や係数を設定します。たとえば、小数は扱えないようなので、ロードアベレージは100倍して整数で数字を送っているので÷100します。 複数の指標を含めたグラフも作成できるので、ロードアベレージやディスク容量などの1つのグラフにまとめられる指標はまとめておきます。 Reverse Proxyの設定 Apacheの場合の設定はこちら。 <LocationMatch "/GrowthForecast/.*(edit|delete|add
RESTfulなHTTPリクエストでは、JSONでデータを返すのが一般的ですよね。 そんなJSONのスキーマが各社ばらばらで、統一感が無いけど、何かしらの仕様があるかと思って探したら、ありました。 JSON RPC 2.0 正常系なら、意識しないでデータを直接表現してしまえば良いと思いますが、エラーを表現するときにはある程度仕様に則っておいた方がクライアント・サーバの相互運用性が高まります。 2.0の仕様は2010-03-26に出ているし、1.0から長く運用されているようだし、様々なユースケースをカバーしているので、JSONをやりとりする場合は、使わない手は無いかと思います。 プロトコルの内容は以下のような感じで、すごい大枠だけ決まっているので、2分もあれば理解できるでしょう。 --> {"jsonrpc": "2.0", "method": "foobar", "id": "1"} <-
Ruby on Rails, Web Services, Software Development, Startups 概要 1日目の「PHPのプロパティをStrictに定義する」に続きまして、PHP Advent Calendar 2013 2日目です今後、Composerベースでの記事が出来ると思うので、早めに解説しておきます!コピペで導入できるように心がけます。 Composerとは PHPのライブラリ依存管理のデファクトスタンダードなパッケージ管理ツールです。Rubyのgem,PerlのCPANにあたるツールです。PHPのライブラリ管理ツールとして、PEARやPEAR2などがありますが、昨今のライブラリの管理はComposerに統一されつつあります。また、PHPで自作したライブラリを他の開発者に利用してもらうためにも、Composerで導入出来るようにしておくと利用されやすくなりま
概要 PHPの標準コーディングルール(コーディング規約)は、http://www.php-fig.org/によって、PSR-0からPSR-3までのドキュメントによって細かく決められています。 そのコーディングルールに準拠するように自動的にソースコードを修正してくれるスクリプトが以下です。 https://github.com/fabpot/PHP-CS-Fixer 使い方 composerの場合、composer.jsonへ以下を追記する。 + "fabpot/php-cs-fixer": "0.3.*@dev" + "sebastian/diff": "1.0.*@dev" % php composer.phar update して、 % vendor/bin/php-cs-fixer fix <target dirctory> --dry-run </target> すると、どのように
概要 RedisのSort SetのAPIが若干使いづらいので、ソーシャルゲームでのユースケースに即したAPIでラップしました。 https://github.com/matsubo/redis-ranking インストール Composer対応してあります。 composer.jsonに以下を書いて、php composer.phar updateしてください。 { "require": { "redis/ranking": "1.0.*" } サンプルコード <?php require __DIR__ . '/../vendor/autoload.php'; use Matsubo\Redis\Ranking; $redis = new \Redis(); $redis->connect('127.0.0.1', 6379); $ranking = new Ranking($key =
概要 mystiqueテーマを使った、Wordpressのページ表示に1,2秒かかるのでキャッシュを導入し、レスポンスが35.6倍速くなりました! インストール 以前、WP-SuperCacheというプラグインを試したが、マルチブログで正常に動作しないし、携帯のキャリアごとにキャッシュできないといった不便さがあったので導入しないでいました。 しばらく放置していましたが、いかんせんページ表示が重くて、10秒間HTTPの応答が無いというアラートメールが飛んでくるようになったので対策を行いました。 どうせ早くするなら、KVSにしてアプリケーションサーバをスケールアウトできるようにします。 導入したのは以下の3つ。 導入方法はそれぞれのページにわかりやすく書いてあるので割愛します。 memcachedMemcached Object CacheBatcache カスタマイズ batcacheに関し
概要 ディザスターリカバリ対策に、1時間ごとに社内の重要データをリモートへrsyncを使って転送しています。rsyncを普通に実行すると可能な限り高速に転送を行うため、CPUやネットワークがボトルネックになります。bwlimitオプションを使って帯域制限をします。 bwlimitに指定する値の単位がKBPS(キロバイト/秒)です。普通、ネットワークはMbps(メガビット/秒)で表記するので変換に注意する必要があります。 以下に簡単に変換表です。 100Mbpsなら、12500KBps10Mbpsなら、1250KBps1Mbpsなら、125KBps500kbpsなら、62.5KBps 実行例 bwlimit指定無し 1.3MBps(約10Mbps)で転送。100BaseTで構築されたLANでの転送の場合とか。 [matsu@dev1 ~]% rsync -vau -e ssh sv2.tar
概要 WP Super Cacheに置き換わる最近の主流キャッシュプラグインを紹介します! Quick Cache ( A WP Super Cache Alternative ) 訳:サイト高速化プラグイン。Wordpressサイトを高速化したいなら、必ずインストールすべき! インストールと設定 動画でもご覧いただけます。 w3c_validator DoCoMo SoftBank WILLCOM mixi-mobile-converter UP.Browser Playstation PDA iPhone iPad Android BlackBerry ※本来ならMD5 Version Saltでキャッシュキーを振り分ければいいのですが、挙動が安定していないので携帯、スマフォでアクセスされたときにはキャッシュを無効にします。
このページを最初にブックマークしてみませんか?
『Matsubo Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く