だ。ログ。

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

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")…

2020年7月開催のベイスターズ主催のZOZOマリンスタジアム

今年、去年と交流戦でZOZOマリンスタジアム外野に参戦したので、来年の主催試合となる7月のまとめをする。 アクセス(横浜方面想定) [行き] (東海道線) → 東京駅 → (京葉線) → 海浜幕張 → (徒歩) → ZOZOマリンスタジアム行きは東京駅から海浜幕張まで、どん…

logrotateのファイルgzip化

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

2019年交流戦の参戦記

去年は社壊人の時期で、大阪とZOZOマリンに遠征した。 実は今年は日程調整が上手くいった為、ZOZOマリンに1日行く事が出来た。 2019年参戦戦歴 6月9日 vs 埼玉西武ライオンズ ◯ 7 - 3 6月10日 vs 埼玉西武ライオンズ ◯ 6 - 4 6月12日 vs 千葉ロッテマリーン…

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で背景色を変えてってな挙動を入れようとしたがイベントが発火しない。元々存在する要素ならばこれで…

2019年バスツアー 赤倉温泉スキー場

20年前の学生時代、アルペンがTVCFでkissmarkのボードを売り出し広瀬香美さんの歌が流れる。 銀世界は遠い世界って言うイメージ、年間1,2回の3泊5日のバスツアーで親からお金を少し工面してもらないながら安いゲレンデを探して行くって言う流れだった。 雪山…

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()…