- C-a == Ctrl-a
- M-a == Alt-a
:q close
:w write/saves
:wa[!] write/save all windows [force]
:wq write/save and close
| #!/usr/bin/env python3 | |
| """Simple HTTP Server With Upload. | |
| This module builds on BaseHTTPServer by implementing the standard GET | |
| and HEAD requests in a fairly straightforward manner. | |
| see: https://gist.github.com/UniIsland/3346170 | |
| """ | |
| #!/usr/bin/env bash | |
| # https://github.com/shadowsocks/shadowsocks-rust/releases | |
| export SSVERSION=v1.15.4 | |
| export SSPORT=143 | |
| export SSPASSWORD="CHANGEME" | |
| export SSARCHIVE="shadowsocks-${SSVERSION}.x86_64-unknown-linux-gnu.tar.xz" | |
| #export SSARCHIVE="shadowsocks-${SSVERSION}.aarch64-unknown-linux-gnu.tar.xz" | |
| export PREFIX=/usr/local/bin |
CATF44LT7C-eyJsaWNlbnNlSWQiOiJDQVRGNDRMVDdDIiwibGljZW5zZWVOYW1lIjoiVmxhZGlzbGF2IEtvdmFsZW5rbyIsImFzc2lnbmVlTmFtZSI6IiIsImFzc2lnbmVlRW1haWwiOiIiLCJsaWNlbnNlUmVzdHJpY3Rpb24iOiJGb3IgZWR1Y2F0aW9uYWwgdXNlIG9ubHkiLCJjaGVja0NvbmN1cnJlbnRVc2UiOmZhbHNlLCJwcm9kdWN0cyI6W3siY29kZSI6IklJIiwicGFpZFVwVG8iOiIyMDIwLTAxLTA4In0seyJjb2RlIjoiQUMiLCJwYWlkVXBUbyI6IjIwMjAtMDEtMDgifSx7ImNvZGUiOiJEUE4iLCJwYWlkVXBUbyI6IjIwMjAtMDEtMDgifSx7ImNvZGUiOiJQUyIsInBhaWRVcFRvIjoiMjAyMC0wMS0wOCJ9LHsiY29kZSI6IkdPIiwicGFpZFVwVG8iOiIyMDIwLTAxLTA4In0seyJjb2RlIjoiRE0iLCJwYWlkVXBUbyI6IjIwMjAtMDEtMDgifSx7ImNvZGUiOiJDTCIsInBhaWRVcFRvIjoiMjAyMC0wMS0wOCJ9LHsiY29kZSI6IlJTMCIsInBhaWRVcFRvIjoiMjAyMC0wMS0wOCJ9LHsiY29kZSI6IlJDIiwicGFpZFVwVG8iOiIyMDIwLTAxLTA4In0seyJjb2RlIjoiUkQiLCJwYWlkVXBUbyI6IjIwMjAtMDEtMDgifSx7ImNvZGUiOiJQQyIsInBhaWRVcFRvIjoiMjAyMC0wMS0wOCJ9LHsiY29kZSI6IlJNIiwicGFpZFVwVG8iOiIyMDIwLTAxLTA4In0seyJjb2RlIjoiV1MiLCJwYWlkVXBUbyI6IjIwMjAtMDEtMDgifSx7ImNvZGUiOiJEQiIsI
| // Logging - slf4j logging to log4j2 | |
| // https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 | |
| compile 'org.slf4j:slf4j-api:1.7.26' | |
| // https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j-impl | |
| compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.11.2' | |
| compile 'org.slf4j:jcl-over-slf4j:1.7.26' | |
| compile 'org.apache.logging.log4j:log4j-api:2.11.2' | |
| compile 'org.apache.logging.log4j:log4j-core:2.11.2' |
| nsqlookupd: | |
| image: nsqio/nsq | |
| ports: | |
| - "4160:4160" | |
| - "4161:4161" | |
| command: /nsqlookupd | |
| nsqd: | |
| image: nsqio/nsq | |
| ports: |
分布式系统的核心是分布式通信,而传统上开发一套支持上千台规模集群,可靠性非常高的分布式通信框架,需要不少的精力投入。而在多数情景下,我们(特别是时间宝贵的OP)并不是非常关注技术实现的细节,而是希望有一套成熟、轻量、可靠性高、使用方便而且易于调试的分布式通信框架,可以直接使用,从而把时间放在具体业务逻辑上。
在PyCon 2012大会上,dotcloud公司开源了一套基于ZeroMQ和MessagePack的分布式通信框架(或者说是协议+Python实现)。该框架因为基于ZeroMQ,使用方法是RPC,所以被命名为ZeroRPC。ZeroRPC的特点在其官网的介绍中一目了然[1]:
ZeroRPC is a light-weight, reliable and language-agnostic library for distributed communication between server-side processes.
| // Usage: $ mongo dropAll.js | |
| var dbs = db.getMongo().getDBNames() | |
| for(var i in dbs){ | |
| db = db.getMongo().getDB( dbs[i] ); | |
| print( "dropping db " + db.getName() ); | |
| db.dropDatabase(); | |
| } | |
| print("done.") |
| /* | |
| Native FullScreen JavaScript API | |
| CopyRight: Johndyer, http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/ | |
| ------------- | |
| Assumes Mozilla naming conventions instead of W3C for now | |
| */ | |
| (function() { | |
| var | |
| fullScreenApi = { | |
| supportsFullScreen: false, |