2013年3月25日月曜日

1年経つので振り返る

フリーランスプログラマになって1年が経つ。
退職時はこんなエントリー書いてたw
http://take4k.blogspot.jp/2012/03/blog-post.html
業務だけじゃなくてプライベートな時間に自分で勉強したりもしたけど、SIerで働いた3年間、Lotus Notesの仕事しかできずスカスカの職務経歴書で苦戦した転職活動を思うと、この1年で出来るようになったことがそこそこ多くてびっくりしている。
会社や担当業務の違いで(もちろん本人の努力もあるけど)3年間ですごい差になる。
環境すごい大事。
改めて辞めて良かったと思っている。
スタートは遅れたけど頑張って前に進まねば。

仕事でやったり結構それなりに使えるようになったもの等を感想交えてつらつら書いてみる。

Java
StrutsとかSeasar2とか。
記述量が多くて大変だけどJavaで動いてるシステムはまだまだ結構あるみたいで、
覚えとくと食いっぱぐれない確率は上がりそうだと思った。
あとデザパタ勉強した時やちょっと古い書籍のサンプルが主にJavaだったので、Java読み書きできてよかった。

Perl

mobasifっていう今や作った人たちも捨てようとしているWAFで仕事した。
オブジェクト指向はうーんって感じだけど、CPANのおかげでちょっとしたスクリプト書くには便利だと思う。
今の仕事が決まった頃ちょうどビギナー向けの勉強会が始まったので何回か行った。
Perl書くならやっぱりHachioji.pmに行っといたほうがよいらしい。

JavaScript
jQuery,prototypeが混在してる環境で苦しんだけど勉強になった(ノД`)シクシク
そしてIE爆発しろと何度も思った。
Jsは好きじゃないけどwebの仕事やる上で避けられないのでこれからも勉強しないと。
Nodeは便利そうなのでちょっと手を出していきたい。

Linux
担当サービスはCentで動いていて勉強用にプライベートのVPSにUbuntu入れて動かしてた。
基本的なコマンドは身についてきたしコンソールでの作業にも慣れた。
奥が深いのでコード少しずつ読んだりして今後も勉強していきたい。
最近Vagrantを覚えたので捨て環境作り放題だし。
DB
超基本的なSQLしか書けなかったけどある程度は書けるようになった。
ORマッパとか使うのでちょっと複雑なSQLしか書く必要がないというのはある。
チューニンガソンに1回出てみたけどチューニングはまだよくわからない。

バージョン管理
前職では何もなかったけど今では無いと生きていけない。
現場ではSubversionだった、一応プライベートでGitも勉強しておいた。
徐々に現場もGitに移行しているみたい。

Vim
カスタマイズが楽しい。
マシン性能が上がってるからeclipseとかIDEでいいやんと思っていたけど、
全然そんなことはなかった。
エディタ使いこなせると生産性全然違うなと実感。
自分はまだまだだけど。

TDD
TDDBCのために大都会まで行った。
もちろん勉強になったし地方でも頑張ってる人たちと会って刺激を受けた。
テストはフレームワークもテストそのものも、覚えることはたくさんあって
まだちゃんとやれてない感があるけど、地道に続けてちゃんとやりたい。

スマホ
TitaniumでAmazonアソシエイト使ったアプリ作ろうとしてた。
依頼主が沈黙したので放置中だけど。。
一応iOS、Android両方出来るけど重いし、環境毎にコード分ける必要があることがわかった。
次回何かアプリ作る時はネイティブで書くかなあ。それかHTMLか。

他にもHeroku(Rails,Scala),Jenkins、Python等
動かしただけとかドットインストールやっただけとかはいっぱいあるけど、
これからは深堀りが必要だろうなと思う。

フリーランス2年目もふわっと頑張ろっと。

2013年3月21日木曜日

Backbone.jsを勉強してみて

いつも勉強させてもらってるドットインストールさんにBackbone.jsがきたのでやってみた。
『Backbone.js入門 (全22回)』をドットインストールに追加しました #dotinstall

他にも2011年のBackbone.js Advent Calendarでtaka84u9さんがまとめてくださっている
入門記事がわかりやすい。
http://qiita.com/items/16b799d0ec0a0ae3f78e

eventやったり、ajaxでデータとってきたり、といろいろやっているうちにjsもhtmlもごちゃごちゃしてきてしまうため、Backbone使うと整理できていいのかなと思っていたが、
こちらの記事を読んでもっと便利に使うことが出来ると知った。
Backbone.jsを薦める3つの理由

動的な部分はBackboneで制御すればよいので
サーバー側はAPIとしてjsonとか返すことに専念すればよく、
クライアント側はjs周りとデザインだけなのでアプリとして完全に分離できる。

WAFのテンプレートでhtmlまで作らなくてよいので、
重くなってきたからJavaに移行するみたいなことも楽になる。

html,css,jsはnginxに置けるので高速化もできそう。
というか↓みたいにAmazon S3に置くのもありではないか。
Railsアプリケーションを公開するならAssets on Cloudパターンを使おう

うん、Backbone.js便利だな。

2013年3月13日水曜日

cygwinでvimprocのコンパイル

cygwin上のvimでvimprocを使おうとしたがコンパイルが出来なくてはまった。

http://d.hatena.ne.jp/yosshi_tw/20110430/1304142376
こちらを参考にしてgcc4、g++4を入れてリンクを作成してもうまくいかない。
エラーは以下。

$ make -f make_cygwin.mak
gcc -O2 -W -Wall -Wno-unused -use=gnu99 -shared -o autoload/vimproc_cygwin.dll a          utoload/proc.c -lutil
/usr/lib/gcc/i686-pc-cygwin/4.5.3/cc1.exe: error while loading shared libraries:           cygmpfr-4.dll: cannot open shared object file: No such file or directory
make_cygwin.mak:9: recipe for target `autoload/vimproc_cygwin.dll' failed
make: *** [autoload/vimproc_cygwin.dll] Error 1 

どうやらlibmpfr4が足りないらしく、apt-cygで入れるとコンパイルできた。
http://hiro99ma.blogspot.jp/2011/11/cygmpfr-4dlllibmpfr4.html

2013年2月28日木曜日

初確定申告

全然ブログ書いてないので一個軽いのを。

フリーランスになって年を越したので確定申告をしました。
会計知識はほとんどありませんでしたがなんとかなりました。

皆藤愛子さんのパッケージに一目惚れして買った弥生の青色申告のおかげです。
年配の利用者が多いのか説明書が分厚く丁寧に書かれているので、この他に書籍を買う必要は特にないかと思います。
クレジットカードで支払った場合、生活費を払った場合等のよくあるパターンの仕分けの仕方も説明書に書いてあります。
それでもわからないことはグーグル先生に聞きましょう。

節税対策はきたみりゅうじさんの本を参考にしました。

税務署への提出は直接か、郵送がいいと思います。
弥生の青色申告で印刷まで出来るので。
僕はe-taxを使ってみたのですが、お役所のシステムはやっぱり使いにくかったです(;´Д`)

最後に、1年分まとめて処理するのは大変でした。。
取引や買い物があった時に逐一入力していくのはすごく大切です。
飲食や小売の方は厳しいかもしれませんが、プログラマの場合取引が少ないので慣れれば会計ソフトなしでも大丈夫かもしれないなーと思いました。

2012年12月31日月曜日

2012年を振り返る

ブログさぼりまくっているけど年末なので書いておこう。

2012年はまあいろいろありました。
とにかく会社を辞めてフリーランスになったこと、これが大きい。
3年間LotusNotesしか触れない現場にいて、他の現場でやれるのか不安も大きかったけど、
決断とチャレンジをして本当に良かったと思う。

職務経歴とか経験言語とかその辺りに今まではNotesしか書けなかったけど、
とりあえず今ではJava、Perl、Javascriptが書ける。
あの3年間は何だったんだと思ってしまう。

JavaもPerlも全然実績がなかったけど、なんとかやっている。
改めて仕事をくれたウサギの社長さんや僕を使ってくれている今の現場の皆さんには感謝したい。

まだまだスキル不足だとは思っていて、上記言語も使いこなせてるわけでもないので今後ももっと勉強したい。
TDDとかアジャイルとか勉強会には行くもののあまり実践出来ていないので出来るようにしていきたい。
あと2013年はへび年だからPythonを覚える。

プライベートでは1年と10ヶ月でルームシェアライフが終了したのが大きい。
沢山のモヤモヤした人が集まる素敵な場所だった。
ここでITも政治経済もアニゲー、アイドル、シモネタまで幅広く大いに語り、笑いまくった。友達から刺激やチャンスをいっぱいもらった。あの家に住むことで転職も彼女も出来たと言っても過言ではない。
次はもっとでかい20人規模のシェアハウスだけどこっちでも楽しくやっていけそう。
ただ、あんなに濃い話はできないんだろうな。

目標の一つだったフルマラソンは走れなかった。30Kも途中歩いてしまい微妙だった。
来年は走りたい。

2012年は変化が多い年だった。良い方向に。
2013年はとにかく前に進んでいく年だと思う。

2012年11月5日月曜日

さくらVPSのubuntuをアップグレードしてドハマリちう

しばらく10.04だったのを何気なくsudo do-release-upgradeで12.04にアップグレード開始。

お勉強用のサーバーだから壊れても大丈夫なんだけど、すぐにとても後悔することになる。

アップデートのノリじゃダメ絶対。



サーバーサイドの作業では基本だと思うけど

事前に落とし穴はないか下調べをしておく(誰かが踏んでいるはず)

何をやったか手順を残す(原因追求)

ってことは見に染みた。



まずはブートローダーの設定

http://www.machu.jp/diary/20120609.html#p01

こちらのエントリーが参考になった。



どこかで設定を間違ったようで全く起動しなくなってしまったので

さくらVPSのコントロールパネルからカスタムOSインストールで復旧。

メディアを入れて再起動してレスキューモードで立ち上げるイメージですね。




次はDNS。これはまだ未解決。

どうやらresokv.confの生成方法が変わったもよう。

http://mitaka1954.cocolog-nifty.com/blog/2012/05/ubuntu-1204-des.html

pingもどこにも通らない状態。



/etc/network/interfacesという所にdnsサーバーを指定してやればいいらしいけど、

再起動しても効かず。

http://d.hatena.ne.jp/namtcerid/20120531/1338439894



とりあえずresokv.confに直書きした。再起動すると消えるらしいけど、なんとか使えている状態。

早くどうにかしたい。

2012年10月27日土曜日

perl beginners #5

perl beginners #5に行ってきたレポートというか、出てきたトピックのあとで読むメモ。


Router::Simple
http://search.cpan.org/~tokuhirom/Router-Simple-0.13/lib/Router/Simple.pm

mojolicious
http://mojolicio.us/
https://github.com/yuki-kimoto/mojolicious-guides-japanese/wiki/Mojolicious

B::Deparse
http://perldoc.perl.org/B/Deparse.html
http://blog.livedoor.jp/dankogai/archives/50761629.html

あと、環境変数もまだまだ覚えていないのが多いなあと思った。
http://www.geocities.co.jp/SiliconValley-Sunnyvale/6128/perl/evalue.html

懇親会では今年のYAPCはあーだったこーだったトークが多かったので
来年こそは行こうと強く思った。