Rails Developers Meetup 2019
Rails Developers Meetup 2019
TypeScriptã¯Microsoftãéçºããããã°ã©ãã³ã°è¨èªã§ããJavaScriptã®ã¹ã¼ãã¼ã»ããã¨ããä½ç½®ã¥ãã§ãéçåä»ããªã©å¼·åãªè¨èªæ©è½ãåãã¦ãã¾ããTypeScriptã¯é«åº¦ãªã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ã®éçºã§ä½¿ããããã¨ãå¤ããã»ã¨ãã©ã®ããã³ãã¨ã³ãã¨ã³ã¸ãã¢ã使ã£ã¦ããã¨ãã£ã¦ãéè¨ã§ã¯ããã¾ããã â²TypeScriptã®å ¬å¼ãµã¤ã TypeScriptã¯ã³ã³ãã¤ã©ã«ãã£ã¦JavaScriptã®ã³ã¼ããå¾ããã¾ãããTypeScriptã®ã³ã³ãã¤ã©ã«ã¯ECMAScript Modulesï¼ES Modules = importãexportæã®ãã¨ï¼ãã¾ã¨ããæ©è½ãæä¾ããã¦ãã¾ããããã®ãããES Modulesã®JSãã¡ã¤ã«ãã¾ã¨ããã¢ã¸ã¥ã¼ã«ãã³ãã©ã¼ï¼ä¾ï¼webpackãRollupçï¼ãTypeScriptã¨åããã¦ä½¿ãã®ãä¸è¬çã§ãã ãã®è¨äºã§ã¯ã
次ã®ãããªã³ã¼ããæ¸ãã¦ã import React from "react" export default () => <div>Hello!</div> 次ã®ãããªã³ãã³ããå©ãã¨ã katatema build 次ã®ãããªãã¡ã¤ã«ãçæãããã¨ãããkatatema ã¨ãããã¼ã«ãã¤ãã£ãã <!DOCTYPE html> <html> <head> </head> <body> <div>Hello!</div> </body> æå ç«¯ã®æ¶è åã« ãã¼ãã¼ãã·ã§ã¼ãã«ãããã«ã¹ã¿ãã¤ãºãããã©ã¦ã¶æ¡å¼µ - ââ¹â¡â¹â ã§ããããããã¨ãæ¸ããã id:moznion ã¸ãå¯ãæ¥ãç¶ãã¾ãããå æ°ã§ãããã¨ãããChromeæ¡å¼µã1ã¤ããããã°ã大ã®å¤§äººãå¯ã£ã¦ããã£ã¦ã¢ãã³ã¨è¨ãåãé¡ã®ãã®ãä¸éãå¦ã¹ãã ããã¨æãã¾ãã æè¿ã®JavaScriptã®å¨è¾ºç°å¢ã¯å¤§å¤ã§ãä½ãããã«
In the JavaScript community, engineers share hundreds of thousands of pieces of code so we can avoid rewriting basic components, libraries, or frameworks of our own. Each piece of code may in turn depend on other pieces of code, and these dependencies are managed by package managers. The most popular JavaScript package manager is the npm client, which provides access to more than 300,000 packages
ããã«ã¡ã¯ããã¬ã¤ãã®@otoanã§ãã çªç¶ã§ãããService Workerã£ã¦ä½¿ã£ããã¨ãããã¾ããï¼ Service Workerã¯ããªãã©ã¤ã³ã§ãã¼ã¸ãéãç¶ããããã®ãã£ãã·ã¥æ©æ§ã¨ãã¦å°å ¥ããã¾ãããããã以ä¸ã®ãã©ãã¤ã ã·ãããå«ãã§ããã¨çè§£ãããæ³¨ç®ãããããã«ãªã£ã¦ãã¾ããæ³¨ç®åº¦ã¯é«ãæ°æ©è½ãªã®ã§ãããå ¨ä½åãã¤ãããè¨äºãæå¤ã¨è¦ãããªãã£ãã®ã§ãä»åãã¼ãã¨ãã¦é¸ã³ã¾ããã KARTEã§ããã©ã¦ã¶éç¥æ©è½ã¨ãã¦ãService Workerã®å©ç¨ãä¸é¨å§ãã¦ãã¾ãã®ã§ããã®éã«å¾ãæ å ±ã¨ãã®èå¯ãã¾ã¨ãããã¨æãã¾ããåã ã®æ©è½ã®è©³ç´°ããµã³ãã«ã³ã¼ãã«ã¤ãã¦ã¯ãè¯ãè¨äºãããããåºã¦ãã¾ãã®ã§æ¢ãã¦ã¿ã¦ãã ããã 8/4ã«å ¬éãããService worker meeting notesã«ã¤ãã¦ããæå¾ã®æ¹ã§è»½ã触ãã¦ãã¾ãããè¨äºæ¬æå ã«ã¯åååæ ã§ãã¦ãã¾ã
2016.05.17AbemaTVã®ã©ã³ã¿ã¤ã ããã©ã¼ãã³ã¹ã®Auditæè¿æ¥åã§ãå··ã§è©±é¡ã®AbemaTVã®ããã©ã¼ãã³ã¹æ¹åããã¦ãããåå¥å ·ä½æ§ãé«ããèª¿æ»æ¹åã®é°å²æ°ãæãåã£ã¦ããããã°ããã§è¯ããã¨æããè¨äºã«ããã AbemaTVã®ããã³ãã¨ã³ãã®æ§æè©±ã®åæã¨ãªãAbemaTVã®ããã³ãã¨ã³ãã®æ§æã¯æ¬¡ã®éãã§ãã¾ãã«æµè¡ãã®ã¨ãã£ãæãã facebook/reactfacebook/immutable-jsReactive-Extensions/RxJSreactjs/react-routercss-modules/css-modulesãã«ãå¨ãã¯babelã¨webpackããã¨ã¯lintãã¼ã«ãã¡ããã¡ããå ¥ã£ãããã¦ããããã®æ¹åã®è©±ã¨é¢ä¿ãã¦ããã®ã¯ãReactã¨ImmutableJSã¨RxJSã ãã çªçµåçç»é¢ã®ã³ã¡ã³ãééãéãä»åã±ã¼ã¹ã¹ã¿ãã£ã¨ãã¦æã
Document for ReactMeetup#2 at 20150908
æè¿ã¯ãMithrilã®ãé°ã§ãã·ã³ã°ã«ãã¼ã¸ã¢ããªã±ã¼ã·ã§ã³ã大åä½ãããããªãã¾ãããä»äºã§ã使ã£ã¦ã¾ããããããã¥ã¡ã³ãã®æ¥æ¬èªè¨³ãããã¾ãããæ¬ãããã¾ãï¼ http://mithril-ja.js.org/ http://www.oreilly.co.jp/books/9784873117447/ 社å ãã¼ã«ãä½ãã®ã«Mithrilã¨Electronã§ä½ã£ã¦ã¿ãã®ã§ããããµã¤ãã®ãã¹ã¯ãããã¢ããªãä½ãã®ã«ã¡ãã£ã¨æéãå¤ãã®ã§(ããã¯Mithrilã使ããªãã¦ã)ããµã¤ããå®ç¾ããããã®ãã¬ã¼ã ã¯ã¼ã¯ã«ã¤ãã¦èãã¦å®è£ ãã¦ã¿ã¾ãããç¹ã«ã¾ã ååã¯ããã¾ããã Electronã¨ã¯ï¼ Electronã¯ã¦ã§ãçãªã¹ãã«ãããã°ããããç°¡åã«ãã¹ã¯ãããã§åãããã«ãªãã¨ããä»çµã¿ã§ããå ã ã¯atom-shellã¨å¼ã°ãã¦ãã¾ãããé¡ä¼¼ã®ãã®ã«ãNW.js(å node-webkit
æçã¢ãã Maybeã¢ãã ãªã¹ãã¢ãã ç¶ç¶ã¢ãã Do è¨æ³ é£éå¼ã³åºã ã¢ãã ã¨ã¯ãä¸é£ã®ã¹ãããã«ãã£ã¦å®è¡ããè¨ç®ãè¨è¿°ããéã«ä½¿ç¨ããã1ã¤ã®ãã¶ã¤ã³ãã¿ã¼ã³ã§ãã ç´ç²é¢æ°åããã°ã©ãã³ã°è¨èª ã§ã¯ãã¢ãã㯠å¯ä½ç¨ã管çãã ããã«åºãå©ç¨ããã¦ãã¾ããã ãã«ããã©ãã¤ã è¨èªã§ã¯ãã¢ããã§è¤éæ§ãå¶å¾¡ãããã¨ãã§ãã¾ã ã ã¢ããã¯ãã¼ã¿åãã©ãããã¦ã空ã®å¤ãèªåçã«ä¼æãããï¼ Maybe ã¢ããï¼ãéåæã³ã¼ããç°¡ç¥åãããï¼ ç¶ç¶ ã¢ããï¼ã¨ãã£ããæ°ããªåä½ãæ¢åã®ãã¼ã¿åã«è¿½å ãã¾ãã ä¸é£ã®ã³ã¼ããã¢ããã¨è¦ãªãããã«ã¯ããã®æ§é ã«ã¯æ¬¡ã«æãã3ã¤ã®è¦ç´ ãå«ã¾ãã¦ããªããã°ãªãã¾ããã åã³ã³ã¹ãã©ã¯ã¿ â åºæ¬çãªåã«å¯¾ãã¦ã¢ããã®åä½ã追å ããåã使ããæ©è½ã§ããä¾ãã°ãåºæ¬çãªãã¼ã¿å number ã«å¯¾ãã¦ã Maybe<number> ã¨ã
Built for scaleRelay is designed for high performance at any scale. Relay keeps management of data-fetching easy, whether your app has tens, hundreds, or thousands of components. And thanks to Relayâs incremental compiler, it keeps your iteration speed fast even as your app grows. Keeps iteration quickRelay is data-fetching turned declarative. Components declare their data dependencies, without wo
Single Page Application + Server Rendering yahoo/fluxible ã使ã£ã¦ãSingle Page Application 㨠Server Rendering ã®è¯ãã¨ãåãã®ã¢ã¼ããã¯ãã£ãç®æããããç¨åº¦ã®è¤éæ§ã¨å¼ãæãã«ãåæ¹ã®å©ç¹ã§åæ¹ã®æ¬ ç¹ãæã¡æ¶ãåããã¨ãã§ãããããå ¨ä½çã«ã¯è¯å¥½ãªã¦ã¼ã¶ã¼ã¤ã³ã¿ã©ã¯ã·ã§ã³ãæå¾ ã§ããæ§æã ãªã Single Page Application ãªã®ã ç»é¢é·ç§»æãããã³ã«JavaScript/CSS ã®ãã¼ã¹ã¨è©ä¾¡ãããªãã¦è¯ããªã ç»é¢é·ç§»æã®ãã©ã³ã¸ã·ã§ã³ãæè»ã«é©ç¨ã§ãã ç»é¢é·ç§»ãã¾ããã£ãå®è£ ãå¯è½ã«ãªãï¼ããã¾ã§å¯è½ã«ãªãã ãï¼ ãªã Server Rendering ããã®ã åæè¡¨ç¤ºã® Critical Rendering Path ãç縮ã§ãã SEO ã«ãããä¿å®ä¿¡ä»°
JavaScript ã PNG ã«å§ç¸®ãããã¼ã«ãä½ãã¾ãããJS_Packer demoscene ã¯æè¿ WebGL ã使ã£ããã®ãå¤ããªã£ã¦ãã¦ãã¾ãã demoecene ã¯åºæ¬çã« ãã¼ã«ã«ã«ãã¡ã¤ã«ã¨ãã¦åå¨ãã¦ãããã®ã使ã ãã®ãã¡ã¤ã«å®¹é㯠1 ãã¤ãã§ãå°ãªãã»ãããã (容éå¶éãããåéããã) ã¨ããæåã§ãããã㦠JS ãã¡ã¤ã«ãå§ç¸®ããææ³ã®ä¸ã¤ã«ãJS ã PNG ç»åã«ãã¦ãããããã³ã¼ããããã¨ããææ³ãåå¨ãã¾ãã JS ã®æ§è³ªJS ã®ã³ã¼ãã¯åºæ¬çã«ã¢ã¹ãã¼æåã®éã¾ãã§ããã¢ã¹ãã¼ã³ã¼ãã¯ãå°æå/大æåã®ã¢ã«ãã¡ããããæ°åãã¹ãã¼ã¹ã¨ãã£ã 128 種é¡ããåå¨ãã¾ããã PNG8 ã®æ§è³ª8 ããã PNG 㯠256 種é¡ã®è²ããã¬ããã«æã£ã¦ãã¾ãã PNG ã¯å¯éå§ç¸®ï¼ãã¹ã¬ã¹ï¼å½¢å¼ã®ç»åã§ããå§ç¸®ãã¦ã失ããããã¼ã¿ã¯ããã¾ããã
MVC ã¨è¨ãã° Apache Struts ãã¯ããã¨ãããµã¼ããµã¤ãã»ãã¬ã¼ã ã¯ã¼ã¯ãæ³åãã¾ããã ä»å㯠JavaScript ã«ããå¤§è¦æ¨¡éçºã®éã«æ¡ç¨ãããã¯ã©ã¤ã¢ã³ããµã¤ã MVC ãã¬ã¼ã ã¯ã¼ã¯ãBackbone.jsãã®ä½¿ãæ¹ã«ã¤ãã¦ã¾ã¨ãã¦ã¿ã¾ããã (å³å¯ã«ã¯ã¯ã©ã¤ã¢ã³ããµã¤ãã®å ´åãMVC ã¨ã¯å¼ã°ã MVVM ã¨ã MV* ã¨ãå¼ã°ãã¦ãããã§ãã) åæ Backbone.js ã®æ§æãç°¡åã«è¨ã£ã¦ãã¾ã㨠åä¸ãã¼ã¿ã®ç®¡çãè¡ãã¢ãã« è¤æ°ä»¶ã®ã¢ãã«ã®ç®¡çãè¡ãã³ã¬ã¯ã·ã§ã³ ç»é¢ã®ç®¡çãè¡ããã¥ã¼ ã®ï¼ã¤ã®ä¸»è¦ã¢ã¸ã¥ã¼ã«ãè»¸ã«æ§æããã¦ãããUnderscore.jsãjQuery(Zeptoï¼ã«ä¾åããããã¡ã§åä½ããããã«ãªã£ã¦ãã¾ãã å©ç¨ã®éã¯ãunderscore.jsãjquery.jsãbackbone.js ã®é ã§èªã¿è¾¼ã¿ã¾ãã //cdnjs
way.js is a simple, lightweight, persistent, framework-agnostic javascript library that allows you to bind DOM elements to an in-memory datastore (with no to little JS code). If you like buzzwords, that means super easy two-way databinding. Once you tried it here, check the documentation or play with some code on Codepen / jsFiddle. This form is bound to the "formData" property and automatically p
ããªãã«ã¨ã£ã¦éè¦ãªãããã¯ãååã®ææ°æ å ±ãå ¥æãã¾ãããææ°ã®æ´å¯ã¨ãã¬ã³ãã«é¢ããææ°æ å ±ãå³åº§ã«åãåãã¾ãããã ç¶ç¶çãªå¦ç¿ã®ããã«ãç¡æã®ãªã½ã¼ã¹ã«æè»½ã«ã¢ã¯ã»ã¹ãã¾ãããããããã¯ããã©ã³ã¹ã¯ãªããä»ãåç»ãããã³ãã¬ã¼ãã³ã°ææã è¨äºãä¿åãã¦ããã¤ã§ãèªããã¨ãã§ãã¾ãè¨äºãããã¯ãã¼ã¯ãã¦ãæºåãã§ããããã¤ã§ãèªãã¾ãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}