chevron_left

メインカテゴリーを選択しなおす

cancel
ダメプログラマ
フォロー
住所
高松市
出身
松山市
ブログ村参加

2012/03/11

arrow_drop_down
  • Ginqでカッコ良く配列を操作する

    出向先にいる優秀なフリーランスのプログラマに教えてもらったGinqという面白いライブラリのご紹介です。GinqはLINQにインスパイアされたPHPのライブラリです。LINQを知らないという人は次をどうぞ。統合言語クエリ - Wikipedia Ginqのインストール GitHubからソースをダウンロードします。 github.com srcフォルダを適当なところに配置します。 Ginqを使用したいスクリプトの中でsrc/Ginq/Ginq.phpをインクルードします。 <?php require_once 'src/Ginq/Ginq.php'; Ginqの勉強方法 基本的な使い方はGitHu…

  • Sass/CompassをEclipseから利用する

    外部ツールなど使わずに普段利用しているEclipse上でSass/Compassの作業を完結させたかったので、導入からEclipseでCompassのコンパイルを行うまでの手順をメモしました。 Rubyのダウンロード SassもCompassもRubyで書かれているためRubyのインストールが必須になります。ダウンロードサイト http://rubyinstaller.org/downloads/RubyInstallersにあるリンクから環境にあわせて最新のRubyをダウンロードします。 Ruby 2.2.3 ← 32bit Ruby 2.2.3(x64) ← 64bit ※ 2016.01…

  • 高負荷時に「java.net.NoRouteToHostException: 要求アドレスに割り当てられません」が発生した場合の対応方法

    Javaで作成したWebAPIの負荷試験を行っている最中に次のようなExceptionが発生しました。 The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.GeneratedConstructorAccessor1475.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccesso…

  • Skype7.3の広告領域を削除する方法など

    新しいスカイプのUIが馴染めない(´;ω;`)ので広告領域の削除を含めて 個人的に使いやすくなるような設定をまとめてみました。 フォント変更する(チャット部分) フォントの設定画面を開いて編集します。 「ツール」メニュー → 設定 → チャット&SMS → チャット表示スタイル → フォントの変更 私はフォント名『Verdana』、スタイル『標準』、サイズ『9』で設定しています^^ 広告領域を削除する C:\Users\ユーザ名\AppData\Roaming\Skype\Skype名\config.xmlを開く。 176行目付近にある<AdvertPlaceholder>1</AdvertP…

  • phpredisを使用してランキング集計を行う

    Redisでリアルタイムランキング集計するっていうのが周りで流行っているので自分なりにまとめてみました。phpredisを使用して自分の前後のランキングと同率順位のランキングを集計してみます。 とりあえずphpredisのクラス・メソッドを使用してみる Redisのランキング機能を利用するためにはソート済みセットというデータ型を利用します。 ソート済みセットを操作するコマンド(メソッド)は名前が z から始まります。 <?php // Redis接続 $redis = new Redis(); $redis->connect("localhost", 6379); // 指定したキーを削除する…

  • CentOS6.5にphpRedisAdminをインストール

    開発中などに手軽にRedisに保存した値を確認できる便利な管理ツールをご紹介します。その名もphpRedisAdmin!!画面は2ペインのシンプルな構成でkey-valueの検索、追加、編集、削除が可能です。 管理画面 topページ key-valueページ phpRedisAdminのインストール phpRedisAdminのダウンロード # cd # git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git # cd phpRedisAdmin # git clone https://github.com/nrk/predi…

  • CentOS6.5にApache2.2+PHP5.4+Redis2.4をインストール

    VirtualBoxにCentOS6.5をインストール ~ 初期設定 CentOS6.5にMySQL5.5をインストール の続きです。 Apache2.2のインストール # yum install httpd インストール内容の確認 # yum list installed grep httpd httpd.x86_64 2.2.15-31.el6.centos httpd-tools.x86_64 2.2.15-31.el6.centos httpd.confの編集 # cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bk…

  • CentOS6.5にMySQL5.5をインストール

    VirtualBoxにCentOS6.5をインストール ~ 初期設定 の続きです。 MySQL5.5のインストール remiリポジトリからMySQL5.5のインストール # yum --enablerepo=remi install mysql mysql-server mysql-devel インストールの確認 # yum list installed grep mysql compat-mysql51.x86_64 mysql.x86_64 5.5.39-1.el6.remi @remi mysql-devel.x86_64 5.5.39-1.el6.remi @remi mysql-…

  • VirtualBoxにCentOS6.5をインストール ~ 初期設定

    やりたいこと CentOS6.5を最小構成でVirtualBoxにインストールする。 ターミナルソフトでsshログインできるようにする。 CentOS6.5のダウンロード 次のダウンロードサイトにアクセスする。 http://archive.kernel.org/centos-vault/6.5/isos/x86_64/ 「CentOS-6.5-x86_64-minimal.iso」リンクをクリックする。 仮想マシンの作成 VirtualBoxを起動する。 「新規」ボタンをクリックする。 仮想マシンを作成する。 名前とオペレーティングシステム 名前:CentOS タイプ:Linux バージョン…

  • CakePHP2.x系で多次元(三次元)配列をソートする

    array_multisort関数を使用した二次元配列のソートはネット上によくあるのですが、三次元配列のソートに言及しているところはほとんどなかったので自作してみました。CakePHPはモデルメソッドの戻り値が[インデックス][モデル名][フィールド名]のような三次元配列で表現されることが多いので利用できるシチュエーションは多いと思います。また、CakePHPにはHash::sortという多次元配列をソートできるメソッドが存在するのですが、ソート対象のフィールドを1つしか指定できないため若干不便です。そのため自作したメソッドは何個でもフィールドを指定できるようにしています。 サンプルプログラム…

  • CakePHP2.x系でRESTful API(JSON)のSQLデバッグを簡単に行う方法

    この記事で行うことは、http://127.0.0.1/cakephp/Test/indexのようにアクセスすればjsonのレスポンスが返り、http://127.0.0.1/cakephp/Test/index?debugのようにアクセスすれば通常のweb画面が表示される(SQLログの確認ができる)方法の解説です。 ソースファイル Controller/AppController.php <?php class AppController extends Controller { public $uses = array('Music'); public function beforeFil…

  • EC-CUBEのデータ(MySQL)の自動バックアップとリストアの方法

    2013/08/28頃からロリポップでWordPressサイトの改ざん被害が多数報告されるようになりました。 当社サービス「ロリポップ!レンタルサーバー」ユーザーサイトへの第三者による大規模攻撃について 設定ファイルの情報が抜き出されて、データベースの内容が書き換えられてしまったのが原因のようです。現在運営しているEC-CUBEでも同様の現象が発生する可能性があり、また不測の事態が発生しても迅速に業務を再開させることができるように、データベースをバックアップ/リストアすることにしました。というか今までは面倒だからバックアップをとっていなかった(;><)被害に遭われた方には申し訳ないですが、今回…

  • MySQLクライアントソフト「HeidiSQL」が軽快・多機能で便利すぎる

    MySQLのクライアントソフトといえばCSE、黒猫 SQL Studio、MySQL Workbench、phpMyAdminなど数多くありますが、今回はその中でも私がイチオシのHeidiSQLをご紹介します。 HeidiSQLとは WindowsネイティブのMySQLクライアントソフト ODBCドライバが不要 動作が超軽快 最低限必要な機能が全て備わっている ソフトの呼び方がよくわからない(ハイヂエスキューエル?) ダウンロード HeidiSQL - MySQL and MSSQL made easy[Downloads]メニュー → [Instraller]リンクをクリック 操作方法 一部…

  • HotmailにEC-CUBEの注文完了メールを送ることができない

    久しぶりに更新です。先月(2013/07/28)のことなのですが、突然Hotmail宛にEC-CUBEの注文完了メールを送ることができないという現象が発生しました。不思議なことにGmail・Yahoo!メールなどのWebメールは問題ありません。Hotmailだけメールを送ることができず、しかもメールを送ると次のようなエラーメールが返信されてきました。 Hotmailから返信されるエラーメールの内容 This is the mail system at host users038.phy.lolipop.jp. I'm sorry to have to inform you that your …

  • CakePHP2.x系でバルクインサートを使用して高速なインサート処理を実現する

    CakePHPで複数のレコードをDBに投入する時に、forループでsaveメソッドを何度も呼び出していませんか?今のプロジェクトでもそういったソースをよく見かけるのですが、とてつもなく遅い(;´Д`)ということで、今回はCakePHPでバルクインサートを使用してインサート処理を高速に行う方法を説明します。 今回使用するテーブルは? musicsテーブル id singer song_title created modified 1 初音ミク Tell Your World 2012-09-29 20:18:57 2012-09-29 20:18:57 2 鏡音リン 炉心融解 2012-09-2…

  • CakePHP 2.x系のbindModel+recursive=2はちょっとヤバイ?

    CakePHPで3テーブル以上をbindModelで結合することってよくありますよね?しかも、その後に、findメソッドにrecursive=2を指定することってよくありますよね?(汗実はbindModelとrecursive>=2の組み合わせはSQLの発行回数が爆発的に増えてしまうことがあるんです。そこで、今回はテーブル結合時に発行されるSQLの発行回数を減らす方法を述べたいと思います。 まずはサクっと今回使用するテーブルについて 3テーブル用意しました。テーブルのレイアウトは次のとおりです。 usersテーブル id name created modified 1 初音ミク 2012-08…

  • CakePHP 2.x系の更新時のSQL発行回数を減らしたい

    今年7月に入ってから業務でCakePHPを使用しており、外国人プログラマ達によって書かれたソースの改修とパフォーマンス・チューニングを行っています。 その際、DB更新処理でSQLの発行回数を減らす必要が生じたので、その対応方法を述べたいと思います(需要はあまりないかもなぁ) saveメソッドのSQL発行回数は多い? DBの更新処理にはsaveメソッドを使用することが多いと思いますが、実はこいつ、かなりの曲者です。 百聞は一見に如かずです。 まず下のメソッドを見てください。 public function addPoint($user_id, $point) { $user = $this->f…

  • 突然、ロリポップ!で動かしているEC-CUBEのメールが送信できなくなった

    私は以前、本業とは別に知人に依頼を受けてEC-CUBEでサイト構築をしたことがあります。 (詳しくは、EC-CUBEのカート機能を既存のHTMLに組み込む(その1)にあります。) 2012年4月から運用を開始して、今まで大きな問題がなかったのですが、2012年8月下旬のある日から突然メールが送信できなくなったと連絡がありました。 具体的にどのような問題が発生したのか? 注文決済メール、会員登録メール、お問い合わせメール等々のメール送信が一切できなくなりました。 メール送信時のログを調査したところ、次のようなエラーメッセージが出力されていました。 2012/08/29 20:33:56 [/xx…

arrow_drop_down

ブログリーダー」を活用して、ダメプログラマさんをフォローしませんか?

ハンドル名
ダメプログラマさん
ブログタイトル
ダメプログラマの技術メモ
フォロー
ダメプログラマの技術メモ

にほんブログ村 カテゴリー一覧

商用