旅するえんじにあ - Engineers to Travel -

旅するエンジニアの気まま備忘録

【Linux】anyenvで各envを管理

さて平日の仕事を一時的に休止して毎日カフェでPCをいじる日々です。 今日は前から構築時に使っているanyenvについてです。 日頃いくつかの言語を使うのですが、プロジェクトによってバージョンは違うわけで 統一するのも難しいですよね。 そこで言語ごとに…

【Mac】切れやすいWi-fiに自動で再接続するshell

久々すぎる更新です。 某企業のグループ会社を数年回ってお世話になってたのですが、ついにそこを辞め、完全にフリーとなり 1ヶ月ほど旅に出ていました。 さて、今回は帰ってきてからカフェでWi2へ接続してプログラムやサーバをいじっているわけですがなにせ…

【MySQL】 createしようとしたらエラー Can't create table

最近は作るだけの仕事をしていたり、前に作った資産についての質問がきたりで 特に新しい事ができていません。 pull型のDeploy等の仕組みを作ったりしてたのですが、それは今後書いていきます。 さて、今のProjectではMigrationにstandalone-migrationsを使…

【MySQL】 MySQLインストール後、起動に失敗する

ひょんなことからGCPで新しい環境を構築することになり(といっても昔で言うLAMP環境のようなもの) PHPやらNginx、MySQLをインストールしているのですが どうしてもMySQLのStartで[FAILED]になってしまう。 MySQLもyumで入れているし、何か指定が必要だった…

【python】 pythonのバージョンアップ 2.6系から2.7系へ

Google Cloud Platformってもう最近でもないんですが すごく便利なものが出てきましたね。 AWSのS3みたいなものなんでしょうか。 使ったことないのですがね・・・ さてGoogle Cloud Strageを使おうと色々と設定し、shellを書いたり 自動化したりを進めていた…

【Jenkins】 Jenkins権限設定のミスによりログインができなくなった

最近はDeployやらCI環境の構築やらを少しやらせてもらっています。 CIといえばJenkinsですね。 あの紳士なくしてCI環境はと言われるくらいです。 さてそんなJenkinsのバージョンアップ等やっていたのですが グローバルセキュリティの設定を誤って設定してし…

【PHP】 PHP製のDeploy tool deployerでdeployを試す

最近はMySQL partitionのPHPUnitテストとか記事にもならないようなニッチなことをやっていたわけで。 PHPUnitでpartition削除とかDBテストでできればいいのにとか思いつつ、ゴリゴリ書いてたわけで。 ちょっと息抜きに。 Capistranoでdeployをすることが多か…

【Windows】 IPv6よりもIPv4を優先させる設定

自宅からノートPCは全てMacなんですが、今開発端末でWindowsを使っています。 そこでたまに困る事があるんです。 指定されたGitlabへ接続するのにVPNに接続してcloneしようとしても名前解決ができない。 鍵登録してるし、VPN繋いでるし何が悪いんだと思って…

【PHP】 PHPでの静的解析 SonarQubeを使ってみた

最近ネタもなく、日々テストとLibraryの作成を行っていました。 という言い訳で更新しないのは悪だと思っているので、ちょっと心いれかえて。 今回はPHPの静的解析についてです。 前々から静的解析ツールについては良い物が見当たらず、もちろんあるっちゃあ…

【PHP】 filemtime関数の罠

php

APCでデータのキャッシュをさせつつ、色々とロジックを組んでテストしている最中にテストが通らなかったのでメモ やりたかった事としては ・ファイルをオープンして配列化 ・配列化したデータをAPCにキャッシュ ・キャッシュさせたデータにファイルの変更日…

【PHP】 APCu apc.shm_sizeを超えるとどうなるか

さてAPCuを使うようになり、まず気になるところがキャッシュと云えど限界はある。 そう、apc.shm_sizeだ。 毎回悩ましいのが、どれくらいの容量を設定していればいいのか。 実際にはttlに設定されている(実際にはプログラム上で明示的に指定するのだけど)時…

【PHP】 APCuでfetchに失敗する

最近はlibraryのテストしたり検証をしたり 大抵はここはこうしたほうがいいとかこういうルールでやるならこっちのほうがいいんじゃないかっていう討論だけ繰り広げている状態です。 話がまとまれば作業は早いのですが。 さてそんな中今まで意識していないか…

【MySQL】 外部からVirtualBox環境のMySQLへ接続する

今開発環境はWindowsを使用しているのですが、もちろんVirtualBoxの環境はCentOSなわけで。 Mac環境にすればいくらか楽なのですが、なんでか行く先々でWindowsが用意されているので 開発についてはWindowsに慣れてしまっています。 もちろん個人で開発したり…

【Redis】 CentOSにRedisをインストールして簡単な動作検証

今回はRedisの導入をしてみました。 最近はKVSといえばRedisみたいになってきましたね。 そんなことないかもですが。 昔はTokyo TyrantとかKyoto Tycoonとかあったもんですがね。 最近全然聞かず、話に出しても「懐かしー」って感じになってきましたね。 Red…

【nginx】 PHP7(php-fpm)+nginxを動かすまでの設定

さて時間があったので早速nginxの設定を軽く見ていこうということでインストール後すぐの設定が以下の通りになります。 前回のnginxにおけるインストールの記事はこちら さっそくインストール後からのnginx.confから見ていきましょう /etc/nginx/nginx.conf …

【nginx】 CentOSにnginxを簡単にインストールする

仕事が軽く変わり、言語はPHPなのですが、ちょっと研究開発っぽいこともやるようになりそうなので 新たに環境構築しつつPHP7を入れたりして遊んで(仕事して)います。 最近はApacheで環境を組むことが少なくなってきましたね。 ってことで今回は簡単にnginx…

【PHP】 PHP5.4系とPHP7系のパフォーマンスを比較してみた

php

PHP5.4系とPHP7系のパフォーマンスを比較してみた 11月12日はPHP7のリリース日ですね(予定ですが) ということで、最新のRC版を入れて 今更感ありますが、簡単なパフォーマンステストをしてみました。 PHPのメジャーバージョンアップ自体が10年ぶりとなり …

【PHP】ORM Idiormの導入を決意するまで

久々になっちゃいました 最近はインフラっぽいこともせず、とにかくOJTとデザインパターンについて コーディング規約やら書き方を教え、コードレビューをする毎日になっていました。 人が増え、それに対して今後こういうソースの書き方をしていこうと話すの…

【git】 git revert で変更を元に戻す

git

たまにありますよね。 あーーーーpull requestで先に入れないといけないbranchあったのに マージする順番間違えたー はい僕です。 そんな時あー面倒くさいどうしようってちょっと混乱気味になって git reset --hardで戻して・・・git push -f...でいいかな?…

【PHP】 爆速と噂されるPHP FrameworkのPhalconをインストールしてみる

最近爆速と話題のPhalconをインストールしたのでメモ。 今回は以下サーバに対してインストールをしてみようと思います。 最低限のインストール まずは今回使うサーバです。 ちょっと古いですが、以下のサーバにインストールしようと思います。 # cat /etc/re…

【Linux】ファイル内の文字列を検索する

よく使うんだけど、忘れそうなのでメモです。 Linuxのファイル内で特定の文字列を検索したい。 そんなことってたまにありますよね。 自分の場合は、同じプロジェクトのソースでも色々な理由からRepositoryが別れていて IDEにRepository毎に編集したりするん…

【Parse】 Parse.comのCloudCodeでレコードの保存、取得、変更を行う

さて、前回ParseのCloudCodeについてブログを書きましたが 早速使ってみました。 といっても簡単なものですが保存、検索等よく使うものの簡単な説明です。 もちろんafterSaveやbeforeSave等便利なものは多くあるのですが まずは基本です。 今回はTestって安…

【Parse】 最近流行りのMBaaS BaaSの Parse.com を触ってみた。

Baas MBaaSなんて言葉を最近良く聞くようになりました。 これは(Mobile) Backend as a Service の略称になり IaaSとかPaaSなんかのように自分でバックエンドのコードを書いて実装する必要がありますが BaaSやMBaaSについてはSDKとAPIでなんとかしちゃおう的…

【MySQL】 データベース内のテーブルを全てTRUNCATE

たまにありますよね。 phpMyAdminとか使えば簡単かもしれないんですけど データベース内に数百というテーブルが存在していて、これ全部Truncateかけたいんだけど。。。 show tablesでテーブルリスト作ってそこにtruncateを入れて動かす。 そんなんでもいいん…

【vim】検索によるシンタックスハイライトを解除する

vim

別にVimerではないんですが 簡単な修正程度であれば面倒なんでviでやっちゃうときあります。 にわかにちょっとだけコマンド知ってるぜって思いながらやってるのですが。 たまに検索に /php なんてコマンドを使うと そのファイル内の検索を行ってくれるのです…

【PHP】 苦悩の末導入したPHPUnitとDBUnit

やっと忙しい時期がある程度落ち着いたので 久々の更新です。 もちろんコードも書いていますが やはり運用をしていくうえで必要なのがテストです。 これは初めすごく面倒なのですが、一度やってしまうと テストなしではコードが書けなくなります。 自分も最…

【Git】 GithubにSSHの公開鍵を登録する

まぁ最近SVNじゃなくてGitだよね。 ってことでGit導入してみたはいいけど、SSHで鍵登録とかちょっと頭こんがらがりそうで って最初のうち結構そう思ってた。 公開鍵?秘密鍵? わからんよねー。 公開鍵とか秘密鍵っていうのは鍵交換方式認証で使うファイルで…

【MySQL】データベース内のテーブル容量を表示させるquery

今回はMySQLです。 そろそろ環境構築も落ち着いてきて、さてさてソースでも読もうかなって思っている時に、ソースだけじゃわからないようなレガシーなコードなわけですよ。 PHPなんですが$dataだったり、どういう値が入っているかコメントも書かれておらず、…

【PHP】Apacheのaccess_logにユーザIDを追加する

最近プログラムから離れてるけど大丈夫かなぁ。 ってことで今日もサーバいじいじしています。 いや、暇なんじゃないんです。 今日はApacheのログについてです。 モバイルゲームだったりだとか会員制サイトだったり、 ユーザIDが存在するサービスではKPI用に…

【Linux】CentOS6環境にPHPUnitをインストール

さて自分のプログラムもそうなんだけどテスト駆動開発って大切ですよね。 工数かかるし、テストやってると時間ねえよって状態なのは重々承知なのですが これやるだけでmethod単位で動かせてコードを担保できるのはでかいです。 実際にはテストファーストでや…