Contract Killer
Stuff & Nonsense
The popular open-source contract for web professionals by- Originally published: 23rd December 2008
- Revised date: March 15th 2016
- Original post
// LINE 160 of seneca-transport/lib/tcp.js | |
reconnect.on('disconnect', function (err) { | |
seneca.log.debug('client', type, 'disconnect', spec, topic, clientOptions, | |
(err && err.stack) || err) | |
_.find(connections, { clientOptions: clientOptions }).setup = false // This code fails. Wrapping an "undefined" guard around _.find fixes the issue. | |
}) |
seneca.ready(function() { | |
client = seneca.client({type: 'tcp'}); | |
}) |
Empty file |
This flow will download the latest Astronomy Picture of the Day (APOD) from Nasa.gov and caches in memory.
It hits the API once every 24 hours, so you don't have to worry about reaching your quota.
This flow demonstrates a technique in caching data that can be used for other sites as well - for example, you can create your own "xxx of the day" from any site that offers a random API by simply calling that random API once every 24 hours (you can change this interval) and caching the result. Calls to the API will read from the cached version.
NOTE: to use this flow you must obtain a free API key from data.nasa.gov.
I just worked out another flow to have Zero downtime (mainly for web apps). | |
Proxy | |
We use jwilder/nginx-proxy to handle routing to app servers, this will assist us in dynamically routing requests to services. | |
First Deploy | |
For the first deploy run docker-compose --project-name=app-0001 up -d. |
docker rmi $( docker images -q -f dangling=true) |
var webView = view.getViewById(page, "webView"); | |
if (webView.android) { | |
try { | |
var MyWebViewClient = android.webkit.WebViewClient.extend({ | |
shouldOverrideUrlLoading: function(_webView,interceptedUrl){ | |
console.log('Intercepted Url was ', interceptedUrl); | |
utils.openUrl(interceptedUrl); | |
return true; | |
}, | |
onPageFinished: function(_webView, pageUrl) { |
Delete all containers
$ docker ps -q -a | xargs docker rm
-q prints only the container IDs -a prints all containers
Notice that it uses xargs to issue a remove container command for each container ID
var reverseString = function(stringToReverse) { | |
var finalString = []; // I prefer to use arrays instead of strings. | |
// loop through the string, starting at the end. | |
for (var i = stringToReverse.length; i > 0; i--) { | |
// push the character at the current index into the finalString array | |
finalString.push(stringToReverse[i]); | |
} | |
// Join the characters in the array into a string and return the string. | |
return finalString.join(''); | |
} |