オランダ移住前後の英語学習とか
去年の10月からオランダに移住し、英語での生活にシフトして4ヶ月が経ちました。ちょっと英語学習について書いてみようかなぁと思い立ったので投下します。
大枠は @shibataism さんの記事に超賛成なので、多くはそこから汲み取って頂ければと思います。
で、自分なりにこれが効果あったなぁというのをちょこっと書いてみます
音読
TechCrunchの記事を、噛まずにできるだけ早く言う練習をしました。これは持論なので根拠何もないんですが、自分が話せるスピードより速い速度のリスニングは困難じゃないかっていう理由。今では意味知らない単語が多くても、わりと止まらずに音読できるようになりました。音楽をかじってる人だとあるあるってなってくれると嬉しいんですが、自分が技術的に弾けない曲の耳コピってすっっっごい時間がかかったりしますよね(しない?
平行して自分で話したのを録音して聞いて、どこかネイティブっぽくないかっていうのをgoogle translateの入力した単語を話してくれる機能と比較して練習っていうのもやっていました。どの発音が省略されるのか、どういうイントネーションになるのか、みたいなのが身になったんですが、最近は飽きちゃってやってません。。たまにどこの訛り?って聞かれるんですが、Google Translateだよって答えてます(^o^
独り言
これは東京にいた頃からやっていて癖になっているんですが、自問自答をよく帰り道とかに英語で言っていました。ビデオ・電話の面接を受けていたときは自己紹介や受け答えの練習を、仕事で悩みがあった場合は自分で自分に相談して自分で答える、っていうのをボソボソ言っていました。こういうときなんて言おう?っていうのをググッて、それを何回もやる、たまにいじわるな質問をする、っていうのをやってたんですが、そういう病気あったら怖い。危ない人と思われそうだけど、これは今でもやってます。。
動画
ポケモンを最初は見てたんですが、今はNetflixで映画かドラマで同じのを何度も見てます。オススメは断然 Black Mirror っていう短編ドラマで、世にも奇妙な物語の現代版って感じで超面白い。あとはNode.js関連のカンファレンスやコミッターのミーティング、Node Upとかを聞いてます。分からないところがあってもスルーして止めずに見るのが飽きないコツな気がします。真面目な人はディクテーションとかしたら伸びると思うんですが、自分には続かないので料理しながらボケーっと話の流れを追うくらいで精一杯。
覚えたそばから使う
知らない表現が出たら、その日のうちに4人くらいに試すっていうのをやってます。最近だと、 npm社のForrestさんが書いた do some spelunking
とか、なんとなくカッコいいなぁと思ってミーティングとかチャットで使ってみました。
みんな特に目立ったリアクションしてくれないんですが、意味が通じるっていう体験は単純に嬉しい。3回目言ったくらいで覚えられて、次の日はちょっと考えれば思い出せるくらいになるかなぁと思います。
英語を勉強してるって考えない
英語を勉強してるって考えると、相手の発言を一文字一文字がんばって聞こうとして疲れちゃうので、コミュニケーションしてるって意識的に考えるようにしました。そう意識しはじめてから、いま言ったのはこういう意味だよ、それってこういう意味?って言い換えがやりやすくなったような気がします。
英語学習アプリ
今まで続いたものがなかったんだけど、先々週くらいに同僚に紹介してもらった Hello Talk っていうlanguage exchangeのためのアプリが意外と続いてます。オランダ語を片手間で勉強して代わりに日本語を教えているんですが、合間合間に英語で話すのできっと勉強になってます。
話のネタ
日本に旅行にいく人が自分の周りには多くて、今年だけでも4人が予定立ててます。人気!そこで同僚や友達から、オススメな季節やら食べ物やら場所を聞かれます。この話題は、おそらくどこに行っても使える武器なので日本に関するネタは独り言で練習しておくと良さそう。
先々週くらいにNodeschool London行ったときは、技術的な話題やお酒の話がわりといけたのでかなり楽しめました。英語そのものより、共通の話題がどの程度あるかっていうのが何より大事だなぁと何回も感じてます(‘A
こんな感じかな・・・。ヨーロッパの人たちの会話、勇気を出して笑いを取りにいくのが楽しいのでチャットとか軽い会話は快適なんですが、やっぱり飲み会とかの英語は早いしハイコンテキストだしディープだし本当につらい。まだまだ道のりは長い。
2015年のToDo振り返り
例年通り、年初にたてた目標を見比べてみようと思います。文字だけの振り返りは別途書くかも。
今年は焦りが募りに募って、遠回りをせずに意思判断と向き合あって無駄なことを削ぎ落としていった年でした。
OSS分野であげていたToDoについて
Longest streak 500days 超える
超えました。620日くらいまで続いて、海外の企業の仕事を手に入れて直近の目標をクリアしたので無理するのをやめました。達成です。
npmにpatch/feature投げ込む
25個くらい投げました。そしてcliのweekly meetingにも参加できるようになって意外とリラックスできてるので、この目標は大きくクリアしました。
OPAMなにかリリースしてみる
去年末が暇でOPAMのissueを追ってpatchを書こうとしてた気がします。が、ダメでした。全く達成してないです。
500 Star 超えをもう一つ
これもダメでした。もうしばらくはContributeに集中すると決めて、自分のプロダクトはほぼ触れてない気がします。。
npm 合計100,000ダウンロード
何かもう一つ当てる前提でしたが、ダメでした。いまダウンロード合計を見たら、59,241でした。。もう一頑張りするべきだったかなぁと反省。
FirefoxOS/ChromeOSで動く中規模アプリのリリース
これはたしかChromeOSを使い始めた時期だったので書いたんですが、ChromeOSでの開発がつらくてやめました。。FirefoxOSは、単純に端末を買う機会を逃してそのままでした。残念。
他の勉強に関するToDo
TOEIC
これは英語の勉強って意味だったんですが、移住してから少しだけ英語力あがったので及第点とします。
外務員・簿記
こっちは全く触れてない。。海外でしばらくは働いてみようって考えていたので、日本のことをやるモチベーションがあっという間に枯渇した結果です。。ダメだった。
身の回りのToDo
Firefox OS端末を手に入れる
これが挫折したやつですね。Androidに変えて満足してしまったっていうのもあります。
通信費を安くする
やりました。クレカを始めとしてわりと楽天を使っていたので、楽天モバイルにしました。
鉛筆でスケブ1冊だけ埋める
10ページで力尽きたんですが、オランダに来てから1枚だけ描きました。1冊の道のり遠い。。
以上、ToDo形式でやるの結果がわかりにくいかもですね。。来年はもう少し振り返りやすい目標を建てようと思います。
npmのロードマップについて
こんにちは!@watilde です。
この記事は、Node.js Advent Calendar 2015 の23日目の記事です。npmのロードマップがwikiで公開されているんですが、それを意訳してみます。2015年、実装に半年以上を費やしてついにmajor updateを果たしたnpmですが、2016年はどうなるのか!少しだけ覗いてみましょう。
ゴール
- 一貫性:
npm install
を実行すると、あなたは同じ結果を毎回受け取ります。これは、あなたのdependencies
が変更されていないことを保証します。また、package.json
を更新してgit push
をした場合は、あなたの共同作業者がgit pull
をしてnpm install
を実行すると、あなたのディスクと同じファイルツリーを受け取ることになるでしょう。npm shrinkwrap
はこのようなことを確実に行います。 - 信頼性:npmは理由もなくクラッシュしたりはしません。クラッシュするときは、何が間違っていて次は何をするべきか、明確て実用的なフィードバックを提供します。エッジケースをうまく処理し、できるだけユーザに混乱を与えないようにします。
- パフォーマンス:モダンなウェブアプリは、
Small is beautiful
な哲学に沿って小さなモジュールの大きな塊となり、インストールは複雑さを纏います。npmは、インストールにかかる時間があまり目立たないように、これを効率的に実行します。
概要
npmのCLIチームは、新機能に取り掛かる十分な時間があるときに実装とリリースを行います。今日、npmは多くのユーザーを抱えるOSSであり、多くの魅力的な新機能のリクエストを受けています。しかし、全ての要求に取り組むだけの時間はコアチームにはありません。このロードマップは、チームリーダーの @othiym23 が考えている、次の6-18ヶ月の間に集中するべき最も大切な新機能や改善、そして取り払うべき技術的負債についてまとめたものです。
集中していく項目
1. フロントエンドエンジニアのためのnpm
- gitのdependenciesをnpmのレジストリにあるdependenciesのように扱えるようにする
- フロントエンドのアセットのためのインストーラー
- ECMAScript 2015の新しいモジュールシステムのサポート
2. プラットフォームとしての改善
3. アーキテクチャ、UX、コードデザイン
- npmの使いやすさを再評価し、UXの改善を行う
- shrinkwrap と
bundledDependencies
を改善する npm link
/npm install --link
/ local dependencies を改善するpackage.json
をよりシンプルにする- publisherを明らかにするなど、packageの信頼性を高める
- packageにlintを
- npmの内部的なAPIを分離・分解し、単独のpackageとして動作するように
dependencies
/devDependencies
/optionalDependencies
/peerDependencies
/bundledDependencies
/browserDependencies
がそれぞれどのような役割を持つのか、改めて考えなおす
4. メンテナンス性、内部実装、技術的負債
- npm@3を磨き上げる
- npm cacheを、より参照しやすいように変更
- npmレジストリの新機能をサポート
npm search
の内部実装をまともにする- パフォーマンスを改善
- サポートのしやすさを改善
- npmのテストを、もう少しまとめてシンプルにする
- 複雑なバグの修正
- 修正するべき大きなバグの一掃
- Transactional installs(詳細不明)
いかがだったでしょうか?さらなる詳細は、冒頭にあるリンクから辿っていくと原文が読めるので、興味のある項目がある場合は見てみてください。いっぱいあってワクワクしますね💃
個人的な2015年を振り返ると、npmへのcontributeをはじめてからというもの、暇な日のない充実した毎日を送ることができました。中でも、npm versionのhookをlifecycle scriptに追加できたのはとても良かったです。新機能の提案から実装までを、生きているOSSでやることの楽しさを覚えました 😊
そして今月からnpmのcli teamのweekly meetingに参加するようになり(希望出せばたぶん誰でも参加できるやつです)、むこう1−2ヶ月は big-bug
と browserDependencies
あたりのissueを拾い続けてみようかなぁとぼんやり考えています。
あと、did you mean?機能を実装してpull requestを作ったんですが
cli teamがholiday入りしたのもあってこの記事に間に合いませんでした。惜しい><
それでは、素敵なクリスマスをお過ごしください :D