タグ

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

  • JavaScriptの文化とleftpadの話とpadStartについて - from scratch

    無駄にラノベみたいに長いタイトル書いちゃったんですが、まぁやっぱり一言くらいは残しておくかと思ったので書きます。長いのでまとめだけでも見てもらえると良いかもしれません。 leftpadの話はかなり大事になっていて、Node.js界隈を中心としてその他のOSSをやっている全体的に話が波及しています。幾つかの記事を読みました。今回はJSの文化歴史についてちょっとずつ書いていこうかなと思います。 の虫: npmからkikとその他諸々が消されたまとめ 江添さんの話はすごくよくまとまっていて、ネタも含めた上で一番面白い話になっていました、ここで言われている下記の疑問に答えていこうと思います。 もっと憂うべきパッケージがある。isArrayだ。このパッケージは一日88万回もダウンロードされていて、2016年2月だけの一ヶ月間に1800万回もダウンロードされていて、72個ものNPMパッケージが依存し

    JavaScriptの文化とleftpadの話とpadStartについて - from scratch
  • electron を学べる workshopper である electronica を作ってみました。 - from scratch

    ちょっと最近Fallout4でサンクチュアリを開発するのに忙しすぎてOSS界隈の仕事サボってしまっていたので、31日にして書かないといけない記事が2つほど残っていることに気づきました。 なので、一個をこの場で投下しておきます。 手短に言うと、electronicaというworkshopperを作りました。 github.com $ npm install electronica -g $ electronicaで起動します。最初はHello Electron から始まり、最終的に小さなブラウザを作るくらいまでの事をやります。 残念ながら、verifyは動かないので、終わったたら自己判断で次のexerciseをやらないといけないので、まだNodeSchoolで使えるまでは行かないのですが、暇な冬休みにやってみてください。 僕はこの冬休みにはverifyがちゃんと動くようにします。 では次の記

    electron を学べる workshopper である electronica を作ってみました。 - 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
  • 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
  • NodeSchool Tokyo を開催しました - from scratch

    NodeSchool Tokyo を開催しました。かなり面白かったのでその様子をちょっとでもお伝えできればと思います。 NodeSchoolとは JavaScript に関する授業を集めた学校です。みんなでコードを書いたり、問題を解いたりすることで勉強できるようになっています。 今回は初回だったので、いくつか失敗した点もあったのですが、Node.jsを初めて触った人でも asyn i/o に触れたり、 babelで ES6 を学んだりと多岐に渡るカリキュラムを実施することができました。 nodejs.connpass.com どんな感じでワークショップをするのか npm のモジュールをインストールしてもらって、そのCLIツールを元に実施します。 workshopperというCLIツールを使います。npmが動く環境さえあれば実行できるため、講師が一つ一つ説明しなくても実行できるようになってい

    NodeSchool Tokyo を開催しました - 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
  • 2015年のWeb UX/Performance - from scratch

    この世界入って色々とフロントからサーバーまで手広くやっているのはやっぱり性能とかUXとかを最大限にするためには上から下まで知っていないとできないと思っているから。 Node.jsをやり始めたのもその頃流行りはじめていた "WebSocket" を知りたかったのと、"JavaScript" を知らないとWebのフロントを知ることができないと思ったから始めた。要は二兎を追った形で始めたのがきっかけです。 2014年色々やってきて色々と性能向上やUXを上げるための方法を知ることができたので、2015年もその活動は継続しつつも、より実践側に傾けて、知見を広める活動をしていきたいと思う。 具体的に言うと、以下の事に自分としては興味を持っているし、ちゃんとやっていきたい。 Isomorphic 2014年までは所謂Single Page Applicationが普及してきてClient の MV* F

    2015年のWeb UX/Performance - 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
  • Yet Another JSON な json5をgolangでparseできる奴を作った - from scratch

    このエントリは Go Advent Calendar 2014 の記事です。 さて、僕はJSONSchemaで疲弊してたんですが、主に疲弊してた理由としてはJSONの表現力不足(ケツカンマ許さない、コメントかけない等)とJSONSchema Validatorで不正な値があった時の情報量の少なさでして、JSONの表現力不足に関しては皆さんYAML使ったりして色々解決してるとは思います。 そこで自分もYAMLではなく、JSON5使って解決しようと考えてgolangで実装してみました。 JSON5の詳細に関してはこちらのエントリを参考にされると良いかと思います。 普通にjson5をインストールする インストールは簡単。 $ brew tap yosuke-furukawa/json5 $ brew install json5そんで、こんな感じのjson5ファイルを用意して、 // This i

    Yet Another JSON な json5をgolangでparseできる奴を作った - from scratch
  • LLDiver で「それでもNode.jsをやる」というタイトルで発表してきた - from scratch

    発表資料 LLDiverで発表してきました。最近僕もgolangとか触ってるので色々と言われるんですが、「一時期Node.jsやってた人ってみんなGoに行っちゃったよね」って言われることすごく多くて、これについて色々と思うことがあるので話してきました。 ちょっとした補足とか この前のRebuild.fmでのmicroserviceの話とかでもあったんですが、モノリシックな一枚岩のアーキテクチャではなく、"一つのことを上手くやる"複数のコンポーネントとしてのサービスを作りそれの集合体で全体のサービスを提供する構成が流行ってきています。 これ自体は今に始まった話じゃなくてTwitterRuby on Railsで作られたサービスをscalaでSOA化した話はあまりにも有名ですし、大体どの企業でもモノリシックなサービスで未来永劫続けるのは大規模になると難しくなるので、正しい姿といえるでしょう。

    LLDiver で「それでもNode.jsをやる」というタイトルで発表してきた - from scratch
  • Go lang勉強会でgo-socket.ioの話してきた - from scratch

    さて、先日HDE社様で行われたGo lang勉強会に誘われたので最近の興味にあるgo-socket.ioの話をしてきました。 発表資料 go-socket.ioのベンチマークに使ったサーバーとクライアント yosuke-furukawa/go-socket.io-test · GitHub go-socket.ioの感想 golangでwebアプリ作ろうとすると、websocket実装はあるんですが、websocket使えない端末や環境では自前でfallbackする必要があり、若干面倒でした。socket.io相当のものがあればもう少し幅が広がると思ったので使って評価してみたその感想と性能評価の結果です。 性能に関してはまだまだNode.jsの実装の方が歴史が長いだけあって高速だし安定してました。 というわけで、まだ出来上がったばかりという感は否めなくて、これを使ってリアルタイムなアプリを

    Go lang勉強会でgo-socket.ioの話してきた - from scratch
  • git使ってて便利だった拡張3つ。 - from scratch

    gitを今の開発でガッツリ使うようになってすげー便利だと思った拡張を3つ紹介します。 もうね、これらなしではgit使えない。せっかくなので、導入方法と一緒に簡単な使い方も紹介します。 git-completion gitの補完ツール。 コマンドラインに現在のブランチ名が出る。だけじゃなくて、タブで補完までしてくれる。 導入方法 以下の方法でスクリプトをダウンロードしてきます。 $ mkdir -p /usr/local/git/contrib/completion/; cd /usr/local/git/contrib/completion/ $ curl https://raw.github.com/git/git/master/contrib/completion/git-completion.bash > git-completion.bash $ curl https://raw.

  • Socket.IO 1.0の紹介 (翻訳) - from scratch

    Socket.IO 1.0がリリースアウトされました。Socket.IO v1.0が出るといわれてから一年半以上経過しましたが、やっと出ました。Node.jsに関わる方であれば一度はお世話になっていると思います。今回はSocket.IO 1.0の紹介を作者であるGuillermo Rauchがしているので、それを日語で翻訳して紹介します。 TL;DR 翻訳していたらすごく面白かったのですが、文字だらけですごく長くなってしまったので、最初と最後にまとめを載せました。興味があれば全部目を通してみてください。 モジュール分割が進み、新しくEngine.IOが作られています。これはSocket.IOのトランスポート層のプロトコルを調律する役割を担っているライブラリです。 Engine.IOが行っている処理の一つで、最初に接続できる可能性が高いXHRやJSONPで確立し、websocketにupg

  • Go弱の会でgolangデビューしてきた。 #gojaku - from scratch

    やっとgolangデビューしました。 とは言っても、一回Google Developers Daysで一回入門して、なんか書いたことはあったんですが、その時以来、全く書いてなくて、再入門した形になります。 せっかくなので、Go弱の会でやったことをまとめます。 Go install Goのインストールから始まりました。 当はgoenvとか使うといい感じに入れられるのかもしれないんですが、まずはスタンダードなインストールをする事に。 公式サイトからインストールするかbrewを使うか。 一応、brewを使って入れてみました。 $ brew install gogo 1.1が入らない!とか思ったらbrew updateのし忘れだった事は秘密、忘れないようにしましょう。 $ brew update $ brew install go 忘れずに、GOROOT、GOPATHを設定。 以下のexpo

    Go弱の会でgolangデビューしてきた。 #gojaku - from scratch
  • npm private repository を Chef で作る (Chef Solo 入門を読みました)。 - from scratch

    入門Chef Solo - Infrastructure as Code 作者: 伊藤直也出版社/メーカー: 伊藤直也発売日: 2013/03/11メディア: Kindle版購入: 16人 クリック: 1,027回この商品を含むブログ (12件) を見る 今までKnifeとかChefとかVagrantとか色々聞いてたんですけど、便利そうだなーと思いながらも全然手を付けられていませんでした。 丁度先日開催されたLL祭りの時にも話題になってましたね。 Chef Solo入門を読んでみて思いましたが、非常によくまとまっていて、かつそれぞれの位置づけがはっきりと分かる良書でした。 せっかくなので、これを読んでnpm private repositoryを作ってみようと思ったので、作ってみました。 あと、作るまでにやったインストール等の事をまとめていきます。 ちなみに、 npmのprivate re

    npm private repository を Chef で作る (Chef Solo 入門を読みました)。 - from scratch
  • dstatの結果をfluentdで取得して、WebSocketで送りつけるリアルタイムリソース監視アプリを作ってみた。 - from scratch

    Tuppari公開記念Hackathonで作ろうとした奴を作ってみました。 ごめんなさい、micro instanceなのでアクセス過多で動かない時があるかもしれません、ちょっと調整中です。 リアルタイムリソース監視アプリ yosuke-furukawa/dstatwatcher · GitHub WebSocketを使ってリアルタイムにリソース監視したりログ監視したりするのは正直よくあるやつなのですが、fluentd使ってみたかったというのと、highchartを業の方で使おうか迷った挙句、使えなかった経緯があったので、使ってみようと思って作成してみました。 大体、↓の感じの流れでやってます。 Fluentdとdstatのつなぎの部分にはfluent-plugin-dstatを使用しています。 shun0102/fluent-plugin-dstat · GitHub これを使うと、d

    dstatの結果をfluentdで取得して、WebSocketで送りつけるリアルタイムリソース監視アプリを作ってみた。 - from scratch
  • 1