タグ

ブックマーク / yosuke-furukawa.hatenablog.com (16)

  • Node.js における設計ミス By Ryan Dahl - from scratch

    Ryan Dahl は Node.js の original author ですが、彼の作ったプロダクト deno に関するトークが jsconf.eu 2018 でありました。 Node.js にずっと関わってきた僕が見て非常に興奮するような話だったので、しばらくぶりにブログに書き起こすことにしました。 背景 Ryan Dahl は2009年に Node.js の話を初めて公の場に公開しました。その時の「公の場」というのが「jsconf.eu 2009」です。 www.youtube.com Video: Node.js by Ryan Dahl - JSConf.eu - 2009 この発表から Node.js が広まり、今やサーバのみならず、IoTデバイス、デスクトップアプリなど、様々なところで動作しています。 で、今回はその発表から9年の歳月が経過し、Node.jsに対しての設計不

    Node.js における設計ミス By Ryan Dahl - from scratch
  • DeNAを卒業します - from scratch

    この週末にこの話を書こうと思っていたのですが、筆不精なもので土日を普通に過ごしてしまいました。 さて、表題の通りDeNAを卒業することになりました。 今回は技術的な話ではなく、単純にライフステージの変化の話なので気にならない人は読み飛ばしてください。 DeNAに入社したのは3年半前 yosuke-furukawa.hatenablog.com だいぶ昔の記事ですね。この時は同年代や年下の若いエンジニア達がメキメキと力をつけていく中で「なんとかしなければ」という焦燥感で常に何かしらをウォッチしつつ、新しい技術があれば飛びついて調べ、アウトプットする、というようなことをやってました。(今でもアンテナは張っているつもりです) そんな折に DeNA に誘われて入社できたのは非常にラッキーだったと思っています。新しい技術を積極的に採用しつつも、ある程度冷静かつ成熟した判断をしている部分があり、しかも

    DeNAを卒業します - from scratch
  • Node.js v5.0 がリリースされました。 - from scratch

    Node.js v5.0 がリリースされました!! 今回はどちらかと言うと機能面というより、 Node.js v5.0 の位置づけを中心に解説したいと思います。 機能面も一応載せますが、学園祭前で時間があまり作れないので、さくっと終わらせます。 機能面での変更 ES2015の文法追加 Spread operator が追加 Spread operator が追加されました。 これまで配列をJavaScriptの関数に引数に展開して渡す場合、以下のように記述する必要がありました。 function f(x, y, z) { console.log(x); console.log(y); console.log(z); } var args = [0, 1, 2]; f.apply(null, args); この書き方はあまり直感的じゃなく、また new 演算子と併用できないという問題があった

    Node.js v5.0 がリリースされました。 - from scratch
  • NodeConf Adventure 2015 に行ってきました。(一日目、二日目に起きたこと) - from scratch

    NodeConf に行ってきました。 NodeConf っていうのは Node.js のための勉強会です。 io.js の中心人物である mikeal や、 npmCEO である izaacs 、 hapijs author であり、先日 Walmart を退社した Eran Hammer など、そうそうたるメンバーの中でディスカッションをしてきました。 NodeConf Adventure とは NodeConf Adventureはいわゆる発表者がいて、聴講者が聞くっていうスタイルのカンファレンスじゃありません。 なんというかものすごくメタなカンファレンスで、ワークショップとノウハウの共有をメインとしたディスカッションのための場所です。 アンカンファレンスっていう形式ですね。 Hello NodeConf! pic.twitter.com/MHBVi6Jg4c— Yosuke FU

    NodeConf Adventure 2015 に行ってきました。(一日目、二日目に起きたこと) - from scratch
  • Node.js と io.js の統合は最終局面へ - from scratch

    いくつかこの何日間でニュースが出ているので紹介します。 ちなみに、 io.js と Node.js のニュースに関してはこれまで2つ書いたので、まだ良く知らない人はそれをまずはご一読ください。 yosuke-furukawa.hatenablog.com yosuke-furukawa.hatenablog.com さて、次の展開へ、という事でいくつか話があります。 「Join the Node Foundation?」 というissueが mikeal から提案される github.com issue 文を翻訳したものを貼っておきます。 Node Foundationのためのすべての文書が揃った。 TSC Charter (技術委員会の目的) Development Policy(開発ポリシー) Convergence Plan(移行プラン) Project Lifecyle (Wor

    Node.js と io.js の統合は最終局面へ - from scratch
  • io.js の v2.0 が出ました。 - from scratch

    さてさて、久しぶりのio.js エントリですが、この度 io.js の v2.0 が出ました。 変更点をかいつまんで説明しましょう。書いてたら長くなってしまったので、サマリだけでいい人は最後のまとめを読むだけでいいと思います。 io.js は変化がものすごく激しく、v1.0 から v2.0 が入るまでに色んな機能が入っているんですが、知らない人も多いかと思います。 今回は v2.0 の単なる変更点だけじゃなくて、 v1.0 から今までで入った機能をサマリつつ伝えていこうかと思います。 Stream Simpler Construction (v1.2.0〜) Stream の作成が簡単になりました。今までStreamを作るためには、目的のStreamを継承して、TransformStreamであれば _transform のようなメソッドを拡張して実現する必要がありました。 これをより簡単

    io.js の v2.0 が出ました。 - from scratch
  • Hexi というサイトを作りました (http2study で発表しました。) - from scratch

    hexi.pics Hexi というサイトを作ったので紹介です。 What is Hexi Hexagonal Sticker as a Service と僕が勝手に呼んでいるものです。単純に六角形のステッカーを作って、公開して、購入できるECサービスです。 六角形のステッカーって実は標準規格があって、こんな感じになっています。 Stickers Standard この標準規格に合わせて、これ専門のステッカー作れる所作って、勉強会とかで使ってもらったら便利じゃね?と思ったので、友人の会社(絶賛エンジニア募集中)に持ちかけて、自分もバックエンドを基に空き時間で手伝いながら作りました。 Hexi inside 割りと基は抑えつつも突っ走った構成をしていて、 nginx (with SPDY) ngx_small_light (画像リサイズ) io.js (v1.6.4 express) A

    Hexi というサイトを作りました (http2study で発表しました。) - from scratch
    bojovs
    bojovs 2015/05/01
  • Stream今昔物語 - from scratch

    この記事は Node.js Advent Calendar 2014 の 1日目の記事です。 こんにちは、代表です。 Stream大好きなみんなのためにStreamの過去と現在、そして未来についてお話するよ!! Streamを何故使うのかっていう話と歴史的な話をします!! Streamとは データの流れを扱うための抽象化されたモジュールです。もうみんな耳にタコかもしれませんが、Streamを使うとデータの流れを綺麗に書くことができます。ちなみに今に始まった概念ではなくて、C++にもC#にもStreamがありますし、Java8の新機能にもStreamがあります。「データを扱うときの抽象化された流れ」を指す広義のStreamという意味では今日の言語ではだいたい実装されています。 Node.jsでは、以下のリンクが参考になるでしょう。 Node.js の Stream API で「データの流れ」

    Stream今昔物語 - from scratch
  • io.js と Node.js の和解への道 - from scratch

    io.jsがリリースされてから早二ヶ月が経過しました。 io.js Evangelistの一人になりました。 @yosuke_furukawa です。 Node.js側との和解の状況へある程度話が進んできたようなので、ここらへんで一回振り返りましょう。 また、io.jsの最新情報は io.jsブログ にもまとまっております。そちらもご一読ください。よろしくお願いいたします。 io.js リリースからここまでの話 リリースから少しして、結局どうなっているかわからない人達もいると思います。一旦復習を兼ねてリリースから今まで何が起きているのかを解説します。 Node Foundation が設立 io.js がリリースされた後にちょうど NodeSummit と呼ばれる大きめのNode.jsカンファレンスがありました。 このカンファレンスでは、 Joyent の CEO である Scott Ha

    io.js と Node.js の和解への道 - from scratch
  • Node.js v0.12 がリリースされました。 - from scratch

    Node.js v0.12 がリリースされました。 さてさて、さいきんずっとio.jsの話をしてましたが、この度Node.js v0.12がリリースされました。 これまでずっとNode.js v0.12でどう変わるのかを話してましたが、この際一度、何が変わったのかおさらいしておきましょう。 参考URL Node v0.12.0 (Stable) API changes between v0.10 and v0.12 · joyent/node Wiki · GitHub Stream3 Stream3については前に一度この記事で話しました。 Stream今昔物語 - from scratch Stream2にあったold modeの概念がなくなり、Stream1とStream2の両方のAPIに対応されAPIがシンプルになりました。 Stream中のバッファに出力するcorkとそのバッファか

    Node.js v0.12 がリリースされました。 - from scratch
  • io.js がリリースされました - from scratch

    さてさて、io.js ver.1.0.0, 1.0.1 が無事アメリカ時間の1/13日に予告通りリリースされました。 リリースから数日経過して、現在はv1.0.3が出ています。 ある程度v1.0が安定してきた今、実際にNode.jsとどう違うのかを解説したいと思います。 Node.jsと機能的に違う所はどこか 前回の記事のio.jsについて知っていること - from scratchでも触れたんですが、一番大きな違いはv8が新しくなり、ES6の機能が増えました。 詳しくは公式のES6に関するページを読んでもらうとして、かいつまんで書いていきます。 ES6の機能に"shipping", "staged", "in_progress"の3段階のラベルがつくようになりました。 これはES6の機能の安定度合いを示していて、 "shipping" > "staged" > "in_progress"

    io.js がリリースされました - from scratch
  • io.jsについて知っていること - from scratch

    今、Node.jsに起きてることを語る上で、io.jsは避けて通れない話題でしょう。 今回のNode.js アドベントカレンダー 2014の締めを飾るために、このio.jsについて僕が知っている限りの事をまとめて書くことにします。 io.jsを知り、今後"Node"がどうなっていくのかを皆で一緒に考えていきましょう。 またこの一連のio.jsのfork騒動はOSSという特殊なプロジェクトをどう進めていくのがハッピーなのかを知る一つの教材だと思います。 OSSに関わっている皆さん、今回も長いですが、最後まで読んでもらえると幸いです。 io.js とは何か Node.jsのForkです。次のNode.jsの安定版になる、v0.12をForkしています。「アイ・オー ジェイエス」と読みます。名前の由来は木星にある四番目に大きな衛星の名前から取られました。*1 Nodeを使っている人のことをnod

    io.jsについて知っていること - from scratch
  • 【翻訳】リッチなWebアプリケーションのための7つの原則 - from scratch

    はじめに この話はGuillermo Rauch氏が書いたhttp://rauchg.com/2014/7-principles-of-rich-web-applications/ という記事の翻訳です。許可を得て翻訳しています。 ここ最近Web業界を賑わしているSingle Page Applicationの必要性、HTTP2/SPDYといった技術、リアクティブプログラミングやIsomorphicデザインという考え方について包括的にまとめたすごく良い記事になっております。 最初に断っておきますが、ものすごく長いです。各セクションがわかれているので時間がない方はセクションごとに書かれたtl;DRとまとめを読むだけでも参考になるかと思います。 ちなみに明日のNode学園祭には、記事を記述したGuillermo Rauch氏が見えるので、そこで詳しく聞いてみるのもいいのではないでしょうか。

    【翻訳】リッチなWebアプリケーションのための7つの原則 - from scratch
  • Node.jsのコミュニティに変化を与えるnode-forwardについて - from scratch

    ちょっとここ最近node.jsを騒がせてるnode-forwardについてまとめました。 node-forwardとは Node.jsを専門とするTechnical Committee(技術委員会)です。 nodeforward.org というサイトができており、簡単にそこに書かれている事を翻訳しておきました。 [翻訳] nodeforward.org Node Forwardとはオープンなコラボレーションを通してNode, JavaScript, それらのエコシステムを改善するために努力をするコミュニティです。 Nodeは驚くべき速さで成長しています。この成長はコミュニティが一定以上の規模になるまでに起きたいくつかの問題を先頭を切って解決してきました。 いくつかの問題は単純にアサインされるようなものだけじゃなく、リーダーシップとコントリビューターの自主性を要求するような問題でした。一方で

    Node.jsのコミュニティに変化を与えるnode-forwardについて - from scratch
  • LevelDB入門 (基本編) - from scratch

    さて、今回は比較的新しいデータストアであるLevelDBについてまとめてみました。 LevelDBは1年ほど前からNode.js界隈ではブームが来ていて、理由がよくわかっていなかったんですが、まとめている内に分かるかなと思ってまとめました。今回はNode.js無関係でLevelDBの基礎的なことだけ調査した結果をまとめてみました。 Node.jsで使ってみる話は後に回します。 LevelDBとは? key-value型のデータストアの一つです。 Googleの研究者である、Jeff DeanとSanjey Ghemawatが開発し、2011年に公表されました。C++で書かれており、多くのプログラミング言語でbindingsが書かれています。もちろん、JavaScript/Node.jsでも書かれています。 LevelDBGoogle のBigTableをベースにしたアーキテクチャを持

    LevelDB入門 (基本編) - from scratch
  • atomのpackageの作り方 - from scratch

    先日、atomというgithub製のIDEが公開されて話題になってます。 これ、広める戦略がうまくて、昔のgmailと同じく、inviteを受けた人が3人だけinvite ticketを持ってて、その人からまた3人inviteできるって仕組みになってます。こうすることでSNSでのinvite ticket要求が盛んになり、流行ってるように見えるというのが上手い。 ちなみにDLされるファイルだけ他人に送っても内部的にチェックしててpackage managerとかが使えない仕組みになってるので、inviteを持ってない人はおとなしく誰かから回ってくるのを待ちましょう。 題 atom自身はSublime Textっぽい外観で、apmっていうパッケージマネージャが付属されてます。 んで、早速apmに自作のpackageを作って公開してみました。 実行している所: yosuke-furukawa

    atomのpackageの作り方 - from scratch
    bojovs
    bojovs 2014/03/04
  • 1