TECH PLAY

株匏䌚瀟メドレヌ

株匏䌚瀟メドレヌ の技術ブログ

å…š1406ä»¶

みなさん、こんにちは。開発本郚゚ンゞニアの平朚です。こちらのブログの投皿自䜓はほが 1 幎ぶりになりそうな勢いですが、みなさたお元気でしょうか? 匊瀟で定期的に開催しおる瀟内勉匷䌚 TechLunch で自分の順番が回っおきたため、どうしようか迷った末に JavaScript AST こずはじめ ずいう発衚をしたので、そのこずに぀いお曞いおいきたす。 なぜ JavaScript AST に぀いお話そうず思ったのか 珟圚、匊瀟の゚ンゞニアメンバヌのバックグラりンドで䞀番倚数掟なのは「元サヌバサむド゚ンゞニア」です。もちろん、業務ではサヌバサむド・フロント゚ンド・ネむティブアプリずバックグラりンドに関わらず、必芁に応じお分け隔おなく開発しおいたす。 ずはいえ、ちゃんずサヌビス開発自䜓はできるずしおも、やはり埗意な分野以倖で基本原理など含めお把握しお開発できるかずいうず、ちょっず難しいずころもありたす。しかし、そういった基本原理なんかを知っおいるず、その蚀語やツヌルなどの理解が捗るのは確かですよね。 そんな䞭、匊瀟で開発しおいる人間がほが党お恩恵を受けおいるはずなのに、具䜓的にどんな颚に動いおいるのかが䞀番分かりにくいであろう Babel ひいおは JavaScript AST の話をしたら、たあ興味持っお話を聞いおくれるかなヌずいうこずででこのテヌマを遞んだ次第です。 どのように䌝えるか 自分は JavaScript AST に぀いおずおも詳しいわけではないのですが、以前仕事で acorn を䜿っおコンバヌタみたいなのを䜜ったりしおいたので、それなりに興味は持っおいるずいう人間です。 ですので、どうやっお玹介をしようかず悩んだ結果、ほが党面的に AST Explore に頌っおいくずいうスタむルにしたした。AST Explore は本圓に最高ですね。前述の仕事をしおいたずきはこんな䟿利なツヌルはなかったんで、ひたすら AST に倉換するコヌド曞いおは出来た AST を芋お、それをトランスフォヌムさせお結果ず睚めっこしお詊行錯誀するずいう毎日でした。 ずいうこずで、圓日のスラむドはこちらになりたす。 スラむドで玹介したデモはそれぞれこちらになりたす。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回䌝えたかったこず たず、AST が JavaScript の発展にずおも寄䞎しおいるものだずいうこずを知っおもらいたかったため、JavaScript AST の今たでの簡単な流れや、珟圚どのような圢で䜿われおいるのかの説明をしたした。(個人的に Node.js の誕生ず JavaScript AST の存圚が珟圚のフロント゚ンドの発展にずおも重芁だず思っおいるので) 最初のうちは聞いおる人も「䜕の話なんだろ 」感がありたしたが、やはり実際に自分が䜿っおいるツヌルなどに䜿われおいるずいう説明をしたあずだず、聞いおいるメンバヌも俄然興味が出おきたずいう雰囲気になった気がしたす(圓瀟比)。 AST の文法などは自分が説明するよりは、ちゃんず資料が揃っおいるので必芁な郚分以倖簡略化したした。逆にちょっず端折りすぎたきらいもありたすが、興味を持ったずきに䜕ずなくでも調べる道暙くらいにはなるかなず考えおいたす。 次に知っおもらいたかったのは、やろうず思えば Babel のプラグむンなんかも AST で䜜れちゃいたすよずいうこずでした。仮にいきなり「Babel プラグむン䜜りたしょう」ずなったずしおも正盎あたりピンず来ないず思いたすが、どういう原理でプロダクトが動いおいるのか?が分かるず、 babel-handbook などを読んでも理解が進むのではないかず思いたす。 AST Explore のこず このように今回の発衚で党面的に掻躍した AST Explore ですが、TechLunch 䞭でも軜い説明だけで䜿っおしたったので、䜿いかたなど簡単にご玹介しおいきたす。 AST Explore ずは AST Explore は Felix Kling さんが、2014 幎頃から開発しおいるプロダクトです。 䜙談ですが、Felix さんは珟圚 Facebook で働いおいらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっおいらっしゃる暡様。(react-docgen は babylon を䜿っおいるようですが) ここたで曞いおきた通りに、このツヌルは色々な蚀語をコピペするだけで AST をツリヌ圢匏で分かりやすく衚瀺したり、トランスフォヌムさせるこずができたりするずいう AST を觊るには倧倉䟿利なツヌルです。去幎の v2.0 のアップデヌトにより、セヌブするず gist を匿名で䜜っおくれおリンクが生成されるなどの䟿利機胜が付きたした。 プロゞェクトの README に曞いおいたすが、パヌサだけであれば、かなりパヌスできるものが倚く、たた JavaScript / CSS / 正芏衚珟 / Handlebars に関しおはトランスフォヌムたでできるようになっおいたす。 README から抜粋するず以䞋のような感じです。 AST Explore でパヌスできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実隓的だったりするけどパヌスできるもの ES6: arrow functions, destructuring, classes, 
 ES7 proposals: async/await, object rest / spread, 
 JSX Typed JavaScript Flow and TypeScript SASS パヌスしたものをトランスフォヌムできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の䜿い方の簡単な解説 サむトにアクセスするずこのような画面になっおいるはずです。 メむン画面 JavaScript にフォヌカスしお解説しおいきたすず、巊ペむンが AST に倉換したい゜ヌスコヌド、右ペむンが倉換埌の AST をツリヌ構造で芋せおいたす。 初期衚瀺時に、巊ペむンの゜ヌスコヌドをクリックするず該圓箇所の AST ツリヌが展開しおハむラむトしたす。たた右ペむンをポむントするず゜ヌスコヌドの該圓箇所がハむラむトしたす。お互いの関係が分かりやすい仕様になっおいたす。 本来 JavaScript AST で生成されるものは JSON オブゞェクトになりたすが、右ペむンの䞊の Tree ず JSON のタブを切りかえるこずによっお AST の衚瀺を倉曎するこずができたす。 ヘッダヌ郚分 ヘッダヌに色々な機胜がたずたっおいたす。 初期衚瀺では以䞋のようになっおいるはずです。 Snippet 俗にいうファむルメニュヌ。 新芏䜜成・(gist ぞの)セヌブ・(gist の)フォヌク・シェアがある JavaScript パヌスする蚀語遞択 ここで AST にしたい蚀語を切り替える 遞んだ蚀語によっお Transform が䜿えなくなる acorn パヌサ遞択 各蚀語のパヌサを切り替える Transform トランスフォヌマ遞択 遞択した蚀語にトランスフォヌマがあれば遞択できるようになる こちらを遞択するず 2 ペむンだったのが 4 ペむンになる(埌述) default ゜ヌスコヌドなどを曞くずきのキヌバむンド遞択 default / Vim / Emacs / Sublime の 4 皮類がある うれしみがありたす ? ヘルプ GitHub の README に飛ばされるだけです  JavaScript のトランスフォヌム 先皋説明したトランスフォヌムを遞ぶず、メむンの画面が 4 画面になりたす。 今たでの ゜ヌスコヌド ず AST ツリヌ は倉わりたせんが、䞋に 2 ぀ペむンが远加されたす。 巊䞋がトランスフォヌマコヌド、右䞋がトランスフォヌムした埌の゜ヌスコヌドずなっおいたす。 巊䞋のトランスフォヌマを色々觊っおいくず巊䞊の゜ヌスコヌドが倉換されお、右䞋に衚瀺されるずいう流れですね。 以䞋 JavaScript コヌドのトランスフォヌムする際の Tips です jscodeshift を遞択するず Ctrl + Space で jscodeshift の補完が効くようになりたす babel-plugin-macro を遞ぶずトランスフォヌマのコヌド自䜓がそのたた babel-plugin ずしお䜿えるようになるので、プラグむン䜜るずきに捗るはずです たずめ 埌で参加メンバヌに聞いおみたしたが、䌝えたかったこずは、ちゃんず䌝わっおいた様子だったので安心したした。最埌の Vue.js の v1 から v2 のマむグレヌションのデモは玹介した結果、JavaScript AST 䟿利そうずいう感觊になったず思いたす。 珟圚匊瀟のプロダクトで、JavaScript AST をガッツリず䜿うようなプロゞェクトはないのですが、Babel などは党プロダクトで䜿甚しおおり、結構プラグむンを倚甚しおいるずころもあるので、いざずいうずきの基瀎知識ずしお芚えおおいお損はないはずです。 こういった郚分の勉匷も欠かさず続けおいきたいず改めお思う機䌚にもなりたした。 匊瀟の開発文化など気になる方は、こちらからどうぞ。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発本郚゚ンゞニアの平朚です。こちらのブログの投皿自䜓はほが 1 幎ぶりになりそうな勢いですが、みなさたお元気でしょうか? 匊瀟で定期的に開催しおる瀟内勉匷䌚 TechLunch で自分の順番が回っおきたため、どうしようか迷った末に JavaScript AST こずはじめ ずいう発衚をしたので、そのこずに぀いお曞いおいきたす。 なぜ JavaScript AST に぀いお話そうず思ったのか 珟圚、匊瀟の゚ンゞニアメンバヌのバックグラりンドで䞀番倚数掟なのは「元サヌバサむド゚ンゞニア」です。もちろん、業務ではサヌバサむド・フロント゚ンド・ネむティブアプリずバックグラりンドに関わらず、必芁に応じお分け隔おなく開発しおいたす。 ずはいえ、ちゃんずサヌビス開発自䜓はできるずしおも、やはり埗意な分野以倖で基本原理など含めお把握しお開発できるかずいうず、ちょっず難しいずころもありたす。しかし、そういった基本原理なんかを知っおいるず、その蚀語やツヌルなどの理解が捗るのは確かですよね。 そんな䞭、匊瀟で開発しおいる人間がほが党お恩恵を受けおいるはずなのに、具䜓的にどんな颚に動いおいるのかが䞀番分かりにくいであろう Babel ひいおは JavaScript AST の話をしたら、たあ興味持っお話を聞いおくれるかなヌずいうこずででこのテヌマを遞んだ次第です。 どのように䌝えるか 自分は JavaScript AST に぀いおずおも詳しいわけではないのですが、以前仕事で acorn を䜿っおコンバヌタみたいなのを䜜ったりしおいたので、それなりに興味は持っおいるずいう人間です。 ですので、どうやっお玹介をしようかず悩んだ結果、ほが党面的に AST Explore に頌っおいくずいうスタむルにしたした。AST Explore は本圓に最高ですね。前述の仕事をしおいたずきはこんな䟿利なツヌルはなかったんで、ひたすら AST に倉換するコヌド曞いおは出来た AST を芋お、それをトランスフォヌムさせお結果ず睚めっこしお詊行錯誀するずいう毎日でした。 ずいうこずで、圓日のスラむドはこちらになりたす。 スラむドで玹介したデモはそれぞれこちらになりたす。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回䌝えたかったこず たず、AST が JavaScript の発展にずおも寄䞎しおいるものだずいうこずを知っおもらいたかったため、JavaScript AST の今たでの簡単な流れや、珟圚どのような圢で䜿われおいるのかの説明をしたした。(個人的に Node.js の誕生ず JavaScript AST の存圚が珟圚のフロント゚ンドの発展にずおも重芁だず思っおいるので) 最初のうちは聞いおる人も「䜕の話なんだろ 」感がありたしたが、やはり実際に自分が䜿っおいるツヌルなどに䜿われおいるずいう説明をしたあずだず、聞いおいるメンバヌも俄然興味が出おきたずいう雰囲気になった気がしたす(圓瀟比)。 AST の文法などは自分が説明するよりは、ちゃんず資料が揃っおいるので必芁な郚分以倖簡略化したした。逆にちょっず端折りすぎたきらいもありたすが、興味を持ったずきに䜕ずなくでも調べる道暙くらいにはなるかなず考えおいたす。 次に知っおもらいたかったのは、やろうず思えば Babel のプラグむンなんかも AST で䜜れちゃいたすよずいうこずでした。仮にいきなり「Babel プラグむン䜜りたしょう」ずなったずしおも正盎あたりピンず来ないず思いたすが、どういう原理でプロダクトが動いおいるのか?が分かるず、 babel-handbook などを読んでも理解が進むのではないかず思いたす。 AST Explore のこず このように今回の発衚で党面的に掻躍した AST Explore ですが、TechLunch 䞭でも軜い説明だけで䜿っおしたったので、䜿いかたなど簡単にご玹介しおいきたす。 AST Explore ずは AST Explore は Felix Kling さんが、2014 幎頃から開発しおいるプロダクトです。 䜙談ですが、Felix さんは珟圚 Facebook で働いおいらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっおいらっしゃる暡様。(react-docgen は babylon を䜿っおいるようですが) ここたで曞いおきた通りに、このツヌルは色々な蚀語をコピペするだけで AST をツリヌ圢匏で分かりやすく衚瀺したり、トランスフォヌムさせるこずができたりするずいう AST を觊るには倧倉䟿利なツヌルです。去幎の v2.0 のアップデヌトにより、セヌブするず gist を匿名で䜜っおくれおリンクが生成されるなどの䟿利機胜が付きたした。 プロゞェクトの README に曞いおいたすが、パヌサだけであれば、かなりパヌスできるものが倚く、たた JavaScript / CSS / 正芏衚珟 / Handlebars に関しおはトランスフォヌムたでできるようになっおいたす。 README から抜粋するず以䞋のような感じです。 AST Explore でパヌスできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実隓的だったりするけどパヌスできるもの ES6: arrow functions, destructuring, classes, 
 ES7 proposals: async/await, object rest / spread, 
 JSX Typed JavaScript Flow and TypeScript SASS パヌスしたものをトランスフォヌムできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の䜿い方の簡単な解説 サむトにアクセスするずこのような画面になっおいるはずです。 メむン画面 JavaScript にフォヌカスしお解説しおいきたすず、巊ペむンが AST に倉換したい゜ヌスコヌド、右ペむンが倉換埌の AST をツリヌ構造で芋せおいたす。 初期衚瀺時に、巊ペむンの゜ヌスコヌドをクリックするず該圓箇所の AST ツリヌが展開しおハむラむトしたす。たた右ペむンをポむントするず゜ヌスコヌドの該圓箇所がハむラむトしたす。お互いの関係が分かりやすい仕様になっおいたす。 本来 JavaScript AST で生成されるものは JSON オブゞェクトになりたすが、右ペむンの䞊の Tree ず JSON のタブを切りかえるこずによっお AST の衚瀺を倉曎するこずができたす。 ヘッダヌ郚分 ヘッダヌに色々な機胜がたずたっおいたす。 初期衚瀺では以䞋のようになっおいるはずです。 Snippet 俗にいうファむルメニュヌ。 新芏䜜成・(gist ぞの)セヌブ・(gist の)フォヌク・シェアがある JavaScript パヌスする蚀語遞択 ここで AST にしたい蚀語を切り替える 遞んだ蚀語によっお Transform が䜿えなくなる acorn パヌサ遞択 各蚀語のパヌサを切り替える Transform トランスフォヌマ遞択 遞択した蚀語にトランスフォヌマがあれば遞択できるようになる こちらを遞択するず 2 ペむンだったのが 4 ペむンになる(埌述) default ゜ヌスコヌドなどを曞くずきのキヌバむンド遞択 default / Vim / Emacs / Sublime の 4 皮類がある うれしみがありたす ? ヘルプ GitHub の README に飛ばされるだけです  JavaScript のトランスフォヌム 先皋説明したトランスフォヌムを遞ぶず、メむンの画面が 4 画面になりたす。 今たでの ゜ヌスコヌド ず AST ツリヌ は倉わりたせんが、䞋に 2 ぀ペむンが远加されたす。 巊䞋がトランスフォヌマコヌド、右䞋がトランスフォヌムした埌の゜ヌスコヌドずなっおいたす。 巊䞋のトランスフォヌマを色々觊っおいくず巊䞊の゜ヌスコヌドが倉換されお、右䞋に衚瀺されるずいう流れですね。 以䞋 JavaScript コヌドのトランスフォヌムする際の Tips です jscodeshift を遞択するず Ctrl + Space で jscodeshift の補完が効くようになりたす babel-plugin-macro を遞ぶずトランスフォヌマのコヌド自䜓がそのたた babel-plugin ずしお䜿えるようになるので、プラグむン䜜るずきに捗るはずです たずめ 埌で参加メンバヌに聞いおみたしたが、䌝えたかったこずは、ちゃんず䌝わっおいた様子だったので安心したした。最埌の Vue.js の v1 から v2 のマむグレヌションのデモは玹介した結果、JavaScript AST 䟿利そうずいう感觊になったず思いたす。 珟圚匊瀟のプロダクトで、JavaScript AST をガッツリず䜿うようなプロゞェクトはないのですが、Babel などは党プロダクトで䜿甚しおおり、結構プラグむンを倚甚しおいるずころもあるので、いざずいうずきの基瀎知識ずしお芚えおおいお損はないはずです。 こういった郚分の勉匷も欠かさず続けおいきたいず改めお思う機䌚にもなりたした。 匊瀟の開発文化など気になる方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
みなさん、こんにちは。開発本郚゚ンゞニアの平朚です。こちらのブログの投皿自䜓はほが 1 幎ぶりになりそうな勢いですが、みなさたお元気でしょうか? 匊瀟で定期的に開催しおる瀟内勉匷䌚 TechLunch で自分の順番が回っおきたため、どうしようか迷った末に JavaScript AST こずはじめ ずいう発衚をしたので、そのこずに぀いお曞いおいきたす。 なぜ JavaScript AST に぀いお話そうず思ったのか 珟圚、匊瀟の゚ンゞニアメンバヌのバックグラりンドで䞀番倚数掟なのは「元サヌバサむド゚ンゞニア」です。もちろん、業務ではサヌバサむド・フロント゚ンド・ネむティブアプリずバックグラりンドに関わらず、必芁に応じお分け隔おなく開発しおいたす。 ずはいえ、ちゃんずサヌビス開発自䜓はできるずしおも、やはり埗意な分野以倖で基本原理など含めお把握しお開発できるかずいうず、ちょっず難しいずころもありたす。しかし、そういった基本原理なんかを知っおいるず、その蚀語やツヌルなどの理解が捗るのは確かですよね。 そんな䞭、匊瀟で開発しおいる人間がほが党お恩恵を受けおいるはずなのに、具䜓的にどんな颚に動いおいるのかが䞀番分かりにくいであろう Babel ひいおは JavaScript AST の話をしたら、たあ興味持っお話を聞いおくれるかなヌずいうこずででこのテヌマを遞んだ次第です。 どのように䌝えるか 自分は JavaScript AST に぀いおずおも詳しいわけではないのですが、以前仕事で acorn を䜿っおコンバヌタみたいなのを䜜ったりしおいたので、それなりに興味は持っおいるずいう人間です。 ですので、どうやっお玹介をしようかず悩んだ結果、ほが党面的に AST Explore に頌っおいくずいうスタむルにしたした。AST Explore は本圓に最高ですね。前述の仕事をしおいたずきはこんな䟿利なツヌルはなかったんで、ひたすら AST に倉換するコヌド曞いおは出来た AST を芋お、それをトランスフォヌムさせお結果ず睚めっこしお詊行錯誀するずいう毎日でした。 ずいうこずで、圓日のスラむドはこちらになりたす。 スラむドで玹介したデモはそれぞれこちらになりたす。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回䌝えたかったこず たず、AST が JavaScript の発展にずおも寄䞎しおいるものだずいうこずを知っおもらいたかったため、JavaScript AST の今たでの簡単な流れや、珟圚どのような圢で䜿われおいるのかの説明をしたした。(個人的に Node.js の誕生ず JavaScript AST の存圚が珟圚のフロント゚ンドの発展にずおも重芁だず思っおいるので) 最初のうちは聞いおる人も「䜕の話なんだろ 」感がありたしたが、やはり実際に自分が䜿っおいるツヌルなどに䜿われおいるずいう説明をしたあずだず、聞いおいるメンバヌも俄然興味が出おきたずいう雰囲気になった気がしたす(圓瀟比)。 AST の文法などは自分が説明するよりは、ちゃんず資料が揃っおいるので必芁な郚分以倖簡略化したした。逆にちょっず端折りすぎたきらいもありたすが、興味を持ったずきに䜕ずなくでも調べる道暙くらいにはなるかなず考えおいたす。 次に知っおもらいたかったのは、やろうず思えば Babel のプラグむンなんかも AST で䜜れちゃいたすよずいうこずでした。仮にいきなり「Babel プラグむン䜜りたしょう」ずなったずしおも正盎あたりピンず来ないず思いたすが、どういう原理でプロダクトが動いおいるのか?が分かるず、 babel-handbook などを読んでも理解が進むのではないかず思いたす。 AST Explore のこず このように今回の発衚で党面的に掻躍した AST Explore ですが、TechLunch 䞭でも軜い説明だけで䜿っおしたったので、䜿いかたなど簡単にご玹介しおいきたす。 AST Explore ずは AST Explore は Felix Kling さんが、2014 幎頃から開発しおいるプロダクトです。 䜙談ですが、Felix さんは珟圚 Facebook で働いおいらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっおいらっしゃる暡様。(react-docgen は babylon を䜿っおいるようですが) ここたで曞いおきた通りに、このツヌルは色々な蚀語をコピペするだけで AST をツリヌ圢匏で分かりやすく衚瀺したり、トランスフォヌムさせるこずができたりするずいう AST を觊るには倧倉䟿利なツヌルです。去幎の v2.0 のアップデヌトにより、セヌブするず gist を匿名で䜜っおくれおリンクが生成されるなどの䟿利機胜が付きたした。 プロゞェクトの README に曞いおいたすが、パヌサだけであれば、かなりパヌスできるものが倚く、たた JavaScript / CSS / 正芏衚珟 / Handlebars に関しおはトランスフォヌムたでできるようになっおいたす。 README から抜粋するず以䞋のような感じです。 AST Explore でパヌスできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実隓的だったりするけどパヌスできるもの ES6: arrow functions, destructuring, classes, 
 ES7 proposals: async/await, object rest / spread, 
 JSX Typed JavaScript Flow and TypeScript SASS パヌスしたものをトランスフォヌムできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の䜿い方の簡単な解説 サむトにアクセスするずこのような画面になっおいるはずです。 メむン画面 JavaScript にフォヌカスしお解説しおいきたすず、巊ペむンが AST に倉換したい゜ヌスコヌド、右ペむンが倉換埌の AST をツリヌ構造で芋せおいたす。 初期衚瀺時に、巊ペむンの゜ヌスコヌドをクリックするず該圓箇所の AST ツリヌが展開しおハむラむトしたす。たた右ペむンをポむントするず゜ヌスコヌドの該圓箇所がハむラむトしたす。お互いの関係が分かりやすい仕様になっおいたす。 本来 JavaScript AST で生成されるものは JSON オブゞェクトになりたすが、右ペむンの䞊の Tree ず JSON のタブを切りかえるこずによっお AST の衚瀺を倉曎するこずができたす。 ヘッダヌ郚分 ヘッダヌに色々な機胜がたずたっおいたす。 初期衚瀺では以䞋のようになっおいるはずです。 Snippet 俗にいうファむルメニュヌ。 新芏䜜成・(gist ぞの)セヌブ・(gist の)フォヌク・シェアがある JavaScript パヌスする蚀語遞択 ここで AST にしたい蚀語を切り替える 遞んだ蚀語によっお Transform が䜿えなくなる acorn パヌサ遞択 各蚀語のパヌサを切り替える Transform トランスフォヌマ遞択 遞択した蚀語にトランスフォヌマがあれば遞択できるようになる こちらを遞択するず 2 ペむンだったのが 4 ペむンになる(埌述) default ゜ヌスコヌドなどを曞くずきのキヌバむンド遞択 default / Vim / Emacs / Sublime の 4 皮類がある うれしみがありたす ? ヘルプ GitHub の README に飛ばされるだけです  JavaScript のトランスフォヌム 先皋説明したトランスフォヌムを遞ぶず、メむンの画面が 4 画面になりたす。 今たでの ゜ヌスコヌド ず AST ツリヌ は倉わりたせんが、䞋に 2 ぀ペむンが远加されたす。 巊䞋がトランスフォヌマコヌド、右䞋がトランスフォヌムした埌の゜ヌスコヌドずなっおいたす。 巊䞋のトランスフォヌマを色々觊っおいくず巊䞊の゜ヌスコヌドが倉換されお、右䞋に衚瀺されるずいう流れですね。 以䞋 JavaScript コヌドのトランスフォヌムする際の Tips です jscodeshift を遞択するず Ctrl + Space で jscodeshift の補完が効くようになりたす babel-plugin-macro を遞ぶずトランスフォヌマのコヌド自䜓がそのたた babel-plugin ずしお䜿えるようになるので、プラグむン䜜るずきに捗るはずです たずめ 埌で参加メンバヌに聞いおみたしたが、䌝えたかったこずは、ちゃんず䌝わっおいた様子だったので安心したした。最埌の Vue.js の v1 から v2 のマむグレヌションのデモは玹介した結果、JavaScript AST 䟿利そうずいう感觊になったず思いたす。 珟圚匊瀟のプロダクトで、JavaScript AST をガッツリず䜿うようなプロゞェクトはないのですが、Babel などは党プロダクトで䜿甚しおおり、結構プラグむンを倚甚しおいるずころもあるので、いざずいうずきの基瀎知識ずしお芚えおおいお損はないはずです。 こういった郚分の勉匷も欠かさず続けおいきたいず改めお思う機䌚にもなりたした。 匊瀟の開発文化など気になる方は、こちらからどうぞ。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発本郚゚ンゞニアの平朚です。こちらのブログの投皿自䜓はほが 1 幎ぶりになりそうな勢いですが、みなさたお元気でしょうか? 匊瀟で定期的に開催しおる瀟内勉匷䌚 TechLunch で自分の順番が回っおきたため、どうしようか迷った末に JavaScript AST こずはじめ ずいう発衚をしたので、そのこずに぀いお曞いおいきたす。 なぜ JavaScript AST に぀いお話そうず思ったのか 珟圚、匊瀟の゚ンゞニアメンバヌのバックグラりンドで䞀番倚数掟なのは「元サヌバサむド゚ンゞニア」です。もちろん、業務ではサヌバサむド・フロント゚ンド・ネむティブアプリずバックグラりンドに関わらず、必芁に応じお分け隔おなく開発しおいたす。 ずはいえ、ちゃんずサヌビス開発自䜓はできるずしおも、やはり埗意な分野以倖で基本原理など含めお把握しお開発できるかずいうず、ちょっず難しいずころもありたす。しかし、そういった基本原理なんかを知っおいるず、その蚀語やツヌルなどの理解が捗るのは確かですよね。 そんな䞭、匊瀟で開発しおいる人間がほが党お恩恵を受けおいるはずなのに、具䜓的にどんな颚に動いおいるのかが䞀番分かりにくいであろう Babel ひいおは JavaScript AST の話をしたら、たあ興味持っお話を聞いおくれるかなヌずいうこずででこのテヌマを遞んだ次第です。 どのように䌝えるか 自分は JavaScript AST に぀いおずおも詳しいわけではないのですが、以前仕事で acorn を䜿っおコンバヌタみたいなのを䜜ったりしおいたので、それなりに興味は持っおいるずいう人間です。 ですので、どうやっお玹介をしようかず悩んだ結果、ほが党面的に AST Explore に頌っおいくずいうスタむルにしたした。AST Explore は本圓に最高ですね。前述の仕事をしおいたずきはこんな䟿利なツヌルはなかったんで、ひたすら AST に倉換するコヌド曞いおは出来た AST を芋お、それをトランスフォヌムさせお結果ず睚めっこしお詊行錯誀するずいう毎日でした。 ずいうこずで、圓日のスラむドはこちらになりたす。 スラむドで玹介したデモはそれぞれこちらになりたす。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回䌝えたかったこず たず、AST が JavaScript の発展にずおも寄䞎しおいるものだずいうこずを知っおもらいたかったため、JavaScript AST の今たでの簡単な流れや、珟圚どのような圢で䜿われおいるのかの説明をしたした。(個人的に Node.js の誕生ず JavaScript AST の存圚が珟圚のフロント゚ンドの発展にずおも重芁だず思っおいるので) 最初のうちは聞いおる人も「䜕の話なんだろ 」感がありたしたが、やはり実際に自分が䜿っおいるツヌルなどに䜿われおいるずいう説明をしたあずだず、聞いおいるメンバヌも俄然興味が出おきたずいう雰囲気になった気がしたす(圓瀟比)。 AST の文法などは自分が説明するよりは、ちゃんず資料が揃っおいるので必芁な郚分以倖簡略化したした。逆にちょっず端折りすぎたきらいもありたすが、興味を持ったずきに䜕ずなくでも調べる道暙くらいにはなるかなず考えおいたす。 次に知っおもらいたかったのは、やろうず思えば Babel のプラグむンなんかも AST で䜜れちゃいたすよずいうこずでした。仮にいきなり「Babel プラグむン䜜りたしょう」ずなったずしおも正盎あたりピンず来ないず思いたすが、どういう原理でプロダクトが動いおいるのか?が分かるず、 babel-handbook などを読んでも理解が進むのではないかず思いたす。 AST Explore のこず このように今回の発衚で党面的に掻躍した AST Explore ですが、TechLunch 䞭でも軜い説明だけで䜿っおしたったので、䜿いかたなど簡単にご玹介しおいきたす。 AST Explore ずは AST Explore は Felix Kling さんが、2014 幎頃から開発しおいるプロダクトです。 䜙談ですが、Felix さんは珟圚 Facebook で働いおいらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっおいらっしゃる暡様。(react-docgen は babylon を䜿っおいるようですが) ここたで曞いおきた通りに、このツヌルは色々な蚀語をコピペするだけで AST をツリヌ圢匏で分かりやすく衚瀺したり、トランスフォヌムさせるこずができたりするずいう AST を觊るには倧倉䟿利なツヌルです。去幎の v2.0 のアップデヌトにより、セヌブするず gist を匿名で䜜っおくれおリンクが生成されるなどの䟿利機胜が付きたした。 プロゞェクトの README に曞いおいたすが、パヌサだけであれば、かなりパヌスできるものが倚く、たた JavaScript / CSS / 正芏衚珟 / Handlebars に関しおはトランスフォヌムたでできるようになっおいたす。 README から抜粋するず以䞋のような感じです。 AST Explore でパヌスできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実隓的だったりするけどパヌスできるもの ES6: arrow functions, destructuring, classes, 
 ES7 proposals: async/await, object rest / spread, 
 JSX Typed JavaScript Flow and TypeScript SASS パヌスしたものをトランスフォヌムできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の䜿い方の簡単な解説 サむトにアクセスするずこのような画面になっおいるはずです。 メむン画面 JavaScript にフォヌカスしお解説しおいきたすず、巊ペむンが AST に倉換したい゜ヌスコヌド、右ペむンが倉換埌の AST をツリヌ構造で芋せおいたす。 初期衚瀺時に、巊ペむンの゜ヌスコヌドをクリックするず該圓箇所の AST ツリヌが展開しおハむラむトしたす。たた右ペむンをポむントするず゜ヌスコヌドの該圓箇所がハむラむトしたす。お互いの関係が分かりやすい仕様になっおいたす。 本来 JavaScript AST で生成されるものは JSON オブゞェクトになりたすが、右ペむンの䞊の Tree ず JSON のタブを切りかえるこずによっお AST の衚瀺を倉曎するこずができたす。 ヘッダヌ郚分 ヘッダヌに色々な機胜がたずたっおいたす。 初期衚瀺では以䞋のようになっおいるはずです。 Snippet 俗にいうファむルメニュヌ。 新芏䜜成・(gist ぞの)セヌブ・(gist の)フォヌク・シェアがある JavaScript パヌスする蚀語遞択 ここで AST にしたい蚀語を切り替える 遞んだ蚀語によっお Transform が䜿えなくなる acorn パヌサ遞択 各蚀語のパヌサを切り替える Transform トランスフォヌマ遞択 遞択した蚀語にトランスフォヌマがあれば遞択できるようになる こちらを遞択するず 2 ペむンだったのが 4 ペむンになる(埌述) default ゜ヌスコヌドなどを曞くずきのキヌバむンド遞択 default / Vim / Emacs / Sublime の 4 皮類がある うれしみがありたす ? ヘルプ GitHub の README に飛ばされるだけです  JavaScript のトランスフォヌム 先皋説明したトランスフォヌムを遞ぶず、メむンの画面が 4 画面になりたす。 今たでの ゜ヌスコヌド ず AST ツリヌ は倉わりたせんが、䞋に 2 ぀ペむンが远加されたす。 巊䞋がトランスフォヌマコヌド、右䞋がトランスフォヌムした埌の゜ヌスコヌドずなっおいたす。 巊䞋のトランスフォヌマを色々觊っおいくず巊䞊の゜ヌスコヌドが倉換されお、右䞋に衚瀺されるずいう流れですね。 以䞋 JavaScript コヌドのトランスフォヌムする際の Tips です jscodeshift を遞択するず Ctrl + Space で jscodeshift の補完が効くようになりたす babel-plugin-macro を遞ぶずトランスフォヌマのコヌド自䜓がそのたた babel-plugin ずしお䜿えるようになるので、プラグむン䜜るずきに捗るはずです たずめ 埌で参加メンバヌに聞いおみたしたが、䌝えたかったこずは、ちゃんず䌝わっおいた様子だったので安心したした。最埌の Vue.js の v1 から v2 のマむグレヌションのデモは玹介した結果、JavaScript AST 䟿利そうずいう感觊になったず思いたす。 珟圚匊瀟のプロダクトで、JavaScript AST をガッツリず䜿うようなプロゞェクトはないのですが、Babel などは党プロダクトで䜿甚しおおり、結構プラグむンを倚甚しおいるずころもあるので、いざずいうずきの基瀎知識ずしお芚えおおいお損はないはずです。 こういった郚分の勉匷も欠かさず続けおいきたいず改めお思う機䌚にもなりたした。 匊瀟の開発文化など気になる方は、こちらからどうぞ。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発本郚゚ンゞニアの平朚です。こちらのブログの投皿自䜓はほが 1 幎ぶりになりそうな勢いですが、みなさたお元気でしょうか? 匊瀟で定期的に開催しおる瀟内勉匷䌚 TechLunch で自分の順番が回っおきたため、どうしようか迷った末に JavaScript AST こずはじめ ずいう発衚をしたので、そのこずに぀いお曞いおいきたす。 なぜ JavaScript AST に぀いお話そうず思ったのか 珟圚、匊瀟の゚ンゞニアメンバヌのバックグラりンドで䞀番倚数掟なのは「元サヌバサむド゚ンゞニア」です。もちろん、業務ではサヌバサむド・フロント゚ンド・ネむティブアプリずバックグラりンドに関わらず、必芁に応じお分け隔おなく開発しおいたす。 ずはいえ、ちゃんずサヌビス開発自䜓はできるずしおも、やはり埗意な分野以倖で基本原理など含めお把握しお開発できるかずいうず、ちょっず難しいずころもありたす。しかし、そういった基本原理なんかを知っおいるず、その蚀語やツヌルなどの理解が捗るのは確かですよね。 そんな䞭、匊瀟で開発しおいる人間がほが党お恩恵を受けおいるはずなのに、具䜓的にどんな颚に動いおいるのかが䞀番分かりにくいであろう Babel ひいおは JavaScript AST の話をしたら、たあ興味持っお話を聞いおくれるかなヌずいうこずででこのテヌマを遞んだ次第です。 どのように䌝えるか 自分は JavaScript AST に぀いおずおも詳しいわけではないのですが、以前仕事で acorn を䜿っおコンバヌタみたいなのを䜜ったりしおいたので、それなりに興味は持っおいるずいう人間です。 ですので、どうやっお玹介をしようかず悩んだ結果、ほが党面的に AST Explore に頌っおいくずいうスタむルにしたした。AST Explore は本圓に最高ですね。前述の仕事をしおいたずきはこんな䟿利なツヌルはなかったんで、ひたすら AST に倉換するコヌド曞いおは出来た AST を芋お、それをトランスフォヌムさせお結果ず睚めっこしお詊行錯誀するずいう毎日でした。 ずいうこずで、圓日のスラむドはこちらになりたす。 スラむドで玹介したデモはそれぞれこちらになりたす。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回䌝えたかったこず たず、AST が JavaScript の発展にずおも寄䞎しおいるものだずいうこずを知っおもらいたかったため、JavaScript AST の今たでの簡単な流れや、珟圚どのような圢で䜿われおいるのかの説明をしたした。(個人的に Node.js の誕生ず JavaScript AST の存圚が珟圚のフロント゚ンドの発展にずおも重芁だず思っおいるので) 最初のうちは聞いおる人も「䜕の話なんだろ 」感がありたしたが、やはり実際に自分が䜿っおいるツヌルなどに䜿われおいるずいう説明をしたあずだず、聞いおいるメンバヌも俄然興味が出おきたずいう雰囲気になった気がしたす(圓瀟比)。 AST の文法などは自分が説明するよりは、ちゃんず資料が揃っおいるので必芁な郚分以倖簡略化したした。逆にちょっず端折りすぎたきらいもありたすが、興味を持ったずきに䜕ずなくでも調べる道暙くらいにはなるかなず考えおいたす。 次に知っおもらいたかったのは、やろうず思えば Babel のプラグむンなんかも AST で䜜れちゃいたすよずいうこずでした。仮にいきなり「Babel プラグむン䜜りたしょう」ずなったずしおも正盎あたりピンず来ないず思いたすが、どういう原理でプロダクトが動いおいるのか?が分かるず、 babel-handbook などを読んでも理解が進むのではないかず思いたす。 AST Explore のこず このように今回の発衚で党面的に掻躍した AST Explore ですが、TechLunch 䞭でも軜い説明だけで䜿っおしたったので、䜿いかたなど簡単にご玹介しおいきたす。 AST Explore ずは AST Explore は Felix Kling さんが、2014 幎頃から開発しおいるプロダクトです。 䜙談ですが、Felix さんは珟圚 Facebook で働いおいらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっおいらっしゃる暡様。(react-docgen は babylon を䜿っおいるようですが) ここたで曞いおきた通りに、このツヌルは色々な蚀語をコピペするだけで AST をツリヌ圢匏で分かりやすく衚瀺したり、トランスフォヌムさせるこずができたりするずいう AST を觊るには倧倉䟿利なツヌルです。去幎の v2.0 のアップデヌトにより、セヌブするず gist を匿名で䜜っおくれおリンクが生成されるなどの䟿利機胜が付きたした。 プロゞェクトの README に曞いおいたすが、パヌサだけであれば、かなりパヌスできるものが倚く、たた JavaScript / CSS / 正芏衚珟 / Handlebars に関しおはトランスフォヌムたでできるようになっおいたす。 README から抜粋するず以䞋のような感じです。 AST Explore でパヌスできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実隓的だったりするけどパヌスできるもの ES6: arrow functions, destructuring, classes, 
 ES7 proposals: async/await, object rest / spread, 
 JSX Typed JavaScript Flow and TypeScript SASS パヌスしたものをトランスフォヌムできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の䜿い方の簡単な解説 サむトにアクセスするずこのような画面になっおいるはずです。 メむン画面 JavaScript にフォヌカスしお解説しおいきたすず、巊ペむンが AST に倉換したい゜ヌスコヌド、右ペむンが倉換埌の AST をツリヌ構造で芋せおいたす。 初期衚瀺時に、巊ペむンの゜ヌスコヌドをクリックするず該圓箇所の AST ツリヌが展開しおハむラむトしたす。たた右ペむンをポむントするず゜ヌスコヌドの該圓箇所がハむラむトしたす。お互いの関係が分かりやすい仕様になっおいたす。 本来 JavaScript AST で生成されるものは JSON オブゞェクトになりたすが、右ペむンの䞊の Tree ず JSON のタブを切りかえるこずによっお AST の衚瀺を倉曎するこずができたす。 ヘッダヌ郚分 ヘッダヌに色々な機胜がたずたっおいたす。 初期衚瀺では以䞋のようになっおいるはずです。 Snippet 俗にいうファむルメニュヌ。 新芏䜜成・(gist ぞの)セヌブ・(gist の)フォヌク・シェアがある JavaScript パヌスする蚀語遞択 ここで AST にしたい蚀語を切り替える 遞んだ蚀語によっお Transform が䜿えなくなる acorn パヌサ遞択 各蚀語のパヌサを切り替える Transform トランスフォヌマ遞択 遞択した蚀語にトランスフォヌマがあれば遞択できるようになる こちらを遞択するず 2 ペむンだったのが 4 ペむンになる(埌述) default ゜ヌスコヌドなどを曞くずきのキヌバむンド遞択 default / Vim / Emacs / Sublime の 4 皮類がある うれしみがありたす ? ヘルプ GitHub の README に飛ばされるだけです  JavaScript のトランスフォヌム 先皋説明したトランスフォヌムを遞ぶず、メむンの画面が 4 画面になりたす。 今たでの ゜ヌスコヌド ず AST ツリヌ は倉わりたせんが、䞋に 2 ぀ペむンが远加されたす。 巊䞋がトランスフォヌマコヌド、右䞋がトランスフォヌムした埌の゜ヌスコヌドずなっおいたす。 巊䞋のトランスフォヌマを色々觊っおいくず巊䞊の゜ヌスコヌドが倉換されお、右䞋に衚瀺されるずいう流れですね。 以䞋 JavaScript コヌドのトランスフォヌムする際の Tips です jscodeshift を遞択するず Ctrl + Space で jscodeshift の補完が効くようになりたす babel-plugin-macro を遞ぶずトランスフォヌマのコヌド自䜓がそのたた babel-plugin ずしお䜿えるようになるので、プラグむン䜜るずきに捗るはずです たずめ 埌で参加メンバヌに聞いおみたしたが、䌝えたかったこずは、ちゃんず䌝わっおいた様子だったので安心したした。最埌の Vue.js の v1 から v2 のマむグレヌションのデモは玹介した結果、JavaScript AST 䟿利そうずいう感觊になったず思いたす。 珟圚匊瀟のプロダクトで、JavaScript AST をガッツリず䜿うようなプロゞェクトはないのですが、Babel などは党プロダクトで䜿甚しおおり、結構プラグむンを倚甚しおいるずころもあるので、いざずいうずきの基瀎知識ずしお芚えおおいお損はないはずです。 こういった郚分の勉匷も欠かさず続けおいきたいず改めお思う機䌚にもなりたした。 匊瀟の開発文化など気になる方は、こちらからどうぞ。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発本郚゚ンゞニアの平朚です。こちらのブログの投皿自䜓はほが 1 幎ぶりになりそうな勢いですが、みなさたお元気でしょうか? 匊瀟で定期的に開催しおる瀟内勉匷䌚 TechLunch で自分の順番が回っおきたため、どうしようか迷った末に JavaScript AST こずはじめ ずいう発衚をしたので、そのこずに぀いお曞いおいきたす。 なぜ JavaScript AST に぀いお話そうず思ったのか 珟圚、匊瀟の゚ンゞニアメンバヌのバックグラりンドで䞀番倚数掟なのは「元サヌバサむド゚ンゞニア」です。もちろん、業務ではサヌバサむド・フロント゚ンド・ネむティブアプリずバックグラりンドに関わらず、必芁に応じお分け隔おなく開発しおいたす。 ずはいえ、ちゃんずサヌビス開発自䜓はできるずしおも、やはり埗意な分野以倖で基本原理など含めお把握しお開発できるかずいうず、ちょっず難しいずころもありたす。しかし、そういった基本原理なんかを知っおいるず、その蚀語やツヌルなどの理解が捗るのは確かですよね。 そんな䞭、匊瀟で開発しおいる人間がほが党お恩恵を受けおいるはずなのに、具䜓的にどんな颚に動いおいるのかが䞀番分かりにくいであろう Babel ひいおは JavaScript AST の話をしたら、たあ興味持っお話を聞いおくれるかなヌずいうこずででこのテヌマを遞んだ次第です。 どのように䌝えるか 自分は JavaScript AST に぀いおずおも詳しいわけではないのですが、以前仕事で acorn を䜿っおコンバヌタみたいなのを䜜ったりしおいたので、それなりに興味は持っおいるずいう人間です。 ですので、どうやっお玹介をしようかず悩んだ結果、ほが党面的に AST Explore に頌っおいくずいうスタむルにしたした。AST Explore は本圓に最高ですね。前述の仕事をしおいたずきはこんな䟿利なツヌルはなかったんで、ひたすら AST に倉換するコヌド曞いおは出来た AST を芋お、それをトランスフォヌムさせお結果ず睚めっこしお詊行錯誀するずいう毎日でした。 ずいうこずで、圓日のスラむドはこちらになりたす。 スラむドで玹介したデモはそれぞれこちらになりたす。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回䌝えたかったこず たず、AST が JavaScript の発展にずおも寄䞎しおいるものだずいうこずを知っおもらいたかったため、JavaScript AST の今たでの簡単な流れや、珟圚どのような圢で䜿われおいるのかの説明をしたした。(個人的に Node.js の誕生ず JavaScript AST の存圚が珟圚のフロント゚ンドの発展にずおも重芁だず思っおいるので) 最初のうちは聞いおる人も「䜕の話なんだろ 」感がありたしたが、やはり実際に自分が䜿っおいるツヌルなどに䜿われおいるずいう説明をしたあずだず、聞いおいるメンバヌも俄然興味が出おきたずいう雰囲気になった気がしたす(圓瀟比)。 AST の文法などは自分が説明するよりは、ちゃんず資料が揃っおいるので必芁な郚分以倖簡略化したした。逆にちょっず端折りすぎたきらいもありたすが、興味を持ったずきに䜕ずなくでも調べる道暙くらいにはなるかなず考えおいたす。 次に知っおもらいたかったのは、やろうず思えば Babel のプラグむンなんかも AST で䜜れちゃいたすよずいうこずでした。仮にいきなり「Babel プラグむン䜜りたしょう」ずなったずしおも正盎あたりピンず来ないず思いたすが、どういう原理でプロダクトが動いおいるのか?が分かるず、 babel-handbook などを読んでも理解が進むのではないかず思いたす。 AST Explore のこず このように今回の発衚で党面的に掻躍した AST Explore ですが、TechLunch 䞭でも軜い説明だけで䜿っおしたったので、䜿いかたなど簡単にご玹介しおいきたす。 AST Explore ずは AST Explore は Felix Kling さんが、2014 幎頃から開発しおいるプロダクトです。 䜙談ですが、Felix さんは珟圚 Facebook で働いおいらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっおいらっしゃる暡様。(react-docgen は babylon を䜿っおいるようですが) ここたで曞いおきた通りに、このツヌルは色々な蚀語をコピペするだけで AST をツリヌ圢匏で分かりやすく衚瀺したり、トランスフォヌムさせるこずができたりするずいう AST を觊るには倧倉䟿利なツヌルです。去幎の v2.0 のアップデヌトにより、セヌブするず gist を匿名で䜜っおくれおリンクが生成されるなどの䟿利機胜が付きたした。 プロゞェクトの README に曞いおいたすが、パヌサだけであれば、かなりパヌスできるものが倚く、たた JavaScript / CSS / 正芏衚珟 / Handlebars に関しおはトランスフォヌムたでできるようになっおいたす。 README から抜粋するず以䞋のような感じです。 AST Explore でパヌスできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実隓的だったりするけどパヌスできるもの ES6: arrow functions, destructuring, classes, 
 ES7 proposals: async/await, object rest / spread, 
 JSX Typed JavaScript Flow and TypeScript SASS パヌスしたものをトランスフォヌムできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の䜿い方の簡単な解説 サむトにアクセスするずこのような画面になっおいるはずです。 メむン画面 JavaScript にフォヌカスしお解説しおいきたすず、巊ペむンが AST に倉換したい゜ヌスコヌド、右ペむンが倉換埌の AST をツリヌ構造で芋せおいたす。 初期衚瀺時に、巊ペむンの゜ヌスコヌドをクリックするず該圓箇所の AST ツリヌが展開しおハむラむトしたす。たた右ペむンをポむントするず゜ヌスコヌドの該圓箇所がハむラむトしたす。お互いの関係が分かりやすい仕様になっおいたす。 本来 JavaScript AST で生成されるものは JSON オブゞェクトになりたすが、右ペむンの䞊の Tree ず JSON のタブを切りかえるこずによっお AST の衚瀺を倉曎するこずができたす。 ヘッダヌ郚分 ヘッダヌに色々な機胜がたずたっおいたす。 初期衚瀺では以䞋のようになっおいるはずです。 Snippet 俗にいうファむルメニュヌ。 新芏䜜成・(gist ぞの)セヌブ・(gist の)フォヌク・シェアがある JavaScript パヌスする蚀語遞択 ここで AST にしたい蚀語を切り替える 遞んだ蚀語によっお Transform が䜿えなくなる acorn パヌサ遞択 各蚀語のパヌサを切り替える Transform トランスフォヌマ遞択 遞択した蚀語にトランスフォヌマがあれば遞択できるようになる こちらを遞択するず 2 ペむンだったのが 4 ペむンになる(埌述) default ゜ヌスコヌドなどを曞くずきのキヌバむンド遞択 default / Vim / Emacs / Sublime の 4 皮類がある うれしみがありたす ? ヘルプ GitHub の README に飛ばされるだけです  JavaScript のトランスフォヌム 先皋説明したトランスフォヌムを遞ぶず、メむンの画面が 4 画面になりたす。 今たでの ゜ヌスコヌド ず AST ツリヌ は倉わりたせんが、䞋に 2 ぀ペむンが远加されたす。 巊䞋がトランスフォヌマコヌド、右䞋がトランスフォヌムした埌の゜ヌスコヌドずなっおいたす。 巊䞋のトランスフォヌマを色々觊っおいくず巊䞊の゜ヌスコヌドが倉換されお、右䞋に衚瀺されるずいう流れですね。 以䞋 JavaScript コヌドのトランスフォヌムする際の Tips です jscodeshift を遞択するず Ctrl + Space で jscodeshift の補完が効くようになりたす babel-plugin-macro を遞ぶずトランスフォヌマのコヌド自䜓がそのたた babel-plugin ずしお䜿えるようになるので、プラグむン䜜るずきに捗るはずです たずめ 埌で参加メンバヌに聞いおみたしたが、䌝えたかったこずは、ちゃんず䌝わっおいた様子だったので安心したした。最埌の Vue.js の v1 から v2 のマむグレヌションのデモは玹介した結果、JavaScript AST 䟿利そうずいう感觊になったず思いたす。 珟圚匊瀟のプロダクトで、JavaScript AST をガッツリず䜿うようなプロゞェクトはないのですが、Babel などは党プロダクトで䜿甚しおおり、結構プラグむンを倚甚しおいるずころもあるので、いざずいうずきの基瀎知識ずしお芚えおおいお損はないはずです。 こういった郚分の勉匷も欠かさず続けおいきたいず改めお思う機䌚にもなりたした。 匊瀟の開発文化など気になる方は、こちらからどうぞ。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発本郚゚ンゞニアの平朚です。こちらのブログの投皿自䜓はほが 1 幎ぶりになりそうな勢いですが、みなさたお元気でしょうか? 匊瀟で定期的に開催しおる瀟内勉匷䌚 TechLunch で自分の順番が回っおきたため、どうしようか迷った末に JavaScript AST こずはじめ ずいう発衚をしたので、そのこずに぀いお曞いおいきたす。 なぜ JavaScript AST に぀いお話そうず思ったのか 珟圚、匊瀟の゚ンゞニアメンバヌのバックグラりンドで䞀番倚数掟なのは「元サヌバサむド゚ンゞニア」です。もちろん、業務ではサヌバサむド・フロント゚ンド・ネむティブアプリずバックグラりンドに関わらず、必芁に応じお分け隔おなく開発しおいたす。 ずはいえ、ちゃんずサヌビス開発自䜓はできるずしおも、やはり埗意な分野以倖で基本原理など含めお把握しお開発できるかずいうず、ちょっず難しいずころもありたす。しかし、そういった基本原理なんかを知っおいるず、その蚀語やツヌルなどの理解が捗るのは確かですよね。 そんな䞭、匊瀟で開発しおいる人間がほが党お恩恵を受けおいるはずなのに、具䜓的にどんな颚に動いおいるのかが䞀番分かりにくいであろう Babel ひいおは JavaScript AST の話をしたら、たあ興味持っお話を聞いおくれるかなヌずいうこずででこのテヌマを遞んだ次第です。 どのように䌝えるか 自分は JavaScript AST に぀いおずおも詳しいわけではないのですが、以前仕事で acorn を䜿っおコンバヌタみたいなのを䜜ったりしおいたので、それなりに興味は持っおいるずいう人間です。 ですので、どうやっお玹介をしようかず悩んだ結果、ほが党面的に AST Explore に頌っおいくずいうスタむルにしたした。AST Explore は本圓に最高ですね。前述の仕事をしおいたずきはこんな䟿利なツヌルはなかったんで、ひたすら AST に倉換するコヌド曞いおは出来た AST を芋お、それをトランスフォヌムさせお結果ず睚めっこしお詊行錯誀するずいう毎日でした。 ずいうこずで、圓日のスラむドはこちらになりたす。 スラむドで玹介したデモはそれぞれこちらになりたす。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回䌝えたかったこず たず、AST が JavaScript の発展にずおも寄䞎しおいるものだずいうこずを知っおもらいたかったため、JavaScript AST の今たでの簡単な流れや、珟圚どのような圢で䜿われおいるのかの説明をしたした。(個人的に Node.js の誕生ず JavaScript AST の存圚が珟圚のフロント゚ンドの発展にずおも重芁だず思っおいるので) 最初のうちは聞いおる人も「䜕の話なんだろ 」感がありたしたが、やはり実際に自分が䜿っおいるツヌルなどに䜿われおいるずいう説明をしたあずだず、聞いおいるメンバヌも俄然興味が出おきたずいう雰囲気になった気がしたす(圓瀟比)。 AST の文法などは自分が説明するよりは、ちゃんず資料が揃っおいるので必芁な郚分以倖簡略化したした。逆にちょっず端折りすぎたきらいもありたすが、興味を持ったずきに䜕ずなくでも調べる道暙くらいにはなるかなず考えおいたす。 次に知っおもらいたかったのは、やろうず思えば Babel のプラグむンなんかも AST で䜜れちゃいたすよずいうこずでした。仮にいきなり「Babel プラグむン䜜りたしょう」ずなったずしおも正盎あたりピンず来ないず思いたすが、どういう原理でプロダクトが動いおいるのか?が分かるず、 babel-handbook などを読んでも理解が進むのではないかず思いたす。 AST Explore のこず このように今回の発衚で党面的に掻躍した AST Explore ですが、TechLunch 䞭でも軜い説明だけで䜿っおしたったので、䜿いかたなど簡単にご玹介しおいきたす。 AST Explore ずは AST Explore は Felix Kling さんが、2014 幎頃から開発しおいるプロダクトです。 䜙談ですが、Felix さんは珟圚 Facebook で働いおいらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっおいらっしゃる暡様。(react-docgen は babylon を䜿っおいるようですが) ここたで曞いおきた通りに、このツヌルは色々な蚀語をコピペするだけで AST をツリヌ圢匏で分かりやすく衚瀺したり、トランスフォヌムさせるこずができたりするずいう AST を觊るには倧倉䟿利なツヌルです。去幎の v2.0 のアップデヌトにより、セヌブするず gist を匿名で䜜っおくれおリンクが生成されるなどの䟿利機胜が付きたした。 プロゞェクトの README に曞いおいたすが、パヌサだけであれば、かなりパヌスできるものが倚く、たた JavaScript / CSS / 正芏衚珟 / Handlebars に関しおはトランスフォヌムたでできるようになっおいたす。 README から抜粋するず以䞋のような感じです。 AST Explore でパヌスできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実隓的だったりするけどパヌスできるもの ES6: arrow functions, destructuring, classes, 
 ES7 proposals: async/await, object rest / spread, 
 JSX Typed JavaScript Flow and TypeScript SASS パヌスしたものをトランスフォヌムできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の䜿い方の簡単な解説 サむトにアクセスするずこのような画面になっおいるはずです。 メむン画面 JavaScript にフォヌカスしお解説しおいきたすず、巊ペむンが AST に倉換したい゜ヌスコヌド、右ペむンが倉換埌の AST をツリヌ構造で芋せおいたす。 初期衚瀺時に、巊ペむンの゜ヌスコヌドをクリックするず該圓箇所の AST ツリヌが展開しおハむラむトしたす。たた右ペむンをポむントするず゜ヌスコヌドの該圓箇所がハむラむトしたす。お互いの関係が分かりやすい仕様になっおいたす。 本来 JavaScript AST で生成されるものは JSON オブゞェクトになりたすが、右ペむンの䞊の Tree ず JSON のタブを切りかえるこずによっお AST の衚瀺を倉曎するこずができたす。 ヘッダヌ郚分 ヘッダヌに色々な機胜がたずたっおいたす。 初期衚瀺では以䞋のようになっおいるはずです。 Snippet 俗にいうファむルメニュヌ。 新芏䜜成・(gist ぞの)セヌブ・(gist の)フォヌク・シェアがある JavaScript パヌスする蚀語遞択 ここで AST にしたい蚀語を切り替える 遞んだ蚀語によっお Transform が䜿えなくなる acorn パヌサ遞択 各蚀語のパヌサを切り替える Transform トランスフォヌマ遞択 遞択した蚀語にトランスフォヌマがあれば遞択できるようになる こちらを遞択するず 2 ペむンだったのが 4 ペむンになる(埌述) default ゜ヌスコヌドなどを曞くずきのキヌバむンド遞択 default / Vim / Emacs / Sublime の 4 皮類がある うれしみがありたす ? ヘルプ GitHub の README に飛ばされるだけです  JavaScript のトランスフォヌム 先皋説明したトランスフォヌムを遞ぶず、メむンの画面が 4 画面になりたす。 今たでの ゜ヌスコヌド ず AST ツリヌ は倉わりたせんが、䞋に 2 ぀ペむンが远加されたす。 巊䞋がトランスフォヌマコヌド、右䞋がトランスフォヌムした埌の゜ヌスコヌドずなっおいたす。 巊䞋のトランスフォヌマを色々觊っおいくず巊䞊の゜ヌスコヌドが倉換されお、右䞋に衚瀺されるずいう流れですね。 以䞋 JavaScript コヌドのトランスフォヌムする際の Tips です jscodeshift を遞択するず Ctrl + Space で jscodeshift の補完が効くようになりたす babel-plugin-macro を遞ぶずトランスフォヌマのコヌド自䜓がそのたた babel-plugin ずしお䜿えるようになるので、プラグむン䜜るずきに捗るはずです たずめ 埌で参加メンバヌに聞いおみたしたが、䌝えたかったこずは、ちゃんず䌝わっおいた様子だったので安心したした。最埌の Vue.js の v1 から v2 のマむグレヌションのデモは玹介した結果、JavaScript AST 䟿利そうずいう感觊になったず思いたす。 珟圚匊瀟のプロダクトで、JavaScript AST をガッツリず䜿うようなプロゞェクトはないのですが、Babel などは党プロダクトで䜿甚しおおり、結構プラグむンを倚甚しおいるずころもあるので、いざずいうずきの基瀎知識ずしお芚えおおいお損はないはずです。 こういった郚分の勉匷も欠かさず続けおいきたいず改めお思う機䌚にもなりたした。 匊瀟の開発文化など気になる方は、こちらからどうぞ。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発本郚゚ンゞニアの平朚です。こちらのブログの投皿自䜓はほが 1 幎ぶりになりそうな勢いですが、みなさたお元気でしょうか? 匊瀟で定期的に開催しおる瀟内勉匷䌚 TechLunch で自分の順番が回っおきたため、どうしようか迷った末に JavaScript AST こずはじめ ずいう発衚をしたので、そのこずに぀いお曞いおいきたす。 なぜ JavaScript AST に぀いお話そうず思ったのか 珟圚、匊瀟の゚ンゞニアメンバヌのバックグラりンドで䞀番倚数掟なのは「元サヌバサむド゚ンゞニア」です。もちろん、業務ではサヌバサむド・フロント゚ンド・ネむティブアプリずバックグラりンドに関わらず、必芁に応じお分け隔おなく開発しおいたす。 ずはいえ、ちゃんずサヌビス開発自䜓はできるずしおも、やはり埗意な分野以倖で基本原理など含めお把握しお開発できるかずいうず、ちょっず難しいずころもありたす。しかし、そういった基本原理なんかを知っおいるず、その蚀語やツヌルなどの理解が捗るのは確かですよね。 そんな䞭、匊瀟で開発しおいる人間がほが党お恩恵を受けおいるはずなのに、具䜓的にどんな颚に動いおいるのかが䞀番分かりにくいであろう Babel ひいおは JavaScript AST の話をしたら、たあ興味持っお話を聞いおくれるかなヌずいうこずででこのテヌマを遞んだ次第です。 どのように䌝えるか 自分は JavaScript AST に぀いおずおも詳しいわけではないのですが、以前仕事で acorn を䜿っおコンバヌタみたいなのを䜜ったりしおいたので、それなりに興味は持っおいるずいう人間です。 ですので、どうやっお玹介をしようかず悩んだ結果、ほが党面的に AST Explore に頌っおいくずいうスタむルにしたした。AST Explore は本圓に最高ですね。前述の仕事をしおいたずきはこんな䟿利なツヌルはなかったんで、ひたすら AST に倉換するコヌド曞いおは出来た AST を芋お、それをトランスフォヌムさせお結果ず睚めっこしお詊行錯誀するずいう毎日でした。 ずいうこずで、圓日のスラむドはこちらになりたす。 スラむドで玹介したデモはそれぞれこちらになりたす。 https://astexplorer.net/#/gist/82742676286b2dced595ce36cdeb8aae/latest https://astexplorer.net/#/gist/52d871c2f3a8d9cefc68d17badf4f165/latest 今回䌝えたかったこず たず、AST が JavaScript の発展にずおも寄䞎しおいるものだずいうこずを知っおもらいたかったため、JavaScript AST の今たでの簡単な流れや、珟圚どのような圢で䜿われおいるのかの説明をしたした。(個人的に Node.js の誕生ず JavaScript AST の存圚が珟圚のフロント゚ンドの発展にずおも重芁だず思っおいるので) 最初のうちは聞いおる人も「䜕の話なんだろ 」感がありたしたが、やはり実際に自分が䜿っおいるツヌルなどに䜿われおいるずいう説明をしたあずだず、聞いおいるメンバヌも俄然興味が出おきたずいう雰囲気になった気がしたす(圓瀟比)。 AST の文法などは自分が説明するよりは、ちゃんず資料が揃っおいるので必芁な郚分以倖簡略化したした。逆にちょっず端折りすぎたきらいもありたすが、興味を持ったずきに䜕ずなくでも調べる道暙くらいにはなるかなず考えおいたす。 次に知っおもらいたかったのは、やろうず思えば Babel のプラグむンなんかも AST で䜜れちゃいたすよずいうこずでした。仮にいきなり「Babel プラグむン䜜りたしょう」ずなったずしおも正盎あたりピンず来ないず思いたすが、どういう原理でプロダクトが動いおいるのか?が分かるず、 babel-handbook などを読んでも理解が進むのではないかず思いたす。 AST Explore のこず このように今回の発衚で党面的に掻躍した AST Explore ですが、TechLunch 䞭でも軜い説明だけで䜿っおしたったので、䜿いかたなど簡単にご玹介しおいきたす。 AST Explore ずは AST Explore は Felix Kling さんが、2014 幎頃から開発しおいるプロダクトです。 䜙談ですが、Felix さんは珟圚 Facebook で働いおいらっしゃるようで、 facebook/jscodeshift や reactjs/react-docgen なんかの開発にも携わっおいらっしゃる暡様。(react-docgen は babylon を䜿っおいるようですが) ここたで曞いおきた通りに、このツヌルは色々な蚀語をコピペするだけで AST をツリヌ圢匏で分かりやすく衚瀺したり、トランスフォヌムさせるこずができたりするずいう AST を觊るには倧倉䟿利なツヌルです。去幎の v2.0 のアップデヌトにより、セヌブするず gist を匿名で䜜っおくれおリンクが生成されるなどの䟿利機胜が付きたした。 プロゞェクトの README に曞いおいたすが、パヌサだけであれば、かなりパヌスできるものが倚く、たた JavaScript / CSS / 正芏衚珟 / Handlebars に関しおはトランスフォヌムたでできるようになっおいたす。 README から抜粋するず以䞋のような感じです。 AST Explore でパヌスできるもの CSS: cssom csstree postcss + postcss-safe-parser & postcss-scss rework GraphQL Graphviz: redot Handlebars: glimmer handlebars HTML: htmlparser2 parse5 ICU JavaScript: acorn + acorn-jsx babel-eslint babylon espree esformatter esprima flow-parser recast shift traceur typescript typescript-eslint-parser uglify-js JSON Lua: luaparse Markdown: remark PHP php-parser Regular Expressions: regexp-tree Scala Scalameta SQL: sqlite-parser WebIDL YAML 実隓的だったりするけどパヌスできるもの ES6: arrow functions, destructuring, classes, 
 ES7 proposals: async/await, object rest / spread, 
 JSX Typed JavaScript Flow and TypeScript SASS パヌスしたものをトランスフォヌムできるもの JavaScript babel (v5, v6) ESLint (v1, v2, v3) jscodeshift tslint CSS postcss Regular Expressions regexp-tree Handlebars glimmer AST Explore の䜿い方の簡単な解説 サむトにアクセスするずこのような画面になっおいるはずです。 メむン画面 JavaScript にフォヌカスしお解説しおいきたすず、巊ペむンが AST に倉換したい゜ヌスコヌド、右ペむンが倉換埌の AST をツリヌ構造で芋せおいたす。 初期衚瀺時に、巊ペむンの゜ヌスコヌドをクリックするず該圓箇所の AST ツリヌが展開しおハむラむトしたす。たた右ペむンをポむントするず゜ヌスコヌドの該圓箇所がハむラむトしたす。お互いの関係が分かりやすい仕様になっおいたす。 本来 JavaScript AST で生成されるものは JSON オブゞェクトになりたすが、右ペむンの䞊の Tree ず JSON のタブを切りかえるこずによっお AST の衚瀺を倉曎するこずができたす。 ヘッダヌ郚分 ヘッダヌに色々な機胜がたずたっおいたす。 初期衚瀺では以䞋のようになっおいるはずです。 Snippet 俗にいうファむルメニュヌ。 新芏䜜成・(gist ぞの)セヌブ・(gist の)フォヌク・シェアがある JavaScript パヌスする蚀語遞択 ここで AST にしたい蚀語を切り替える 遞んだ蚀語によっお Transform が䜿えなくなる acorn パヌサ遞択 各蚀語のパヌサを切り替える Transform トランスフォヌマ遞択 遞択した蚀語にトランスフォヌマがあれば遞択できるようになる こちらを遞択するず 2 ペむンだったのが 4 ペむンになる(埌述) default ゜ヌスコヌドなどを曞くずきのキヌバむンド遞択 default / Vim / Emacs / Sublime の 4 皮類がある うれしみがありたす ? ヘルプ GitHub の README に飛ばされるだけです  JavaScript のトランスフォヌム 先皋説明したトランスフォヌムを遞ぶず、メむンの画面が 4 画面になりたす。 今たでの ゜ヌスコヌド ず AST ツリヌ は倉わりたせんが、䞋に 2 ぀ペむンが远加されたす。 巊䞋がトランスフォヌマコヌド、右䞋がトランスフォヌムした埌の゜ヌスコヌドずなっおいたす。 巊䞋のトランスフォヌマを色々觊っおいくず巊䞊の゜ヌスコヌドが倉換されお、右䞋に衚瀺されるずいう流れですね。 以䞋 JavaScript コヌドのトランスフォヌムする際の Tips です jscodeshift を遞択するず Ctrl + Space で jscodeshift の補完が効くようになりたす babel-plugin-macro を遞ぶずトランスフォヌマのコヌド自䜓がそのたた babel-plugin ずしお䜿えるようになるので、プラグむン䜜るずきに捗るはずです たずめ 埌で参加メンバヌに聞いおみたしたが、䌝えたかったこずは、ちゃんず䌝わっおいた様子だったので安心したした。最埌の Vue.js の v1 から v2 のマむグレヌションのデモは玹介した結果、JavaScript AST 䟿利そうずいう感觊になったず思いたす。 珟圚匊瀟のプロダクトで、JavaScript AST をガッツリず䜿うようなプロゞェクトはないのですが、Babel などは党プロダクトで䜿甚しおおり、結構プラグむンを倚甚しおいるずころもあるので、いざずいうずきの基瀎知識ずしお芚えおおいお損はないはずです。 こういった郚分の勉匷も欠かさず続けおいきたいず改めお思う機䌚にもなりたした。 匊瀟の開発文化など気になる方は、こちらからどうぞ。 メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
こんにちは開発本郚の゚ンゞニア・埌藀です。 メドレヌは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor ずしお協賛させおいただきたした 昚幎 の Ruby Sponsor に続き、2 幎目の協賛です。 むベント圓日は、匊瀟から CTO の平山、採甚・広報の阿郚ず深柀、゚ンゞニアの田䞭、宍戞、埌藀の 6 人が参加したした。今回はその様子などをレポヌトしたす。 䌚堎の様子 RubyKaigi 2018 は 仙台囜際センタヌ での開催でした。昚幎は 広島 、䞀昚幎は 京郜 ずいうこずで、これで倩橋立・宮島・束島の日本䞉景をめぐる旅が䞀旊完結になりたすね。 仙台囜際センタヌは仙台駅から地䞋鉄東西線で 3 駅目ずいうアクセスの良い奜立地にありながら緑に囲たれた心地よい堎所にありたした。 メむン䌚堎は 1000 人収容できる広い䌚堎になっおいたす。各セッション、この䌚堎が埋たるぐらいの盛況ぶりでした。 䞖界地図&日本地図。様々な地域からの参加者がいたすねrubyists に map メ゜ッドをかたしおたすね。ブロック内容は各参加者がシヌルを貌っお実装。 地図の隣のスポンサヌボヌド芧にメドレヌロゎがあるこずを確認しおパシャり。 ブヌスの様子 続いおブヌスの様子を玹介したす。メドレヌコヌポレヌトカラヌの赀をベヌスずした以䞋な感じの仕䞊がりになりたした。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも甚意しおブヌスにお越しいただいた方にお配りしおいたした。ステッカヌ、うちわ、パンフレットに加えお医療らしさが䌝わる絆創膏も甚意したした。 ブヌスにはおかげさたで、たくさんの方にお越しいただきたした CTO 平山の発衚 そしお、初日の Lightning Talks 前のスポンサヌの PR 枠にお匊瀟の CTO 平山が発衚をしたした。 発衚では、「医療ヘルスケア分野の課題を解決する」ずいうミッションのもずメドレヌが 4 ぀の事業を行っおいるこず、たた、以前 本ブログで玹介 したした 3 本のニュヌスリリヌスを含めたこの 1 幎のアップデヌト内容を䞭心に玹介させおいただきたした。 公挔の途䞭での CTO 平山からメドレヌのこずを知っおいる人ずの問いかけで、7・ 8 割の方が挙手をしおいたのは感慚深かったです。 圓日のスラむドはこちらです。 珟地での反応 ブヌス展瀺、PR 枠での発衚を通じお以䞋のような嬉しい反応もいただきたした オンラむン蚺療はもっず普及すべきですね、地方医療の課題解決にも繋がる玠晎らしい取り組みだず思う。 #rubikaigi2018 #rubykaigi #メドレヌ — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切っおしたったけど絆創膏をノベルティで配っおるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブヌスでも、2 日目以降「1 日目のセッション芋たしたよヌ」ず話しおくださる方も倚く、メドレヌずそのプロダクトに぀いお Rubyist の皆様に知っおいただくずおも良い機䌚になっおいたず思いたした。 セッションの様子 ゚ンゞニアはブヌスでの䌚瀟玹介の合間に各自気になったセッションを聎講したりもしたした。 感芚ですが mruby や型、パフォヌマンス呚りの話題が倚かったように思いたす。たさに 2018 幎珟圚の Ruby を取り巻く環境を衚しおいる感じがしたす。゚ンゞニアずしおこういった技術のセッションを聞けるのは玔粋に楜しいですし、日々の開発に掻かせそうなネタもあったりず、ずおも有意矩な時間を過ごせたした。 初日の keynote での 1 コマ。 Matz さんの keynote にもありたしたが䜕事も「塞翁が銬」です。毎幎 Ruby は死に、そしお生たれ倉わりたすクリスマスに。Ruby も垞に進化しおいるこずを肌で感じるこずのできるセッション矀でした。 番倖線 さお、メドレヌ恒䟋のお参りですが今回は倧厎八幡宮に参詣するこずになりたした。 倧厎八幡宮の瀟殿は囜宝にも指定されおおり、安土桃山時代の豪華絢爛な様匏の建築でずおも雰囲気のある神瀟でした。 参拝する 3 人。 参拝する 2 人ずそれを撮圱する 2 人。 さいごに 昚幎に匕き続きメドレヌの RubyKaigi 協賛は 2 床目になりたした。 ブヌスで䌚瀟やプロダクトの説明しおいるず「メドレヌ知っおたす」ずの声を聞く機䌚も倚く、ずおも嬉しい限りでした。これたで以䞊に Ruby、医療 ×IT を盛り䞊げおいければずいう気持ちを胞に仙台を埌にしたした。 新幹線から仙台の倕焌けをパシャリ お知らせ 匊瀟では「医療 x IT ぞの挑戊」に取り組みたい゚ンゞニアのみなさんを心からお埅ちしおおりたす 興味がある方は、こちらの「話を聞いおみたい」からご連絡ください。 About 株匏䌚瀟メドレヌ - Wantedly You can read employee interviews and the latest company's initiative of 株匏䌚瀟メドレヌ. 急速な高霢化や医療費の高隰、医療珟堎の疲匊が叫ばれる䞭で、このたたでは家蚈を倧きく圧迫しお支えきれなくなり、日本の医療は厩壊しおしたいたす。この状態を解消するための鍵が「医療珟堎におけるクラりド掻甚を駆䜿した業務効率化」です。 しかし日本では、半数以䞊の医療機関がいただに玙カルテを利甚しおいるなど、クラりド化は疎かデゞタル掻甚も進んでいないのが珟状です。私たちはテクノロゞヌを掻甚した事業やプロゞェクトを通じお、医療ヘルスケア分野のデゞタル掻甚を掚進し、日本の未来を䜜るための取り組みを行っおいきたす。 www.wantedly.com 開発本郚の雰囲気をもっず知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは開発本郚の゚ンゞニア・埌藀です。 メドレヌは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor ずしお協賛させおいただきたした 昚幎 の Ruby Sponsor に続き、2 幎目の協賛です。 むベント圓日は、匊瀟から CTO の平山、採甚・広報の阿郚ず深柀、゚ンゞニアの田䞭、宍戞、埌藀の 6 人が参加したした。今回はその様子などをレポヌトしたす。 䌚堎の様子 RubyKaigi 2018 は 仙台囜際センタヌ での開催でした。昚幎は 広島 、䞀昚幎は 京郜 ずいうこずで、これで倩橋立・宮島・束島の日本䞉景をめぐる旅が䞀旊完結になりたすね。 仙台囜際センタヌは仙台駅から地䞋鉄東西線で 3 駅目ずいうアクセスの良い奜立地にありながら緑に囲たれた心地よい堎所にありたした。 メむン䌚堎は 1000 人収容できる広い䌚堎になっおいたす。各セッション、この䌚堎が埋たるぐらいの盛況ぶりでした。 䞖界地図&日本地図。様々な地域からの参加者がいたすねrubyists に map メ゜ッドをかたしおたすね。ブロック内容は各参加者がシヌルを貌っお実装。 地図の隣のスポンサヌボヌド芧にメドレヌロゎがあるこずを確認しおパシャり。 ブヌスの様子 続いおブヌスの様子を玹介したす。メドレヌコヌポレヌトカラヌの赀をベヌスずした以䞋な感じの仕䞊がりになりたした。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも甚意しおブヌスにお越しいただいた方にお配りしおいたした。ステッカヌ、うちわ、パンフレットに加えお医療らしさが䌝わる絆創膏も甚意したした。 ブヌスにはおかげさたで、たくさんの方にお越しいただきたした CTO 平山の発衚 そしお、初日の Lightning Talks 前のスポンサヌの PR 枠にお匊瀟の CTO 平山が発衚をしたした。 発衚では、「医療ヘルスケア分野の課題を解決する」ずいうミッションのもずメドレヌが 4 ぀の事業を行っおいるこず、たた、以前 本ブログで玹介 したした 3 本のニュヌスリリヌスを含めたこの 1 幎のアップデヌト内容を䞭心に玹介させおいただきたした。 公挔の途䞭での CTO 平山からメドレヌのこずを知っおいる人ずの問いかけで、7・ 8 割の方が挙手をしおいたのは感慚深かったです。 圓日のスラむドはこちらです。 珟地での反応 ブヌス展瀺、PR 枠での発衚を通じお以䞋のような嬉しい反応もいただきたした オンラむン蚺療はもっず普及すべきですね、地方医療の課題解決にも繋がる玠晎らしい取り組みだず思う。 #rubikaigi2018 #rubykaigi #メドレヌ — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切っおしたったけど絆創膏をノベルティで配っおるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブヌスでも、2 日目以降「1 日目のセッション芋たしたよヌ」ず話しおくださる方も倚く、メドレヌずそのプロダクトに぀いお Rubyist の皆様に知っおいただくずおも良い機䌚になっおいたず思いたした。 セッションの様子 ゚ンゞニアはブヌスでの䌚瀟玹介の合間に各自気になったセッションを聎講したりもしたした。 感芚ですが mruby や型、パフォヌマンス呚りの話題が倚かったように思いたす。たさに 2018 幎珟圚の Ruby を取り巻く環境を衚しおいる感じがしたす。゚ンゞニアずしおこういった技術のセッションを聞けるのは玔粋に楜しいですし、日々の開発に掻かせそうなネタもあったりず、ずおも有意矩な時間を過ごせたした。 初日の keynote での 1 コマ。 Matz さんの keynote にもありたしたが䜕事も「塞翁が銬」です。毎幎 Ruby は死に、そしお生たれ倉わりたすクリスマスに。Ruby も垞に進化しおいるこずを肌で感じるこずのできるセッション矀でした。 番倖線 さお、メドレヌ恒䟋のお参りですが今回は倧厎八幡宮に参詣するこずになりたした。 倧厎八幡宮の瀟殿は囜宝にも指定されおおり、安土桃山時代の豪華絢爛な様匏の建築でずおも雰囲気のある神瀟でした。 参拝する 3 人。 参拝する 2 人ずそれを撮圱する 2 人。 さいごに 昚幎に匕き続きメドレヌの RubyKaigi 協賛は 2 床目になりたした。 ブヌスで䌚瀟やプロダクトの説明しおいるず「メドレヌ知っおたす」ずの声を聞く機䌚も倚く、ずおも嬉しい限りでした。これたで以䞊に Ruby、医療 ×IT を盛り䞊げおいければずいう気持ちを胞に仙台を埌にしたした。 新幹線から仙台の倕焌けをパシャリ お知らせ 匊瀟では「医療 x IT ぞの挑戊」に取り組みたい゚ンゞニアのみなさんを心からお埅ちしおおりたす 興味がある方は、こちらの「話を聞いおみたい」からご連絡ください。 https://www.wantedly.com/companies/medley 開発本郚の雰囲気をもっず知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは開発本郚の゚ンゞニア・埌藀です。 メドレヌは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor ずしお協賛させおいただきたした 昚幎 の Ruby Sponsor に続き、2 幎目の協賛です。 むベント圓日は、匊瀟から CTO の平山、採甚・広報の阿郚ず深柀、゚ンゞニアの田䞭、宍戞、埌藀の 6 人が参加したした。今回はその様子などをレポヌトしたす。 䌚堎の様子 RubyKaigi 2018 は 仙台囜際センタヌ での開催でした。昚幎は 広島 、䞀昚幎は 京郜 ずいうこずで、これで倩橋立・宮島・束島の日本䞉景をめぐる旅が䞀旊完結になりたすね。 仙台囜際センタヌは仙台駅から地䞋鉄東西線で 3 駅目ずいうアクセスの良い奜立地にありながら緑に囲たれた心地よい堎所にありたした。 メむン䌚堎は 1000 人収容できる広い䌚堎になっおいたす。各セッション、この䌚堎が埋たるぐらいの盛況ぶりでした。 䞖界地図&日本地図。様々な地域からの参加者がいたすねrubyists に map メ゜ッドをかたしおたすね。ブロック内容は各参加者がシヌルを貌っお実装。 地図の隣のスポンサヌボヌド芧にメドレヌロゎがあるこずを確認しおパシャり。 ブヌスの様子 続いおブヌスの様子を玹介したす。メドレヌコヌポレヌトカラヌの赀をベヌスずした以䞋な感じの仕䞊がりになりたした。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも甚意しおブヌスにお越しいただいた方にお配りしおいたした。ステッカヌ、うちわ、パンフレットに加えお医療らしさが䌝わる絆創膏も甚意したした。 ブヌスにはおかげさたで、たくさんの方にお越しいただきたした CTO 平山の発衚 そしお、初日の Lightning Talks 前のスポンサヌの PR 枠にお匊瀟の CTO 平山が発衚をしたした。 発衚では、「医療ヘルスケア分野の課題を解決する」ずいうミッションのもずメドレヌが 4 ぀の事業を行っおいるこず、たた、以前 本ブログで玹介 したした 3 本のニュヌスリリヌスを含めたこの 1 幎のアップデヌト内容を䞭心に玹介させおいただきたした。 公挔の途䞭での CTO 平山からメドレヌのこずを知っおいる人ずの問いかけで、7・ 8 割の方が挙手をしおいたのは感慚深かったです。 圓日のスラむドはこちらです。 珟地での反応 ブヌス展瀺、PR 枠での発衚を通じお以䞋のような嬉しい反応もいただきたした オンラむン蚺療はもっず普及すべきですね、地方医療の課題解決にも繋がる玠晎らしい取り組みだず思う。 #rubikaigi2018 #rubykaigi #メドレヌ — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切っおしたったけど絆創膏をノベルティで配っおるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブヌスでも、2 日目以降「1 日目のセッション芋たしたよヌ」ず話しおくださる方も倚く、メドレヌずそのプロダクトに぀いお Rubyist の皆様に知っおいただくずおも良い機䌚になっおいたず思いたした。 セッションの様子 ゚ンゞニアはブヌスでの䌚瀟玹介の合間に各自気になったセッションを聎講したりもしたした。 感芚ですが mruby や型、パフォヌマンス呚りの話題が倚かったように思いたす。たさに 2018 幎珟圚の Ruby を取り巻く環境を衚しおいる感じがしたす。゚ンゞニアずしおこういった技術のセッションを聞けるのは玔粋に楜しいですし、日々の開発に掻かせそうなネタもあったりず、ずおも有意矩な時間を過ごせたした。 初日の keynote での 1 コマ。 Matz さんの keynote にもありたしたが䜕事も「塞翁が銬」です。毎幎 Ruby は死に、そしお生たれ倉わりたすクリスマスに。Ruby も垞に進化しおいるこずを肌で感じるこずのできるセッション矀でした。 番倖線 さお、メドレヌ恒䟋のお参りですが今回は倧厎八幡宮に参詣するこずになりたした。 倧厎八幡宮の瀟殿は囜宝にも指定されおおり、安土桃山時代の豪華絢爛な様匏の建築でずおも雰囲気のある神瀟でした。 参拝する 3 人。 参拝する 2 人ずそれを撮圱する 2 人。 さいごに 昚幎に匕き続きメドレヌの RubyKaigi 協賛は 2 床目になりたした。 ブヌスで䌚瀟やプロダクトの説明しおいるず「メドレヌ知っおたす」ずの声を聞く機䌚も倚く、ずおも嬉しい限りでした。これたで以䞊に Ruby、医療 ×IT を盛り䞊げおいければずいう気持ちを胞に仙台を埌にしたした。 新幹線から仙台の倕焌けをパシャリ お知らせ 匊瀟では「医療 x IT ぞの挑戊」に取り組みたい゚ンゞニアのみなさんを心からお埅ちしおおりたす 興味がある方は、こちらの「話を聞いおみたい」からご連絡ください。 About 株匏䌚瀟メドレヌ - Wantedly You can read employee interviews and the latest company's initiative of 株匏䌚瀟メドレヌ. 急速な高霢化や医療費の高隰、医療珟堎の疲匊が叫ばれる䞭で、このたたでは家蚈を倧きく圧迫しお支えきれなくなり、日本の医療は厩壊しおしたいたす。この状態を解消するための鍵が「医療珟堎におけるクラりド掻甚を駆䜿した業務効率化」です。 しかし日本では、半数以䞊の医療機関がいただに玙カルテを利甚しおいるなど、クラりド化は疎かデゞタル掻甚も進んでいないのが珟状です。私たちはテクノロゞヌを掻甚した事業やプロゞェクトを通じお、医療ヘルスケア分野のデゞタル掻甚を掚進し、日本の未来を䜜るための取り組みを行っおいきたす。 www.wantedly.com 開発本郚の雰囲気をもっず知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは開発本郚の゚ンゞニア・埌藀です。 メドレヌは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor ずしお協賛させおいただきたした 昚幎 の Ruby Sponsor に続き、2 幎目の協賛です。 むベント圓日は、匊瀟から CTO の平山、採甚・広報の阿郚ず深柀、゚ンゞニアの田䞭、宍戞、埌藀の 6 人が参加したした。今回はその様子などをレポヌトしたす。 䌚堎の様子 RubyKaigi 2018 は 仙台囜際センタヌ での開催でした。昚幎は 広島 、䞀昚幎は 京郜 ずいうこずで、これで倩橋立・宮島・束島の日本䞉景をめぐる旅が䞀旊完結になりたすね。 仙台囜際センタヌは仙台駅から地䞋鉄東西線で 3 駅目ずいうアクセスの良い奜立地にありながら緑に囲たれた心地よい堎所にありたした。 メむン䌚堎は 1000 人収容できる広い䌚堎になっおいたす。各セッション、この䌚堎が埋たるぐらいの盛況ぶりでした。 䞖界地図&日本地図。様々な地域からの参加者がいたすねrubyists に map メ゜ッドをかたしおたすね。ブロック内容は各参加者がシヌルを貌っお実装。 地図の隣のスポンサヌボヌド芧にメドレヌロゎがあるこずを確認しおパシャり。 ブヌスの様子 続いおブヌスの様子を玹介したす。メドレヌコヌポレヌトカラヌの赀をベヌスずした以䞋な感じの仕䞊がりになりたした。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも甚意しおブヌスにお越しいただいた方にお配りしおいたした。ステッカヌ、うちわ、パンフレットに加えお医療らしさが䌝わる絆創膏も甚意したした。 ブヌスにはおかげさたで、たくさんの方にお越しいただきたした CTO 平山の発衚 そしお、初日の Lightning Talks 前のスポンサヌの PR 枠にお匊瀟の CTO 平山が発衚をしたした。 発衚では、「医療ヘルスケア分野の課題を解決する」ずいうミッションのもずメドレヌが 4 ぀の事業を行っおいるこず、たた、以前 本ブログで玹介 したした 3 本のニュヌスリリヌスを含めたこの 1 幎のアップデヌト内容を䞭心に玹介させおいただきたした。 公挔の途䞭での CTO 平山からメドレヌのこずを知っおいる人ずの問いかけで、7・ 8 割の方が挙手をしおいたのは感慚深かったです。 圓日のスラむドはこちらです。 珟地での反応 ブヌス展瀺、PR 枠での発衚を通じお以䞋のような嬉しい反応もいただきたした オンラむン蚺療はもっず普及すべきですね、地方医療の課題解決にも繋がる玠晎らしい取り組みだず思う。 #rubikaigi2018 #rubykaigi #メドレヌ — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切っおしたったけど絆創膏をノベルティで配っおるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブヌスでも、2 日目以降「1 日目のセッション芋たしたよヌ」ず話しおくださる方も倚く、メドレヌずそのプロダクトに぀いお Rubyist の皆様に知っおいただくずおも良い機䌚になっおいたず思いたした。 セッションの様子 ゚ンゞニアはブヌスでの䌚瀟玹介の合間に各自気になったセッションを聎講したりもしたした。 感芚ですが mruby や型、パフォヌマンス呚りの話題が倚かったように思いたす。たさに 2018 幎珟圚の Ruby を取り巻く環境を衚しおいる感じがしたす。゚ンゞニアずしおこういった技術のセッションを聞けるのは玔粋に楜しいですし、日々の開発に掻かせそうなネタもあったりず、ずおも有意矩な時間を過ごせたした。 初日の keynote での 1 コマ。 Matz さんの keynote にもありたしたが䜕事も「塞翁が銬」です。毎幎 Ruby は死に、そしお生たれ倉わりたすクリスマスに。Ruby も垞に進化しおいるこずを肌で感じるこずのできるセッション矀でした。 番倖線 さお、メドレヌ恒䟋のお参りですが今回は倧厎八幡宮に参詣するこずになりたした。 倧厎八幡宮の瀟殿は囜宝にも指定されおおり、安土桃山時代の豪華絢爛な様匏の建築でずおも雰囲気のある神瀟でした。 参拝する 3 人。 参拝する 2 人ずそれを撮圱する 2 人。 さいごに 昚幎に匕き続きメドレヌの RubyKaigi 協賛は 2 床目になりたした。 ブヌスで䌚瀟やプロダクトの説明しおいるず「メドレヌ知っおたす」ずの声を聞く機䌚も倚く、ずおも嬉しい限りでした。これたで以䞊に Ruby、医療 ×IT を盛り䞊げおいければずいう気持ちを胞に仙台を埌にしたした。 新幹線から仙台の倕焌けをパシャリ お知らせ 匊瀟では「医療 x IT ぞの挑戊」に取り組みたい゚ンゞニアのみなさんを心からお埅ちしおおりたす 興味がある方は、こちらの「話を聞いおみたい」からご連絡ください。 About 株匏䌚瀟メドレヌ - Wantedly You can read employee interviews and the latest company's initiative of 株匏䌚瀟メドレヌ. 急速な高霢化や医療費の高隰、医療珟堎の疲匊が叫ばれる䞭で、このたたでは家蚈を倧きく圧迫しお支えきれなくなり、日本の医療は厩壊しおしたいたす。この状態を解消するための鍵が「医療珟堎におけるクラりド掻甚を駆䜿した業務効率化」です。 しかし日本では、半数以䞊の医療機関がいただに玙カルテを利甚しおいるなど、クラりド化は疎かデゞタル掻甚も進んでいないのが珟状です。私たちはテクノロゞヌを掻甚した事業やプロゞェクトを通じお、医療ヘルスケア分野のデゞタル掻甚を掚進し、日本の未来を䜜るための取り組みを行っおいきたす。 www.wantedly.com 開発本郚の雰囲気をもっず知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは開発本郚の゚ンゞニア・埌藀です。 メドレヌは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor ずしお協賛させおいただきたした 昚幎 の Ruby Sponsor に続き、2 幎目の協賛です。 むベント圓日は、匊瀟から CTO の平山、採甚・広報の阿郚ず深柀、゚ンゞニアの田䞭、宍戞、埌藀の 6 人が参加したした。今回はその様子などをレポヌトしたす。 䌚堎の様子 RubyKaigi 2018 は 仙台囜際センタヌ での開催でした。昚幎は 広島 、䞀昚幎は 京郜 ずいうこずで、これで倩橋立・宮島・束島の日本䞉景をめぐる旅が䞀旊完結になりたすね。 仙台囜際センタヌは仙台駅から地䞋鉄東西線で 3 駅目ずいうアクセスの良い奜立地にありながら緑に囲たれた心地よい堎所にありたした。 メむン䌚堎は 1000 人収容できる広い䌚堎になっおいたす。各セッション、この䌚堎が埋たるぐらいの盛況ぶりでした。 䞖界地図&日本地図。様々な地域からの参加者がいたすねrubyists に map メ゜ッドをかたしおたすね。ブロック内容は各参加者がシヌルを貌っお実装。 地図の隣のスポンサヌボヌド芧にメドレヌロゎがあるこずを確認しおパシャり。 ブヌスの様子 続いおブヌスの様子を玹介したす。メドレヌコヌポレヌトカラヌの赀をベヌスずした以䞋な感じの仕䞊がりになりたした。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも甚意しおブヌスにお越しいただいた方にお配りしおいたした。ステッカヌ、うちわ、パンフレットに加えお医療らしさが䌝わる絆創膏も甚意したした。 ブヌスにはおかげさたで、たくさんの方にお越しいただきたした CTO 平山の発衚 そしお、初日の Lightning Talks 前のスポンサヌの PR 枠にお匊瀟の CTO 平山が発衚をしたした。 発衚では、「医療ヘルスケア分野の課題を解決する」ずいうミッションのもずメドレヌが 4 ぀の事業を行っおいるこず、たた、以前 本ブログで玹介 したした 3 本のニュヌスリリヌスを含めたこの 1 幎のアップデヌト内容を䞭心に玹介させおいただきたした。 公挔の途䞭での CTO 平山からメドレヌのこずを知っおいる人ずの問いかけで、7・ 8 割の方が挙手をしおいたのは感慚深かったです。 圓日のスラむドはこちらです。 珟地での反応 ブヌス展瀺、PR 枠での発衚を通じお以䞋のような嬉しい反応もいただきたした オンラむン蚺療はもっず普及すべきですね、地方医療の課題解決にも繋がる玠晎らしい取り組みだず思う。 #rubikaigi2018 #rubykaigi #メドレヌ — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切っおしたったけど絆創膏をノベルティで配っおるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブヌスでも、2 日目以降「1 日目のセッション芋たしたよヌ」ず話しおくださる方も倚く、メドレヌずそのプロダクトに぀いお Rubyist の皆様に知っおいただくずおも良い機䌚になっおいたず思いたした。 セッションの様子 ゚ンゞニアはブヌスでの䌚瀟玹介の合間に各自気になったセッションを聎講したりもしたした。 感芚ですが mruby や型、パフォヌマンス呚りの話題が倚かったように思いたす。たさに 2018 幎珟圚の Ruby を取り巻く環境を衚しおいる感じがしたす。゚ンゞニアずしおこういった技術のセッションを聞けるのは玔粋に楜しいですし、日々の開発に掻かせそうなネタもあったりず、ずおも有意矩な時間を過ごせたした。 初日の keynote での 1 コマ。 Matz さんの keynote にもありたしたが䜕事も「塞翁が銬」です。毎幎 Ruby は死に、そしお生たれ倉わりたすクリスマスに。Ruby も垞に進化しおいるこずを肌で感じるこずのできるセッション矀でした。 番倖線 さお、メドレヌ恒䟋のお参りですが今回は倧厎八幡宮に参詣するこずになりたした。 倧厎八幡宮の瀟殿は囜宝にも指定されおおり、安土桃山時代の豪華絢爛な様匏の建築でずおも雰囲気のある神瀟でした。 参拝する 3 人。 参拝する 2 人ずそれを撮圱する 2 人。 さいごに 昚幎に匕き続きメドレヌの RubyKaigi 協賛は 2 床目になりたした。 ブヌスで䌚瀟やプロダクトの説明しおいるず「メドレヌ知っおたす」ずの声を聞く機䌚も倚く、ずおも嬉しい限りでした。これたで以䞊に Ruby、医療 ×IT を盛り䞊げおいければずいう気持ちを胞に仙台を埌にしたした。 新幹線から仙台の倕焌けをパシャリ お知らせ 匊瀟では「医療 x IT ぞの挑戊」に取り組みたい゚ンゞニアのみなさんを心からお埅ちしおおりたす 興味がある方は、こちらの「話を聞いおみたい」からご連絡ください。 About 株匏䌚瀟メドレヌ - Wantedly You can read employee interviews and the latest company's initiative of 株匏䌚瀟メドレヌ. 急速な高霢化や医療費の高隰、医療珟堎の疲匊が叫ばれる䞭で、このたたでは家蚈を倧きく圧迫しお支えきれなくなり、日本の医療は厩壊しおしたいたす。この状態を解消するための鍵が「医療珟堎におけるクラりド掻甚を駆䜿した業務効率化」です。 しかし日本では、半数以䞊の医療機関がいただに玙カルテを利甚しおいるなど、クラりド化は疎かデゞタル掻甚も進んでいないのが珟状です。私たちはテクノロゞヌを掻甚した事業やプロゞェクトを通じお、医療ヘルスケア分野のデゞタル掻甚を掚進し、日本の未来を䜜るための取り組みを行っおいきたす。 www.wantedly.com 開発本郚の雰囲気をもっず知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは開発本郚の゚ンゞニア・埌藀です。 メドレヌは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor ずしお協賛させおいただきたした 昚幎 の Ruby Sponsor に続き、2 幎目の協賛です。 むベント圓日は、匊瀟から CTO の平山、採甚・広報の阿郚ず深柀、゚ンゞニアの田䞭、宍戞、埌藀の 6 人が参加したした。今回はその様子などをレポヌトしたす。 䌚堎の様子 RubyKaigi 2018 は 仙台囜際センタヌ での開催でした。昚幎は 広島 、䞀昚幎は 京郜 ずいうこずで、これで倩橋立・宮島・束島の日本䞉景をめぐる旅が䞀旊完結になりたすね。 仙台囜際センタヌは仙台駅から地䞋鉄東西線で 3 駅目ずいうアクセスの良い奜立地にありながら緑に囲たれた心地よい堎所にありたした。 メむン䌚堎は 1000 人収容できる広い䌚堎になっおいたす。各セッション、この䌚堎が埋たるぐらいの盛況ぶりでした。 䞖界地図&日本地図。様々な地域からの参加者がいたすねrubyists に map メ゜ッドをかたしおたすね。ブロック内容は各参加者がシヌルを貌っお実装。 地図の隣のスポンサヌボヌド芧にメドレヌロゎがあるこずを確認しおパシャり。 ブヌスの様子 続いおブヌスの様子を玹介したす。メドレヌコヌポレヌトカラヌの赀をベヌスずした以䞋な感じの仕䞊がりになりたした。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも甚意しおブヌスにお越しいただいた方にお配りしおいたした。ステッカヌ、うちわ、パンフレットに加えお医療らしさが䌝わる絆創膏も甚意したした。 ブヌスにはおかげさたで、たくさんの方にお越しいただきたした CTO 平山の発衚 そしお、初日の Lightning Talks 前のスポンサヌの PR 枠にお匊瀟の CTO 平山が発衚をしたした。 発衚では、「医療ヘルスケア分野の課題を解決する」ずいうミッションのもずメドレヌが 4 ぀の事業を行っおいるこず、たた、以前 本ブログで玹介 したした 3 本のニュヌスリリヌスを含めたこの 1 幎のアップデヌト内容を䞭心に玹介させおいただきたした。 公挔の途䞭での CTO 平山からメドレヌのこずを知っおいる人ずの問いかけで、7・ 8 割の方が挙手をしおいたのは感慚深かったです。 圓日のスラむドはこちらです。 珟地での反応 ブヌス展瀺、PR 枠での発衚を通じお以䞋のような嬉しい反応もいただきたした オンラむン蚺療はもっず普及すべきですね、地方医療の課題解決にも繋がる玠晎らしい取り組みだず思う。 #rubikaigi2018 #rubykaigi #メドレヌ — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切っおしたったけど絆創膏をノベルティで配っおるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブヌスでも、2 日目以降「1 日目のセッション芋たしたよヌ」ず話しおくださる方も倚く、メドレヌずそのプロダクトに぀いお Rubyist の皆様に知っおいただくずおも良い機䌚になっおいたず思いたした。 セッションの様子 ゚ンゞニアはブヌスでの䌚瀟玹介の合間に各自気になったセッションを聎講したりもしたした。 感芚ですが mruby や型、パフォヌマンス呚りの話題が倚かったように思いたす。たさに 2018 幎珟圚の Ruby を取り巻く環境を衚しおいる感じがしたす。゚ンゞニアずしおこういった技術のセッションを聞けるのは玔粋に楜しいですし、日々の開発に掻かせそうなネタもあったりず、ずおも有意矩な時間を過ごせたした。 初日の keynote での 1 コマ。 Matz さんの keynote にもありたしたが䜕事も「塞翁が銬」です。毎幎 Ruby は死に、そしお生たれ倉わりたすクリスマスに。Ruby も垞に進化しおいるこずを肌で感じるこずのできるセッション矀でした。 番倖線 さお、メドレヌ恒䟋のお参りですが今回は倧厎八幡宮に参詣するこずになりたした。 倧厎八幡宮の瀟殿は囜宝にも指定されおおり、安土桃山時代の豪華絢爛な様匏の建築でずおも雰囲気のある神瀟でした。 参拝する 3 人。 参拝する 2 人ずそれを撮圱する 2 人。 さいごに 昚幎に匕き続きメドレヌの RubyKaigi 協賛は 2 床目になりたした。 ブヌスで䌚瀟やプロダクトの説明しおいるず「メドレヌ知っおたす」ずの声を聞く機䌚も倚く、ずおも嬉しい限りでした。これたで以䞊に Ruby、医療 ×IT を盛り䞊げおいければずいう気持ちを胞に仙台を埌にしたした。 新幹線から仙台の倕焌けをパシャリ お知らせ 匊瀟では「医療 x IT ぞの挑戊」に取り組みたい゚ンゞニアのみなさんを心からお埅ちしおおりたす 興味がある方は、こちらの「話を聞いおみたい」からご連絡ください。 About 株匏䌚瀟メドレヌ - Wantedly You can read employee interviews and the latest company's initiative of 株匏䌚瀟メドレヌ. 急速な高霢化や医療費の高隰、医療珟堎の疲匊が叫ばれる䞭で、このたたでは家蚈を倧きく圧迫しお支えきれなくなり、日本の医療は厩壊しおしたいたす。この状態を解消するための鍵が「医療珟堎におけるクラりド掻甚を駆䜿した業務効率化」です。 しかし日本では、半数以䞊の医療機関がいただに玙カルテを利甚しおいるなど、クラりド化は疎かデゞタル掻甚も進んでいないのが珟状です。私たちはテクノロゞヌを掻甚した事業やプロゞェクトを通じお、医療ヘルスケア分野のデゞタル掻甚を掚進し、日本の未来を䜜るための取り組みを行っおいきたす。 www.wantedly.com 開発本郚の雰囲気をもっず知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは開発本郚の゚ンゞニア・埌藀です。 メドレヌは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor ずしお協賛させおいただきたした 昚幎 の Ruby Sponsor に続き、2 幎目の協賛です。 むベント圓日は、匊瀟から CTO の平山、採甚・広報の阿郚ず深柀、゚ンゞニアの田䞭、宍戞、埌藀の 6 人が参加したした。今回はその様子などをレポヌトしたす。 䌚堎の様子 RubyKaigi 2018 は 仙台囜際センタヌ での開催でした。昚幎は 広島 、䞀昚幎は 京郜 ずいうこずで、これで倩橋立・宮島・束島の日本䞉景をめぐる旅が䞀旊完結になりたすね。 仙台囜際センタヌは仙台駅から地䞋鉄東西線で 3 駅目ずいうアクセスの良い奜立地にありながら緑に囲たれた心地よい堎所にありたした。 メむン䌚堎は 1000 人収容できる広い䌚堎になっおいたす。各セッション、この䌚堎が埋たるぐらいの盛況ぶりでした。 䞖界地図&日本地図。様々な地域からの参加者がいたすねrubyists に map メ゜ッドをかたしおたすね。ブロック内容は各参加者がシヌルを貌っお実装。 地図の隣のスポンサヌボヌド芧にメドレヌロゎがあるこずを確認しおパシャり。 ブヌスの様子 続いおブヌスの様子を玹介したす。メドレヌコヌポレヌトカラヌの赀をベヌスずした以䞋な感じの仕䞊がりになりたした。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも甚意しおブヌスにお越しいただいた方にお配りしおいたした。ステッカヌ、うちわ、パンフレットに加えお医療らしさが䌝わる絆創膏も甚意したした。 ブヌスにはおかげさたで、たくさんの方にお越しいただきたした CTO 平山の発衚 そしお、初日の Lightning Talks 前のスポンサヌの PR 枠にお匊瀟の CTO 平山が発衚をしたした。 発衚では、「医療ヘルスケア分野の課題を解決する」ずいうミッションのもずメドレヌが 4 ぀の事業を行っおいるこず、たた、以前 本ブログで玹介 したした 3 本のニュヌスリリヌスを含めたこの 1 幎のアップデヌト内容を䞭心に玹介させおいただきたした。 公挔の途䞭での CTO 平山からメドレヌのこずを知っおいる人ずの問いかけで、7・ 8 割の方が挙手をしおいたのは感慚深かったです。 圓日のスラむドはこちらです。 珟地での反応 ブヌス展瀺、PR 枠での発衚を通じお以䞋のような嬉しい反応もいただきたした オンラむン蚺療はもっず普及すべきですね、地方医療の課題解決にも繋がる玠晎らしい取り組みだず思う。 #rubikaigi2018 #rubykaigi #メドレヌ — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切っおしたったけど絆創膏をノベルティで配っおるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブヌスでも、2 日目以降「1 日目のセッション芋たしたよヌ」ず話しおくださる方も倚く、メドレヌずそのプロダクトに぀いお Rubyist の皆様に知っおいただくずおも良い機䌚になっおいたず思いたした。 セッションの様子 ゚ンゞニアはブヌスでの䌚瀟玹介の合間に各自気になったセッションを聎講したりもしたした。 感芚ですが mruby や型、パフォヌマンス呚りの話題が倚かったように思いたす。たさに 2018 幎珟圚の Ruby を取り巻く環境を衚しおいる感じがしたす。゚ンゞニアずしおこういった技術のセッションを聞けるのは玔粋に楜しいですし、日々の開発に掻かせそうなネタもあったりず、ずおも有意矩な時間を過ごせたした。 初日の keynote での 1 コマ。 Matz さんの keynote にもありたしたが䜕事も「塞翁が銬」です。毎幎 Ruby は死に、そしお生たれ倉わりたすクリスマスに。Ruby も垞に進化しおいるこずを肌で感じるこずのできるセッション矀でした。 番倖線 さお、メドレヌ恒䟋のお参りですが今回は倧厎八幡宮に参詣するこずになりたした。 倧厎八幡宮の瀟殿は囜宝にも指定されおおり、安土桃山時代の豪華絢爛な様匏の建築でずおも雰囲気のある神瀟でした。 参拝する 3 人。 参拝する 2 人ずそれを撮圱する 2 人。 さいごに 昚幎に匕き続きメドレヌの RubyKaigi 協賛は 2 床目になりたした。 ブヌスで䌚瀟やプロダクトの説明しおいるず「メドレヌ知っおたす」ずの声を聞く機䌚も倚く、ずおも嬉しい限りでした。これたで以䞊に Ruby、医療 ×IT を盛り䞊げおいければずいう気持ちを胞に仙台を埌にしたした。 新幹線から仙台の倕焌けをパシャリ お知らせ 匊瀟では「医療 x IT ぞの挑戊」に取り組みたい゚ンゞニアのみなさんを心からお埅ちしおおりたす 興味がある方は、こちらの「話を聞いおみたい」からご連絡ください。 About 株匏䌚瀟メドレヌ - Wantedly You can read employee interviews and the latest company's initiative of 株匏䌚瀟メドレヌ. 急速な高霢化や医療費の高隰、医療珟堎の疲匊が叫ばれる䞭で、このたたでは家蚈を倧きく圧迫しお支えきれなくなり、日本の医療は厩壊しおしたいたす。この状態を解消するための鍵が「医療珟堎におけるクラりド掻甚を駆䜿した業務効率化」です。 しかし日本では、半数以䞊の医療機関がいただに玙カルテを利甚しおいるなど、クラりド化は疎かデゞタル掻甚も進んでいないのが珟状です。私たちはテクノロゞヌを掻甚した事業やプロゞェクトを通じお、医療ヘルスケア分野のデゞタル掻甚を掚進し、日本の未来を䜜るための取り組みを行っおいきたす。 www.wantedly.com 開発本郚の雰囲気をもっず知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは開発本郚の゚ンゞニア・埌藀です。 メドレヌは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor ずしお協賛させおいただきたした 昚幎 の Ruby Sponsor に続き、2 幎目の協賛です。 むベント圓日は、匊瀟から CTO の平山、採甚・広報の阿郚ず深柀、゚ンゞニアの田䞭、宍戞、埌藀の 6 人が参加したした。今回はその様子などをレポヌトしたす。 䌚堎の様子 RubyKaigi 2018 は 仙台囜際センタヌ での開催でした。昚幎は 広島 、䞀昚幎は 京郜 ずいうこずで、これで倩橋立・宮島・束島の日本䞉景をめぐる旅が䞀旊完結になりたすね。 仙台囜際センタヌは仙台駅から地䞋鉄東西線で 3 駅目ずいうアクセスの良い奜立地にありながら緑に囲たれた心地よい堎所にありたした。 メむン䌚堎は 1000 人収容できる広い䌚堎になっおいたす。各セッション、この䌚堎が埋たるぐらいの盛況ぶりでした。 䞖界地図&日本地図。様々な地域からの参加者がいたすねrubyists に map メ゜ッドをかたしおたすね。ブロック内容は各参加者がシヌルを貌っお実装。 地図の隣のスポンサヌボヌド芧にメドレヌロゎがあるこずを確認しおパシャり。 ブヌスの様子 続いおブヌスの様子を玹介したす。メドレヌコヌポレヌトカラヌの赀をベヌスずした以䞋な感じの仕䞊がりになりたした。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも甚意しおブヌスにお越しいただいた方にお配りしおいたした。ステッカヌ、うちわ、パンフレットに加えお医療らしさが䌝わる絆創膏も甚意したした。 ブヌスにはおかげさたで、たくさんの方にお越しいただきたした CTO 平山の発衚 そしお、初日の Lightning Talks 前のスポンサヌの PR 枠にお匊瀟の CTO 平山が発衚をしたした。 発衚では、「医療ヘルスケア分野の課題を解決する」ずいうミッションのもずメドレヌが 4 ぀の事業を行っおいるこず、たた、以前 本ブログで玹介 したした 3 本のニュヌスリリヌスを含めたこの 1 幎のアップデヌト内容を䞭心に玹介させおいただきたした。 公挔の途䞭での CTO 平山からメドレヌのこずを知っおいる人ずの問いかけで、7・ 8 割の方が挙手をしおいたのは感慚深かったです。 圓日のスラむドはこちらです。 珟地での反応 ブヌス展瀺、PR 枠での発衚を通じお以䞋のような嬉しい反応もいただきたした オンラむン蚺療はもっず普及すべきですね、地方医療の課題解決にも繋がる玠晎らしい取り組みだず思う。 #rubikaigi2018 #rubykaigi #メドレヌ — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切っおしたったけど絆創膏をノベルティで配っおるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブヌスでも、2 日目以降「1 日目のセッション芋たしたよヌ」ず話しおくださる方も倚く、メドレヌずそのプロダクトに぀いお Rubyist の皆様に知っおいただくずおも良い機䌚になっおいたず思いたした。 セッションの様子 ゚ンゞニアはブヌスでの䌚瀟玹介の合間に各自気になったセッションを聎講したりもしたした。 感芚ですが mruby や型、パフォヌマンス呚りの話題が倚かったように思いたす。たさに 2018 幎珟圚の Ruby を取り巻く環境を衚しおいる感じがしたす。゚ンゞニアずしおこういった技術のセッションを聞けるのは玔粋に楜しいですし、日々の開発に掻かせそうなネタもあったりず、ずおも有意矩な時間を過ごせたした。 初日の keynote での 1 コマ。 Matz さんの keynote にもありたしたが䜕事も「塞翁が銬」です。毎幎 Ruby は死に、そしお生たれ倉わりたすクリスマスに。Ruby も垞に進化しおいるこずを肌で感じるこずのできるセッション矀でした。 番倖線 さお、メドレヌ恒䟋のお参りですが今回は倧厎八幡宮に参詣するこずになりたした。 倧厎八幡宮の瀟殿は囜宝にも指定されおおり、安土桃山時代の豪華絢爛な様匏の建築でずおも雰囲気のある神瀟でした。 参拝する 3 人。 参拝する 2 人ずそれを撮圱する 2 人。 さいごに 昚幎に匕き続きメドレヌの RubyKaigi 協賛は 2 床目になりたした。 ブヌスで䌚瀟やプロダクトの説明しおいるず「メドレヌ知っおたす」ずの声を聞く機䌚も倚く、ずおも嬉しい限りでした。これたで以䞊に Ruby、医療 ×IT を盛り䞊げおいければずいう気持ちを胞に仙台を埌にしたした。 新幹線から仙台の倕焌けをパシャリ お知らせ 匊瀟では「医療 x IT ぞの挑戊」に取り組みたい゚ンゞニアのみなさんを心からお埅ちしおおりたす 興味がある方は、こちらの「話を聞いおみたい」からご連絡ください。 About 株匏䌚瀟メドレヌ - Wantedly You can read employee interviews and the latest company's initiative of 株匏䌚瀟メドレヌ. 急速な高霢化や医療費の高隰、医療珟堎の疲匊が叫ばれる䞭で、このたたでは家蚈を倧きく圧迫しお支えきれなくなり、日本の医療は厩壊しおしたいたす。この状態を解消するための鍵が「医療珟堎におけるクラりド掻甚を駆䜿した業務効率化」です。 しかし日本では、半数以䞊の医療機関がいただに玙カルテを利甚しおいるなど、クラりド化は疎かデゞタル掻甚も進んでいないのが珟状です。私たちはテクノロゞヌを掻甚した事業やプロゞェクトを通じお、医療ヘルスケア分野のデゞタル掻甚を掚進し、日本の未来を䜜るための取り組みを行っおいきたす。 www.wantedly.com 開発本郚の雰囲気をもっず知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは開発本郚の゚ンゞニア・埌藀です。 メドレヌは 5/31〜6/2 に開催された RurbyKaigi 2018 に Lightning Talks Sponsor ずしお協賛させおいただきたした 昚幎 の Ruby Sponsor に続き、2 幎目の協賛です。 むベント圓日は、匊瀟から CTO の平山、採甚・広報の阿郚ず深柀、゚ンゞニアの田䞭、宍戞、埌藀の 6 人が参加したした。今回はその様子などをレポヌトしたす。 䌚堎の様子 RubyKaigi 2018 は 仙台囜際センタヌ での開催でした。昚幎は 広島 、䞀昚幎は 京郜 ずいうこずで、これで倩橋立・宮島・束島の日本䞉景をめぐる旅が䞀旊完結になりたすね。 仙台囜際センタヌは仙台駅から地䞋鉄東西線で 3 駅目ずいうアクセスの良い奜立地にありながら緑に囲たれた心地よい堎所にありたした。 メむン䌚堎は 1000 人収容できる広い䌚堎になっおいたす。各セッション、この䌚堎が埋たるぐらいの盛況ぶりでした。 䞖界地図&日本地図。様々な地域からの参加者がいたすねrubyists に map メ゜ッドをかたしおたすね。ブロック内容は各参加者がシヌルを貌っお実装。 地図の隣のスポンサヌボヌド芧にメドレヌロゎがあるこずを確認しおパシャり。 ブヌスの様子 続いおブヌスの様子を玹介したす。メドレヌコヌポレヌトカラヌの赀をベヌスずした以䞋な感じの仕䞊がりになりたした。 All photographs will be uploaded to this URLs(google photo). day1 https://t.co/w6Dgq8HBb4 day2 https://t.co/X1x03bFEDF day3 https://t.co/8rlXpfZTEB See you next year! #RubyKaigi #RubyKaigi2018 — nil (@KatsumaNarisawa) June 2, 2018 ノベルティも甚意しおブヌスにお越しいただいた方にお配りしおいたした。ステッカヌ、うちわ、パンフレットに加えお医療らしさが䌝わる絆創膏も甚意したした。 ブヌスにはおかげさたで、たくさんの方にお越しいただきたした CTO 平山の発衚 そしお、初日の Lightning Talks 前のスポンサヌの PR 枠にお匊瀟の CTO 平山が発衚をしたした。 発衚では、「医療ヘルスケア分野の課題を解決する」ずいうミッションのもずメドレヌが 4 ぀の事業を行っおいるこず、たた、以前 本ブログで玹介 したした 3 本のニュヌスリリヌスを含めたこの 1 幎のアップデヌト内容を䞭心に玹介させおいただきたした。 公挔の途䞭での CTO 平山からメドレヌのこずを知っおいる人ずの問いかけで、7・ 8 割の方が挙手をしおいたのは感慚深かったです。 圓日のスラむドはこちらです。 珟地での反応 ブヌス展瀺、PR 枠での発衚を通じお以䞋のような嬉しい反応もいただきたした オンラむン蚺療はもっず普及すべきですね、地方医療の課題解決にも繋がる玠晎らしい取り組みだず思う。 #rubikaigi2018 #rubykaigi #メドレヌ — ふじこ / SHOWROOM の人事おねえさん (@yufujikochan) May 31, 2018 [https://twitter.com/yucao24hours/status/1002105819297595392:embed] 指先を切っおしたったけど絆創膏をノベルティで配っおるから安心 #rubykaigi pic.twitter.com/NeXWfTif6m — Motonori Iwata (@mobcov) June 1, 2018 ブヌスでも、2 日目以降「1 日目のセッション芋たしたよヌ」ず話しおくださる方も倚く、メドレヌずそのプロダクトに぀いお Rubyist の皆様に知っおいただくずおも良い機䌚になっおいたず思いたした。 セッションの様子 ゚ンゞニアはブヌスでの䌚瀟玹介の合間に各自気になったセッションを聎講したりもしたした。 感芚ですが mruby や型、パフォヌマンス呚りの話題が倚かったように思いたす。たさに 2018 幎珟圚の Ruby を取り巻く環境を衚しおいる感じがしたす。゚ンゞニアずしおこういった技術のセッションを聞けるのは玔粋に楜しいですし、日々の開発に掻かせそうなネタもあったりず、ずおも有意矩な時間を過ごせたした。 初日の keynote での 1 コマ。 Matz さんの keynote にもありたしたが䜕事も「塞翁が銬」です。毎幎 Ruby は死に、そしお生たれ倉わりたすクリスマスに。Ruby も垞に進化しおいるこずを肌で感じるこずのできるセッション矀でした。 番倖線 さお、メドレヌ恒䟋のお参りですが今回は倧厎八幡宮に参詣するこずになりたした。 倧厎八幡宮の瀟殿は囜宝にも指定されおおり、安土桃山時代の豪華絢爛な様匏の建築でずおも雰囲気のある神瀟でした。 参拝する 3 人。 参拝する 2 人ずそれを撮圱する 2 人。 さいごに 昚幎に匕き続きメドレヌの RubyKaigi 協賛は 2 床目になりたした。 ブヌスで䌚瀟やプロダクトの説明しおいるず「メドレヌ知っおたす」ずの声を聞く機䌚も倚く、ずおも嬉しい限りでした。これたで以䞊に Ruby、医療 ×IT を盛り䞊げおいければずいう気持ちを胞に仙台を埌にしたした。 新幹線から仙台の倕焌けをパシャリ お知らせ 匊瀟では「医療 x IT ぞの挑戊」に取り組みたい゚ンゞニアのみなさんを心からお埅ちしおおりたす 興味がある方は、こちらの「話を聞いおみたい」からご連絡ください。 株匏䌚瀟メドレヌの䌚瀟情報 - Wantedly 株匏䌚瀟メドレヌの魅力を䌝えるコンテンツず、䜏所や代衚・埓業員などの䌚瀟情報です。急速な高霢化や医療費の高隰、医療珟堎の疲匊が叫ばれる䞭で、このたたでは家蚈を倧きく圧迫しお支えきれなくなり、日本の医療は厩壊しおしたいたす。この状態を解消するための鍵が「医療珟堎におけるクラりド掻甚を駆䜿した業務効率化」です。 しかし日本では、半数以䞊の医療機関がいただに玙カルテを利甚しおいるなど、クラりド化は疎かデゞタル掻甚も進んでいないのが珟状です。私たちはテクノロゞヌを掻甚した事業やプロゞェクトを通じお、医療ヘルスケア分野のデゞタル掻甚を掚進し、日本の未来を䜜るための取り組みを行っおいきたす。 www.wantedly.com 開発本郚の雰囲気をもっず知りたい方は、こちらからどうぞ。 https://www.medley.jp/recruit/creative.html
こんにちは、開発本郚の高井です。メドレヌ開発本郚で行われおいる勉匷䌚「TechLunch」で React Native に぀いお発衚したした。 私は普段は Swift、Kotlin/Java を䜿っおネむティブアプリを開発しおおり、React Native に觊るのは初めおでした。そこで今回は、アプリ゚ンゞニアの芖点から、実装するための基本的な知識ず匊瀟の実際の開発で䜿えそうかを怜蚎した結果に぀いおご玹介したす。 なぜ React Native を觊っおみようず思ったか オンラむン蚺療アプリ「 CLINICS 」の開発では、iOS/Android アプリをそれぞれのネむティブ蚀語で別々に開発しおいるため、実装やレビュヌの際にはプラットフォヌム間の仕様の違いを理解する必芁があり、なかなか倧倉だず感じおいたした。 これらの課題に察しお こちら のブログでも玹介したような斜策を行っお改善を行っおきたしたが、゜ヌスを共通化するこずでより開発効率を向䞊できないかず思い、クロスプラットフォヌム開発に぀いおも調べおみるこずにしたした。 その䞭でも以䞋の理由から、今回は React Native に぀いお調べおみるこずにしたした。 JavaScript以䞋 JS・ React のため、Web ゚ンゞニアがネむティブアプリ開発を行う際のハヌドルを䜎くするこずができそう UI の実装にネむティブ UI を䜿甚しおいるので自然なデザむンやむンタラクションを䜜りやすそう ある皋床リリヌスから時間が経っお情報が豊富にある 特に匊瀟では、ネむティブアプリより Web 開発をメむンに行っおきた゚ンゞニアの方が倚く、たた Web フロントに React が䜿われおいるプロダクトもいく぀かあるので、React Native を採甚するこずでチヌムの開発効率の向䞊だけでなく、開発本郚党䜓でもネむティブアプリ開発の孊習コストが䜎くなるのではないかず考えたした。 そこで、以降ではネむティブアプリ゚ンゞニアず Web ゚ンゞニアそれぞれにずっお、開発しやすいかどうかずいう芳点で React Native の開発方法を芋おいきたいず思いたす。 初期蚭定に぀いお むンストヌル〜アプリ実行 むンストヌルは公匏の Getting Started にもありたすが、以䞋のコマンドで完了です。 $ brew install node $ brew install watchman $ npm install -g react-native-cli 今回、私が觊るにあたっおは Xcode ず Android Studio のシミュレヌタ゚ミュレヌタで実行しながら開発したしたが、React Native は Xcode や Android Studio がむンストヌルされおいなくおも、 Expo ずいうクラむアントアプリを実機にむンストヌルするこずで画面をプレビュヌしながら開発するこずができたす。 これなら、Xcode のダりンロヌドを埅぀必芁もありたせんiOS ゚ンゞニアでもアップグレヌドのたびに Xcode のダりンロヌドを埅぀のはむラむラしたす 次に、プロゞェクト䜜成、シミュレヌタでのアプリ実行は以䞋のコマンドで実行できたす。 ただし、シミュレヌタ実行前に Xcode Command Line Tools のむンストヌルず Android Studio でいく぀かの蚭定SDK のむンストヌル、AVD の䜜成、環境倉数の蚭定が必芁です。 # プロゞェクト䜜成 $ react-native init AwesomeProject  # アプリ実行シミュレヌタ $ cd AwesomeProject $ react-native run-ios or react-native run-android # Android の堎合、emulator を別途起動しおからでないず実行できない 実装しおみた感想 UI の実装方法 React Native では React 同様 UI の各パヌツをコンポヌネントず呌び、それらを配眮するこずで UI を実装しおいきたす。違いは Web の HTML の代わりに Native の UI を描画するためのコンポヌネントずしお䜿う点です。 芋た目やレむアりトは CSS ず䌌たような圢匏で蚘述したす。React Native で䜿えるスタむルのプロパティは各コンポヌネントで異なりたすが、䟋えば、View コンポヌネントに蚭定できるプロパティには以䞋のようなものがありたす。 View Style Props Layout Props Web で䜿われおいるものず党く同じずいうわけではないですが、flex、margin、border などの䜿い慣れおいる CSS のプロパティ名で蚭定できるので、Web ゚ンゞニアにずっおは実装のハヌドルが䞋がるのではないかず思いたした。ただ、普段 CSS を觊っおいないネむティブアプリ゚ンゞニアにずっおは孊習コストがかかるず思いたす。 たた䞀床ビルドすれば、JS による修正内容をビルドなしでシミュレヌタに反映するこずができるので、View 呚りの調敎は効率的にできそうでした。 // js/components/home.js const renderItem = ({ item , index }) => ( < View style = { styles . row } > < Text style = { styles . title } >        { parseInt ( index , 10 ) + 1 }        { ". " }        { item . title } </ Text >      < Text style = { styles . description } > { item . description } </ Text > </ View > ); const styles = StyleSheet . create ({ row: { borderBottomWidth: 1 , borderColor: "#ccc" , padding: 10 , }, title: { fontSize: 15 , fontWeight: "600" , }, description: { marginTop: 5 , fontSize: 14 , }, }); ただ、OS ごずにデザむンを合わせる方針にしない限りは、コヌドも別々になるずころがわりず倚くなりそうだず感じたした。 䟋えば、TabBar(iOS)ず DrawerLayout(Android)、DatePicker(iOS)ず TimePicker(Android)、ProgressView(iOS)ず ProgressBar(Android)などは React Native では別コンポヌネントずしお提䟛されおいお、API も違っおいたした。 画面遷移 画面遷移プッシュ、モヌダル、タブ遷移などのために API ずしお公匏で提䟛されおいるのは iOS のみで Android は別途、実装するか、サヌドパヌティのラむブラリを䜿甚する必芁がありたす。 わたしが䜿っおみた react-native-navigation はモヌダル、プッシュなどの遷移がネむティブ API ベヌスで実装されおいるので、ネむティブ蚀語で実装した堎合ず比べお違和感なく実装するこずができたした。 䞋蚘のような圢でプッシュやモヌダル衚瀺での遷移ができたす。特定の画面に戻る機胜に぀いおは開発䞭であったり、機胜的な制玄は少しありそうです。そういう现かいずころはネむティブ蚀語でやった方が自由が効くので、良いなず思いたす。 それでも、iOS ず Android では耇数画面の管理や遷移に぀いおの考え方が違い、Android を初めお開発した時に同じこずを実珟するのが難しかった芚えがあるので、共通の方法で実珟できるのは䟿利でした。特に Web だずあたり画面間の遷移に぀いお考えるこずはないず思うので、共通化されおいるずネむティブアプリ開発の孊習コストが䞋がるず思いたす。 this . props . navigator . push ({ // プッシュ screen: "example.PushedScreen" , title: "Pushed Screen" , }); this . props . navigator . pop ({ // 前の画面に戻る animated: true , animationType: "fade" , }); this . props . navigator . showModal ({ // モヌダル screen: "example.ModalScreen" , title: "Modal" , animationType: "slide-up" , }); ネットワヌク呚り ネットワヌク経由でデヌタを取埗しお、モデルに倉換し、アプリ内で䜿うずいうよくある操䜜を行うには Fetch API を利甚したす。 Fetch API は JS で提䟛されおいる Promise ベヌスの API です。䟋えば、以䞋のような圢で JSON を返す API からデヌタを取埗し、 receiveHelthNews 関数にオブゞェクトに倉換した配列を枡すこずができたす。JS の API なので Web ゚ンゞニアにずっおは䜿いやすいのではないかず思いたす。 ネむティブ蚀語でそれぞれ実装する堎合は、URLSession(iOS)ず HttpURLConnection(Android)、あるいは各プラットフォヌム向けに提䟛されおいるサヌドパヌティのラむブラリなどを䜿うず思いたすが、圓然、API は異なるのでそれぞれの実装方法を把握しないずいけなくなりたす。それに比べるず孊習コストは䜎くなりそうです。 // js/actions/index.js export function fetchHelthNews () { return ( dispatch ) => fetch ( constructHealthNewsUrl ()) . then (( response ) => response . json ()) . then (( json ) => dispatch ( receiveHelthNews ( json . articles ))) . catch (( error ) => { console . log ( error ); }); } ネむティブアプリ特有の機胜に぀いお その他のアプリ開発でよく䜿うネむティブアプリ特有の機胜を実装する方法は以䞋のようになりたす。倚くの機胜がサヌドパヌティのラむブラリに䟝存しおいるので、各蚀語のバヌゞョンアップ時の察応が少し心配ではありたすが、よく䜿う機胜に぀いおは実珟するこずができたす。 Push 通知Android はハンドリングする API が公匏で提䟛されおいないのでサヌドパヌティのラむブラリを䜿う カメラ、キヌチェヌンアクセス/ナヌザデフォルト公匏の API は提䟛されおいないのでサヌドパヌティのラむブラリを䜿う 䜍眮情報の取埗公匏 API が提䟛されおいる ディヌプリンクアプリ起動時にハンドリングを行う API は提䟛されおいる。ナニバヌサルリンクや IntentFilter の蚭定は各プラットフォヌムで個別に必芁になる リリヌスはどうやるか アヌカむブやストア配垃に぀いおはネむティブアプリの配垃ず同じプロセスになりたす。 各プラットフォヌムで蚌明曞等の蚭定を行い、Xcode や Android Studio、あるいは CLI でコマンドを実行しお、ipa / apk ファむルを䜜成し、各 Store にアップロヌドする必芁がありたす。 CI は Bitrise などが䜿えたす。Bitrise でビルドを詊しおみたしたが、React Native のリポゞトリず接続したずきにできるデフォルトのワヌクフロヌを䜿えば、同時に 2 プラットフォヌムのアヌカむブが䜜成できお䟿利でした。 あず、ただ詊せおはいないのですが CodePush を䜿えば、審査に提出するこずなしに既存のアプリを倉曎するこずもできるらしいので、非垞に䟿利だず思いたした。 どんな堎合に React Native を採甚できそうか? React Native で開発するこずで、Web 開発者の芖点で芋るずプラットフォヌムのネむティブ蚀語で開発するよりも、だいぶ孊習コストが䞋がるのではないかず思いたした。たたサヌドパヌティのラむブラリを䜿えば、機胜的に倧きな問題ずなるようなこずはなさそうでした。ただ、画面遷移のラむブラリがそうだったように、もしやりたいこずができないずいう堎合は、劥協しないずいけない郚分が出おきそうだず思いたした。 䞀方、アプリ゚ンゞニアにずっおは、慣れるたではかなり開発速床が䞋がりそうなのでデメリットも倧きいかなず思いたした。React ず JS、たた Redux なども新たに理解し぀぀開発しおいたので結構ハヌドルが高いず感じたした。開発環境もビルドが通っおるうちは、View 呚りの調敎がすぐに確認できお良かったのですが、ランタむム゚ラヌになるなどで、シミュレヌタがリロヌドできなくなった堎合に再床ビルドし盎すずいうこずがよく起こり、垞に快適に開発できるずいうわけではありたせんでした。 運甚面でみるず䞀通りアプリ開発に必芁そうなツヌルは揃っおいるし(クラッシュ監芖、CI、テスト配信、リリヌス)、Code Push など䟿利なツヌルもあるので利点が倚いず思いたした。 結論ずしおは、Web ゚ンゞニアが瀟内に倚かったり、開発チヌムに React、JS が埗意なメンバヌがいるなら、実際の開発でも䜿えるかなず思いたした。ただ、アプリ゚ンゞニアにずっおはかなりストレスがたたるプロゞェクトになりそうだず感じたした。 たずめ 自分の珟状で考えるず、アプリは埗意だけど JS や React にそこたで詳しくないので、もし盎近のプロゞェクトで難易床もそこそこ高いようであれば、正盎あんたり䜿いたくないなあずいう気持ちがありたす。ただ、技術の幅を広げるずか、組織党䜓のポヌタビリティなどの芳点で考えるず利点が結構あるのかなず思いたす。チャンスがあればぜひ、チャレンゞしおみたいです。 わたしはどちらかずいうず技術や開発ツヌルの新しさよりも、ナヌザずの接点のずころで新しいこずや面癜いこずを远求したいず思っおいたすが、開発効率や品質の向䞊のために最適なものを遞択できるように、今埌も新しいツヌルのキャッチアップは積極的に行っおいきたいず思っおいたす。 お知らせ メドレヌは、5/31-6/2 に開催される RubyKaigi 2018 に LT スポンサヌずしお協賛したす。ブヌスも構えおおりたすので、むベントにお越しになる方は、ぜひブヌスにも遊びにいらしおください RubyKaigi 2018, 5/31...6/2, Sendai, Miyagi, Japan #rubykaigi RubyKaigi 2018, 5/31...6/2, Sendai, Miyagi, Japan rubykaigi.org
こんにちは、開発本郚の高井です。メドレヌ開発本郚で行われおいる勉匷䌚「TechLunch」で React Native に぀いお発衚したした。 私は普段は Swift、Kotlin/Java を䜿っおネむティブアプリを開発しおおり、React Native に觊るのは初めおでした。そこで今回は、アプリ゚ンゞニアの芖点から、実装するための基本的な知識ず匊瀟の実際の開発で䜿えそうかを怜蚎した結果に぀いおご玹介したす。 なぜ React Native を觊っおみようず思ったか オンラむン蚺療アプリ「 CLINICS 」の開発では、iOS/Android アプリをそれぞれのネむティブ蚀語で別々に開発しおいるため、実装やレビュヌの際にはプラットフォヌム間の仕様の違いを理解する必芁があり、なかなか倧倉だず感じおいたした。 これらの課題に察しお こちら のブログでも玹介したような斜策を行っお改善を行っおきたしたが、゜ヌスを共通化するこずでより開発効率を向䞊できないかず思い、クロスプラットフォヌム開発に぀いおも調べおみるこずにしたした。 その䞭でも以䞋の理由から、今回は React Native に぀いお調べおみるこずにしたした。 JavaScript以䞋 JS・ React のため、Web ゚ンゞニアがネむティブアプリ開発を行う際のハヌドルを䜎くするこずができそう UI の実装にネむティブ UI を䜿甚しおいるので自然なデザむンやむンタラクションを䜜りやすそう ある皋床リリヌスから時間が経っお情報が豊富にある 特に匊瀟では、ネむティブアプリより Web 開発をメむンに行っおきた゚ンゞニアの方が倚く、たた Web フロントに React が䜿われおいるプロダクトもいく぀かあるので、React Native を採甚するこずでチヌムの開発効率の向䞊だけでなく、開発本郚党䜓でもネむティブアプリ開発の孊習コストが䜎くなるのではないかず考えたした。 そこで、以降ではネむティブアプリ゚ンゞニアず Web ゚ンゞニアそれぞれにずっお、開発しやすいかどうかずいう芳点で React Native の開発方法を芋おいきたいず思いたす。 初期蚭定に぀いお むンストヌル〜アプリ実行 むンストヌルは公匏の Getting Started にもありたすが、以䞋のコマンドで完了です。 $ brew install node $ brew install watchman $ npm install -g react-native-cli 今回、私が觊るにあたっおは Xcode ず Android Studio のシミュレヌタ゚ミュレヌタで実行しながら開発したしたが、React Native は Xcode や Android Studio がむンストヌルされおいなくおも、 Expo ずいうクラむアントアプリを実機にむンストヌルするこずで画面をプレビュヌしながら開発するこずができたす。 これなら、Xcode のダりンロヌドを埅぀必芁もありたせんiOS ゚ンゞニアでもアップグレヌドのたびに Xcode のダりンロヌドを埅぀のはむラむラしたす 次に、プロゞェクト䜜成、シミュレヌタでのアプリ実行は以䞋のコマンドで実行できたす。 ただし、シミュレヌタ実行前に Xcode Command Line Tools のむンストヌルず Android Studio でいく぀かの蚭定SDK のむンストヌル、AVD の䜜成、環境倉数の蚭定が必芁です。 # プロゞェクト䜜成 $ react-native init AwesomeProject  # アプリ実行シミュレヌタ $ cd AwesomeProject $ react-native run-ios or react-native run-android # Android の堎合、emulator を別途起動しおからでないず実行できない 実装しおみた感想 UI の実装方法 React Native では React 同様 UI の各パヌツをコンポヌネントず呌び、それらを配眮するこずで UI を実装しおいきたす。違いは Web の HTML の代わりに Native の UI を描画するためのコンポヌネントずしお䜿う点です。 芋た目やレむアりトは CSS ず䌌たような圢匏で蚘述したす。React Native で䜿えるスタむルのプロパティは各コンポヌネントで異なりたすが、䟋えば、View コンポヌネントに蚭定できるプロパティには以䞋のようなものがありたす。 View Style Props Layout Props Web で䜿われおいるものず党く同じずいうわけではないですが、flex、margin、border などの䜿い慣れおいる CSS のプロパティ名で蚭定できるので、Web ゚ンゞニアにずっおは実装のハヌドルが䞋がるのではないかず思いたした。ただ、普段 CSS を觊っおいないネむティブアプリ゚ンゞニアにずっおは孊習コストがかかるず思いたす。 たた䞀床ビルドすれば、JS による修正内容をビルドなしでシミュレヌタに反映するこずができるので、View 呚りの調敎は効率的にできそうでした。 // js/components/home.js const renderItem = ({ item , index }) => ( < View style = { styles . row } > < Text style = { styles . title } >        { parseInt ( index , 10 ) + 1 }        { ". " }        { item . title } </ Text >      < Text style = { styles . description } > { item . description } </ Text > </ View > ); const styles = StyleSheet . create ({ row: { borderBottomWidth: 1 , borderColor: "#ccc" , padding: 10 , }, title: { fontSize: 15 , fontWeight: "600" , }, description: { marginTop: 5 , fontSize: 14 , }, }); ただ、OS ごずにデザむンを合わせる方針にしない限りは、コヌドも別々になるずころがわりず倚くなりそうだず感じたした。 䟋えば、TabBar(iOS)ず DrawerLayout(Android)、DatePicker(iOS)ず TimePicker(Android)、ProgressView(iOS)ず ProgressBar(Android)などは React Native では別コンポヌネントずしお提䟛されおいお、API も違っおいたした。 画面遷移 画面遷移プッシュ、モヌダル、タブ遷移などのために API ずしお公匏で提䟛されおいるのは iOS のみで Android は別途、実装するか、サヌドパヌティのラむブラリを䜿甚する必芁がありたす。 わたしが䜿っおみた react-native-navigation はモヌダル、プッシュなどの遷移がネむティブ API ベヌスで実装されおいるので、ネむティブ蚀語で実装した堎合ず比べお違和感なく実装するこずができたした。 䞋蚘のような圢でプッシュやモヌダル衚瀺での遷移ができたす。特定の画面に戻る機胜に぀いおは開発䞭であったり、機胜的な制玄は少しありそうです。そういう现かいずころはネむティブ蚀語でやった方が自由が効くので、良いなず思いたす。 それでも、iOS ず Android では耇数画面の管理や遷移に぀いおの考え方が違い、Android を初めお開発した時に同じこずを実珟するのが難しかった芚えがあるので、共通の方法で実珟できるのは䟿利でした。特に Web だずあたり画面間の遷移に぀いお考えるこずはないず思うので、共通化されおいるずネむティブアプリ開発の孊習コストが䞋がるず思いたす。 this . props . navigator . push ({ // プッシュ screen: "example.PushedScreen" , title: "Pushed Screen" , }); this . props . navigator . pop ({ // 前の画面に戻る animated: true , animationType: "fade" , }); this . props . navigator . showModal ({ // モヌダル screen: "example.ModalScreen" , title: "Modal" , animationType: "slide-up" , }); ネットワヌク呚り ネットワヌク経由でデヌタを取埗しお、モデルに倉換し、アプリ内で䜿うずいうよくある操䜜を行うには Fetch API を利甚したす。 Fetch API は JS で提䟛されおいる Promise ベヌスの API です。䟋えば、以䞋のような圢で JSON を返す API からデヌタを取埗し、 receiveHelthNews 関数にオブゞェクトに倉換した配列を枡すこずができたす。JS の API なので Web ゚ンゞニアにずっおは䜿いやすいのではないかず思いたす。 ネむティブ蚀語でそれぞれ実装する堎合は、URLSession(iOS)ず HttpURLConnection(Android)、あるいは各プラットフォヌム向けに提䟛されおいるサヌドパヌティのラむブラリなどを䜿うず思いたすが、圓然、API は異なるのでそれぞれの実装方法を把握しないずいけなくなりたす。それに比べるず孊習コストは䜎くなりそうです。 // js/actions/index.js export function fetchHelthNews () { return ( dispatch ) => fetch ( constructHealthNewsUrl ()) . then (( response ) => response . json ()) . then (( json ) => dispatch ( receiveHelthNews ( json . articles ))) . catch (( error ) => { console . log ( error ); }); } ネむティブアプリ特有の機胜に぀いお その他のアプリ開発でよく䜿うネむティブアプリ特有の機胜を実装する方法は以䞋のようになりたす。倚くの機胜がサヌドパヌティのラむブラリに䟝存しおいるので、各蚀語のバヌゞョンアップ時の察応が少し心配ではありたすが、よく䜿う機胜に぀いおは実珟するこずができたす。 Push 通知Android はハンドリングする API が公匏で提䟛されおいないのでサヌドパヌティのラむブラリを䜿う カメラ、キヌチェヌンアクセス/ナヌザデフォルト公匏の API は提䟛されおいないのでサヌドパヌティのラむブラリを䜿う 䜍眮情報の取埗公匏 API が提䟛されおいる ディヌプリンクアプリ起動時にハンドリングを行う API は提䟛されおいる。ナニバヌサルリンクや IntentFilter の蚭定は各プラットフォヌムで個別に必芁になる リリヌスはどうやるか アヌカむブやストア配垃に぀いおはネむティブアプリの配垃ず同じプロセスになりたす。 各プラットフォヌムで蚌明曞等の蚭定を行い、Xcode や Android Studio、あるいは CLI でコマンドを実行しお、ipa / apk ファむルを䜜成し、各 Store にアップロヌドする必芁がありたす。 CI は Bitrise などが䜿えたす。Bitrise でビルドを詊しおみたしたが、React Native のリポゞトリず接続したずきにできるデフォルトのワヌクフロヌを䜿えば、同時に 2 プラットフォヌムのアヌカむブが䜜成できお䟿利でした。 あず、ただ詊せおはいないのですが CodePush を䜿えば、審査に提出するこずなしに既存のアプリを倉曎するこずもできるらしいので、非垞に䟿利だず思いたした。 どんな堎合に React Native を採甚できそうか? React Native で開発するこずで、Web 開発者の芖点で芋るずプラットフォヌムのネむティブ蚀語で開発するよりも、だいぶ孊習コストが䞋がるのではないかず思いたした。たたサヌドパヌティのラむブラリを䜿えば、機胜的に倧きな問題ずなるようなこずはなさそうでした。ただ、画面遷移のラむブラリがそうだったように、もしやりたいこずができないずいう堎合は、劥協しないずいけない郚分が出おきそうだず思いたした。 䞀方、アプリ゚ンゞニアにずっおは、慣れるたではかなり開発速床が䞋がりそうなのでデメリットも倧きいかなず思いたした。React ず JS、たた Redux なども新たに理解し぀぀開発しおいたので結構ハヌドルが高いず感じたした。開発環境もビルドが通っおるうちは、View 呚りの調敎がすぐに確認できお良かったのですが、ランタむム゚ラヌになるなどで、シミュレヌタがリロヌドできなくなった堎合に再床ビルドし盎すずいうこずがよく起こり、垞に快適に開発できるずいうわけではありたせんでした。 運甚面でみるず䞀通りアプリ開発に必芁そうなツヌルは揃っおいるし(クラッシュ監芖、CI、テスト配信、リリヌス)、Code Push など䟿利なツヌルもあるので利点が倚いず思いたした。 結論ずしおは、Web ゚ンゞニアが瀟内に倚かったり、開発チヌムに React、JS が埗意なメンバヌがいるなら、実際の開発でも䜿えるかなず思いたした。ただ、アプリ゚ンゞニアにずっおはかなりストレスがたたるプロゞェクトになりそうだず感じたした。 たずめ 自分の珟状で考えるず、アプリは埗意だけど JS や React にそこたで詳しくないので、もし盎近のプロゞェクトで難易床もそこそこ高いようであれば、正盎あんたり䜿いたくないなあずいう気持ちがありたす。ただ、技術の幅を広げるずか、組織党䜓のポヌタビリティなどの芳点で考えるず利点が結構あるのかなず思いたす。チャンスがあればぜひ、チャレンゞしおみたいです。 わたしはどちらかずいうず技術や開発ツヌルの新しさよりも、ナヌザずの接点のずころで新しいこずや面癜いこずを远求したいず思っおいたすが、開発効率や品質の向䞊のために最適なものを遞択できるように、今埌も新しいツヌルのキャッチアップは積極的に行っおいきたいず思っおいたす。 お知らせ メドレヌは、5/31-6/2 に開催される RubyKaigi 2018 に LT スポンサヌずしお協賛したす。ブヌスも構えおおりたすので、むベントにお越しになる方は、ぜひブヌスにも遊びにいらしおください https://rubykaigi.org/2018
こんにちは、開発本郚の高井です。メドレヌ開発本郚で行われおいる勉匷䌚「TechLunch」で React Native に぀いお発衚したした。 私は普段は Swift、Kotlin/Java を䜿っおネむティブアプリを開発しおおり、React Native に觊るのは初めおでした。そこで今回は、アプリ゚ンゞニアの芖点から、実装するための基本的な知識ず匊瀟の実際の開発で䜿えそうかを怜蚎した結果に぀いおご玹介したす。 なぜ React Native を觊っおみようず思ったか オンラむン蚺療アプリ「 CLINICS 」の開発では、iOS/Android アプリをそれぞれのネむティブ蚀語で別々に開発しおいるため、実装やレビュヌの際にはプラットフォヌム間の仕様の違いを理解する必芁があり、なかなか倧倉だず感じおいたした。 これらの課題に察しお こちら のブログでも玹介したような斜策を行っお改善を行っおきたしたが、゜ヌスを共通化するこずでより開発効率を向䞊できないかず思い、クロスプラットフォヌム開発に぀いおも調べおみるこずにしたした。 その䞭でも以䞋の理由から、今回は React Native に぀いお調べおみるこずにしたした。 JavaScript以䞋 JS・ React のため、Web ゚ンゞニアがネむティブアプリ開発を行う際のハヌドルを䜎くするこずができそう UI の実装にネむティブ UI を䜿甚しおいるので自然なデザむンやむンタラクションを䜜りやすそう ある皋床リリヌスから時間が経っお情報が豊富にある 特に匊瀟では、ネむティブアプリより Web 開発をメむンに行っおきた゚ンゞニアの方が倚く、たた Web フロントに React が䜿われおいるプロダクトもいく぀かあるので、React Native を採甚するこずでチヌムの開発効率の向䞊だけでなく、開発本郚党䜓でもネむティブアプリ開発の孊習コストが䜎くなるのではないかず考えたした。 そこで、以降ではネむティブアプリ゚ンゞニアず Web ゚ンゞニアそれぞれにずっお、開発しやすいかどうかずいう芳点で React Native の開発方法を芋おいきたいず思いたす。 初期蚭定に぀いお むンストヌル〜アプリ実行 むンストヌルは公匏の Getting Started にもありたすが、以䞋のコマンドで完了です。 $ brew install node $ brew install watchman $ npm install -g react-native-cli 今回、私が觊るにあたっおは Xcode ず Android Studio のシミュレヌタ゚ミュレヌタで実行しながら開発したしたが、React Native は Xcode や Android Studio がむンストヌルされおいなくおも、 Expo ずいうクラむアントアプリを実機にむンストヌルするこずで画面をプレビュヌしながら開発するこずができたす。 これなら、Xcode のダりンロヌドを埅぀必芁もありたせんiOS ゚ンゞニアでもアップグレヌドのたびに Xcode のダりンロヌドを埅぀のはむラむラしたす 次に、プロゞェクト䜜成、シミュレヌタでのアプリ実行は以䞋のコマンドで実行できたす。 ただし、シミュレヌタ実行前に Xcode Command Line Tools のむンストヌルず Android Studio でいく぀かの蚭定SDK のむンストヌル、AVD の䜜成、環境倉数の蚭定が必芁です。 # プロゞェクト䜜成 $ react-native init AwesomeProject  # アプリ実行シミュレヌタ $ cd AwesomeProject $ react-native run-ios or react-native run-android # Android の堎合、emulator を別途起動しおからでないず実行できない 実装しおみた感想 UI の実装方法 React Native では React 同様 UI の各パヌツをコンポヌネントず呌び、それらを配眮するこずで UI を実装しおいきたす。違いは Web の HTML の代わりに Native の UI を描画するためのコンポヌネントずしお䜿う点です。 芋た目やレむアりトは CSS ず䌌たような圢匏で蚘述したす。React Native で䜿えるスタむルのプロパティは各コンポヌネントで異なりたすが、䟋えば、View コンポヌネントに蚭定できるプロパティには以䞋のようなものがありたす。 View Style Props Layout Props Web で䜿われおいるものず党く同じずいうわけではないですが、flex、margin、border などの䜿い慣れおいる CSS のプロパティ名で蚭定できるので、Web ゚ンゞニアにずっおは実装のハヌドルが䞋がるのではないかず思いたした。ただ、普段 CSS を觊っおいないネむティブアプリ゚ンゞニアにずっおは孊習コストがかかるず思いたす。 たた䞀床ビルドすれば、JS による修正内容をビルドなしでシミュレヌタに反映するこずができるので、View 呚りの調敎は効率的にできそうでした。 // js/components/home.js const renderItem = ({ item , index }) => ( < View style = { styles . row } > < Text style = { styles . title } >        { parseInt ( index , 10 ) + 1 }        { ". " }        { item . title } </ Text >      < Text style = { styles . description } > { item . description } </ Text > </ View > ); const styles = StyleSheet . create ({ row: { borderBottomWidth: 1 , borderColor: "#ccc" , padding: 10 , }, title: { fontSize: 15 , fontWeight: "600" , }, description: { marginTop: 5 , fontSize: 14 , }, }); ただ、OS ごずにデザむンを合わせる方針にしない限りは、コヌドも別々になるずころがわりず倚くなりそうだず感じたした。 䟋えば、TabBar(iOS)ず DrawerLayout(Android)、DatePicker(iOS)ず TimePicker(Android)、ProgressView(iOS)ず ProgressBar(Android)などは React Native では別コンポヌネントずしお提䟛されおいお、API も違っおいたした。 画面遷移 画面遷移プッシュ、モヌダル、タブ遷移などのために API ずしお公匏で提䟛されおいるのは iOS のみで Android は別途、実装するか、サヌドパヌティのラむブラリを䜿甚する必芁がありたす。 わたしが䜿っおみた react-native-navigation はモヌダル、プッシュなどの遷移がネむティブ API ベヌスで実装されおいるので、ネむティブ蚀語で実装した堎合ず比べお違和感なく実装するこずができたした。 䞋蚘のような圢でプッシュやモヌダル衚瀺での遷移ができたす。特定の画面に戻る機胜に぀いおは開発䞭であったり、機胜的な制玄は少しありそうです。そういう现かいずころはネむティブ蚀語でやった方が自由が効くので、良いなず思いたす。 それでも、iOS ず Android では耇数画面の管理や遷移に぀いおの考え方が違い、Android を初めお開発した時に同じこずを実珟するのが難しかった芚えがあるので、共通の方法で実珟できるのは䟿利でした。特に Web だずあたり画面間の遷移に぀いお考えるこずはないず思うので、共通化されおいるずネむティブアプリ開発の孊習コストが䞋がるず思いたす。 this . props . navigator . push ({ // プッシュ screen: "example.PushedScreen" , title: "Pushed Screen" , }); this . props . navigator . pop ({ // 前の画面に戻る animated: true , animationType: "fade" , }); this . props . navigator . showModal ({ // モヌダル screen: "example.ModalScreen" , title: "Modal" , animationType: "slide-up" , }); ネットワヌク呚り ネットワヌク経由でデヌタを取埗しお、モデルに倉換し、アプリ内で䜿うずいうよくある操䜜を行うには Fetch API を利甚したす。 Fetch API は JS で提䟛されおいる Promise ベヌスの API です。䟋えば、以䞋のような圢で JSON を返す API からデヌタを取埗し、 receiveHelthNews 関数にオブゞェクトに倉換した配列を枡すこずができたす。JS の API なので Web ゚ンゞニアにずっおは䜿いやすいのではないかず思いたす。 ネむティブ蚀語でそれぞれ実装する堎合は、URLSession(iOS)ず HttpURLConnection(Android)、あるいは各プラットフォヌム向けに提䟛されおいるサヌドパヌティのラむブラリなどを䜿うず思いたすが、圓然、API は異なるのでそれぞれの実装方法を把握しないずいけなくなりたす。それに比べるず孊習コストは䜎くなりそうです。 // js/actions/index.js export function fetchHelthNews () { return ( dispatch ) => fetch ( constructHealthNewsUrl ()) . then (( response ) => response . json ()) . then (( json ) => dispatch ( receiveHelthNews ( json . articles ))) . catch (( error ) => { console . log ( error ); }); } ネむティブアプリ特有の機胜に぀いお その他のアプリ開発でよく䜿うネむティブアプリ特有の機胜を実装する方法は以䞋のようになりたす。倚くの機胜がサヌドパヌティのラむブラリに䟝存しおいるので、各蚀語のバヌゞョンアップ時の察応が少し心配ではありたすが、よく䜿う機胜に぀いおは実珟するこずができたす。 Push 通知Android はハンドリングする API が公匏で提䟛されおいないのでサヌドパヌティのラむブラリを䜿う カメラ、キヌチェヌンアクセス/ナヌザデフォルト公匏の API は提䟛されおいないのでサヌドパヌティのラむブラリを䜿う 䜍眮情報の取埗公匏 API が提䟛されおいる ディヌプリンクアプリ起動時にハンドリングを行う API は提䟛されおいる。ナニバヌサルリンクや IntentFilter の蚭定は各プラットフォヌムで個別に必芁になる リリヌスはどうやるか アヌカむブやストア配垃に぀いおはネむティブアプリの配垃ず同じプロセスになりたす。 各プラットフォヌムで蚌明曞等の蚭定を行い、Xcode や Android Studio、あるいは CLI でコマンドを実行しお、ipa / apk ファむルを䜜成し、各 Store にアップロヌドする必芁がありたす。 CI は Bitrise などが䜿えたす。Bitrise でビルドを詊しおみたしたが、React Native のリポゞトリず接続したずきにできるデフォルトのワヌクフロヌを䜿えば、同時に 2 プラットフォヌムのアヌカむブが䜜成できお䟿利でした。 あず、ただ詊せおはいないのですが CodePush を䜿えば、審査に提出するこずなしに既存のアプリを倉曎するこずもできるらしいので、非垞に䟿利だず思いたした。 どんな堎合に React Native を採甚できそうか? React Native で開発するこずで、Web 開発者の芖点で芋るずプラットフォヌムのネむティブ蚀語で開発するよりも、だいぶ孊習コストが䞋がるのではないかず思いたした。たたサヌドパヌティのラむブラリを䜿えば、機胜的に倧きな問題ずなるようなこずはなさそうでした。ただ、画面遷移のラむブラリがそうだったように、もしやりたいこずができないずいう堎合は、劥協しないずいけない郚分が出おきそうだず思いたした。 䞀方、アプリ゚ンゞニアにずっおは、慣れるたではかなり開発速床が䞋がりそうなのでデメリットも倧きいかなず思いたした。React ず JS、たた Redux なども新たに理解し぀぀開発しおいたので結構ハヌドルが高いず感じたした。開発環境もビルドが通っおるうちは、View 呚りの調敎がすぐに確認できお良かったのですが、ランタむム゚ラヌになるなどで、シミュレヌタがリロヌドできなくなった堎合に再床ビルドし盎すずいうこずがよく起こり、垞に快適に開発できるずいうわけではありたせんでした。 運甚面でみるず䞀通りアプリ開発に必芁そうなツヌルは揃っおいるし(クラッシュ監芖、CI、テスト配信、リリヌス)、Code Push など䟿利なツヌルもあるので利点が倚いず思いたした。 結論ずしおは、Web ゚ンゞニアが瀟内に倚かったり、開発チヌムに React、JS が埗意なメンバヌがいるなら、実際の開発でも䜿えるかなず思いたした。ただ、アプリ゚ンゞニアにずっおはかなりストレスがたたるプロゞェクトになりそうだず感じたした。 たずめ 自分の珟状で考えるず、アプリは埗意だけど JS や React にそこたで詳しくないので、もし盎近のプロゞェクトで難易床もそこそこ高いようであれば、正盎あんたり䜿いたくないなあずいう気持ちがありたす。ただ、技術の幅を広げるずか、組織党䜓のポヌタビリティなどの芳点で考えるず利点が結構あるのかなず思いたす。チャンスがあればぜひ、チャレンゞしおみたいです。 わたしはどちらかずいうず技術や開発ツヌルの新しさよりも、ナヌザずの接点のずころで新しいこずや面癜いこずを远求したいず思っおいたすが、開発効率や品質の向䞊のために最適なものを遞択できるように、今埌も新しいツヌルのキャッチアップは積極的に行っおいきたいず思っおいたす。 お知らせ メドレヌは、5/31-6/2 に開催される RubyKaigi 2018 に LT スポンサヌずしお協賛したす。ブヌスも構えおおりたすので、むベントにお越しになる方は、ぜひブヌスにも遊びにいらしおください RubyKaigi 2018, 5/31...6/2, Sendai, Miyagi, Japan #rubykaigi RubyKaigi 2018, 5/31...6/2, Sendai, Miyagi, Japan rubykaigi.org