superviso 是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。
Nginx 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
fabric 是由IBM贡献的超级账本框架。它是一个利用现有成熟的技术来组合而成的一个区块链技术的实现。它是一种允许可插拔实现各种功能的的模块化架构。它具有强大的容器技术,来承载各种主流语言来编写的智能合约。
docs docs.microsoft.com,面向开发人员和技术专业人员的 Microsoft 文档和学习主页。
.gitignore 忽略一些不需要添加到版本源码管理中的文件。如pyc文件,log文件。
pyc 是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由python的虚拟机来执行的,这个是类似于JAVA或者.NET的虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的,2.5编译的pyc文件,2.4版本的 python是无法执行的。
pyo 是优化编译后的程序 python -O 源文件即可将源程序编译为pyo文件
pyd 是python的动态链接库。
Log 是指系统所指定对象的某些操作和其操作结果按时间有序的集合。log文件就是日志文件,log文件记录了系统和系统的用户之间交互的信息,是自动捕获人与系统终端之间交互的类型、内容或时间的数据收集方法;对网络搜索而言,日志是利用网络搜索引擎搜索信息的用户在搜索信息期间与该网络搜索引擎发生互动的电子记录。大部分的log文件可以从文件名看出它的作用,比如uninstall.log或是error.log,前者通常是软件安装过程中生成的记录,以便将来卸载的时候可以提供给卸载程序使用,后者通常是用来记录一些软件运行中的错误信息等等。
dist/目录 “distribution”,通常存储编译后的代码/库。
src/目录 “source”,构建和开发项目文件。
lib/目录 外部依赖库。
bin/目录 可执行的二进制文件。
build目录 是用于存放编译后的文件的。
SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。
sqlite数据库和mysql数据库的区别 SQLITE功能简约。小型化,追求最大磁盘效率;MYSQL功能全面,综合化。追求最大并发效率。假设仅仅是单机上用的,数据量不是非常大。须要方便移植或者须要频繁读/写磁盘文件的话。就用SQLite比較合适;假设是要满足多用户同一时候訪问。或者是站点訪问量比較大是使用MYSQL比較合适。
Python 的 import 机制 在 Python 中,每个 py 文件被称之为模块,每个具有 __init__.py
文件的目录被称为包。只要模块或者包所在的目录在 sys.path 中,就可以使用 import 模块或 import 包来使用。
os.path 主要是用于对系统路径文件的操作。
sys.path 主要是对 Python 解释器的系统环境参数的操作(动态的改变 Python 解释器搜索路径)。
URL 统一资源定位系统(uniform resource locator;URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。它最初是由蒂姆·伯纳斯·李发明用来作为万维网的地址。现在它已经被万维网联盟编制为互联网标准RFC1738。
__pycache__目录 python解释器会将 *.py 脚本文件进行编译,并将编译结果保存到__pycache__
目录中。下次再执行工程时,若解释器发现这个 *.py 脚本没有修改过,就会跳过编译这一步,直接运行以前生成的保存在 __pycache__
文件夹里的 *.pyc 文件。
db文件 一般是软件用于存放数据的一个文件,相当于数据库,每种软件都有它自己的存放格式,就是数据的排列方式。
django.conf.settings Django的设置文件,事实上就是在配置Django的django.conf.settings对象。
django.urls path 与django.conf.urls url path调用的是python第三方模块或框架,而url则是自定义的模块。1.x版本用url,2.x版本用path。写法上的区别如下:url(r'^index/$',views.index)
,path('index/',views.index)
。
from . import views 从当前模块引入views
urlpatterns URL模式
from django.contrib import admin 。Django.contrib 是一个强大的功能包,是Django的标准库。admin 自动化的站点管理工具。http://www.nowamagic.net/academy/detail/1318716
path() 作用:解析URL地址。可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name。path(route, view, kwargs=None, name=None)
route: 字符串,表示 URL 规则,与之匹配的 URL 会执行对应的第二个参数 view。route 表示路径,从端口以后的URL地址,到/结束。 即https://blog.csdn.net/之后的路径。从 urlpattern 的第一项开始,按顺序依次匹配列表中的项,直到找到匹配的项。
view: 用于执行与正则表达式匹配的 URL 请求。表示route匹配成功后,需要调用的视图,view 必须是一个函数或者是引用其他的URLconfs(urls.py)即路由模块
kwargs: 视图使用的字典类型的参数。 表示一个字典,该参数没有具体命名,只是字典形式,而且该参数只能在视图函数中读取和使用。
name: 用来反向获取 URL。表示的是route匹配到的URL的一个别名
Django2. 0中可以使用 re_path() 方法来兼容 1.x 版本中的 url() 方法,一些正则表达式的规则也可以通过 re_path() 来实现 。
from django.urls import include, re_path
urlpatterns = [
re_path(r'^index/$', views.index, name='index'),
re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'),
re_path(r'^weblog/', include('blog.urls')),
...
]
URLpattern的语法 我们在写URL时实际上写的是正则表达式,尖号(^)
和美元符号($)
,都是正则表达式符号,分别表示字符串的开头和结尾。如上面添加的('^hello/$')
表示只有以hello/开头和结尾的url才可以调用hello函数。
urlpatterns = patterns(’’,
url(r’^hello/$’,hello),
)