编程语言

什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI

戏子无情 提交于 2020-04-07 11:10:06
   什么是CGI   CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。   CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等    什么是FastCGI   FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是 CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。   FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周 知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩 性、Fail- Over特性等等。    FastCGI与CGI特点   1、如CGI,FastCGI也具有语言无关性.   2、如CGI, FastCGI在进程中的应用程序,独立于核心web服务器运行,提供了一个比API更安全的环境。

【经验分享】零基础Python学习路线及阶段学习目标

徘徊边缘 提交于 2020-04-07 10:13:49
零基础Python学习路线及阶段学习目标,首先应该夯实Python核心基础、Web前端编程、Django开发框架、Flask开发框架、爬虫与数据分析等知识,理解机器学习相关的基本概念及系统处理流程。 零基础Python学习路线及阶段学习目标:   阶段一、Python核心基础   1、Python编程基础,语法规则,函数与参数,数据类型,模块与包,文件IO,培养扎实的Python编程基本功,同时对Python核心对象和库的编程有熟练的运用。   2、Python面向对象,核心对象,异常处理,多线程,网络编程,深入理解面向对象编程,异常处理机制,多线程原理,网络协议知识,并熟练运用于项目中。   3、类的原理,MetaClass,下划线的特殊方法,递归,魔术方法,反射,迭代器,装饰器,UnitTest,Mock。深入理解面向对象底层原理,掌握Python开发高级进阶技术,理解单元测试技术。   4、数据库知识,范式,MySQL配置,命令,建库建表,数据的增删改查,约束,视图,存储过程,函数,触发器,事务,游标,PDBC,深入理解数据库管理系统通用知识及MySQL数据库的使用与管理。为Python后台开发打下坚实基础。   5、Linux安装配置,文件目录操作,VI命令,管理,用户与权限,环境配置,Docker,Shell编程Linux作为一个主流的服务器操作系统

PHP内核中是如何实现 empty, isset 这些函数的?

无人久伴 提交于 2020-04-07 07:24:40
$TOC$ 叨叨几句 本来这个问题是在oschina上提出的: http://www.oschina.net/question/1179015_2140695 但一直没收到合适的答案,所以还是自己下功夫梳理了一下,如果有错误的地方,欢迎交流。 通常的函数是通过ZEND_FUNCTION(xxx) 这种宏定义来实现的,这个规范很好理解,也很容易读懂源码。 但empty(), isset()的处理比较特殊,类似的还有echo, eval等。 准备工作 用于查看PHP opcode的扩展vld,下载: http://pecl.php.net/package/vld PHP源码,分支 => remotes/origin/PHP-5.6.14 git clone http://git.php.net/repository/php-src.git -b PHP-5.6.14 PHP opcode对应参考: http://php.net/manual/en/internals2.opcodes.php PHP执行程序版本为 5.6.14 ,其他版本opcode可能会有细微差别。 PHP 内核源码分析: http://www.php-internals.com/book/ 开始分析 示例代码 vld.php : <?php $a = 0; empty($a); isset($a); 通过vld

Python系列:一、Python概述与环境安装--技术流ken

a 夏天 提交于 2020-04-07 04:55:29
Python简介 Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。 --摘自360百科 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。 Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。 Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。 Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。 Python 是初学者的语言: Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。 Python应用领域 云计算 : 典型应用OpenStack WEB开发 : 众多大型网站均为Python开发,Youtube, 豆瓣, 典型WEB框架有Django 科学运算、人工智能 : 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas

自我介绍

巧了我就是萌 提交于 2020-04-07 04:15:45
即将毕业于太原理工大学软件学院,在学校学习了c c++ java 前端 python,自学了go typescript, 在学习过程中使用Java python Go都做过实战项目。 大一在专业相关的社团由学长带领学习, 大二大三在校企合作的Go语言物联网学习, 大四由学校外派到实训基地参加实训,技术得到进一步提升, 希望在贵公司得到一份python web或者爬虫的工作,或者公司认为适合我的岗位,我也愿意进行尝试 山西永济党建公众号 、农道安卓App 优点、缺点 来源: oschina 链接: https://my.oschina.net/u/4459289/blog/3221693

python性能监控初试

試著忘記壹切 提交于 2020-04-07 03:35:19
标 题: python性能监控初试 作 者: itdef 链 接: http://www.cnblogs.com/itdef/p/3990765.html 欢迎转帖 请保持文本完整并注明出处 之前性能统计都是使用的C C++ 统计windows性能 后来想尝试使用图标显示数据的时候发现了PYTHON 而且python可以跨平台 为以后尝试监控linux系统做准备 这里尝试了用python获取磁盘使用率 并用matplotlib制作饼图 #!/usr/bin/env python # -*- coding: utf-8 -*- from pylab import * import wmi import os import sys import platform import time def cal_mem_percent(u,f): figure(1, figsize=(6,6)) ax = axes([0.1, 0.1, 0.8, 0.8]) labels = 'used', 'free' fracs = [u,f] explode=(0, 0.05) pie(fracs, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True) title('Disk Useage', bbox={'facecolor':

python操作redis和MySQL数据库

℡╲_俬逩灬. 提交于 2020-04-06 22:23:04
  python操作redis和MySQL数据库需要先分别导入模块:redis、pymysql   如果这个库没有导入成功,则需要安装,用pip3 install pymysql,redis的库类似;两个数据库的基本命令我们也必须知道,数据库 的命令最好是在Linux里执行一下,看是否能够执行!以此来保证该代码不会出错,添加表或数据之后要记得相应的删除...   要用python链接数据库,就必须要更改数据库的配置文件。   更改mysql的配置文件 mysqld.cnf ,输入命令:cd /etc/mysql/mysql.conf.d 进入该文件夹     再输入命令: sudo vim mysqld.cnf ,修改成下图的样子之后,保存退出!          再输入命令: sudo service mysql restart 重启mysql服务   更改redis的配置文件 redis.conf ,输入命令: cd /etc/redis sudo vim redis.conf sudo service redis restart   配置号python和数据库之后就可以用python来操作数据库了! python操作MySQL数据库   用pycharm连接MySQL数据库的命令:conn = pymysql.connect(host='127.0.0.1', port

php://input 和 fopen

北慕城南 提交于 2020-04-06 19:51:37
个人理解:php://input 相当于POST 作用,譬如我提交数据的时候,我截取头文件 判断是否是正确的文件类型。 php://input 是个可以访问请求的原始数据的只读流。 $raw_post_data = file_get_contents ( 'php://input' ); 参考资料: http://php.net/manual/zh/wrappers.php.php http://bbs.csdn.net/topics/390387027 判断文件 http://blog.csdn.net/lxzo123/article/details/6701655 php://input 用法 http://zengrong.net/post/1715.htm 来源: oschina 链接: https://my.oschina.net/u/554046/blog/324297

Lua

≯℡__Kan透↙ 提交于 2020-04-06 17:49:56
Lua扩展c程序 api 出入栈api push 系列 (C -> Stack) void lua_pushnil (lua_State * L); void lua_pushboolean (lua_State * L, int bool); void lua_pushnumber (lua_State * L, lua_Number n); // double void lua_pushinteger (lua_State * L, lua_Integer n); // integer void lua_pushlstring (lua_State * L, const char * s, size_t len); void lua_pushstring (lua_State * L, const char * s); set 系列 (Stack -> Lua) void lua_setglobal(lua_State * L, const char * name); void lua_settable(lua_State * L, int idx); void lua_setfield(lua_State * L, int idx, const char * k); void lua_seti(lua_State * L, int idx, lua_Integer n);

树莓派4  安装opencv-python

﹥>﹥吖頭↗ 提交于 2020-04-06 16:56:16
安装地址: http://www.freesion.com/article/4543304914/ 树莓派4B+ 安装opencv-python 环境错误 /usr/local/lib/python3.7/dist-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8 bug问题与解决网址: https://github.com/piwheels/packages/issues/59 树莓派thonny程序启动 LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1 thonny & 4.1.1.26 卸载这个版本bug pip3 uninstall opencv-contrib-python pip3 install opencv-contrib-python==4.1.0.25 STM 32序列号方案 https://blog.csdn.net/duanfeiteng0814/article/details/53067600 来源: oschina 链接: https://my.oschina.net/wjgood/blog/3213328