Lightning Talks Day 2 ===================== Django and robotic telescopes ----------------------------- Edward Gomez http://lcogt.net - Galaxy pictures - pretty - 12 telescopes currently operating "the sun never rises on our telescopes" - telescopes size of double decker bus, family car, R2D2 - clusters - 1000 ish active users (250 astronomers, 750 school kids) - web requests to server, then telescopes controlled - django to take requests, schedule optimiser, save results - image pipeline, python archive, served by django - try it, http://bit.do/lco-dj-signup - work on it http://lcogt.net/jobs Real time web thing ------------------- Craig Stone - slides not working - mashing django and angular - django-angular and djangular - use ``{% verbatim %}`` tag around angular framework API by example -------------- Carlos Barrobes @technomilk - an approach to testing across services - before - single app - want to split it up - UI in angular - backend in django/DRF - want both teams to work independently - want each part to be tested separately - backend team should not dictate the API - ABE - API by example - in json files - 3 repos - backend, client, mocks - all begins with pull request to the mocks repo - signed off by at least one person from each team - PR is documented discussion - ABE files is documented API - ABE mocks are versioned dependency for both front and back end https://github.com/txels https://github.com/apibyexample git-crypt --------- Thomas github.com/alphacc slides - https://github.com/alphacc/djangoconeu2015 - admins have secret in git, but other users can't read secret - transparent encrypt/decrypt when check in/out - you need a GPG key - brew install git-crypt - git-crypt init /path/to/key - files to encrypt in .gitattributes ``*.key filter=git-crypt diff=git-crypt`` http://www.theport.ch http://www.theport.ch/portfolio-item/the-port-presentation Using StreamingHTTPResponse for JSON & HTML ------------------------------------------- Matthew Somerville @dracos - stop your server falling over with hacks and bug fixes - request for every map boundary - started 50M, 500M looksup ... total almost 2G - was loading it all into memory - should have been using StreamingHTTPResponse - then had to sort out middleware ... - but we're not doing a generator, but was using a dictionary - created iterdict - not really a dict, but allows generator - new total 215 MB - gzip with unicode caused death - HTML version - django doesn't stream templates, so had to iterate django template - jinja2 does support iterating template shakeslide - Predicting landslides ---------------------------------- @DrRobParker @g... - Geologist at Cardiff Uni - using Django to predict landslides triggered by earthquakes - building a global db of landslides - then using machine learning, models, ... for prediction - then made website doing near real time prediction - shakeslide - Nepal - predictions made - huge areas, real risk - landslide dams - landslide blocks river, water builds up, bursts -> massive damage - built 2 worker profiles - 1 is data source provider - constantly updating - queuing system - 2 renders hidef images BDD with goat ------------- Ilja, cuescience slides and code - https://github.com/cuescience/djangocon2015-goat - BDD - behave lib - test written in natural language - type annotations - use python 3 - but types specified twise - goat is addon to behave - can then use python 3 function annotations - context is repeated a lot - do implicit argument injection - pip install goat