Hatena::ブログ(Diary)

130単位

2013-09-09

JS勉強会しました #mtsmhack

準備不足でコンテンツ未定なままだったのは反省点ですが、パーフェクトJavaScriptの一部を読んだりしました。

パーフェクトJavaScript

477414813X

全部読んだわけではないのですが印象などを。

  • ボリュームすごい
  • プログラミング初心者向けではない
  • 業務で必要な人はクライアントサイドJSを説明したPart3から読むといいかも
  • 前半のPartは基礎の理解と掘り下げに
  • 後半のPartは必要な際にリファレンスとして使うのがいいかも
  • jQueryの情報は1.6.2対象で若干古い
    • 例えば1.7からの .on()メソッドに対応してない

JavaScriptの学びかた

せっかくなので参加者のみなさんにJavaScriptをどうやって学んだか聞いてみました。

あらためて思うのは、JSを業務で使うにはHTMLCSSも理解しないといけませんし、これ読んでおけばいいという1冊を求めるのではなく、何冊か交互に読んだりして実践の中で身に付けるのがいいんじゃないかと思います。自分はJavaScript/jQueryに慣れたと感じるまでは約1年かかった気がします。

その他


4774153761
ノンプログラマのためのJavaScriptはじめの一歩 (WEB+DB PRESS plus)

477415489X
JavaScript徹底攻略 (WEB+DB PRESS plus)

関連記事

2013-08-21

abrAsus "薄い財布" を買いました

購入動機

10年以上長財布を使ってきていましたが、なんとなくコンパクトな財布に変えたくなりました。

  • たまにポケットから落ちることがあった
  • 海外だと多数のカード入れは必要ない
  • シンプルライフ志向

あたりが理由です。

薄い財布

目をつけたのがこちらの"薄い財布"。

購入まで

  • その前に買ってみたマネークリップにうんざりする
    • 裸でへたった札の見た目が残念/小銭入れはやっぱり欲しい
  • 同ブランドの 薄い財布/小さい財布/旅行財布 どれも魅力的で迷う
  • 実物を見に行く
  • 実際触ってみて、商品は薄い財布に決める
    • 小さい財布は札につく2箇所のクセが少し厄介そうだった
    • 旅行財布は収納量も多く捨てがたかったが、コンパクトにしたい意志を優先した
  • あとはどの種類・柄にするか

写真

f:id:deeeki:20130808135428j:image

f:id:deeeki:20130808135549j:image

f:id:deeeki:20130808135856j:image

f:id:deeeki:20130808142537j:image

f:id:deeeki:20130808142927j:image

札/小銭/カードを入れても薄いです。

感想

  • コンパクトさが快適
    • 前ポケットに入れても違和感ない
  • 小銭入れを開いたときはそれなりに不安定
  • 小銭は入れ過ぎると閉じたとき跡が浮かぶ
  • カードは4-5枚まで入る
    • 主要なカードを入れるには十分な量
    • 閉じたままでSuica読み取り問題なし
  • サブのカード入れは用意したほうがいいかも
  • 革の質や高級感は通常版/ブッテーロレザーよりも上な印象

使用し始めて2週間ほどですが、おおむね満足しています。たまに利用機会のある入りきらないカード類に関しては試行錯誤中なのですが、できるだけ薄い財布のみでの運用を目指したいと思います。

以上、タカシマヤ限定版の紺の写真がWeb上にほとんど存在しなかったこともあり、記事にしてみました。購入検討されている方のご参考になれば幸いです。

リンク


abrAsus アブラサス 通常版


abrAsus アブラサス タカシマヤ限定版 紺

2013-07-06

フィリピンでMinaの開発者と会いました

Mina

約1年前にデプロイツールCapistranoの対抗として登場したMina。自分も少しだけ使ったことがありました。ただ最近は開発がアクティブでなかったため、Capistranoでいいじゃんとツイートしたこともありました。そんなMina、フィリピン発なんですね。

で、自分が今フィリピンにきていて、Minaを現地エンジニアとの話のきっかけにしたりも何度かしました。そして開発者の GitHub followers が500超なのを見るに、Nadareiというチームはおそらくフィリピンで一番いけてるエンジニア集団なのではないかと勝手に想像してました。そんないけてる開発者と、あわよくば会えたりしたらいいなあと思っていました。

Manila.js meetup

Mina開発者が発起人でもあるManila.jsというコミュニティ。月イチでミートアップを開いていて*1、たまたま当日の開始1時間前に気づくことになったんですね。

Manila.js JavaScript meetup 016

チケットはSOLD OUTだったんですが、インターンの縁を利用して参加可能か確認して、勢いで参加してみました。バスとジプニーを計4台乗り継いでなんとか辿り着いたときには既にイベント終了間際でした。発起人 @rstacruzJSクイズを出してノベルティをプレゼントしてました(jQueryの最新バージョンは?とかEmber.jsの開発者は?とか)。

f:id:deeeki:20130705045610j:image

Recorded videos

Talking w/ authors

イベント終了後、これまたありがたいことにインターン先エンジニアに仲介してもらって、@rstacruz 、そしてチームメンバーでMinaメイン開発者である @mikong と話すことができました。

  • 忙しかっただけで開発意欲はあって、つい最近Issue処理を再開したこと
    • "please be patient" といわれた
  • submodule対応のpull reqを送ったことがあること
  • 本番環境で使っているか?と聞かれて、いや趣味でだと答えたこと*2
  • チームでは基本的にRailsアプリを開発していること
    • でも最近はアプリの8割くらいJSを扱ってたりすること
  • どうやってインターン先を見つけたのかということ

衝撃だったのは、"マイナ"だと思っていた読み方が実際は"ミーナ"だったことでした。

それにしても、先にプロダクトの利用、PRがあったのちに、こうしてリアルに海外のエンジニアと会って話せるというのは感慨深いものですね。もっとこういう体験をしてみたいと強く思いました。できればプロダクト提供側としても、というのと、技術的な深い話もできるよう英語力を上げていきたいですね。

JSConf.asia

今年の11/28-29にマニラで開催予定だそうです。興味のある方は行ってみるといいんではないでしょうか!(スピーカーも募集しているみたいです)

関連記事

*1:今月で4回目

*2:実際は既にCapistranoに置き換えたのだけど

2013-06-28

フィリピンでエンジニアインターンしました

f:id:deeeki:20130628153722j:image

経緯

  • 1年前の留学時、IT企業の面接を体験してみたかったができなかった
  • そもそもお試しで英語で短期間働く体験ができたら理想的と考えた
    • 今回は2ヶ月の滞在に決め、後半の1ヶ月間を目標にした
  • 現地イベントでLTしたことでできそうな手応えを得た
    • 英語はそこそこでも、特に母国アドバンテージもあるRubyならいけるのではと

会社探し

  • 留学先のバギオではRubyを扱う会社は全く見つからなかった
  • マニラで探すことにした
    • あとから気づいたけどバギオという地域自体がマニラの何分の一かの狭さだった
  • 一般的な求人サイトで引っかかるRuby求人は派遣ばかりだった
  • 現地Rubyコミュニティで求人の投稿が少し見受けられた
    • 加えてGoogle検索して直接サイトが引っかかった数社をピックアップ
  • スキル/経験/希望(1ヶ月のみ/無給でOK)にGitHubリンクをつけてメール作成
    • 使いまわして各社にメール送信
  • 当然お断りもあったがほとんど返信してくれた

面談

  • 一番最初に興味ありの返事をくれた会社とSkype面談
    • それで速攻決まった
  • 質問は以下のようなことを聞かれた気がする
    • 開発経験年数(Rails経験年数)
    • なぜRuby/Railsを使っているか(日本製だから以外でw)
    • テストは書いているか(JavaScriptも)
    • 今はどのように仕事しているのか
  • でも口約束のみで、いちおう契約書類ほしいと伝えてもスルーだった
    • ので正直不安なままマニラに向かった
  • 開始3日前に再度Skypeで確認して、無事働くことになった

やったこと

  • Ruby2/Rails4/MongoDBによる社内ツール開発
    • 日本語のアプリ名にしたいといわれて自分が提案したのになった
  • GitHubプライベートリポジトリでのプルリク運用
    • 自分:CTOが7:3くらいの二人開発
  • PivotalTrackerでストーリー管理/Skypeで情報共有
  • 毎日午前中に全体スタンドアップミーティングで進捗確認
  • Spring/Turnip/Figaro/Cancanを初めて使ってみた
    • Spring with guard-rspec はかなり快適なTDD環境
    • Turnipは結局GherkinというCucumberの文法が必要なので慣れるまで大変
    • Cancanは機能豊富な割にはスクラッチの権限管理と作業量変わらない気がする

f:id:deeeki:20130628124704j:image

感想

開発面
  • 割とゆるく自由にやらせてもらえた
    • 多少別の仕事などもしてフルにやれてないが、コミット量と早さは評価してもらえた
  • インテグレーションテストは後回しにする傾向があるかもしれない
    • ControllerSpecを割と厚く書いてた
  • CTOはいわゆる風のプログラマーで、新しもの好きな印象
    • おかげで残されたバグもそこそこ踏んだ
    • push通知するSkypebotを途中で導入してた
    • プルリクでは要所要所でレビューしてもらった
  • 中間テーブルの命名について議論してみたりもした
  • 可能であればもうあと1-2人くらいとソーシャルにコーディングしたかった
    • 他のプロジェクトのリポジトリも見たいと相談したが、機密的に難しいようだった
その他
  • 英語力アップはそこまで期待できない
    • なぜならフィリピン人同士はほぼタガログ語で話すから
    • 中には英語に自信がない人もいるようだった(それでも日本人よりはできるけど)
    • そしてエンジニアだとそもそも黙々コーディングしてる時間のほうが長い
  • 自分とは英語で話してくれるので、そこをうまく活かせるかどうか
    • どの環境でもいえるが、話好き/積極性がものを言う(※持論)
      • 自分は真逆なので、実際にあまり伸びてないと思う
  • 会社は20人くらいの規模
    • 平均年齢は25歳くらい
    • CTOと他数人はシンガポールのRedDotRubyConfに参加してた
    • 学生インターンがRails TutorialでCapybara学んでてすごいと思った
    • 日本アニメだったり楽器だったりハードウェアに造詣が深い人もいた
    • 何人かは定時後夜中までオンラインゲームしてたりした
  • ランチは毎回誘ってもらい、ほぼDRYにいろいろな店を楽しめた
  • 夕食もたまにデリバリー頼んだり、臨時の出店的なところで食べたりした
  • たまたま会社が会場だった月1のRubyコミュニティミートアップに参加した
    • "Eat first!" といって先にピザを食べた
    • 日本のコミュニティやRailsアプリなどについてLTした
      • プロジェクタがなくて普通のモニタでのLTに面食らった
    • Ruby2.0やRails4使ってる人はまだ少なかった
    • 適当に2-3人話したり告知したりして解散、残りたい人は残るみたいな流れ
  • エアコンが20度で効きすぎて寒かった

f:id:deeeki:20130628153808j:image

まとめ

仕事の質に関しては、やはり日本(人)のほうが高いかなという印象でした。そして、英語がそこそこでも2-3年ほどのエンジニア経験があれば、開発メインであれば十分に通用するのを実感しました。

また、英語漬けになれる環境を求めるのであれば、完全な英語圏の国で働くのがよさそうです。ただ逆にフィリピンでも英語公用語の会社が増えれば、お互いに機会が広がりますし、語学学校の先という部分でビジネス的にも可能性があるのではないかと思ったりしました。

で、当初は1ヶ月の予定でしたが、ある程度慣れてしまったのと他の環境も経験してみたいという思いから、残り1週間は別の会社でインターンさせてもらいます。

とはいえ大変お世話になったので、今後も何かしらでお役に立てればと思います!

関連記事

2013-05-27

フィリピンでRubyについてLTしました

f:id:deeeki:20130525090201j:image

経緯

  • 海外欲が高まってたときにJetstarのセールで片道チケットを勢いで取る
  • フィリピンでまだ行ったことのないバギオに短期留学しようと渡航3日前に決める
  • なんとなく「rails baguio」でググってみたらイベントがヒットする
  • イベント2週間前にチケットなくなってたので直接コンタクトする
    • Railsワークショップのサポートとか簡単なLTとかやりたい的な
    • 最初の返事ではスピーカーは埋まってるからLTは難しいといわれる
  • イベント1週間前に何故かトーク40分の枠が用意される
    • 5分程度で全然よかったんだけど、せめて20分程度に短縮してもらう
  • イベント当日まで相当な時間つぎ込んでスライド作成と発表練習する
    • 当然ながら全て英語
  • スライドに沿った暗記でなんとかなるかと思いながらも不安抱えながら本番迎える

LTの感想

  • 詰まったところは多かったし文法もめちゃくちゃだったと思う
  • でもあたたかい笑顔で聞いてもらえた気がするし、拍手もいただけた
  • 発表したことで話すきっかけができた
  • 内容についてフィードバックももらえた
    • ギークハウスがインパクト強かったっぽい
    • 日本との比較や日本にしかないものをもっと知りたいといわれた
    • Chef/Vagrantはあまり知られてないようだった

スライド

  • 日本のRuby周りの旬な話題を伝えてみたかった
  • コミュニティがたくさんできて活発になってほしいと思った
    • 自分のような短期滞在者でも気軽に参加できるように
  • 飽きられないようにイメージ多め、質問やデモも入れてみた
    (※イメージとかまずいのあればご連絡ください)

f:id:deeeki:20130525145646j:image

全体の感想

  • スライドありきで適度な早さのしゃべりだったので割と理解できた気がする
  • RubyやRailsの話題が多かったのはうれしかった
    • ワンライナーでRackアプリ動かせるとか知らなかったので新鮮だった
  • スライドやプレゼンの作法がわかった
    • スライドの最後に参照情報やコンタクトを入れる
    • 質問はWHを使ってする
  • のんびりしたお国柄をいたるところで感じた
    • イベント開始が1時間半遅れた
    • スピーカーほとんどみんな当日にスライドつくってた
    • スライドの文字やコードが小さくて見づらいひともいた
    • 時間押したのとWi-Fi回線の問題で結局Railsワークショップなかった
      • 他は別にいいけどこれは個人的に残念である
  • ただターゲット層と目標を明確にしてやったほうがいいとは思った
    • 技術的にも中心地ではないバギオでやるのも疑問かも
  • 運営側と一般参加者側の壁を感じた
    • 対話の機会を設けて、何か学びたい人がいるなら改めてそういう場を検討できるといいと思う
  • スポンサーのホテルはタダ飯×2サービスしてくれた

英語力は、まだまだですね。思考から発声までのリードタイムは短くなった気がするものの、こちらが1質問して相手が5-10答えてくれたりするのにもどかしい思いがあります。とはいえ場数を踏むしかないのは事実なので、話す場を積極的に見つけていきたいですね。

今回このような場を与えてくれた主催者のKat、そして聞いてくださった参加者のみなさんには心から感謝です。また、自分にできることがあればぜひ協力したく思います!

f:id:deeeki:20130525162043j:image

Links

  • Azalea Landing Page
    • 会場だったホテル
  • no title
    • 6月にマニラであるハッカソンイベント
  • Geeks On A Beach
    • 技術系というよりはスタートアップ系みたいですが、9/26-27にフィリピンのボラカイ島であるそうです。もしご興味あれば!