01 2018 档案

摘要:waitpid Posix标准 守护进程 tree setuptools http,python requests epoll 加密 hash python 错误处理 nginx gevent single instance model json python 解析 route request we 阅读全文
posted @ 2018-01-26 10:20 geeklove 阅读(152) 评论(0) 推荐(0)
摘要:根据域名查询ip 如下所示: 上文所示的 192.168.1.254 为默认DNS服务器地址,可在/etc/resolv.conf文件中看到 也可使用谷歌的免费DNS服务器来查询ip,操作如下: 1.输入nslookup进入交互模式 2.输入 server 8.8.8.8 3.输入 www.badu 阅读全文
posted @ 2018-01-22 21:14 geeklove 阅读(302) 评论(0) 推荐(0)
摘要:1. 注释: 将光标移动到注释首部 命令模式下 Ctrl+V,进入列模式 上下移动,选中待注释内容 按大写I,进入插入模式 输入 // or # 按两次退出 2 解注 将光标移动到待解注首部 命令模式下 Ctrl+V,进入列模式 上下移动,选中待解注内容 按d 3 多行删除 命令模式下,按 :set 阅读全文
posted @ 2018-01-19 21:35 geeklove 阅读(1424) 评论(0) 推荐(0)
摘要:在Mac上查看端口使用情况只能使用lsof(list open file),无法使用 netstat。 查看某个端口是否正在被占用: lsof -i:portno 另外,可以通过: lsof 指令来查看所有被占用的端口信息,然后通过 | grep xxx 来过滤应用程序信息。 在LInux系统上使用 阅读全文
posted @ 2018-01-16 20:08 geeklove 阅读(326) 评论(0) 推荐(0)
摘要:yaml语言广泛用于书写配置文件。 主要特点如下: 1.使用缩进表示层级关系,缩进使用空格键(非Tab键) 2.缩进的空格数目不要求,只要相同层级的元素左侧对其即可 3.#之后的内容为注释 4.yaml支持对象(字典),表示方法为 key:value 数组(列表),表示方法为在列表元素之前加中划线: 阅读全文
posted @ 2018-01-14 20:33 geeklove 阅读(836) 评论(0) 推荐(0)
摘要:1.*nix系统上有一个地方专门有一个地方来放置安装的Python模块 比如在Mac上,这个目录的路径为: /usr/lib/python2.7 将要安装的文件拷贝到这里即可 2.下载模块包,解压后,进入到setup.py文件所在的目录 运行: python setup.py install 3. 阅读全文
posted @ 2018-01-14 16:39 geeklove 阅读(351) 评论(0) 推荐(0)
摘要:将我们写的Python程序发布成包后,可以使其能够安装使用。 在项目上测试的时候,某些情况下,可以将Python打包,然后上传到测试服务器,安装测试。 setuptools是常用的打包工具。 一个简单的setup.py文件如下: 其中,name是包的名字,version是版本。 给packages指 阅读全文
posted @ 2018-01-14 16:07 geeklove 阅读(14198) 评论(0) 推荐(0)
摘要:tail指令常用来查看服务器中的日志信息。 有的时候,需要实时获取日志信息。 比如,我们向服务器发送了一个请求,此时日志有更新,而我们又想实时看到尾部更新的内容。 这时候可以使用指令: tail -f xxx.log 这个指令会呈现日志尾部(默认10行),并实时更新。 有的时候,服务器正在运行,不断 阅读全文
posted @ 2018-01-13 22:51 geeklove 阅读(256) 评论(0) 推荐(0)
摘要:数据库中的事务(transaction)有ACID4个基本特性,可以类比交易: 1,A(Atomicity)原子性 事务里的事情要么全部做完,要么执行过程中失败,此时回滚。 2,C(Consistency)一致性 数据库要处于一致的状态。 例如:现有完整性约束 A+B=10,若一个事务改变了A,那么 阅读全文
posted @ 2018-01-07 16:59 geeklove 阅读(1746) 评论(0) 推荐(0)
摘要:线程池是一个操作系统的概念,它是对多线程的一种优化。 多线程的时候,创建和销毁线程伴随着操作系统的开销,如果频繁创建/销毁线程,则会使效率大大降低。 而线程池,是先创建出一批线程放入池子里,需要创建线程的时候从这个池子里取,用过了再放这个池子里。 显然,使用线程池节省的是线程创建和销毁的时间。 因为 阅读全文
posted @ 2018-01-07 10:58 geeklove 阅读(250) 评论(0) 推荐(0)
摘要:在Python中要使用Redis数据库,首先要安装redis 之前的博客中有写到在命令行模式下操作Redis数据库。 要在项目中使用的话可以这么做: 通过初始化 redis.Redis,得到返回的对象,来实现对Redis数据库的操作: 阅读全文
posted @ 2018-01-06 11:38 geeklove 阅读(390) 评论(0) 推荐(0)
摘要:首先,这是一个经典的问题。 我们首先做一个比较: classmethod的第一个参数是cls,即调用的时候要把类传入 这意味着我们我们可以在classmethod里使用类的属性,而不是类的实例的属性(显式创建可用) staticmethod,调用的时候没有参数,即调用的时候我们不传入东西(类,类的实 阅读全文
posted @ 2018-01-06 11:16 geeklove 阅读(370) 评论(0) 推荐(0)
摘要:orm(object relational mapping):对象关系映射。 python面向对象,而数据库是关系型。 orm是将数据库关系映射为Python中的对象,不用直接写SQL。 缺点是性能略差。 通过sessionmaker,我们得到一个类,一个能产生session的工厂。 我们可以用这个 阅读全文
posted @ 2018-01-02 21:25 geeklove 阅读(13006) 评论(1) 推荐(1)
摘要:在Python中,使用SQLAlchemy可以对数据库进行操作。 SQLAlchemy是Python中的一个标准库。 要使用SQLAlchemy,首先要创建连接: url = mysql+pymysql://root:123@localhost/dbname?charset=utf8mb4 engi 阅读全文
posted @ 2018-01-02 20:26 geeklove 阅读(353) 评论(0) 推荐(0)
摘要:URI与URL有什么不同呢? URI:Universal Resource Identifier统一资源标志符 URL:Universal Resource Locator统一资源定位器 URI是用来唯一地确定资源的表示方式,只要资源能唯一确定,则可以算作一种URI URL是用定位的方式来确定资源的 阅读全文
posted @ 2018-01-01 22:48 geeklove 阅读(627) 评论(0) 推荐(0)
摘要:现在广泛使用的是HTTP/1.1版本,发布于1997年。 理解HTTP协议,首先从请求开始,比如: POST /form/entry HTTP/1.1 格式为: 请求方法 URI 协议版本 请求方法: GET:获得URI指定的资源,主要目的是获取 POST:将主体传输到URI,主要目的是传输,而不是 阅读全文
posted @ 2018-01-01 18:04 geeklove 阅读(347) 评论(0) 推荐(0)
摘要:实现并发,可以使用多进程,多线程。 进程和线程有个共同点,他们都是通过操作系统来调度的。 而协程,则把调度的权力交给了程序员。 协程可以看作用户态下协作的线程。 用户态:是说协程的调度权属于程序员。 协作:是说协程的调度是协作式的,不是抢占的。在协程中,某部分可以通过调用某个方法,将控制权交出,这时 阅读全文
posted @ 2018-01-01 16:29 geeklove 阅读(852) 评论(0) 推荐(0)