2012年6月29日金曜日

Perl Beginners #3

初心者向けといいつつ、初心者向けじゃない勉強会、
Perl Beginnersにまたまた行って参りました。

仕事で少し遅れてしまい、会場に入ってみるといきなり、
Fluentdって単語が耳に入る。

はい?Perl勉強会じゃないの?

FluentdとはログをJSONでまとめてうまいことしてくれるものみたいですね。
http://fluentd.org/
覚えておかねば。
いつも思うけどこの勉強会ってそこそこレベル高いエンジニアでPerlもちょっとはやっとくかー人達が来ているんだろうなあ。

今回のテーマはDBということで、自分としてはあまり得意ではない領域なので、
・これから習得するならまずはDBI+MySQL
・DBIをきちんと理解してからORマッパ覚えたほうがいい
・慣れてきたらmemcachedとかにも手をのばす
というアドバイスが聞けたのは良かった。

今の仕事では過去に誰かが作ったDB関連の処理をまとめたクラスを呼び出してSQL書くくらいで自分で一からやる経験が足りてなかったので。
DBだけに限らず、WAFとかでも基本がわかっていないと使いこなせなかったりいざって時に困るような気がする。

あと、後置ifでmy宣言はしちゃいけないらしい。
↓↓こんなん
my hoge = "HOGE" if (foo == "FOO");


まあifがfalseで変数が未定義になるとあとでコケたりして面倒くさいでしょうね。

次はそろそろビギナーズセッション出ようかな。
そろそろ人前でしゃべってボコられたほうがいいのかもしれない。

2012年6月22日金曜日

3月末で会社を辞めた人のお財布事情

4月からフリーランスになりましたが、今のお仕事は末締めの翌々月末払いなので4〜6月はほとんど無補給で生き延びてきました。
が、やっとお金が入ると思ったところで最後に支払いが重なってえげつないことになっています。。。
会社辞めてからこれまでのお金の流れをちょっと残しておこうと思います。
 
まず3月分の給料はがっつり減ります。
3、4、5月分の税金・年金・健康保険料等が引かれるからです。
会社が代行して納付、つまり天引きのやつですね。
辞めた後も代わりに払ってくれるわけです。
あと、余った定期代が回収されました。半年ずつ支給されていたので。
え?バイト代?って気持ちでした。

4月には3月中にやった残業の残業代が振り込まれます。
毎月振り込まれる給料は当月の基本給+前月の残業代だからです。
僕は有給消化できず、3月も残業ありだったので。
とは言え何十時間も残業したわけではないので大した金額ではなかったです。

で、支払いについては、
4月は先に払っているようなもんなので保険料とか払っていません。
5月から年金の支払いが始まり、6月は加えて住民税と国民健康保険料を払います。
住民税は4分割なので払わない月もありますが、他は基本毎月です。
まとめて払うと割引があったりもします。
なんでこういう風になるかと言うと、
所得税、住民税、年金、健康保険等、社会人が支払うべきお金は全員均等ではなく稼いだお金を元に決められていて、その計算タイミングがそれぞれ微妙に違うからです。
1年間の区切りが年だったり年度だったり、詳しくはもっと詳しい解説サイトがあると思うのでそちらでご確認を。

この辺りは年の前半で辞めるか後半で辞めるかでも変わってくると思います。
僕は3月退職なので給料から引かれましたが、6月で辞めるとなるとほぼ1年分の支払いがあるのでさすがに給料からは引けないはずです。

会社を辞める時には貯金がすごく大事です。僕も少しは貯めていましたが一気に減りました。。。

失業保険を受ける場合でも自己都合退職は3ヶ月ぐらいもらえるまで時間が掛かったと思うので、給料半年分くらいはみておいたほうがいいかもしれません。
退職は計画的に。

2012年6月5日火曜日

アプリ開発においてタブレットをサブディスプレイにするのはありかもしれない

約一年前にAndroidのタブレット端末ICONIA A500を買ってみたものの誇りをかぶってしまっていたので週に何回か出入りしているコワーキングスペースにサブディスプレイとしておいています。

そして最近気付いたのですが、この組合せ、スマホアプリ開発にいいかもしれない。
なぜなら元々がタッチパネルってことはタッチ入力できる!!
シミュレータなのに実機確認っぽく操作でき、マウスで操作するよりはましかなと思います。
 まあ最終的に実機テストは必須ですが。

Air Displayというアプリを使ってWi-Fi経由でこのとおり















拡大するとこんな感じ















設定はここで変えます

2012年5月27日日曜日

青色申告会に入ってみたが…

フリーランスになり、確定申告が必要になるので青色申告会とうものに入ってきました。
入会すると会費はかかりますが、記帳・決算指導や企業の福利厚生的なもの、共済などの各種保険があります。

僕は新宿区民なので新大久保にある事務所に行って来ました。
新大久保は普段立ち寄らないのですが、学生の時に旅行で行った韓国釜山が懐かしかった。
てかもうほぼ韓国w

事務所は平日は17:30まで、奇数の土曜の午前中に開いています。

手続きは書類に名前とか住所とか仕事内容を書いて入会金を支払って即完了です。

しかし、

なんと通っているコワーキングスペースで会計士さん(税理士資格もお持ち!)と知り合いまして、アドバイスして頂ける流れに!!

申告会は共済とか積立とかがいいなと思ってたけど、指導は予約制で開いてる時間が微妙だし、 一度も指導受けずに辞めるかも。。。


フリーランスは身体が資本なので保険は気になっているのですが、都民共済ってのもあって大差ないっぽいし。

うん、多分辞める。

2012年5月25日金曜日

Amazon Product Advertising API 署名認証ではまった

Amazonアソシエイトやってみたいなと、
こちらのAjaxTowerさんのサンプルを試してみていました。
http://www.ajaxtower.jp/ecs/signature/

しかし認証エラーになります。
Versionが"2009-01-06"だったり、今は必須のアソシエイトIDがなかったりしていたので、 そこら辺かと思い、いろいろ試してみたのですが一向に

 The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.

と返され明らかに署名がおかしい。
上記で紹介されていたエンコーダ base64.jsを下記のものに変更したところ動きました。
 http://user1.matsumoto.ne.jp/~goma/js/base64.html

AjaxTowerさんのサンプルが動かなかったという報告は見つけられなかったので、 windowsとmacの差なんでしょうかね。

これを機に文字コードをもう一度勉強しようと思いました。

2012年5月10日木曜日

Perlにはtrue/falseがない

Perlで既存コードを修正していて最近はまってしまいました。
if ($rHash->{"hoge"}) {
 if ($rHash->{"hoge"} == 0) {
  #処理
 } elsif ($rHash->{"hoge"} == 1) {
  #処理
 } elsif ($rHash->{"hoge"} == 2) {
  #処理
 }
}


$rHash->{"hoge"} にはちゃんと値が入っているのに0の時だけ処理が抜けてるのはなんでだろうと思っていたのですがPerlでは

・文字が入ってる、または、入ってない
・数字(文字)が0、または、0じゃない

で判断されてるみたいです。

ついでに調べてみるとtrueとfalseもないんですね。
http://d.hatena.ne.jp/perlcodesample/20080323/1206280262
http://www.perlplus.jp/perl/num/index5.html

既存コードは0の時も不思議なことにたまたま上手く動いてたみたいです。
definedつけて直しておきました。
if (defined($rHash->{"hoge"})) {
 if ($rHash->{"hoge"} == 0) {
  #処理
 } elsif ($rHash->{"hoge"} == 1) {
  #処理
 } elsif ($rHash->{"hoge"} == 2) {
  #処理
 }
}

この辺はもう慣れるしかないですね。

2012年5月7日月曜日

さくらのVPSを1GにしたついでにUbuntuを入れたったメモ

さくらVPS 512を解約して1Gにしました。
こちら勉強用の環境なのでマイグレーションは一切やってません。
いちいち入れ直すのもまあ勉強かなと。
なのでついでにOSも入れ直してみました。

こちらのブログを参考にさせて頂きました。
http://d.hatena.ne.jp/mickey24/20110210/sakura_vps

公式ドキュメントもあるのですね。
http://support.sakura.ad.jp/manual/vps/mainte/custom_ubuntu.html

特にハマることもなく、あっさり終わりました。