摘要:sql可以看成是面向过程的编程语言。该语言中,有string、date、table这样的类型等等一、操作表sql相当于一个函数,输入是两个或多个表(A, B, ...)求集合:并集 union/union all交集 inner join差集 exceot/except allA+交集 ...
阅读全文
摘要:一、sql注入sql注入,是指攻击者在猜测出服务器上要执行sql后;通过输入数据,拼接原来要执行的sql而形成新的sql;从而到达改变原来查询的意义的目的。-- 原来sqlselect xxx from table_x where id = $id;-- 用户输入数据 $id = '1 or 1=1...
阅读全文
摘要:一、定义 tornado是一个异步非阻塞模型的服务器(tcp/http)、web框架。二、特性1、高并发 原因:其一,网络事件循环部分根据操作系统选择最高效的,如Linux会是epoll; 其二,框架本身是异步的,用add_timeout代替sleep,AsyncHttpClient代替...
阅读全文
摘要:一、对外数据接口三者作为web框架,都是通过url映射对外的接口flask:以decorator的形式,映射到函数中django:以字典形式,映射到函数tornado: 以字典形式,映射到类中flask的接口散落在整个app文件中,多了的话,稍微不易于管理;django单独集中在url.py文件中,...
阅读全文
摘要:1、对外数据接口2、代码分层性、模块性 比如mvc等3、可扩展性4、结合需求,开发效率5、并发能力、稳定性
阅读全文
摘要:python作为web服务器上的开发语言,一般都是部署在linux上部署方法,先都会在服务器前面增加一个nginx,用它来控制对静态文件的访问;对于动态内容,反向代理到web server制作web server有两种方法,一种是用Python程序编写的web server,比如gevent、tor...
阅读全文
摘要:由于python的内存回收机制不是线程安全的,所以就有了GIL保证每个进程内,同一时刻最多只有一个线程在运行。于是,对于python的多线程来讲,其实同一时刻依然只有一个线程在运行。而且由于线程切换的缘故,多线程的效率还不及单线程。对于不需要进行通信,不需要频繁且高并发量地执行的cpu密集型的任务,...
阅读全文
摘要:一、基本流程如下:整个TCP过程非常类似于电话系统。TCP是有两个不同主机上的进程需要进行通信,电话系统是有两个人位于不同地区的人需要进行通信。socket:获得可用于进程通信的端点。由于Linux系统所有io操作都是针对文件(网络套接字/管道/文件都是文件)的,所以这里会返回文件描述符(一个非负整...
阅读全文