blogですかい

株式会社Loco Partnersに勤めるエンジニアうちの一人のブログ。仕事、プライベートで学んだことなどを発信し、その内容がたとえ少数でも誰かの役に立ったらなら、それはとっても嬉しいなって

RDS MySQLインスタンスにてトリガを設定する

RDSのMySQLインスタンスにてトリガを作成するには MySQLでは、binlogを出力する設定になっている場合、SUPER権限を持つユーザでないとトリガやファンクションを作成できない。 RDSのMySQLインスタンスは、リードレプリカの有無に関係なくbinlogを出力する設…

ApacheでHTTPSのReverseProxy設定

例えばhttps://proxy.example.com/へのアクセスをhttps://hostname.example.com/へ転送したいときのVirtualHost設定は下記のようになります。 [prompt]$ sudo vi /etc/apache2/sites-available/proxy.example.com =========================================…

PostfixでメイルのSubjectを書き換える方法

Postfixの header_checksという機能を使います。 header_checksを使うと、ヘッダに任意のパターンを含むメイルをREJECTしたり、REDIRECTしたり、ヘッダを書き換えたりすることができます。 例えば、本番サーバと開発用サーバがあり、開発用サーバからのメイ…

PHPのSoapClientで、名前空間の接頭辞をns1から任意のものに変えたい場合

PHP

Debianで必要なコマンドがどのパッケージに入っているか調べる方法

ググれば大抵の場合解決するんですが、どうしても自己解決しなければならない場合に 1 まず apt-file をインストールし、データを更新する。 [prompt]$ sudo aptitude update [prompt]$ sudo aptitude install apt-file [prompt]$ sudo apt-file update 2 そ…

Facebook AppからユーザにNotificationを投げる方法

Notificationとは こういうの 公式ドキュメント PHPでの実装例

DebianにてaptでインストールされたPHPのビルドオプションを確認する方法

インストールされているPHPがどんなオプションでビルドされたか確認したいとき、mod-phpであればphpinfo()、cliであればphp -iなどを使うのが一般的です。 が、Debianのaptでインストールした場合、phpinfo()やphp -iではConfigureオプションは出力されませ…

EmacsのPHP-modeのインデント設定

今まで2タブにしていたのを4タブにしようと思って (add-hook 'php-mode-hook '(lambda() (setq tab-width 2) (setq indent-tabs-mode t) )) ↑の設定から (add-hook 'php-mode-hook '(lambda() (setq tab-width 4) (setq indent-tabs-mode t) )) ↑の設定にし…

JenkinsでWebサーバの死活監視をする

ダウンしたっていいじゃないか サーバだもの という詩にあるように、どんな強固なサーバでも停止してしまうことがあります。 サーバが停止しないような策を講じることはもちろん大事ですが、停止してしまったときの対応も同様に重要な課題です。 悪意のある…

JSONPはページとAPIのドメインが分かれても通信できますけどAjaxは同じドメインでないとできないんですよ

漢字のよみがな検索システムであるよみたんがAPIを提供しているということで、使ってみた。 が、初心者かと思われるような落とし穴にハマったので、自分への戒めのために、ことの次第を記す。 ハマったポイント 曰く APIなのでAjaxなどから呼び出して使うこ…

低コストで魔まマUPty特典を入手する方法

上の画像のようなデザインの魔法少女まどか☆マギカ MasterCard UPtyというクレジットカードがあり、たまたま私も所有しています。 このカードには上記のような特典があります。が、このカードを作って半年以上経つ今も未だ、その特典を受けたことがありませ…

FiddlerをMacで使う方法

Fiddler とは FiddlerはMicrosoftが無料で配布しているWebProxyで、通過するHTTPの通信を覗き見したり、特定のリクエストに対してローカルファイルを返すようにしたり、いろいろゴニョゴニョできます。 +---------+ HTTP +---------+ HTTP +-----------+ | b…

楽天スマートペイ加盟店になりました

私(個人)、楽天スマートペイの加盟店になりました。 私への金銭の支払い時(例えば飲み会での割り勘など)に、VISA/Master/楽天カードをご利用いただけます。 楽天スマートペイとは スマートフォンがクレジットカード決済端末になるというステキシステム。 …

【GIT】リモートリポジトリのブランチを削除

Git

リモートのブランチの削除をするたびにやりかたを調べていたので、備忘録的に・・・ ブランチの作成 ≧['_']≦ $ git checkout -b 'do-luck' リモートリポジトリにブランチをpush ≧['_']≦ $ git push origin do-luck ブランチの削除 ≧['_']≦ $ #ローカルブラン…

Google Compute Engine でLAMP環境作ってみた #PHPで何か作ろうかい

事前準備 https://cloud.google.com/ にSign in Cloud ConsoleにてProjectを作成 Billing Settingにてクレジットカードの登録 インスタンスを立てる Compute Engineのメニューにて、「NEW INSTANCE」ボタンをクリック 下記のように、フォームに必要な情報を…

Amazon EC2 t1.micro インスタンスでswapを使用する

m1.small 以上のインスタンスにはswap用のデバイスが存在し、デフォルトでswapとしてマウントされるようですが、残念ながらt1.microインスタンスにはそれがありません。 t1.microインスタンスでの free コマンド実行結果例 $ free total used free shared bu…

猫の手を借りて仕事をしてきた

モフサイト開発 弊社株式会社LocoPartnersには「オフサイト開発」という制度があり、月に一度、自分の好きな場所で仕事をすることができます。 今回、私が選んだ場所は、猫のいる休憩所299という猫カフェです。 そして猫カフェで開発する事をモフサイト開発…

PHPで aタグ以外をサニタイズする方法

PHP

フォームの値を受け取るときやスクレイピングなどで「<a></a>以外のタグを消し去りたい」って事がありますよね。 それをスマートに解決する方法があるんです、そう、PHPならね。 php > $str = '<div><a href="hoge">hage</a></div>'; php > echo strip_tags($str,'<a>'); <a href="hoge">hage</a> とまぁ、こんな感じで、</a>…

エンジニアが「好き」と伝えるAPIを実装してみた

きっかけ @oh_sky 実装出来たら教えてください(o⁰⊖⁰o)記事にします。—ともチャンさん (@tb_bot) 2013年4月19日 正直なところ、ツイートした時は実際にやる気などなかったが、返信をいただいてやらなければならないような気がした。 備えあれば憂い無しと言う…

【SQL】 NULLを四則演算した結果

SQL

SQLで数値とNULLを四則演算すると、NULLになります。 例えば NULL+1 をやってみると mysql> SELECT NULL+1; +--------+ | NULL+1 | +--------+ | NULL | +--------+ 1 row in set (0.01 sec) ってな感じ。 その仕様を忘れている時があって(というか、NULL値…

trackされてない新規ファイルをまとめてgit add するスクリプトを書いた

Git

gitでtrackされていない新規ファイルだけaddするコマンドってあります?— kenjisさん (@kenji_s) 2013年4月18日 このツイートを拝見し、確かにそのようなコマンドは無いような気がして、そういう動作をするスクリプトを書いてみました。 #!/bin/bash UNTRACK…

スラブ圏で女性が結婚した時に名前を変化させるストアドプロシージャ #mysqlcasual

注意 名前に関する本文の記述は不正確なものです。 コメント欄もご覧ください。 MySQL Casual Talks Vol.4へ参加してきました。 最も印象に残った話の一つが@meijikさんの、スラブ圏では女性が結婚すると苗字に '-ova' が付くという話。 例えば Ryoko Tamura…

【Git】submodule付きリポジトリのclone

Git

submodule付きのリポジトリを git clone しても、submoduleのcloneはされない。 submoduleをcloneするには $ git submodule init $ git submodule update とする。 なお、上記コマンドはworking treeの最上位で実行する必要がある。

禁止しているステートメントがGitリポジトリ内に含まれていないかJenkins氏に監視させる

ウチのシマじゃその関数は禁止じゃけぇの 弊社ではvar_dumpの使用を原則禁止にしている。 デバッグのために入れたvar_dumpをリリースコードに残してしまうという事故を無くすためである。 でも手軽に使えて便利だし、「一瞬だけだから」と思って使ってしまう…

SqaleでCakePHPが使い難い件

What Is Sqale? paperboy&coの提供するPaaS http://sqale.jp - RubyとPHPが使用できる - 日本のサービスなので、公式ドキュメントが全て日本語で書かれている 何が問題か /home └/sqale └/current ← ここがgitのroot └/public ← ここがDocumentRoot ディレク…

CakePHP2.xでdatabase.phpの設定を取り出す方法

Controller等でRDBへの接続設定を取り出したいときに $database_config_name = 'default'; App::import('Model','ConnectionManager'); $db = ConnectionManager::getDataSource($database_config_name); echo $db->config['host']; echo $db->config['login…

スジ田中 twitter始動

全世界のスジ田中ファンの皆様、お待たせしました。 皆様が愛してやまない、あのスジ田中の非公式Twitterが本日より動き出しました。 平日の朝9:00に、日替わり丼とお惣菜・汁物のメニューを、皆様にお知らせします。 (定休日:土日祝) 日頃からスジ田中を利…

色彩の与えるインパクト

人の目が感じる事のできる情報としては、物の形状・位置関係・色などが挙げられると思う。 そのうち形状や位置関係については、目でなくても感じる事が出来るが、 色は恐らく目でなければ感じる事ができない。 文学的な表現や色の無い漫画、写真、映像を見て…

CakeEmailクラスでenvelope fromを指定する方法

CakeEmail::returnPath()の罠 CakeEmailクラスには $_returnPathというプロパティを操作するreturnPath()というメソッドが用意されているが、 何故かこのメソッドで設定した値は、送信時のEnvelope Fromに反映されない。 'transport'=>'Mail'の場合 transpor…

Amazon SESをrelayhostとして使用するためのPostfixの設定

PostfixからSESにメールを投げる方法は2種類ある - STARTTLSを使用する方法 - SMTPsを使用する方法 Postfix自体の設定はSMTPsを使う方がシンプルであるが、 SMTPsを使用する場合はStunnelという別のデーモンが必要になる。 STARTTLSはPostfixだけ(別のモジュ…