Apache

Apacheでサーバ運用するなら必須のチューニング【mod_deflate】

■mod_deflateを使ってデータ転送の圧縮を有効にする httpd.confに以下を追加して、Apacheを再起動します。この設定をすることで、mod_deflateが有効になり、Apacheがブラウザにデータを転送するときにデータを...
メールサーバ

telnetでdovecot(pop3)の接続確認をする方法

telnetを使って、dovecotと会話する方法です。この手法を利用することで、サーバとしての設定が正しくされているか確認することができます。 ここでは、POP3でログインして、メール一覧を取得する方法を紹介します。ここまでできれば、他の...
CakePHP2

Capistrano3でCakephpで作ったシステムをデプロイするまでの手順

このコピペチェックツールですが、サーバが現在7台位になっています。全部Conohaで作っています。mod_proxy_balancerを使って、APIアクセスをそこそこ捌けるようにして処理速度を稼いでいます。 ■サーバが多いと、デプロイがと...
日々のこと

クラシックホテルの一つ、富士屋ホテルに行ってきた

■平日に富士屋ホテルに行ってきた ちょっと休暇をとってクラシックホテルの一つ、箱根の富士屋ホテルに行ってきました。 会社の福利厚生であるベネフィットステーションを利用して行きました。平日オフシーズンとはいえ、デラックスツインの部屋が朝食付き...
PHP5

PHPスクリプトからcURLを使ってCookieのやり取りをするサンプル

PHPのcURLを使ってウェブサイトにアクセスする方法を以前にいくつか紹介しました。 ■CURL_MULTIでPHPから並列アクセスを実現するサンプルを書いた ■PHPでCURLを使ったウェブアクセスのサンプルコード 今回はcURLを使って...
PHP5

【PHP】データ内に改行のあるCSVの処理方法

こちらの記事でPHPでのCSVファイルのダウンロードのサンプルを書きました。この記事では、CSVファイルの読み込みのサンプルを紹介します。 ■特徴 SplFileObjectを利用しているため、エクセルで読み込みできる形式のCSVを読み込み...
古め開発記事

VALUE-DOMAINでcname設定時、最後に.(ドット)を付けないと困る理由

VALUE-DOMAIN で独自ドメインを設定するときはcnameで設定することが多いです。また、マニュアルを呼んでみると以下のように、【設定先のドメインの最後に.(ドット)を必ず追加してください】という記載があります。 cname www...
Apache

mod_proxy_balancerで負荷分散した時の設定サンプル

このコピペチェックツールは、分散環境を構築してサービス運営しています。cakephp2.6で実装されており、以下のようなネットワーク構成になっています。VPSはGMOが提供しているConohaを使っています。 APIを実装して、curl_m...
PHP5

curl_multiでPHPから並列アクセスを実現するサンプルを書いた

PHPでは並列処理を実現する機能は基本的にありません。しかし、cURLを複数同時に実行するcurl_multiを利用すれば並列処理が一定可能です。並列して実行できるのでAPIへ効率よくアクセスすることが可能になります。 ■並列にサイトにアク...
JavaScript

cssやjsを更新した時にブラウザに残っているキャッシュを確実に更新する方法

cssやjsを更新した時に、ブラウザにキャッシュが残ってしまって、正しく動作しなくなるのを防止する方法を紹介します。 不特定多数の人が利用するシステムを運用しているときにブラウザのキャッシュにcssやjsファイルが残ってしまうと、正しくサイ...
SSH

SSHでパスワードなしでログインできるようにする設定手順

LinuxサーバにSSH接続するときに、パスワードなしの鍵交換方式でログインするように設定する手順です。 この方式にすると、パスワードなしで鍵ファイルを持っている人だけがサーバにログインできるようになりセキュリティが向上します。こちらの記事...
CakePHP2

CakePHPのquery関数でプレースホルダを使う

CakePHPのORマッパーではselect for updateなど利用することはできません。 そのため、直接クエリを書いて実行する必要があります。 その時、引数で渡した値などを直接クエリ内に入れるとSQLインジェクション等のセキュリティ...
jQuery

jQueryでトースト通知をするプラグイン。ユーザビリティ向上。

右上や左下からにょっきり通知エリアでてきて通知をしてくれる実装を簡単にできるプラグインを紹介します。ajaxと組わせることで、画面をリロードさせることなく通知をすることができます。 ユーザが画面遷移しなくても情報の通知ができるのでユーザビリ...
JavaScript

JavaScriptを使ってtarget=_blankのリンクを開く方法

JavaScriptを使って別のタブにリンクを開く方法です。 window.open(' '_blank'); 上記のようにwindow.openを使うことで、スクリプトを使ってtarget=_blankでリンクを開くことができます。SEO...
mysql

mysqldumpでテーブルロックを発生させない方法

オプションを何も付けずにmysqldumpでデータベースの中身をダンプしようとすると、テーブルロックがかかります。 サービス運用中のサーバからデータのダンプをするときにテーブルロックがかかってしまうと、ダンプ中はサービスが止まってしまい大変...
CakePHP2

compact関数のひと工夫でCakePHPのコントローラーをすっきりさせる

CakePHPのコントローラー上でよく利用する【set関数】。この関数をもっと見やすく、スマートに書く方法を紹介します。かなり見やすくなるおすすめの記述方法です。 ■set関数の普通の書き方 CakePHPでViewに値を渡すとき、以下のよ...
mysql

小規模から中規模のサイトに対応できるmysqlの設定サンプル

yumでインストールしたmysqlで最低限のmy.cnfの設定を紹介します。小規模〜中規模くらいまでなら大丈夫かと思います。 インストールしたら、mysqlを起動する前にまず設定を変更しましょう。一度でも起動してしまうと、innodb_lo...
自動車

NISSAN フェアレディZ S30を借りた

以前はBMW Z4など長いこと二人乗りの車に乗っていました。結婚を機会に普通の4ドアハッチバックの自動車になってしまいました。燃費はいいんだけどね、、うーん。 というわけで、二人乗りの車に乗りたくなって借りてきました。 ■いろんな車が借りら...
CakePHP2

CakePHPで独自のログファイルにログを出力する方法

CakePHPでlog関数を利用すると、デフォルト設定でdebug.logまたはerror.logにログが出力されます。この状態のままだと、バッチファイルが複数ある時など、どのバッチから呼ばれた結果のログなのか、わからなくなってしまいます。...
PHP5

【PHP】preg_splitの文字化けを回避する

カンマや読点で文字列を分割するときに、preg_splitを使っています。正規表現で一致した部分で文字列を分割してくれる便利な関数です。この関数ですが、文字化けをすることがあります。 ■文字化けする記述 下記のような記述だと、文字化けします...