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