Let's say you want to host domains first.com and second.com.
Create folders for their files:
This document details how I setup LE on my server. Firstly, install the client as described on http://letsencrypt.readthedocs.org/en/latest/using.html and make sure you can execute it. I put it in /root/letsencrypt.
As it is not possible to change the ports used for the standalone authenticator and I already have a nginx running on port 80/443, I opted to use the webroot method for each of my domains (note that LE does not issue wildcard certificates by design, so you probably want to get a cert for www.example.com and example.com).
For this, I placed config files into etc/letsencrypt/configs, named after <domain>.conf. The files are simple:
| nginx: | |
| image: myclient/nginx | |
| environment: | |
| - HOSTHOST=UBUNTU | |
| - PROXY_PORT=8069 | |
| links: | |
| - myservice:myservice | |
| ports: | |
| - "80:80" | |
| - "443:443" |
##分布式系统(Distributed System)资料
介绍:这是一篇介绍在动态网络里面实现分布式系统重构的paper.论文的作者(导师)是MIT读博的时候是做分布式系统的研究的,现在在NUS带学生,不仅仅是分布式系统,还有无线网络.如果感兴趣可以去他的主页了解.
| openssl rsa -in ~/.ssh/id_rsa -outform pem > id_rsa.pem | |
| chmod 600 id_rsa.pem |
| import requests | |
| from db import db | |
| """ | |
| The Douban Group API which not display on http://developers.douban.com/wiki/?title=api_v2 | |
| Base url: https://api.douban.com/v2 | |
| Group info: /group/:id |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| var path = require('path'); | |
| var _invalidateRequireCacheForFile = function(filePath){ | |
| delete require.cache[path.resolve(filePath)]; | |
| }; | |
| var requireNoCache = function(filePath){ | |
| _invalidateRequireCacheForFile(filePath); | |
| return require(filePath); | |
| }; |
I've sniffed most of the Tinder API to see how it works. You can use this to create bots (etc) very trivially. Some example python bot code is here -> https://gist.github.com/rtt/5a2e0cfa638c938cca59 (horribly quick and dirty, you've been warned!)
| // | |
| // CALayer+MBAnimationPersistence.h | |
| // | |
| // Created by Matej Bukovinski on 19. 03. 14. | |
| // Copyright (c) 2014 Matej Bukovinski. All rights reserved. | |
| // | |
| #import <QuartzCore/QuartzCore.h> | |