DC4

出社を自動化した。

毎朝Webシステムの出社ボタンを押すのが辛かったので自動化しました。

ruby gem の Thormechanize を使用して出社ボタンを実行するスクリプトを実装し、

AppleScriptでこんな感じのウインドウを表示させてそのスクリプトを実行するようにしました。

f:id:Yasun:20150207134327p:plain

上記スクリプトAutomatorで実行できるようにし、

f:id:Yasun:20150207135450p:plain

システム環境設定 > ユーザーとグループ > ログイン項目を開いて、先ほど作ったAutomatorを指定すると完成。

退勤が自動化できていないのが課題。

2014年振り返り

Perl

前年から引き続きPerl書いてました。

PerlでWebアプリをリリースした。

仕事ではバッチ系の処理が多かったのですが、 プライベートでmojoliciousやRedisを使ったWebアプリを作成しました。
スマホ対応をやってみたりとしたのですがあまり人が集まらず早々に閉鎖しました。
後述するLTのネタとかに繋がったので良かったです。

ダークソウル2のマッチングサイト

iPhoneアプリをリリースした。

仕事ではあまり触れない分野に挑戦しようとcocos2d-xに挑戦しました。
途中心が折れそうになりましたがなんとかリリースまで辿り着けて良かったです。

まさかの指がシリーズ化。

cocos2d-xでゲームをリリースしてみた。

LTに登壇した。

初めて社外でLTをしました。
今後も積極的に参加したいです。

Gotanda.pm #2 でLTしてきました。
#chibapm 5でLTしてきました。
Genesis Lightning Talks vol. 48

ISUCONに挑戦した。

ISUCON4予選にGo(?)で参加しました。
初参加でしたがとても楽しめました。

ISUCON4予選に参加しました。

RubyRailsを始めた。

RubyRailsを始めました。とても楽しいです。

Rails、Ruby関係で最近読んだ本まとめ。
RailsでYasubeeFriendsを作った。
Rails4.1で世界の写真を表示するやつを作った。

草活動を始めた。

f:id:Yasun:20141231185321p:plain

いい感じで習慣化してきました。
この調子で続けて行きたいです。

社内スタートアップ的な事をして失敗した。

社内で新規サービスの立ち上げに携わりました。
そして色々あって失敗しました( ˘ω˘)
とても貴重な経験をすることが出来ました。
ぐぬぬ

まとめ

来年もがんばるぞい。

今年やった英語の勉強。

ほんとダメすぎて泣けてくるので去年くらいから少しずつやってます。

書籍

ひとつずつ すこしずつ ホントにわかる 英語シリーズ

とても!わかりやすいです。
しかも動画まであります。
中1〜中3で全部買いました。
外で広げるには少し勇気が必要です。

くもんの中学英文法―中学1 〜 3年

くもんの中学英文法―中学1?3年 基礎から受験まで (スーパーステップ)

くもんの中学英文法―中学1?3年 基礎から受験まで (スーパーステップ)

中学時代に英語をしっかりやっていた人はきっとスラスラ読めると思います。
私は上記のホントにわかるシリーズでおさらいして読むと丁度良かったです。

カラー版 CD付 中学3年間の英語を10時間で復習する本

ネットの評判が良かったので買ってみましたが、私には合わなかったです。

アプリ

iKnow

f:id:Yasun:20141231155303j:plain

200時間達成した!!
いい感じに習慣化しました。

Podcast

あまり聴けてないです。

今後

まずは積んでしまっているこれを読もうと思います。

来年こそはTOEICに再挑戦したいと思います。

Rails、Ruby関係で最近読んだ本まとめ。

11月中旬より業務でRailsの開発をやる事になったのですが、Rails未経験でRubyHello World状態でした。
周りにRails経験者も居なかったためこれはヤバイぞと思い、色々な本を読み漁りました。
その際に読んだ本と感想をまとめました。以下読んだ順番で掲載しています。

はじめてのRuby

初めてのRuby

初めてのRuby

他の言語を知っている人が最初に読む本としておすすめされていたので最初に読みました。 Rubyのバージョンが1.8と少し古いですが、学習の際は問題ありませんでした。 Rubyの特徴をざっくりと理解できてました。

Ruby on Rails チュートリアル

Ruby on Rails チュートリアル

Ruby on Railsの入門として実施しました。
Rails開発に必要な事が網羅的にTDD形式で学べました。
このボリュームで無料とは凄いですね。

パーフェクト Ruby on Rails

パーフェクトRuby on Rails

パーフェクトRuby on Rails

最近の開発で使用されているGemや環境を周りを含めた情報を知りたかったので読みました。
アセット周りのSprockets、Turbolinks等の情報がまとまっていたり、開発に必用なGemのトレンドを知ることができました。
特に6章のRailsアプリケーション開発ではイベント告知アプリケーションを作りながら、実際の開発にもよく登場する以下の実装を体系的に学ぶことができました。

  • OmniAuthによるTwitterログイン
  • Ajax周りの実装方法
  • kaminariによるページャー
  • ransackによる検索機能
  • carrierwaveによる画像アップロード

その他にもminitest と RSpecの比較、Vagrant、Chef、serverspec、RackなどRailsを取り巻く環境を含めて広く学ぶことができました。

Everyday Rails - RSpec による Rails テスト入門

Everyday Rails - RSpec による Rails テスト入門

簡単なRailsアプリをいくつか作成してみてRSpecやCapybaraの構文を調べるのに時間を費やしたり ベストプラクティスがわからなくて悶々としていたので読みました。
Rails 4.0 / Ruby 2.0 / RSpec 2.14 に対応していてとてもわかり易かったです。
コントローラスペックやRSpec 3についても触れられている点も中々見つからない情報なので助かりました。
内容について変更が発生した場合でも、無料で最新版をダウンロードする事が可能です。

パーフェクト Ruby

パーフェクトRuby

パーフェクトRuby

Rubyの言語仕様、メタプログラミングSinatraを使用したWeb開発、Bundler等のツールと幅広く紹介されています。 先頭から読み進めるのではなく、机に常に置いておくリファレンス本として重宝してます。

メタプログラミング Ruby

メタプログラミングRuby

メタプログラミングRuby

ライブラリのソースを読むためにはメタプログラミングの知識が必用だと聞いたので読みました。
読む前までとても難しい内容と思っていました。
いざ読んでみるととてもわかり易く解説されていて、前半がストーリー仕立てだったのでスラスラ読めました。
モジュールのincludeやextend、特異クラス、特異メソッド等、解説を見るだけでは中々理解できない部分がスッキリしました。
各所でクイズが出題されるのも理解度が測れて良かったです。
ただ、師匠と弟子のくだりがよく分からないままでした・・・。

リファクタリング Ruby エディション

リファクタリング:Rubyエディション

リファクタリング:Rubyエディション

Rubyで良いとされる書き方のお手本を見てみたいと思い読みました。 オリジナル版を読んだことが無かったのでとても勉強になりました。

様々な臭うコードの嗅ぎ分け方と解決案が載っていているので開発中に何度も読み返したいと思います。

  • リファクタリングは機能を追加しないように努力する。
  • パフォーマンスを意識するのは開発後期の最適化段階に入ってからだ。

といった基本的な部分にも思い当たる所があるので今後は注意しようと思いました。

その他

始めたタイミングでRspec3が登場してて検索で出てくる情報とのギャップに混乱しました。
Rspecではfeature、request、controllerの使い分けにとても悩まされたのですが、このQAを見たり、歴史を調べる事で理解できました。

現在

エリック・エヴァンスのドメイン駆動設計

エリック・エヴァンスのドメイン駆動設計

設計について中々しっくりこなくて、 どうするべきかとか考えてたらこの記事に出会ってDDD読んでます。
圧倒的ボリューム。

今後

前々から気になっていた Rubyのしくみ -Ruby Under a Microscope-

来月発売する Effective Ruby

先輩に進められた UMLモデリングの本質 (日経ITプロフェッショナルBOOKS)

とかを読もうと思っています。

RailsでYasubeeFriendsを作った。

引き続きRailsの勉強中です。

私はつけ麺屋やすべえが好きすぎて週に平均して1、2回は行くのですが、その度に写真を撮っています。
この写真を有効活用できないものかと考え、作成に至りました。

#ysdubeefriends

f:id:Yasun:20141108180856p:plain

#ysdubeefriends

github

困ったこと。

開発中に困ったことを幾つかメモ。

Nokogiriのインストールエラー

capybaraを利用する際に必要となるnokogiriなんですが、install中のエラーにハマりました。
ググってみると同じ症状な人が多くて、大半はlibxml等が入っていないため、brewで予め入れるといけた。っていう方が多かったのですが、自分の場合はCommand Line Developer Toolsが存在しなかった事が原因だったみたいでした。 http://qiita.com/yuku_t/items/30015dba2b6497b80074

herokuではcronが使えない

herokuでcronのようなスケジューラーを使用する場合は、
Heroku Schedulerというアドオンを使用する必要があります。
https://addons.heroku.com/scheduler
こちらのアドオンは導入自体は無料ですが、起動されるプロセスに関しては動作時間あたりの課金になるとの事。

spec配下のfeatureとrequest

capybaraを用いたエンドツーエンドテストを実装する際に、
毎回featurerequestのどちらに配置すればいいのか迷ってました。

これについては以下のQAがとてもわかり易かったです。 http://qa.atmarkit.co.jp/q/2680