blogですかい

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

<th>や<td>にpositionの指定はできません

htmlの仕様上、<th>や<td>にpositionの指定はできません。 例えば、 <td style="position: relative;> <span style="top: 10px; right: 10px; position: absolute;">あ</span> </td> と書いた場合、「あ」は

Restricted Words (出題者 @cielavenir 氏) 反省会 #codeiq #q431

CodeIQにて出題されていた「普通じゃないHello World」の期限が過ぎ、 問題及び解答の公開が解禁されましたので、私の解答を公開します。 課題(一部抜粋) 標準出力に Hello World と出力するプログラムを作成して下さい。 ただし、数値・文字・文字列リテラ…

スマートフォン向けダム検索サイト ダムNavi(仮) 公開

本日、ダムNavi(仮)を公開しました。 http://damnavi.oh-sky.net/ ダムNavi(仮)とは 今、自分の居る場所から近いダムを検索できる、スマートフォン向けWebアプリです。 Androidネイティブアプリとして作るつもりでしたが、諸事情により妥協してWebアプリとし…

社内勉強会 Gitで後戻りする方法

Git

Sep/11/2013の社内勉強会で使用した、git checkout -- や git reset についての説明資料。 これらのコマンドは何となく使ってはいたけど、資料を作成するにあたって改めてちゃんと調べることで、HEAD/インデックス/ワーキングツリー等について頭の中を整理で…

JavaScriptのDateオブジェクト ブラウザによる動作の違い

GoogleChrome 28 hoge = new Date('2013-9-4'); Wed Sep 04 2013 00:00:00 GMT+0900 (JST) hoge = new Date(2013,8,4); Wed Sep 04 2013 00:00:00 GMT+0900 (JST) Firefox 23 hoge = new Date('2013-9-4'); Invalid Date hoge = new Date(2013,8,4); Wed Sep…

艦これのAPIを直接叩いて操作しようと思ったけどやめた話

やりたかったこと 寝ている時や仕事中などゲームをプレイできないとき、Jenkins提督に遠征の指揮を執ってほしかった。 Jenkinsがコマンドを実行することにより、帰投した艦隊の受け入れ、補給、遠征への出撃を定期的に行ってくれるイメージ。 これを実現する…

Mac OS XでNFSサーバを立てる方法

/etc/exports を作成する 書式:/PATH/TO/SHARING/DIR -mapall=${uid}:${gid} ${ipaddr} 例えば、IPアドレス192.168.123.45のホストに、UID501,GID20のユーザとして、/var/nfs/exports のマウントを許可するなら /var/nfs/exports -mapall=501:20 192.168.12…

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の最上位で実行する必要がある。