古め開発記事

WordPress

Stinger7をhttps環境で運用すると【はてなブックマークボタン】が正しく動かない件を調整

このブログはStinger7を利用させていただいております。ありがとうございますー。 で、最近気づいたのですが常時SSLにしたサーバで利用すると、はてなブックマークのボタンが正しく動かないっぽいのです。ボタンを押すと、そのままはてなブックマ...
WordPress

WordPressテンプレート【Stinger7】の小技|スクロール広告で横並びに広告を配置する

Stinger7にしてから、半月ぐらい経ちました。このブログでは、大きな変更はしないで、ほぼテンプレート素材のまま利用していこうと思います。今回は、右側サイドバーのスクロール広告を横並びに配置する方法を紹介します。以下のような感じで横並びに...
CentOS6

CentOS6.7で簡単に最新のPHPをインストールする

CentOS6の公式リポジトリだけだと、phpやmysqlのバージョンが古く、デフォルトのままだと、最新のPHPなどをインストールすることができません。そこで、リポジトリに比較的新しいパッケージが提供されているIUSを追加します。するとph...
Twitter Bootstrap3

Bootstrap管理画面テンプレートを使う時に陥りやすい罠

■高機能テンプレートは結局使い切れない Webシステムを開発していると、いろいろな管理画面を実装することがあります。私は結構な割合でTwitter Bootstrapを利用して管理画面を実装することが多いです。Bootstrapには管理画面...
WordPress

Stinger7の子テーマを調整した時にAnalyticsタグではまったこと

このブログStinger7にテーマを変更してみました。うーむ、よくできてますね。自分のブログじゃないみたい。 Stinger7の子テーマを調整した時にハマったことを、備忘録としてここに書いておきます。同じような症状が出た人は確認して見てくだ...
PHP5

【PHP関数】レーベンシュタイン距離を求める関数の日本語対応

■レーベンシュタイン距離とは このコピペチェックツールで利用しているアルゴリズムです。編集距離とも呼ばれています。2つの文字列を何回変更すると同じ文字列になるかを求めるアルゴリズムです。 レーベンシュタイン距離は数値が小さいほど同じような文...
CakePHP2

CakePHPからgmail経由でメールを送信する

CakePHPからメールを送信するとき、postfix等のMTAを利用してもいいのですが、いろいろと設定が面倒です。gmail経由でメールを送信することで、設定の手間も省けると思います。 ここでは、CakePHPからgmail経由でメールを...
CakePHP2

[CakePHP]saveを連続で実行したとき、データがUPDATEされるのを防ぐ

CakePHPのDB上のデータを新規追加したりするときはsaveメソッドを使うことが多いと思います。便利です。しかし、挙動を理解しておかないと意図しない動きをすることがあります。 対象はCakePHP2系となっています。 ■データ新規追加時...
Apache

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

■mod_deflateを使ってデータ転送の圧縮を有効にする httpd.confに以下を追加して、Apacheを再起動します。この設定をすることで、mod_deflateが有効になり、Apacheがブラウザにデータを転送するときにデータを...
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へ効率よくアクセスすることが可能になります。 ■並列にサイトにアク...
CakePHP2

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

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

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

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

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

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

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

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

CakePHPでデータベースアクセスしないモデルを作る方法

データベースへアクセスする必要のないモデルを作る方法です。memcacheやredisなどにアクセスするためのモデルを作るときや、ロジックのみ書いてあるモデルを作る時などに利用できると思います。 以下のように記述します。 class hog...