乌班图怎么配置php,Python是学什么的?
为什么这么多人在学Python呢?很多小白都听说Python很火,简单易学,学起来很容易,学习周期短,可是为啥要学Python呢?,下面谈谈我对Python的感悟。
在PC时代大量的嵌入式的设备,底层的代码,底层原理,以及底层逻辑运用,以及桌面的应用都是用C、C++实现的,毋庸置疑它们是最接近底层,对底层有着强大的解释说服力,也是最早的、最快的。随着2000年电商的大规模的兴起,多数人融入到这个大家庭中,逐渐地从PC时代过度到互联网时代,Java开始王者归来,再加上2010移动互联网的爆发Android开始风靡起来,Java更是如日中天,走向了辉煌。那我们现在为什么要学习Python呢?Python到底是用来干什么的?1、Web开发Python的诞生历史比Web还要早,由于Python是一种解释型的脚本语言,开发效率高,所以非常适合用来做Web开发,大大提高了做web开发人员的效率。Python有上百种Web开发框架,有很多成熟的模板技术,选择Python开发Web应用,不但开发效率高,而且运行速度快,加快了时代的发展。常用的web开发框架有:Django、Flask、Tornado 等。许多知名的互联网企业或者小型公司将Python作为主要开发语言:豆瓣、知乎、果壳网、Google、NASA、YouTube、Facebook……由于后台服务器的通用性,除了狭义的网站之外,很多App和游戏的服务器端也同样用 Python实现,来运行,完成相应的工作。一个Web应用的本质就是:浏览器发送一个HTTP请求;服务器收到请求,生成一个HTML文档;服务器把HTML文档作为HTTP响应的Body发送给浏览器;浏览器收到HTTP响应,从HTTP Body取出HTML文档并显示。所以,最简单的Web应用就是先把HTML用文件保存好,用一个现成的HTTP服务器软件,接收用户请求,从文件中读取HTML,返回。Apache、Nginx、Lighttpd等这些常见的静态服务器就是干这件事情的,完成这些事情的。如果要动态生成HTML,就需要把上述步骤自己来实现。不过,接受HTTP请求、解析HTTP请求、发送HTTP响应都是苦力活,如果我们自己来写这些底层代码,还没开始写动态HTML呢,就得花个把月去读HTTP规范。正确的做法是底层代码由专门的服务器软件实现,我们用Python专注于生成HTML文档。因为我们不希望接触到TCP连接、HTTP原始请求和响应格式,所以,需要一个统一的接口,让我们专心用Python编写Web业务。这个接口就是WSGI:Web Server Gateway Interface。(Web服务器网关接口)wsgi就是一种规范,它定义了使用web应用程序与Python编写的web服务器程序之间的接口格式。无论多么复杂的Web应用程序,入口都是一个WSGI处理函数。HTTP请求的所有输入信息都可以通过environ获得,HTTP响应的输出都可以通过start_response()加上函数返回值作为Body。WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求。我们来看一个最简单的Web版本的“Hello,web!”:上面的application()函数就是符合WSGI标准的一个HTTP处理函数,它接收两个参数:environ:一个包含所有HTTP请求信息的dict对象;start_response:一个发送HTTP响应的函数。在application()函数中,调用:就发送了HTTP响应的Header,注意Header只能发送一次,也就是只能调用一次start_response()函数。start_response()函数接收两个参数,一个是HTTP响应码,一个是一组list表示的HTTP Header,每个Header用一个包含两个str的tuple表示。通常情况下,都应该把Content-Type头发送给浏览器。其他很多常用的HTTP Header也应该发送。然后,函数的返回值'<h1>Hello, web!</h1>'将作为HTTP响应的Body发送给浏览器。有了WSGI,我们关心的就是如何从environ这个dict对象拿到HTTP请求信息,然后构造HTML,通过start_response()发送Header,最后返回Body。了解了WSGI框架,我们发现:其实一个Web App,就是写一个WSGI的处理函数,针对每个HTTP请求进行响应。但是如何处理HTTP请求不是问题,问题是如何处理100个不同的URL。由于用Python开发一个Web框架十分容易,所以Python有上百个开源的Web框架。各种Web框架的优缺点自己去了解一下就可以了,直接选择一个比较流行的Web框架——Flask来使用。除了Flask,常见的Python Web框架还有:Django:全能型Web框架;web.py:一个小巧的Web框架;Bottle:和Flask类似的Web框架;Tornado:Facebook的开源异步Web框架。做一个游戏2、网络爬虫许多人对编程的热情始于好奇,终于停滞,小有成就就止步于此。距离真枪实干做开发有技术差距,也无人指点提带,也不知当下水平能干嘛?就在这样的疑惑循环中,编程技能止步不前,而爬虫是最好的进阶方向之一。网络爬虫是Python比较常用的一个场景,国际上,google在早期大量地使用Python语言作为网络爬虫的基础,带动了整个Python语言的应用发展。以前国内很多人用采集器搜刮网上的内容,现在用Python收集网上的信息比以前容易很多了,如:从各大网站爬取商品折扣信息,比较获取最优选择;对社交网络上发言进行收集分类,生成情绪地图,分析语言习惯;爬取网易云音乐某一类歌曲的所有评论,生成词云;按条件筛选获得豆瓣的电影书籍信息并生成表格……应用实在太多,几乎每个人学习爬虫之后都能够通过爬虫去做一些好玩有趣有用的事。例子:爬取网络上的歌曲3、人工智能人工智能是现在非常火的一个方向,AI热潮让Python语言的未来充满了无限的潜力。现在释放出来的几个非常有影响力的AI框架,大多是Python的实现,为什么呢?因为Python有很多库很方便做人工智能,比如numpy, scipy做数值计算的,sklearn做机器学习的,pybrain做神经网络的,matplotlib将数据可视化的。在人工智能大范畴领域内的数据挖掘、机器学习、神经网络、深度学习等方面都是主流的编程语言,得到广泛的支持和应用。人工智能的核心算法大部分还是依赖于C/C++的,因为是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到,所有c/c++和P相结合就可以实现人工智能。4、Python的其他应用举例系统编程:提供API,能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。数学处理:NumPy扩展提供大量与许多标准数学库的接口。文本处理:Python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用Python进行XML程序的开发。数据库编程:程序员可通过遵循PythonDB-API(数据库应用程序编程接口)规范的模块与MicrosoftSQLServer,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。Python自带有一个Gadfly模块,提供了一个完整的SQL环境。网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet及BitTorrent.Google都在广泛地使用它。Web编程:应用的开发语言,支持最新的XML技术。多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。黑客编程: Python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。以上内容分享自华为云社区《【云驻共创】你知道在未来Python主要的运用途径和领域吗?》,作者:楠羽。用centOS还是Ubuntu?
linux服务器系统多使用centOS、uBuntu、Gentoo、FreeBSD、Debian。服务器操作系统应该选择 Ubuntu 还是 CentOS ,CentOS目前市场占有率第一。
根据Linux服务器搭建的环境来选择:
nginx+php+mysql 选择freebsd
tomcat+jsp+orcal 选择ubuntu
apache+php+mysql 选择centos
如果没有专门的服务器运维人员,Ubuntu更合适,根据VPS服务商统计,超过75%都在用Ubuntu/Debian,用CentOS的不足20%。
57% of deployments are Ubuntu
是ubuntu好还是centos好?
Ubuntu和Centos都是当下主流的Linux发行版本,核心功能都是一样的,但我个人还是坚持使用Ubuntu,无论是部署在服务器还是自己的个人电脑使用。
在当今市面上数百种Linux发行版本多种,Ubuntu和Centos是其中最受欢迎的两个。由于都是Linux内核,所以在部署到服务器上后两者的核心服务和效率基本无差异。
跟Android的生态类似,不同OS厂家会基于自己的核心优势和用户需求去强化Android某一方面的性能。例如小米的版本会倾向于UI体验,而华为的版本更注重与硬件的兼容优化。
对于Linux发行版来说,Centos更注重业务的稳定性,而Ubuntu则更倾向新功能新特性。所以,在两个版本的不同发展战略下,我们可以对比得出两者的优劣势:
对Centos来说,稳定是一切,所以在升级前会做大量的测试工作,因此Centos的Linux核心一般情况下比Ubuntu的要低,版本也没有Ubuntu的频密。在相同版本核心下,Centos系统的稳定性一般情况下比Ubuntu更好。一般应用在中大型安全性要求极高的企业,常常只应用核心服务。对Ubuntu来说,更倾向于为用户提供新功能,新扩展,新特性,所以:Ubuntu同核心版本的升级周期比Centos更短,扩展包也更多。新扩展和功能往往存在Bug,所以可能会造成系统的不稳定和不安全。大量开发者尝新,所以拥有大量的帮助文档和教程,可以方便的获得帮助。那么,回归到咱们今天的主题,两个版本Ubuntu和Centos到底要如何选择了。不同的用户会有不同的选择标准,下面我分享一下自己坚持用Ubuntu的原因:
Ubuntu提供了体验基建的桌面版插件用惯Windows的用户突然切换至纯代码命令的操作一定会有很多不适应,Ubuntu的Gome及让我们保留Windows桌面操作的习惯,有让我们可以从大方面体现Linux的魅力。
Ubuntu提供了更多的特性和软件支持Ubuntu自带了Python,且已提供很多第三方库的更新包,可以让我快递搭建开发和运营环境,提高工作效率。另外,Ubuntu可以快速适配Docker新版环境,很多Docker上的新玩法可以在Ubuntu系统上更方便体验和学习。
身边大神都在用Ubuntu,方便问题解答术语说“走万里路不如仙人指路”。新事物的学习一定会碰到很多问题,虽然网络上已经有很多参考资料,但难以保证资料的适用性和操作性。如果身边有大神可以请教无疑会大大提升问题的处理效率。正好有同学是Ubuntu得技术大神,受其影响,从一开始就选择Ubuntu操作系统作为我们的开发和运营环境。
宝塔面板对电脑硬件要求?
内存:128M以上,推荐512M以上(纯面板约占系统10M内存)
硬盘:100M以上可用硬盘空间(纯面板约占20M磁盘空间)
系统:CentOS 6.x / 7.x (Ubuntu、Debian、Fedora ),确保是干净的操作系统,不支持32位系统,没有安装过其它环境带的Apache/Nginx/php/MySQL(已有环境不可安装
JavaScript和PHP?
我是程序猿,我会php,会nodejs,知道golang,了解前端,我把自己知道的分享给大家,欢迎大家批评指正,也欢迎大家关注我赞我◕‿◕。
我觉得两个使用起来都不难,但是要想深入,两者都比较难。如果两者非要比一个结果出来的话,我觉得JavaScript更难一些。我是一个Phper,做php已经快五年了,到现在基本php的特性都能使用了,但是实际项目中更多的是php与其他工具的交配使用,比如redis,数据库,搜索引擎等等,这些东西都是后端服务语言需要去涉及的,当然算法相关的知识也很重要。因此,PHP本身并不是很难,难的是知识的统筹,和其他东西的合理化联合使用。
JavaScript本身是一门前端语言,和php一样都是弱类型,比较容易入门,写法相对自由。但往往正是这种自由度使得它存在不少的坑,给全面掌握js增加了许多难度。
随着Nodejs的出现,JavaScript开始成为全栈式语言,它的功能开始越来越强大,对前端的要求也就越来越高,学习的成本和难度也越来越大!由于Nodejs可以处理后端逻辑,因此也和Php一样需要处理与其他工作配合使用的问题,性能,安全,并发这些一个都不能少。
除此之外,JavaScript还能实现许多其他功能,
阿里的Weex、Facebook的React Native以及Ionic
桌面版的工具:Electron、NW.js等
微信小程序相关
而且前端框架也层出不穷,Vue,React,Angular这些框架最近都相当热门,如果不跟上时代潮流学习它们的使用,很容易被淘汰。
综上所述,JavaScript的体系极其庞大,而且生态圈发展很快,这是好事儿,但是对开发人员的要求也很高,需要不断学习,跟上技术的变更。
想入坑的赶紧了,哈哈~