だ。ログ。

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

開発

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

MySQL Has Gone Away

Vagrantでローカル環境を作っていた際にmy.cnfの事を全く考えずに数GBあるデータを $ mysql -uhoge -p < dump.sql と何気なくコマンドを打つと程なくして ERROR 2006 (HY000) at line **: MySQL server has gone away 逝かれましたとの表示が。 なんだろ?と…

phpMyAdminのblowfishの生成

毎回ローカル環境を立てる際にphpMyAdminのblowfishの作り方で止まる。 # expectのインストール $ yum install expect # インストールが終わったらblowfishの生成 $ mkpasswd -l 46 と言う事でmkpasswdで文字列を生成してコピペすれば終わり。 インストール1…

EC2のリタイア予告

サーバーの朝のご機嫌を伺うためにAWSのコントロールパネルを見ていると見慣れない文字が リタイア:このインスタンスは2018年○月○日 1:23:45 UTC+9後にリタイアが予定されています。 リタイア…? ドキュメントを読むと、機器の老朽化等で現在搭載されている…

Laravelのartisanを利用してディレクトリ/コントローラーを作る

いつも忘れるのでコピペ出来るように。 Laravelでcontrollerを生成する際にartisanで作成するが例えばapi用のディレクトリを作ってコントローラーを生成するって時は以下 $ php artisan make:controller Api/HogeController ||>

viでvimを使う

vagrantで様々な環境をローカルに構築する機会が多い。 その度に毎回忘れてしまっているのでメモとして。 $ yum install vim-enhanced $ cp /etc/profile /etc/profile.default $ vi /etc/profile #最下部に記述 alias vi='vim' $ source /etc/profile これ…

curlのデフォルト表示

apiにjsonデータを送信してレスポンスコードを取る。と言う部分でcurlで~なんて言うだったので軽い気持ちで $curl = curl_init("apiのurl"); curl_setopt($curl, CURLOPT_POST, TRUE); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); $…