npm v2のインストールは`npm i -g npm@latest-2`

タイトルで言い切った感のある小ネタ。

最新のnpm v3は基本素晴らしいのだけど、主にnode_modulesがフラットになったなどのbreaking changesによって一部のパッケージがまだ非対応だったり、自分のプロジェクトで固めたshrinkwrap.jsonからは対応前の古いパッケージを参照していたりすることが稀によくある。

そういうケースではnpm v2系を使い続けたいのだけど、インストール時に

$ npm i -g npm@2

でインストールするとv2系の正式リリース版ではなく、プレリリース版が入ってしまう。

npmプロジェクトではリリースをdist-tagsで管理していて、まずRC版をnextタグとしてプレリリースをして、問題なければ次のリリースでlatestとして正式リリースするプロセスになっている。 v3系がリリースされたので上記のタグはv3系が使ってしまっているが、v2系にもちゃんとタグが付いている。こんな感じ。

  'dist-tags': 
   { latest: '3.5.0',
     next: '3.5.1',
     'latest-2': '2.14.12',
     'v3.x-latest': '3.5.0',
     '3.x-latest': '3.5.0',
     '3.x-next': '3.5.1',
     'v3.x-next': '3.5.1',
     'next-2': '2.14.13',
     'latest-1': '1.4.29' },

npm@2だとnext-2相当がインストールされちゃうので、無駄なリスクを減らしたいプロジェクトではlatest-2をインストールしておくとたぶん無難。

$ npm i -g npm@latest-2

とはいえ、いまさらv2系に大きな変更は入らないと思うのでどっちでもあんまり影響はないと思うけど。

関係ないけど、v3系のdist-tagsはちょっと命名規則が違うんですね。v3.x3.xの両方用意されてたり謎にやさしいし。

Spring Boot 1.2/1.3でhot swapping的なこと

唐突にJavaの話。Spring Bootで変更を動的に反映する場合(いわゆるhot swappingとかhot deploy)はSpring Loadedを使えって出てくるのだけど、なんか動いたり動かなかったりしてなんでなんだろうと小一時間調べたメモ。Spring Boot + Maven + IntelliJ IDEA 15 on Mac 前提。

続きを読む

明日の次世代Webカンファレンスでjs_nextやります

イベントの趣旨はconnpassを見てもらうとして、自分は11:10から js_next というセッションでオーナーをやります。 メンツは@t_wadaさん、@constellationさん、@vvakameさんという盤石の布陣。

このセッションでは、JavaScriptの未来はどうなっていくのか、ブラウザで動くプログラミング言語はどうなっていくのか、というテーマを扱います。

キーワードはこのあたり?

全然このとおりにならない可能性高いですけど。 Reactだとかそっち系は別の front_arch というのセッションで扱うので、こちらではやりません。

500人も集まらないだろうから受付係いらないね、とか言ってたのにフタを開けたら1100人集まっちゃって青ざめてますが、ご興味ある方はぜひどうぞ。

まあ、一番の問題は会場設営で登壇者8:30集合なんだけど、そこに何人集まるかってことなんですけどね。

YAPCで『Effective ES6』について発表してきた

8/21-22に開催されたYAPC::Asia Tokyo 2015"Effective ES6" というタイトルで発表した。

今回、自分にとっては最初で最後のYAPCだったけど、YAPCの面白さは特定分野に留まらないWeb系エンジニアが一堂に会するところだと感じた。

例えばHTTP/2ってWeb全般に影響がある今後キーになる技術要素だと思うけど、HTTP/2単体のイベントにわざわざ参加したり自分で勉強したりする人は限られる。YAPCで様々なレイヤーのエンジニアがHTTP/2のセッションを聞いてそれについて議論することで、日本のWebエンジニアにおけるHTTP/2のベースラインが上がったような気がする。

ベストトーク3本のうち2本がHTTP/2だったのもそういった要因があるのではと感じた(そしてどちらの発表もその期待以上に素晴らしい内容だった!)。

自分の発表も、Web開発に大きく影響するであろうES6というものについて、幅広いエンジニアに知ってもらえたらうれしいと思って準備したのだけど、どうだっただろう。 *1

打ち上げでは、いままで話したことがなかったtagomorisさんやa_matsudaさんと、話題のOSSコミュニティの話、HTTP/2のキャッシュ制御、RailsとDHHの話などエキサイティングなトークで終電を過ぎてしまった。興奮しっぱなしの2日間でした。

YAPCありがとう!

*1:個人的には、英語資料で日本語発表するとしゃべる言葉が頭に浮かびにくく、普段より発表練習の時間がかかるという発表技術的な知見を得た。

Node学園でES6について話した

Node学園 16時限目 ES2015発行記念でES6について話しました。

本編の充実度もさることながら、無法地帯と化した懇親会でFilip Pizloの業績を烈火のごとく語るConstさんと、それに合わせて的確なサイトをブラウザで瞬時に表示し続けるazuさんというコンビ芸が見られて、心底感動しました。

会場と🍣を提供していただいたDeNAさん、ありがとうございました!

引き続き、WEB+DB PRESS Vol.87最新号のES6特集をよろしくおねがいします。 また、YAPCでのES6トークも採択していただきましたので、YAPCまではES6芸人として生きていこうと思います。

WEB+DB PRESS Vol.87にES6特集書いた&YAPCにES6のトーク応募した

3行でまとめ

続きを読む