概要 エンジニアとして知っておくべき知識や便利な設定を紹介します。 小規模オフィスのネットワーク構築 航空会社のマイルを管理するシステム MySQLにおけるデータの境界値 意図した値が出てこない可能性があるので知って置かなければまずいこと。...
![Matsubo Tech Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/a72f97e08b74bf6979913c4516f3d7d2a3eba8b0/height=288;version=1;width=512/https%3A%2F%2Fblog.teraren.com%2Fwp-content%2Fuploads%2F2022%2F11%2Fimage-2.jpg)
私は、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
追記 2014-12-19 Ray.Di, Ray.Aopを参考に、より簡単なinterfaceのDI/AOPライブラリを実装しました。お使ひください。 cf. PHPで簡単に華麗にDIとAOPをキメる http://c4se.hatenablog.com/entry/2014/12/11/013136 PHP Advent Calendar 2013 19日目です。みなさまに於かれましてはネコと和解されましたでせうか。昨日はPHP 文字列リテラルにおける変数展開ノ全テ - do_akiの徒然想記でした。うげ、複雑な構文2って然ふだったのか。securityとしては洞うなの……。 PHPの開発にGrunt使へ、と云ふ話しを予定してゐたのですが、ADVENTARの方のPHP Advent Calendar 2013でPHP 開発でも Grunt を使う - ngの日記に書かれてしまひました。
PHP Advent Calendar 2013 in Adventar の3日目です。 前日は @matsubo さんの コピペで出来るComposer導入 でした。Composer、私も使ってます。 Grunt とは Node.js で作られた色々な作業を自動化するためのツールです。 普通は Node.js での開発や js とかのフロントエンド開発に使われますが、PHP での開発でもわりと便利です。 PHP のための Grunt プラグインも色々あるので、とりあえず次の2つだけ使ってみます。 grunt-phpunit grunt-php 前提 php や node や npm はあらかじめインストールしておいてください。 ソースとテストの準備 とりあえず phpunit が実行できるソースツリーを用意します。phpunit は今風に composer でインストールします。 $ f
概要 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> すると、どのように
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で導入出来るようにしておくと利用されやすくなりま
概要 背景: Doctrine2のパフォーマンスが良くなったらしいので、ベンチマークしてみた。 ちなみに、2年前にベンチマークを取ったときには、Doctrine1はPDOの約3倍遅かった。 結論: 今もなお、Doctrine2はPDOに比べて3倍以上遅かった。 測定環境 Debian6.0 + PHP5.4 + MySQL5.5 localhost スキーマ > desc item; +---------+----------------------+------+-----+---------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +---------+----------------------+------+-----+-----------
概要 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 =
概要 PHPのセッションハンドラをデフォルトで使っている場合のガーベージコレクタ(GC)の話。PHPはサーバ上で保存してあるセッション情報を保存してあるファイルをを定期的に削除している。削除するタイミングはPHPが起動する時、HTTPリクエストまたはコマンドラインからPHPが起動した際に一定の確率でGCが起動するようになっている。Javaのアプリケーションサーバならメモリ上にJVMが常駐しているからプログラムの起動とは非同期にできるが、PHPは同期で処理している。そのため、PHPではGCが起動したときにプログラムの実行時間が長ってしまう。よって、大規模サイトになったときには必然的にセッションファイルが扱うセッションが多くなるため、GCにかかる時間が長くってしまうから、同期によるPHPのGCに任せないで自前で非同期にGCを行うべき。 設定項目 PHPのGCを制御する設定はphp.iniに記載
概要 いままで、vimでコーディングするときは「コードを書く、→ユニットテストを実行する」の繰り返しばかりで同じような操作をしていましたが、ファイルを保存した瞬間にユニットテストを実行できるようにしました。 上記のスクリーンショットのように、別のtmuxなどの別ペインに表示しておけば保存した瞬間にユニットテストの実行結果が見られます。 設置例 % wget https://gist.github.com/matsubo/4992894/raw/36c0c4a08953effabfa2731ccd5186f2d6c92347/dirwatch.py % chmod 755 dirwatch.py 引数 % ./dirwatch.py [ファイル監視先ディレクトリ] [ファイルが変更されたら実行するコマンド] [監視対象のファイル拡張子] 実行例 % ./dirwatch.py /path/t
Major frameworks support PhpStorm is perfect for working with Symfony, Laravel, Drupal, WordPress, Zend Framework, Magento, Joomla!, CakePHP, Yii, and other frameworks. All the PHP tools The editor actually 'gets' your code and deeply understands its structure, supporting all the PHP language features for modern and legacy projects. It provides the best code completion, refactorings, on-the-fly er
大規模ゲーム運営のポイント:オープンソースコードのチューニング オープンソースコードのチューニングについては、GREEやmobageでゲームが大ヒットすると通信レスポンスがシビアになるため、特に対策が必要になります。そのポイントは「5秒ルール」への対応(2種類)と、「原因不明のエラー画面」への対応です。 1:SYN再送を短く固定 SNSプラットフォームでは、5秒以内に応答を返さなければならないというルールがあり、5秒を超えてしまうとサービスが止められてしまいます。アクセスの増加によって、ドラゴンコレクションのネットワーク内でパケットロスが発生しました。SYN再送が繰り返される際に、1回目の再送で3秒使ってしまい、プラットフォームの5秒ルールに抵触したのです。ドラゴンコレクションのアクセス規模では、一瞬にして1000エラーをカウントしてしまい、プラットフォーム側でシステム障害と判定され、メン
どうも。GREE開発本部の吉川(@tsuyoshikawa)です。 この記事はGREEのエンジニアブログではありますが、PHP AdventCalender2011の12/21の回ともなっています。 去る12/17(土)に、弊社会場、主催私で"PHP Apocalypse"なるイベントを開催しましたので、それのふりかえりとご紹介をさせて頂こうかと思います。 イベントの概要 - ATND "PHP Apocalypse"とは このイベントはいわゆる技術勉強会ではありますが、直接的には過去にはてなブックマークで300くらいのユーザを集めた“PHP のよいところとよくないところ - id:k-z-h”というエントリーへのリアクションがきっかけになって起こっています。 エントリーの内容はPHPの批判が含まれるものとなっていますが、その批判自体にどうこうというより、エントリーを書いたid:k-z-h
PHP-FPM - A simple and robust FastCGI Process Manager for PHP Home | About | Download | Contribute | Bugs | Community | Wiki What is PHP-FPM? PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites. These features include: Adaptive process spawning (NEW!) Basic statistics (ala Apache's mod_st
PHP 5.3.4のリリースは2010年12月にリリースされました。このリリースにはセキュリティ上重要な変更が追加されています。 Paths with NULL in them (foo\0bar.txt) are now considered as invalid. (Rasmus) パスに“foo\0bar.txt”などのようにNULLが含まれる場合は無効として処理される、とPHP 5.3.4のリリースノートには記載されています。PHP開発者の間でもあまり大きなニュースとして取り上げられていないので、この仕様変更をご存知でない方も多いと思います。2011年4月現在でもこの仕様変更はマニュアルには記載されていません。しかし、この修正はセキュリティ上非常に重要な意味を持っているので解説します。 仕様変更の必要性 PHP本体はC言語で記述されているため、ファイルを開く場合、最終的にはC言
はじめに 計算機用言語の処理には決まった方法があります。文字列で与えられた言語は、字句解析によってトークンに分けられ、構文解析によってトークン同士が結びつけられ、意味解析によって解釈されます。 字句解析を行うプログラムが字句解析器(lexer)、構文解析と意味解析を行うのが構文解析器(parser)です。字句解析器としてはlexあるいはflex、構文解析器としてはyaccあるいはbisonが有名で、資料も豊富にありますが、いずれもC言語で利用することを想定したソフトウェアです。 PHPで利用できる字句解析器としてはPHP_LexerGeneratorが、構文解析器としてはPHP_ParserGeneratorがあります。本稿では、簡易電卓を実装するという例を通じてPHP_LexerGeneratorとPHP_ParserGeneratorの使い方を紹介します。 必要な環境 XAMPP fo
This is a archive of older and discontinued projects and experiments I worked on. Test Everything (2007 — 2020) A meta testing tool for your website. My blog (2006 — 2011) From 2006 till 2008 I wrote articles in my german blog named “Lost in programming”. In 2011 I removed the remaining old articles from my homepage. Free icon set (2007) Years ago I made a free icon set from freely available stock
見つけた!。 Chris Shiflett: Test::Simple for PHP どうやら、Apache::Testの中にある、TestConfigPHP.pmの下の方に書いてあるコードのようです。 simpletestやPHPUnitでもいいんだけど、Perlからプログラムを書き始めた僕には、テストってとても簡単に書けるという意識があったものだから、最初にこれらのやり方を見た時はなんて長々と書かなきゃならんのだ。と正直思った。 どうせ同じ事書くなら、短く楽に書ける方が好きなのだ。 というわけで、早速使ってみた。 まずは、test-more.phpをダウンロード。 後はこのファイルをrequireしてあげて、テストを書くだけ。 use.php <?php require_once("test_more.php"); plan(1); ok(true, "test"); ?> 後は、T
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く