だ。ログ。

開発とかスノボとかやきうとか。

開発

CakePHP2の固有ページ用のスクリプトの読込

いまだに化石みたいなシステムを触る事も多い。 共通化部品となっていればそれにこした事はないが、ページ毎に固有で出したいスクリプト等もポツポツと出てくる。 特にコンバージョンタグや計測タグ系は入れては消してが多く、このページ「だけ」出したいと…

速度測定とパワープレイ

環境固有ではあるが。と言う言葉を使うと、解決出来ないのか?と言う質問が返ってくる。 カネを掛ければいけますよ。と毎回笑顔で答えるが「知恵でなんとかしろ」と言われるのが関の山。今回の場合、jQueryのDatePickerを使う為に設定を行った。 初期ロード…

LINEメッセージのURLをデフォルトブラウザで開く。

新しい技術ってワケじゃないけど、LINEを使うってな事が多くなってきている。 大半の人は入っているのでプラットフォームに乗っかってどうにか集客するって言う意味では良い試みだとは思う。ただ気になるのは、LINEアプリ内のブラウザで完結してしまう事があ…

CentOS7でdigを実行する

インストールした段階では入っていない。 $ yum install bind-utils コマンドコピペでOK。 ドメインの確認とかで結構使うのでメモ。

SESからSNSを経由したバウンスメールの通知のjsonが上手くパース出来ない件

SESの大原則、メールのバウンス率が5%を越える事なかれ。 商用環境だろうとなんだろうと無慈悲なサービス停止を回避する為にはメールの送信失敗率を極力抑える必要性がある。 送る事は前提として、どうやって抑えるか。 多分、厳密には送る前にアドレスの正…

AWS SESの差出人の書き方

テンプレなのでコピペすれば良いように。 名前部分の書き方。 $sender_name = mb_convert_encoding("ワイやでワイ", 'ISO-2022-JP', 'UTF-8'); $from = sprintf('%s <%s>', mb_encode_mimeheader($sender_name, 'ISO-2022-JP'), "waiyadewai@hogefuga.mofu")…

logrotateのファイルgzip化

zabbixがこの頃HDD枯渇してますってなアラートを出すようになった。 古いサーバーを再利用したので、システム的には不要なモノかもしれないが消したら動かなくなるかも。 と言う潜在的なリスクが有る以上、なんとか今の形を残しておく。と言う事が必要になっ…

CakePHP2で生SQLを発行する。

なんと言うか他者の作ったシステムに手を入れると言うのは非常に手が掛かる。 モデル部分で変な結合が入っていたり、意図しないデータの取得の仕方をしていたりしている為、最短距離でこういうデータってのが取りづらい。 特にSQL部分はモデル部分がいかに基…

新しくvirtualbox + vagrantで環境構築した際にvagrant upが途中で止まる。

前にも記事にしたが、仮想化環境で開発を行う為にローカルにvirtualbox+vagrantをインストールして環境を整える。powershellなどで、作業したいディレクトリに移動し $ vagrant init bent/centos-7.2 ここでVagrantfileの中のIPを利用したい仮想IPに変えて $…

CakePHP2でリダイレクト

CakePHPでルーティングでディレクトリごと使わなくなったとかって事がある。 コンテンツとしての価値の問題もあるが、これを.htaccessであれこれコネてしまうと面倒な事になる。 CakePHPのルーティング内であれば Router::connect('/hoge/:fuga', array('con…

GMOグローバルサインのSSLの利用すると中間証明書は自分でダウンロードしてインストールしてね。 というセルフスタイルになっている。 中途で赴任した自分からすれば前に使ってるのそのまま使えばええやん。ってなっていたが古いバージョンを使っていたためw…

各デバイスのカレンダーにPHPから動的にデータを登録する

なかなかそれっぽいググり方が出来なかった自戒も込めて。 まず、カレンダーは形式が決まっていてXMLではないが書き方のお作法がある。 そのお作法にしたがって書く事が要点。ファイル形式は.icsで出力する。そのファイルをブラウザで読み込むと各デバイスOS…

PHP5.3とそれ移行の配列の落とし穴

サイトマップを生成するプログラムを作っていた。 ローカル環境はbent-centos7.2を利用しているので、必然的にPHP7系をインストールしている。 $array_xml([ 'loc' => 'https://hogefuga.mofu/aaaa/bbbb/', 'lastmod' => date('Y-m-d'), 'changefreq' => 'we…

lazyloadの実装の落とし穴

色々な所で脱jQueryが言われている。 とは言えまだまだ利用する頻度は高い。サイトの高速化ってのもあるがjQuery-lazyloadもまだまだ現役だ。 ただ無意識にダウンロードして使うおうとするとgithubのバージョン2にたどり着いてしまう。 脱jQueryで書かれてい…

CakePHP2のパスワードの生成の仕方

結構何やってんのかってのが分かり辛いがデフォルトの設定のまま使っているとCakePHP2はsha1で暗号化している。 CakePHP2.6が前提だが、送信されたパスワードをただ暗号化しているだけではない。/app/Config/core.php 230行目付近 Configure::write('Securit…

根本的な見直し

「サーバーが遅い」と言う意見をよく聞く。 ひねくれたシステム屋からすれば、通信環境とか様々な事を加味した上で遅い言ってるワケではないので、サーバーが遅い・重いと言う言葉はどのアーキテクトを触るか?と言う事の判断材料にしたくはない。 根無し草…

aceエディタの入力した内容を取得する

jsプラグインの中でもこの頃多様しているaceエディタ ace.c9.io ブラウザ上でエディタが出せるので便利。とりあえず使うにはこれ。 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ace.js"></script>

(MySQLのバージョンの違いが)でたわね。

vagrantを利用したbent-centos7.2を使っているので稼働しているサーバーの関係でどうしても古いシステムにOSのバージョンや参照しているリポジトリの違いが出てしまう。 Field 'カラム名' doesn't have default value 本番では上手くいくが、自分の開発環境…

Laravelのプロジェクトを作った際の500エラー

どうしてもAPIを作る為にLaravelを使う事が増えた。 $ laravel new hogefuga ってなことでプロジェクトを作ったので、つっこんだサーバーにの確認をば。 ブラウザにテストしているサーバーのアドレスを叩くと500エラーよくよく展開したディレクトリを見ると …

zabbixを利用してmysqlを監視する時にハマったこと

かなりドツボにハマって1日調べた。CentOS 6 今回利用するzabbixのバージョンは3.4.15 zabbixのサーバーは他ホストで存在している事が前提。 zabbix-agentのインストール # rhel6のパッケージインストール $ rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhe…

zabbixからslackにアラートを飛ばす

システムがある程度安定はしてきているものの、お金である程度抑えつけている。 そのため、まだ参加間もない自分がシステムの大枠のリファクトまでは手が回せず稼働側の不安を払拭する事ができない。期待値として求められる「システムの安定稼働」に関しての…

jsonデータをphpで保存する際のエンコード

あまり日本語を扱いたくはない。 しかもjsonデータだからなるべくコード値のみ持ちたいが、オーダーとして文字列も持って欲しいと言う要望が来ている。 $json = array( "condition" => array([ "condition_1" => "ほげふが", "condition_2" => "もふべろ" ])…

javascriptのindexOfの検索の落とし穴

配列内の特定の要素だけを消したい。と言う事がある。 例えばだがチェックボックスや要素をクリックした際にイベントが発火して、その要素を消したい。等で仮定する。 ## 仮に要素自体は一旦配列に入った状態だとする。 var youso = [1,2,3,4,5,6,7]; この配…

オサレ故のイベント取得のメソッド

iCheckJSを使うとチェックボックスやラジオボタンの見栄えが良くなるので凄く助かる。 どうしても素のままだと殺風景と言うか味気がないと言うか。bootstrapを使っていると余計にそう見える。 <input type="checkbox" id="hoge" name="hoge" value="1">ほげふが ## js部分 $("#hoge").change(function(){ alert("変更…

後から追加した要素のマウスオーバーの挙動

$(document).on("hover","#hoge", function(){ ajaxでデータを検索した結果をリストボックス要素で一覧表示してそのリストから選択をする。 その際にhoverで背景色を変えてってな挙動を入れようとしたがイベントが発火しない。元々存在する要素ならばこれで…

kcfinderのconfigのはなし

自家製CMSのビジュアルエディタとしてckeditorを使っている。 前に作っていたシステムのマスターさんがckeditorだったからっていう事もある。 源流でもあるwysiwygでも良いのだが、最初に使っている物を使ってしまう悪い癖だ。ある程度のコンテンツは文字だ…

SSHの鍵ファイルの権限周り

どうしてもサーバー管理をしていると、新しくユーザーを追加する事がある。 $ useradd hogefuga ユーザー自体はこれで作成出来る。 この後に接続する為の鍵をユーザーに作って共有してもらう。 これは作ったユーザーのディレクトリにて $ cd /home/hogefuga/…

SSHの鍵ファイルの権限周り

どうしてもサーバー管理をしていると、新しくユーザーを追加する事がある。 $ useradd hogefuga ユーザー自体はこれで作成出来る。 この後に接続する為の鍵をユーザーに作って共有してもらう。 これは作ったユーザーのディレクトリにて $ cd /home/hogefuga/…

mysqldumpでGot a packet bigger than ‘max_allowed_packet’でdumpできない。

環境をまるっとコピーする為にdumpしよう $ mysqldump -uhoge -p hogefuga > dump.sql ってなコマンドを打ってdump開始まではしたものの Got a packet bigger than ‘max_allowed_packet’ と出て途中で止まる。読んで字の通り、パケット上限に引っかかってる…

javascriptのsplitが動かない

コンソールに出てきた xxx.split is not a function の文字。 checkboxをjQueryで取得した後に分解して配列にしようとした時に出てきた物だ。 var checked_item; checked_item = $('[class="cls_check_num"]:checked').map(function(){ return $(this).val()…