Opening

October 12, 2014 · View on GitHub

Jeff Pope

Sencha.io, Managing Director of Asia Pacific Region

promote, promote, promote


R0 #1 Use Node Modules In The Browser With Browserify

maxwell ogden

JS for Cats

requrie anywhere use Browserify in browser you can handle dom, node can use TCP/UDP but everything else you can do two place both

browserify handbook on github browserify-handbook

browserify-adventure Learning browserify

nodeschool Learning node online

npm install learnyounode

A npm module that can help you learn nodejs

step by step using cli

packify Pack all stylesheets and js file in one html file images become base64 encode

npm install --save

--save will put it in your dependencies

morkdown

leveljs LevelDB with js

voxel.js blockplot

requirebin

wzrd.in

http://stack.gl/

thealphanerd/sudoku applciation sample of use browserify

beefy tiny browserify server

watchify Watch and recompile while every time you change file

tape a test framework

testling


R0 #2 Private NPM for Company

蘇千

@fengmk2

npm structure

Why CNPM

  • Easy Maintain / 容易維護
  • Lower Cost / 很低成本
  • Stable / 穩定可用
  • Faster / 更快
  • Simple / 簡單
  • Open Source / 開源

Use npm install cnpm and assign private npm registry path

(Taobao mirror)[http://npm.taobao.org/]

Why Private NPM

  • Need fast and stable NPM service
  • Publish private modules
  • Control the modules of NPM

What's the problem on CouchDB solution

  • Sync Latency too large

CNPM

  • Duplicate name between public and private module.
  • Internal User Authorization

Solve:

  • Scoped package, use namespace to avoid duplicate package name. Publish with @scoped e.g.: @ali/fs, @alipay/fs

  • CNPM support UserService API http://t.cn/Rhr8Zes

    • auth
    • get
    • list
    • search

Ali NPM Downloads per month in 2014 is grow to 2 millions. (Paypal private npm have 500,000 npm installs per day, internally. 8x than Ali)

Lower Cost

cnpmjs.org total cost per month: $19.6, only NT$ 600

Stable

reports: r.cnpmjs.org

Easy to contribute

cnpm/cnpmjs

koa koajs/koa

They are hiring

  • Javascript Engineer
  • NodeJS Engineer @ Alipay

suqian.yf@alipay.com


R0 #3 HTML Accessibility

楊曉明

@lepture

Accessibility Matters

View Slide

It is the right thing to do, Just follow the standards.

Accessibility in real life

  • The Metro
  • Toliet Design
  • Traffic Light, it's a bad design for color blindners. ~8% is color blinders in reallife Think about why we not add a shape for the light that make the color blinder can access the traffic light.

Trello color blind friendly label.

yue.css

yue.css is a typography stylesheet for readable content. It was created for my blog at first since I always designed a new theme for my blog. But later it becomes the offical stylesheet for yuehu site.

ChromeVox

ChromeVox is a screen reader for Chrome which brings the speed, versatility, and security of Chrome to visually impaired users.

Accessibility Developer Tools

This extension will add an Accessibility audit, and an Accessibility sidebar pane in the Elements tab, to your Chrome Developer Tools.

Spectrum

Instantly test your web page with different types of color vision deficiency.


R0 #4 PgREST

clkao

PgREST - PostgreSQL, JavaScript, and REST

clkao: 頂新太 decent 了,沒辦法好好寫 slide,所以開始從 http://tmsearch.tipo.gov.tw/ 撈商標
hackpad: 抵制大幫手
API 晚上上線: decent.tw

PostgreSQL

  • Schema(= namespace)
  • View(= predefined queries)
  • Triggers & Rules(= hooking queries)

jq
plv8x


R2 #4 Functional JavaScript, Why or Why Not?

Greg Weng

@GregWeng

View Slide

Mozilla blog

Functional Programming would bring you:

  • Re-thinking
  • Patterns
  • Fun

facebook/immutable-js

Monad

What is a monad - StackOverflow

It's so complex when we search monad on initernet.

Monadic actions can be chained as function composition.

PoC of Maybe in Javascript

React

Flux

Facebook flux TodoMVC example


R0 #5 RxJS for frontend developers

Huge

RxJS

The code come mess cause boss's fucking requirements.

jhusain.github.io/learnrx

What's differents between Array and Event

They're same as a collection, the different is Event have Timing.

RxMarbles

Interactive diagrams of Rx Observables


R0 Day 1 Last - Micro Database

James Halliday

unix philosophy

Write programs that do one thing and do it well.

Leveldb

  • bytewise

.. some live demo for build a simple dict app use it


Go to Day 2