How To Become A Hacker
Eric Steven Raymond, Thyrsus Enterprises, < esr@thyrsus.com >
Copyright © 2001 Eric S. Raymond
翻译:柯非, < zer4tul@gmail.com >
| import System.Directory | |
| import System.Environment | |
| import System.FilePath | |
| import Control.Applicative ((<$>)) | |
| import Control.Arrow (first, second) | |
| import Control.Monad (void) | |
| import Data.Either (rights) | |
| import Data.List (isSuffixOf) | |
| import Data.Set (Set, (\\), empty, fromList, insert, singleton, toList, union) | |
| import Text.Parsec |
How To Become A Hacker
Eric Steven Raymond, Thyrsus Enterprises, < esr@thyrsus.com >
Copyright © 2001 Eric S. Raymond
翻译:柯非, < zer4tul@gmail.com >
#WSGI:(web server gateway interface)WEB服务器网关接口 WSGI是为python语言定义的web服务器和web应用程序或框架之间的一种简单而实用的借口。wsgi是一个web组件的接口规范,它将web组件分为三类:server,middleware,application
##wsgi server wsgi server可以理解为一个符合wsgi规范的web server,接收request请求,封装一系列环境变量,按照wsgi规范调用注册的wsgi app,最后将response返回给客户端。文字很难解释清楚wsgi server到底是什么东西,以及做些什么事情,最直观的方式还是看wsgi server的实现代码。以python自带的wsgiref为例,wsgiref是按照wsgi规范实现的一个简单wsgi server。其工作流程如下:
| build: | |
| $(CC) -o queue.o queue.c |
| from flask import Flask | |
| from flask.ext.sqlalchemy import SQLAlchemy | |
| from flask.ext import admin, wtf | |
| from flask.ext.admin.contrib import sqlamodel | |
| app = Flask(__name__) | |
| app.config['SECRET_KEY'] = '123456790' | |
| app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.sqlite' | |
| db = SQLAlchemy(app) |
| def runserver(port=5000, profile_log=None): | |
| """Runs a development server.""" | |
| from gevent.wsgi import WSGIServer | |
| from werkzeug.serving import run_with_reloader | |
| from werkzeug.debug import DebuggedApplication | |
| from werkzeug.contrib.profiler import ProfilerMiddleware | |
| port = int(port) | |
| if profile_log: |
I just had to set up Jenkins to use GitHub. My notes (to myself, mostly):
For setting up Jenkins to build GitHub projects. This assumes some ability to manage Jenkins, use the command line, set up a utility LDAP account, etc. Please share or improve this Gist as needed.