appborg, coffeesurgeon, moof, logging-system

21

Transcript of appborg, coffeesurgeon, moof, logging-system

Page 1: appborg, coffeesurgeon, moof, logging-system
Page 2: appborg, coffeesurgeon, moof, logging-system
Page 3: appborg, coffeesurgeon, moof, logging-system

cheapsimple

reliable{idempotent retry on failure

client_timestampserver_timestampip+{

Page 4: appborg, coffeesurgeon, moof, logging-system

S3

LoggingServer

Just log HTTP request fragments:

Save a batches to S3 every K seconds

PUT every 5 seconds 17 cents per day➟

Page 5: appborg, coffeesurgeon, moof, logging-system

S3

LoggingServer EventServer

datastore

You

Page 6: appborg, coffeesurgeon, moof, logging-system
Page 7: appborg, coffeesurgeon, moof, logging-system

->=> vs inside methodsAssert

Wrap every function literal’s body in try/catch

Line-number mapping files

TODO:

Page 8: appborg, coffeesurgeon, moof, logging-system
Page 9: appborg, coffeesurgeon, moof, logging-system
Page 10: appborg, coffeesurgeon, moof, logging-system
Page 11: appborg, coffeesurgeon, moof, logging-system

CoffeeScript, CommonJS

Yet another browser-side JS library

Minification friendly

Works well with bodystitch

Page 12: appborg, coffeesurgeon, moof, logging-system
Page 13: appborg, coffeesurgeon, moof, logging-system

Mac

Windows

GNU/Linux

app?{ }How do you write a

Page 14: appborg, coffeesurgeon, moof, logging-system

<html>

<head> ... </head>

<body onload="init()"></body>

</html>

JS / CSS / images (in WebKit)

Page 15: appborg, coffeesurgeon, moof, logging-system

JS / CSS / images

Mac Windows GNU/Linux

NodeJSPythonRubyJVMC

subprocesses{ }

(in WebKit)

Page 16: appborg, coffeesurgeon, moof, logging-system

stdio

polling evaluateJavaScript2-way QtWebView hooks

Page 17: appborg, coffeesurgeon, moof, logging-system

No extra abstractions, KTHX!

There are some frameworks.

I prefer libraries.

Just { }JSON message passing

Hello World projects

Page 18: appborg, coffeesurgeon, moof, logging-system

MacABRouter.{m,h}

JS / CSS / images ABBrowserComm.coffee

ABSubprocessWrapper.{m,h}...

C appborg.{c,h}

Page 19: appborg, coffeesurgeon, moof, logging-system

Windows

GNU/Linux

Mac

Now

WebView WebKit

QtWebView WebKit

QtWebView WebKit

Soon Later

Page 20: appborg, coffeesurgeon, moof, logging-system

Some of this is alpha

Everything will improve a lot over the next couple weeks

KTHX

@andrewschaaf

Everything will be used in production soon

Page 21: appborg, coffeesurgeon, moof, logging-system