k2wankoの技術的なanything

プログラミングとか技術系の情報とか書いてます。

東京Node学園18時限目でNode.js v4の話を聞いてきた

nodejs.connpass.com

はじめてNode学園に参加した時はv0.11が出たくらいの頃だったので時が経つのが早いなーと思いました

Node.js v4.0 + io.js 総復習

スライドは以下に

speakerdeck.com

Node.js v4の機能面での話を聞いてきました。

機能と言ってもJavaScript的な機能はV8のものですから V8のいくつになってるから こういう機能が使えると言う話ですね

ES6のclassなどが導入されて短く書けるようになったり

StrongScriptでES6をしっかり書けるようになったりしました。

パフォーマンスも上がってるようでhttpのメモリ効率などもより良くなっています。

Nodeが提供してるAPIではBufferがリファクタリングされました。

ArrayBufferを使ってBufferが作られたので よりBrowserとの共通したコードが書きやすくなったのではないでしょうか

他にも便利なAPIが追加されて より楽にコーディングすることができるようなりました。

それとdeprecateなったAPIもあるので使ってないかチェックもしておかないといけませんね。

Building Hosted Fields

PayPalの人が来てCSSのimportとか自社サービスで培った色々便利なプラクティスを紹介してもらいました

英語だったのであんまり理解してませんが

ちなみに紹介されたサービスはクレジットカード決済のプラットフォームっぽいです

下のライブラリはカード情報をバリデートできるので便利そうですね

github.com

NeoAsync

async互換のすごいasyncです

フルスクラッチで実装してパフォーマンスもいいみたいです。

使う機会があったら使いたいですね

github.com

まとめ

Node.jsも安定版とのことで これで心置きなく業務で使えるようになるんではないでしょうか

まもなく出る4.2は長期サポート版でargonという名前だそうです。 

それと 来月にNode学園祭があります。

去年は行けなかったので 今年は行こうかなと思います。

nodejs.connpass.com

ドワンゴのインターンが始まるとかの近況報告

気づけば10月です。

ISUCONを@methaneさんに参加させてもらえて しかも本戦まで経験させてもらえたので

この機にGo力とかMySQL力とか諸々パワーアップしたいなと考えてます。

 

そしてドワンゴインターンも明日から始まります。

ドワンゴではチーム開発とかアプリ開発とかをもっと学べたらいいなと思ってます。

学べたことはまたブログかQiitaに書く予定です。

 

大学では単位の計算ミスに気づいて若干焦りましたが 今期を耐え切れば4年の時は楽になる予定...

でも楽にはならなさそうです。

僕の大学の研究は卒論か卒業制作のどちらかを選ぶ形になるんですが

そこで僕はロボットを作るのでかなり辛いだろうなという感じです。

派手な映像もCGも作れないのでパッと見てスゲーって思われるもので自分でもなんとかできそうな物はなにか無いか考えた時

良さそうなのがロボットかなーという雑な理由で決めました。

でも決めたからには頑張ります。

 

個人プロジェクトの方はかなり進行がストップしてます

夏休みの間にスプラトゥーンのWebサービス出すぞとか思ってたんですが

S+カンストできなくてできなくて、時間を持ってかれました。

今はS+30前後から50をウロウロしてます。

スプラトゥーンは生産性を奪う恐ろしいゲームなので最近は布教活動"は"しなくなりました。

お気に入りブキは96ガロンデコとスシコラとワカバとジェットスイーパーです。

ステージによって切り替えてますが安定していいのはスシコラですね。

iPhoneユーザーになったので 最初にやったことを書く

iPhones6sを買いました。

去年はちっとも欲しくなかったのですが 今年のは3D touchがついてるとのことで

欲しくなったのでApple Storeで予約購入しました。

実際触ってみた感じは まぁこんなもんかみたいな感じで 凄まじく驚くものでもなかったですが

このショートカットはほかではできない便利さと筆圧感知の可能性を感じました。

まだ純正アプリしか対応してませんが今後対応アプリが増えてきたら楽しみです。

ちなみにモデルはiPhone6s plus 64GB シルバーです。

モデル選択

色々モデルがあってどれがいいのだろうかという比較みたいなのは数多くのサイトで取り上げてるのでそっちで比較してもらうとして

僕が選んだ理由は開発機でもあるけど普段使いもしたい 別に母艦はMacBookがあるからほどほどに利用する

という理由から16GBでは少なかろうと思ったのでスタンダードな64GBを選択しました。

また6インチサイズの画面の端末はAndroidでも持ってなかったのと

バッテリーの持ちで1日中つかえるらしいplusを選びました。

初期設定

アクティベートの時にSIMを挿入しなくてはいけないらしく今までNexus5で使ってたsimを差し替えて対応しました。

キャリアはMVNOぷららモバイルです。

そのままSIMを挿れるだけでネットワークや通話はできるようになりましたがテザリングはプロファイルが必要みたいなのでぷららモバイルから設定ファイルをインストールする必要がありました。

Androidでつかてった時は回線が良かったように思うのですがiPhoneにしたら 気持ち遅くなったような気がして 今度計測できればしてみようかなと思います。

あとはApple IDやらは持ってるので入力してキーチェインを承認したりしただけです。

そして指紋を登録。 iPhone6指紋認証を試しましたがplusは本当に早いと感じます。

画面をつけたと同時にロックを解除してくれるので ロック画面にカメラとか使えるようにしとかなくていいなと思いました。

なのでコントロールセンターからロック画面のアクセスはオフにしました。

アプリのインストール

僕が最初に入れたアプリです。

まずはChromeやInboxやGmail、ハングアウトなどのGoogleアプリです。

Googleのサービスに相当依存してしまってるのでないと辛い

次にサブディスプレイにできるアプリduet

でもiPhone6s plusでも流石に画面が狭いのでこれはiPad minimac book 13 incにつけるならちょうどいいサイズ

なので サブディスプレイとして使いたいならmini 4を買ったほうがいいかも

Duet Display

Duet Display

  • Duet, Inc.
  • 仕事効率化
  • ¥1,220

最近届いたqrioというスマートロックのクライアントアプリなど

まだまだiOS力低いのであんまりアプリを知らないので 面白そうなのはこの2つで

ほかにMinecraftやslackやLINEとうとういれただけです。

Podcastを登録

iPhone買ったら 今度こそやろうと思ってたのが Podcastです。

Androidでも聞けるみたいだけのなんかこう気が向いてなかったのですが

iPhoneならいいかなと思って聴き始めました。

前々からオススメされてるrebuild.fmとmosaic.fmを聴き始めました。

まとめ

他にも開発デバイスの登録とかしたりしました。

アプリも頑張って作ってます(レイアウトの作りがわからず苦しんでますが)

まぁとうとうiPhoneにまで手をだしてしまったので完全にAppleにすべて囲まれてしまったなって感じです。

Node学園17時限目に行ってきました!

行ってきました。

懇親会でアルコールを取ってしまって帰ってすぐに書けなかったんですが感想を書いていきます。

「flyjs」 by @jbucaran

github.com

ES6のAPI(generatorやPromise)を使ったビルドシステムです。

gulpに疲れきっていた僕の目にはすごくシンプルに映りました。

@jbucaranさんと話て聞いて実際シンプルなのを意識しているそうです。

pluginの作成もとってもとっても楽ちんそうです。

「npm v3について」 by @watilde

npm3がbeta版がリリースされました。

以下のコマンドでnpm3を使うことができます!

$ npm i -g npm@3

オプションやコード周りで大幅なアップデートがされたそうです。

特にnode_modules内をフラット化しようというのが 僕はインパクトありました。

ネストしてなんぼのもんだと思ってたので

でもフラット化しても特に意識することはあまりなさそうでした。

詳しくはスライドが参考になります。

npm3 ❓ // Speaker Deck

あとセッションとは関係ないんですが

npmにあるブラウザライブラリをbrowserifyで読み込んだりというのは既に一般的なんですね

最近はその辺の情報を収集してなくてもうbowerいらない子になってるんですかね

まぁbowerは成果物までgitで管理してるのがあれだなーと思ってたので大歓迎です

JavaScriptでIoT」 by @yohei_kawano3

milkcocoaさんのLTでIoTのセッションです

JSが動くBoardやcylonjsとかのリモートで動かせるライブラリとかの紹介があって

これはやらねば と思いました。

まとめ

勉強会はやっぱやる気出るので楽しいですね

普段自分が観測できてないところを気づけたりできるので

あとNode学園祭2015の告知もありました。

今年は行けそうな気はするので楽しみです。

去年もそうでしたけどWebが最新技術使われてるし面白いです

nodefest.jp

最近は趣味プログラミングはGoでサーバーというかGAEでAPIサーバーを作るにはーみたいなことばっかりやってるのでJSに触れてなかったんですが

APIサーバーができたらクライアントを作るわけなのでその時に思う存分JSを楽しみます(予定)

YAPC::Asia 2015 Hackathonに行ってきました

前回の記事でYAPC::Asia 2015にいったことを書いたのですが

そこで読みをヤプシーと言ってたり色々恥ずかしい感じでした

どうもヤっプシーみたいですね。

YAPCはせっかく集まったので前後にイベントがありHackathonは2年後しにやったそうです。

ElectronについてBenさんとmizchiさんによるトークが午前中にあり

後は適当にハッカソンって感じでした

作ってたもの

最強のTwitterクライアントを作ろうってのが話題だったので

自分も最強のクライアントを作ろうじゃないかと思い「ニコ生のコメントビューア」を作ってました。

途中成果物 : k2wanko/yapc-hackathon-app · GitHub (多分動かない)

nicoapiというライブラリは3月くらいに作ってて でも致命的な点がコメントを送信する部分がなくて

結局ちゃんとはできてません

設計がひどいので書きなおそうと思ってます。

あとGoでも書こうかなと思ってます。

予定

GoのAPIクライアントを作るのとElectronのPolymer Bootstrap的なのを作ろうかなと予定してます。

感想

スピーカーやスタッフの人がめちゃめちゃ元気にハッカソンしててYAPCでスピーカーするには

あれだけ体力が必要なんだなと思いました。

モノクロームさんのようにもっと前に出るために

とりあえず身内でイベントを開いて少しでも前で話すことに慣れていこうと思います。

YAPC::ASIA 2015に行ってきました!

YAPCです!

わい・えー・ぴー・しーではなく

ヤプシーだそうです。

GoCon 2015 Summerで@motemenさんに教えてもらったおかげで

この3日間、間違えずにいえてました!

 

この記事では感想だけで

内容については後ほど気になって検証したやつだけ書こうかなと言う感じです。

前夜際

聞いてきたトーク

僕はOSSのコミュニティ活動をもっともっとやりたいので

仕事としてのOSS活動とはどんなんだ?とか

OSSコミュニティを盛り上げるにはどうすれば?みたいなのがわかってよかったです。

あとPerlワンライナーで始めてちゃんと触りました。

(ワンライナーをちゃんとと言っていいのかは謎)

1日目

聞いてきたトーク

  • メリークリスマス!
  • Managing Containers at Scale with CoreOS and Kubernetes
  • TBD
  • WebAudio で入門する信号処理
  • Electron: Building desktop apps with web technologies
  • esa.io - 趣味から育てたWebサービスで生きていく

英語のセッションを半分聞いてて思ったのが同時通訳がすごいなーと(小並感)

おかげで英語のセッションでも苦労なく理解できて楽しかったです。

Matzさんのセッション(TBD)は言語デザインについてやStreemについてで、あとちょっとRuby3をどうしていくかという話でした。

趣味から育てたWebサービスで生きていくではesa.ioを法人化するに至った経緯などを話されてました

esa.ioは知らなかったのですが、なんかあのノウハウ共有サービスに似てるなーとかってのにも理由があったり

ざっくり理解した内容だと趣味サービスで生きていくにはハッカソンが大事ということでした!

(つまり、とにかく数で試せみたいな感じだったかなと)

2日目

聞いてきたトーク

  • Google Cloud Platformの謎テクノロジーを掘り下げる
  • 我々はどのように冗長化を失敗したのか
  • Docker3兄弟について
  • データ分析基盤を支える技術
  • 【特別企画】YAPCあるある(仮)
  • Profiling & Optimizing in Go

Google Cloud Platformの謎テクノロジーを聞くがためにYAPCに行ったようなものなのですが

改めてやべーって思いました。

大量のデータをどのように処理してるだとか どうしてAppEngineはコーディングに制限されてしまうのか

論文が公開されてるからそっちを確認してねーとか

Googleのサーバーすごいだろー全部自分で作ってるんだぜー、あっ ネットワークスイッチももちろん自前だぜー

と言った感じで色々圧倒されました。

まぁあくまで事業者向けなセッションだったんですが

でも今後役に立つなという考えが スケールがしやすいシステムがいいということです。

 

YAPCあるあるは勉強会運営のノウハウを聞けて楽しかったです。

どうしたら勉強会を大きくできますか?みたいな質問があって

法人にしたりとか色んな仕組みを整備するとか、むしろ負けを知りたいって回答だったんですが

僕の理解としては有名人になって(or 呼んで)物理で開催するってことなのかなと

 

あとProfiling & Optimizing in Go ではGo開発を助ける周辺ツールの紹介でpprofなどを駆使して

ライブコーディングでどうリファクタリングをするかみたいなのが知れて最高でした

僕的には一番エキサイティングしたセッションだったかなと

ちなみにライブコーディングではBradさんはEmacsを使ってて

タイムラインでEmacs派とVim派によるナワバリバトルが始まったり(?)(ちょうどスプラトゥーンでもフェスがやってたりしたので)

やっぱGoはEmacsで書くのがいいんです(Emacs派)

あとテストはしっかり書いたりベンチマークはしっかりやろう!と思いました

まとめ

ハイレベルなトークに出てくる用語を調べてるだけで手一杯でブログのメモのために メモ取ってなくて反省

あと次はないらしい(?)のですが 今後のためにもサボらずできるだけイベントにいったらブログを書くようにしようと思います。

では今日はYAPC::Asia 2015 Hackathonに参加してきます!

スプラトゥーンのカンストして1ヶ月半くらい経って思ったこと

S解禁間近なのでA+になるまでに心がけてたことを書いておきます。

カンスト維持とはいえ無敗というわけではなく

カンストして終わらせてるという感じですけど

ブキについて

なるべく色んなブキを使えるようになっておくと便利です。

ステージやルールに合わせれますので

僕がオススメしているのはワカバシューターとスプラシューターコラボです。

ワカバシューターはガチエリアの時に重宝しています

高い塗り能力と対イカ戦の時のギリギリバリアは相手の心にダイレクトアタックできます。

逆にやられた時の動揺もでかいですが...

それとスプラッシュボムも強いです

慣れるとリッターもダイナモもぽぽぽーんとハジケさせれます。

今度余裕があればスプラッシュボムの使い方を解説したいとですね

スプラシューターコラボはガチヤグラの時に重宝しています

キューバンボムはヤグラに貼り付ければ相手を自分の射程に誘い込むことも可能ですし

運が良ければ複数の敵を倒すことができます。

またスペシャルのスーパーショットは追い詰められてる時の起死回生の一手になります。

A+ばかりの部屋だとスプラシューターコラボがかなりいます。

明日のアップデートでスーパーショットの発動に必要なポイントが増えるようですので

これがどう影響するかシューターコラボ使いとしては気になるところです。

 

基本的にこの2つを使いまわしていますが

動きたくない時はリッター3Kだったりジェットスイーパーを使ったりしますし

頭を使わずに敵を倒したいときはローラーコラボを使ったりしています。

ギアについて

ギアは基本的にイカニンジャかマーキングガードのどちらかをベースにコーディネートして います。

イカニンジャの時は頭も足もイカ速度アップを付けてなるべく速度を上げるよう心掛けてま す。

基本的に攻撃力アップとイカ速度アップは付けるようにして

サブパワーにサブインク効率アップやインク回復速度アップを加えています。

ギア厳選はガチに籠もってるとお金が貯まるので300万くらいたまったら100万くらい 一度に使ってサブパワーを揃えたりしています。

現在のギア f:id:k2wanko:20150805062108j:plain

ガチエリアについて

特定のエリアを塗って占領して占領している時間を競うルールです。

僕がガチエリアをする時気をつけてるのが占領した時は周りを塗りつつ相手が奇襲をするために使ってくるルートで待ち伏せです。

ステージによって奇襲ルートは違いますが

例えばハコフグ倉庫なら自陣から見て中央右の方からローラーやブラスターがやってくることが多いので仲間がやられないように待ちぶせしとくとカウントを稼げます。

逆に占領された時はスペシャルを溜めて相手を1度に3杯程度は葬るよう心がけてます。

カウントをストップされた時も相手を倒すよりもエリアの確保を優先するようにしたり するとウデマエを上げることができるのではないかと思います。

ただチャージャーに狩られないような立ち回りやローラーに潰されないような距離感をつかむほうが先なので

敵はそれなりに倒せるけど試合結果に反映されないという人はこの辺を意識するといいのではないかと思います

ガチヤグラについて

ガチエリアはヤグラを奪われてもガチエリアと違ってペナルティが対してありません

距離が遠いとかその程度なのでこれの対策はなるべく仲良死を避ける事だと思います。

時として仲間を囮にして仲間がヘイトを集めていてくれてる時に隙をついて倒しましょう

タッグマッチで4人組で戦える時は2−2でわかれてヤグラ中心に動く人と先行して敵を倒す人で役割を分けると良いのではないかと思ってます。

ソロプレイの時はまずはチームメンバーの気質を確認するように努めるといいかもしません

ヤグラに乗ってくれそうな人がいれば露払いに徹したり、乗ってくれる人がいなければ自分が乗るようにしたりですね。

僕がガチヤグラで注意しているのがヤグラは敵側に押しててヤグラの上に誰も乗ってなく絶賛攻められてる時で

この時ヤグラが中央に戻ってしまわないように敵からの攻撃を避けながらなんとかヤグラの上に触れて戻さないようにしています。

そうすることで時間を稼げるのとヤグラを壁にすることもできるのでオススメです。

この戦い方を助けるためにもヤグラの周りは余裕がある時はできるだけ全面塗っておきたいですね。

 まとめ

結局どっちにも共通する対策が地面は塗っておきましょうですかね

これだけ意識するだけでも勝率は変わってくるのではないかなと思います。

まぁでもチームメンバーの力量が相手と吊り合わないと無駄無駄だったりするので

日頃の行いを良くして引きを強くするとかのがいいかもしれませんね(適当)