• 关于

    python 模糊

    的搜索结果

回答

两者都是编程语言。 1.语法:PHP 的语法看起来就像没有经过精心设计一样,很随意。有的语法看似很方便(用点来连接字符串), 但是却为之后扩展造成了很多麻烦(点没法用于访问对象的成员), 再比如比较蛋疼的命名空间的语法。Python 相比之下要好一点,但是 Python2 和 Python3 直接存在着一些不兼容的语法变动。 2.编写 HTML 模版:PHP 可以非常方便地直接用来编写 HTML 模版,Python 需要借助其他的语言或库来实现。 3.包管理器:PHP 的包管理器(PEAR)和扩展管理器(PECL)恐怕根本没人用,这导致引入一个新依赖的成本很高,于是很多人倾向于自己造轮子而不是引入现成的库。Python 有统一的包管理器,虽然也有问题,但要比 PHP 好得多,引入库之后的命名空间管理也要比 PHP 好。 4.扩展和库:PHP 和 Python 都可以用 C 来编写扩展。相比之下 Python 可用的库要更多一点。 5.运行方式:PHP 运行方式比较单一(php-fpm, mod_php), Python 则可以以 fastCGI 运行,也可以自行监听端口来处理请求。 6.性能:因为 PHP 运行方式单一,opcode 缓存方案也比较成熟(APC, opcache),缓存 opcode 之后运行速度很快。Python 则可能需要更多地自行优化性能。 7.类型系统:PHP 和 Python 都是动态类型。PHP 对类型判别比较模糊,有很多陷阱,Python 则严格一些。 8.学习成本:PHP 和学习成本都不是很高。PHP 优势在于有比较完整的官方中文文档,而且 PHP 应用领域只有 Web, 所以需要学习的内容较少。Python 因为学习路线较多,不太容易找到适合自己的教程和资料。 9.社区:PHP 的资料遍地,但是高质量的中文社区较少,普遍对官方的新功能不是很关注。Python 则要好一点。 10.应用领域:PHP 仅在 Web 后端方面被使用,Python 应用领域更广泛一点,如果需要将逻辑移植到其他平台(如桌面), Python 要方便一点。

红鱼 2019-12-02 01:05:30 0 浏览量 回答数 0

回答

语法:PHP 的语法看起来就像没有经过精心设计一样,很随意。有的语法看似很方便(用点来连接字符串), 但是却为之后扩展造成了很多麻烦(点没法用于访问对象的成员), 再比如比较蛋疼的命名空间的语法。Python 相比之下要好一点,但是 Python2 和 Python3 直接存在着一些不兼容的语法变动。编写 HTML 模版:PHP 可以非常方便地直接用来编写 HTML 模版,Python 需要借助其他的语言或库来实现。包管理器:PHP 的包管理器(PEAR)和扩展管理器(PECL)恐怕根本没人用,这导致引入一个新依赖的成本很高,于是很多人倾向于自己造轮子而不是引入现成的库。Python 有统一的包管理器,虽然也有问题,但要比 PHP 好得多,引入库之后的命名空间管理也要比 PHP 好。扩展和库:PHP 和 Python 都可以用 C 来编写扩展。相比之下 Python 可用的库要更多一点。运行方式:PHP 运行方式比较单一(php-fpm, mod_php), Python 则可以以 fastCGI 运行,也可以自行监听端口来处理请求。性能:因为 PHP 运行方式单一,opcode 缓存方案也比较成熟(APC, opcache),缓存 opcode 之后运行速度很快。Python 则可能需要更多地自行优化性能。类型系统:PHP 和 Python 都是动态类型。PHP 对类型判别比较模糊,有很多陷阱,Python 则严格一些。学习成本:PHP 和学习成本都不是很高。PHP 优势在于有比较完整的官方中文文档,而且 PHP 应用领域只有 Web, 所以需要学习的内容较少。Python 因为学习路线较多,不太容易找到适合自己的教程和资料。社区:PHP 的资料遍地,但是高质量的中文社区较少,普遍对官方的新功能不是很关注。Python 则要好一点。应用领域:PHP 仅在 Web 后端方面被使用,Python 应用领域更广泛一点,如果需要将逻辑移植到其他平台(如桌面), Python 要方便一点。希望我提供的答案能够帮助到你,答案满意还请采纳一下,谢谢。另外,你可以继续留言或者到论坛参与更多的互动。

大财主 2019-12-02 01:05:03 0 浏览量 回答数 0

问题

Python 爬虫的工具列表

驻云科技 2019-12-01 21:44:42 4079 浏览量 回答数 2

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

问题

【精品问答集锦】Python热门问题

小六码奴 2019-12-01 19:41:33 92453 浏览量 回答数 41

问题

请教下大家,Sublime包管理器无法访问外网安装,想请教下大家如何设置成国内的代理,网上的教程实在是太模糊了~

一码平川MACHEL 2019-12-01 19:39:34 339 浏览量 回答数 1

回答

您可以尝试运行otool来确切找出MySQLdbC扩展_mysql.so正在查找的库路径: $ otool -L /Users/yanigisawa/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so 然后是已安装的MySQL库文件的库名称: $ otool -DX /usr/local/mysql/lib/libmysqlclient.16.dylib 但是您不必诉诸设置DYLD_LIBRARY_PATH(或install_name_tool用于修改可执行文件);设置它的需要几乎总是表明组件构建或安装不正确。以我的经验,MySQL项目在其OS X构建和安装程序的一致性方面没有很好的跟踪记录,因为您引用的这个问题往往会得到证实。 试图让的工作相结合Python,MySQLdb以及MySQL在OS X 10.6库是无奈的一个非常常见的原因:很多关于它的问题在这里SO和其他地方。有很多原因。我的建议是从第三方分销商之一那里获得完整的解决方案,该解决方案将构建和安装您所需的所有内容的兼容版本。如果您需要随着时间的推移升级组件,它应该可以继续工作。这些年来,我取得了很大的成功MacPorts;其他人更喜欢Fink或更新HomeBrew。使用MacPorts,从MacPorts安装基本文件后。dmg,您可以像这样构建所有内容: $ sudo port selfupdate # ensure the port files are up-to-date $ sudo port install py26-mysql MacPorts Python将在上提供/opt/local/bin/python2.6。如果您想运行Django,那么也有一个端口。 编辑:使用来自的更新输出otool,您可以看到库路径名不匹配。MySQLdb扩展名要求一个相对路径名(没有initial /),而MySQL库使用绝对路径(通常是您想要的)来宣传自己。这似乎与MySQL问题59006相反,但是,在不确切知道到目前为止您已经执行了哪些步骤的情况下,很难说出如何达到此状态。您可能可以使用install_name_tool来打补丁_mysql.so以具有绝对路径名,这也将消除对set的任何需要DYLD_LIBRARY_PATH。值得尝试: $ cd ~/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp $ sudo install_name_tool -change libmysqlclient.16.dylib /usr/local/mysql/lib/libmysqlclient.16.dylib _mysql.so 但这不应该让您感到温暖和模糊,可以在需要更新某些内容时重现结果。试图将来自不同来源的所有这些片段粘合成有效的东西确实没有任何好处。来源:stack overflow

保持可爱mmm 2020-05-17 19:44:25 0 浏览量 回答数 0

问题

python操作oracle用到like怎么操作?

珍宝珠 2019-12-01 19:58:02 13 浏览量 回答数 1

问题

MaxCompute工具及下载:MaxCompute Studio:管理数据和资源:浏览表及 UDF

行者武松 2019-12-01 22:06:13 1380 浏览量 回答数 0

问题

建议:Python Framework Server / Worker队列管理

祖安文状元 2020-02-21 16:01:03 0 浏览量 回答数 1

回答

在这个信息时代高速发展的情况下,很多人会对自己该往哪个方向发展感到迷茫,下面我就浅显的给大家介绍一下五大流行区域的发展前景。大数据的发展前景:当前大数据行业真的是人才稀缺吗?学了几年后,大数据行业会不会产能过剩?大数据行业最终需要什么样的人才?接下来就带你们看看分析结果:当前大数据行业真的是人才稀缺吗?对!未来人才缺口150万,数据分析人才最稀缺。先看大数据人才缺口有多大?根据LinkedIn(领英)发布的《2016年中国互联网最热职位人才报告》显示,研发工程师、产品经理、人力资源、市场营销、运营和数据分析是当下中国互联网行业需求最旺盛的六类人才职位。其中数据分析人才最为稀缺、供给指数最低。同时,数据分析人才跳槽速度也最快,平均跳槽速度为19.8个月。而清华大学计算机系教授武永卫去年透露了一组数据:未来3-5年,中国需要180万数据人才,但目前只有约30万人。大数据行业未来会产能过剩吗?提供大数据技术与应用服务的第三方公司面临调整,未来发展会趋集中关于“大数据概念是否被过度炒作”的讨论,其实2013年的夏季达沃斯就有过。彼时支持“炒作”观点的现场观众达54.5%。对此,持反对意见的北京大学光华管理学院副教授苏萌提出了三个理由:不同机构间的数据还未真正流动起来,目前还只是数据“孤岛”;完整的生态产业链还未形成,尽管通过行为数据分析已能够分辨出一个消费者的喜好,但从供应到购买的链条还没建成;数据分析人才仍然极度匮乏。4年之后,舆论热点已经逐渐从大数据转向人工智能,大数据行业也历经整合。近一年间,一些大数据公司相继出现裁员、业务大调整等情况,部分公司出现亏损。那都是什么公司面临危机呢?基于数据归属,涉及大数据业务的公司其实有两类:一类是自身拥有数据的甲方公司,如亚马逊、阿里巴巴等;另一类是整合数据资源,提供大数据技术与应用服务的第三方公司。目前行业整合出现盈利问题的公司多集中在第三方服务商。对此,LinkedIn(领英)中国技术副总裁王迪表示,第三方服务商提供的更多的是技术或平台,大数据更多还是让甲方公司获益。在王迪看来,大数据业务要产生规模效益,至少要具备三点:算法、计算平台以及数据本身。“第三方大数据创业公司在算法上有一技之长,而计算能力实际上已经匀化了,传统企业如果用好了,和大数据创业公司没有区别,甚至计算能力更强,而数据获取方面,很多数据在传统行业内部并没有共享出来,第三方大数据公司获取这些数据是比较困难的,最后可能谁有数据,谁产生的价值更高。”说白了,数据为王。在2013年,拿到千万级A轮融资的大数据企业不足10家,到2015年,拿到千万级以上A轮融资的企业已经超过30家。直到2016年互联网资本寒冬,大数据行业投资热度有所减退,大数据行业是否也存在产能过剩?王迪认为,目前的行业整合属于正常现象,“经过市场的优胜劣汰,第三方服务领域会出现一些做得比较好的公司,其他公司可能被淘汰或转型做一些垂直行业应用。从社会来看,总的需求量一定是增加的,而对于供给侧,经过行业自然的洗牌,最终会集中在几家优秀的行业公司。”需要什么样的大数据人才?今年3月份,教育部公布了第二批获准开设“数据科学与大数据技术”的高校名单,加上第一批获批的北京大学、对外经济贸易大学、中南大学,一共35所高校获批该专业。今年开始,部分院校将招收第一届大数据专业本科生。大数据人才培养涉及到两方面问题:交叉性学科的人才培养方案是否与市场需求相匹配;学科建设的周期与行业快速更新之间的差距怎样弥合。对于第一个问题,“电商热”时期开设的电子商务专业是一个可吸取经验的样本。2000年,教育部高教司批准了第一批高校开设电子商务本科专业。作为一个复合型专业,电子商务的本科教学涵盖了管理、技术、营销三方面的课程。电子商务领域人才需求量大,但企业却无法从电子商务专业中找到合适的人才,原因何在?职业规划专家姜萌认为,并不是某一个专业对应一个行业热点,而是一个专业集群对应一个行业热点。“比如电子商务专业,我们到电子商务公司里会发现,不是学电子商务的人在做这些工作,而是每个专业各司其职,比如计算机、设计、物流管理、营销、广告、金融等等。现在行业的复合型工作都是由一个专业集群来完成的,而不是一个人来复合一堆专业特点。”大数据专业的人才培养也同样走复合型路线,复旦大学大数据学院的招生简章显示,学院本科人才培养以统计学、计算机科学和数学为三大基础支撑性学科,以生物学、医学、环境科学、经济学、社会学、管理学等为应用拓展性学科,具备典型的交叉学科特征。LinkedIn(领英)中国技术副总裁王迪指出,“从企业应用的角度来看,大数据行业里从事相关职能的同学背景是各异的,大数据作为一个人才培养方向还在探索中,在这个阶段,高校尝试开设硕士课程是很好的实践,但开设一类的本科专业还为时过早。”另一方面,专业人才培养的周期较长,而行业热点不断更新轮替,中间产生的时间差使得新兴专业的志愿填报具备了一定风险。王迪认为,“从今天的产业实践上看,大数据领域依然是从现有专业中挑选人才,教育和市场发展总是有一定差距的,学生本科四年,加上硕士阶段已经是七年之后的事情了,产业已经演进了很多,而教学大纲并不会跟进得那么快。”因此,尽管大数据的应用前景毋庸置疑,但在人才培养层面,复合型人才培养方案会不会重走电子商务专业的老路?学校教育如何赶上行业发展速度?这些都是值得进一步商榷的问题。面对热门专业,志愿填报需要注意啥?了解了大数据行业、公司和大数据专业后,姜萌对于考生填报像大数据相关的热门专业,提出了几条建议:报考热的专业和就业热的专业并不一定是重合的,比如软件、计算机、金融,这些专业的就业率实际并没有那么高,地质勘探、石油、遥感等专业,虽然报考上是冷门,但行业需求大,就业率更高。选择热门专业,更需要考虑就业质量。专业就业好,是统计学意义,指的是平均收入水平高,比如金融专业的收入,比其他纯文科专业的平均收入较高,但落实到个体层面,就业情况就不一样了,尤其像金融专业是典型的名校高学历好就业,但对于考试成绩较低的同学来说,如果去一些普通院校、专科院校学习金融,最后就业情况可能还不如会计专业。志愿填报,除了专业,城市因素也很重要:如果想从事金融、互联网的工作,更适合去一线城市,如果是去三、四线城市的学生可以考虑应用面比较广的专业,就是各行各业都能用到的专业,比如会计专业,专科层次的会计和985层次的会计都有就业渠道。如果先选择报考城市,也可以针对所在城市的行业特点选择专业,比如沿海城市外贸相对发达,选择国际贸易、外语类专业就业情况更好,比如武汉有光谷,选择光电类专业更好就业。最终家长和考生更需要考虑个人与专业匹配的问题,金融、计算机等热门专业不是所有人都适合学,好专业不见得对所有个体都是好的。java的发展前景:由于Java的诸多优点,Java的发展前景十分广泛。比如,在我们中国的市场,Java无论在企业级应用,还是在面向大众的服务方面都取得了不少进展,在中国的电信、金融等关键性业务中发挥着举足轻重的作用。由于SUN、TBM、Oracle等国际厂商相继推出各种基于Java技术的应用服务器以及各种应用软件,推动了Java在金融、电信、制造等领域日益广泛的应用,如清华大学计算机系利用Java、XML和Web技术研制开发了多个软件平台,东方科技的TongWeb、中创的Inforweb等J2EE应用服务器。由此可见,在巨大市场需求下,企业对于Java人才的渴求已经是不争的事实。你问我火了这么多年的Java语言的发展前景怎么样?那来看看吧Java在WEB、移动设备以及云计算方面前景广阔,随着云计算以及移动领域的扩张,更多的企业在考虑将其应用部署在Java平台上。无论是本地主机,公共云,Java都是目前最适合的选择。;另外在Oracle的技术投资担保下,Java也是企业在云应用方面回避微软平台、在移动应用方面回避苹果公司的一个最佳选择。Java可以参与制作大部分网络应用程序系统,而且与如今流行的WWW浏览器结合很好,这一优点将促进Java的更大范围的推广。因为在未来的社会,信息将会传送的更加快速,这将推动程序向WEB程序方向发展,由于Java具有编写WEB程序的能力,并且Java与浏览器结合良好,这将使得Java前景充满光明的发展。Python的发展前景:Python程序员的发展前景是怎样的?随着Python的技术的流行, Python在为人们带来工作与生活上的便捷后,关注者们开始慢慢关心Python的发展前景与方向。从自身特性看Python发展Python自身强大的优势决定其不可限量的发展前景。Python作为一种通用语言,几乎可以用在任何领域和场合,角色几乎是无限的。Python具有简单、易学、免费、开源、可移植、可扩展、可嵌入、面向对象等优点,它的面向对象甚至比java和C#、.net更彻底。它是一种很灵活的语言,能帮你轻松完成编程工作。强大的类库支持,使编写文件处理、正则表达式,网络连接等程序变得相当容易。能运行在多种计算机平台和操作系统中,如各位unix,windows,MacOS,OS/2等等,并可作为一种原型开发语言,加快大型程序的开发速度。从企业应用来看Python发展Python被广泛的用在Web开发、运维自动化、测试自动化、数据挖掘等多个行业和领域。一项专业调查显示,75%的受访者将Python视为他们的主要开发语言,反之,其他25%受访者则将其视为辅助开发语言。将Python作为主要开发语言的开发者数量逐年递增,这表明Python正在成为越来越多开发者的开发语言选择。目前,国内不少大企业都已经使用Python如豆瓣、搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、热酷、土豆、新浪、果壳等;国外的谷歌、NASA、YouTube、Facebook、工业光魔、红帽等都在应用Python完成各种各样的任务。从市场需求与薪资看Python发展Python得到越来越多公司的青睐,使得Python人才需求逐年增加,从市场整体需求来看,Python在招聘市场上的流行程度也是在逐步上升的,工资水平也是水涨船高。据统计Python平均薪资水平在12K,随着经验的提升,薪资也是逐年增长。学习Python的程序员,除去Python开发工程师、Python高级工程师、Python自动化测试外,也能够朝着Python游戏开发工程师、SEO工程师、Linux运维工程师等方向发展,发展方向较为多元化。随着Python的流行,带动的是它的普及以及市场需求量,所以现在学习Python是个不错的时机。区块链的发展前景:区块链开发 ? 155---0116---2665 ?可是区块链技术到底是什么,大多数人都是模糊没有概念。通俗来讲,如果我们把数据库假设成一本账本,读写数据库就可以看做一种记账的行为,区块链技术的原理就是在一段时间内找出记账最快最好的人,由这个人来记账,然后将账本的这一页信息发给整个系统里的其他所有人。区块链技术也称分布式账本(或账簿)技术,属于互联网数据库技术,由参与者共同完成数据库记录,特点是去中心化和公开透明。此外,在每个区块的信息写入并获得认可后,整个区块链数据库完整保存在互联网的节点中,难以被修改,因此数据库的安全性极高。人们普遍认为,区块链技术是实现数字产品(如货币和知识产权)快速、安全和透明地对等(P2P)转账或转让的重要手段。在以色列Zen Protocol公司,区块链应用软件开发专家阿希尔·曼宁介绍说,他们公司正在开发Zen区块链平台,其将用于支持金融产品在无中介的环境下自动和自由交易。通常,人们将钱存放在银行,依靠银行管理自己的资金。但是,在支配资金时往往会受到银行规定的限制,或在汇款时存在耗时长、费用高等问题。区块链技术平台将让人们首次拥有自己管理和支配钱财的能力,他相信去中心化金融管理体系具有广阔的市场,有望极大地改变传统的金融市场。2018年伊始这一轮区块链的热潮,主要起源于虚拟货币的炒作热情。站在风口,区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。很多人不禁要问“区块链又和比特币又是什么关系?”记者查询了大量资料发现,比特币2009年被一位名叫中本聪的人提出,之后比特币这套去中心化的机制一直稳定运行,这引起很多人对这套历史上并不存在的运行机制强烈关注。于是人们把从比特币技术抽象提取出来的技术运用于其他领域,称之为区块链。这过程就好像人们先发明了面条,然后人们发现其背后面粉不仅可以做面条还可以做馒头、面包。比特币是面条,区块链是面粉。也就是说,区块链和比特币的关系即比特币算是区块链技术的一种应用,或者说一种使用了区块链技术的产品形态。而说到区块链不得不说的就是ICO,它是一种公开发行的初始数字货币。对于投资人来说,出于对市场信号的敏感和长期关注价值投资项目,目前炙手可热的区块链也成为诸多投资人关注的新兴项目之一。“区块链对于我们来说就是省去了中间环节,节约了交易成本,节省了交易时间,但是目前来看各方面环境还不够成熟,有待观望。”一位投资人这样说道。记者发现,在春节期间,不少互金圈的朋友熬夜到凌晨进入某个探讨区块链的微信群热聊,此群还吸引了不少知名人士,诸如明星加入,同时还有大咖在群里解读区块链的投资方式和未来发展等等。一时间,关于区块链的讨论群接二连三出现,也引发了各个行业对区块链的关注。出于对于区块链技术懵懂的状态,记者追问了身边的一些互金圈的朋友,为何如此痴迷区块链?多数朋友认为“区块链能赚钱,抱着试试看的心态,或许能像之前比特币一样从中获取收益。”显然,区块链技术具有广阔的应用潜力,但是在其逐步进入社会改善民众生活的过程中,也面临许多的问题,需要积极去寻求相应的对策,最终让其发挥出潜力。只有这样,10年或20年后人们才能真正享受区块链技术创造的美好环境。人工智能的发展前景:人工智能产业是智能产业发展的核心,是其他智能科技产品发展的基础,国内外的高科技公司以及风险投资机构纷纷布局人工智能产业链。科技部部长万钢3月10日表示,加快实施新一代人工智能科学基础的关键技术系统集成研发,使那些研发成果尽快能够进入到开放平台,在开放使用中再一次把它增强完善。万钢称,马上就要发布人工智能项目指南和细则,来突破基础前沿理论关键部分的技术。人工智能发展趋势据前瞻产业研究院《人工智能行业市场前瞻与投资战略规划分析报告》指出,2017年中国人工智能核心产业规模超过700亿元,随着国家规划的出台,各地人工智能相关建设将逐步启动,预计到2020年,中国人工智能核心产业规模将超过1600亿元,增长率达到26.2%。报告认为,从产业投资回报率分析,智能安防、智能驾驶等领域的快速发展都将刺激计算机视觉分析类产品的需求,使得计算机视觉领域具备投资价值;而随着中国软件集成水平和人们生活水平的提高,提供教育、医疗、娱乐等专业化服务的服务机器人和智能无人设备具备投资价值。人工智能现状当前,人工智能受到的关注度持续提升,大量的社会资本和智力、数据资源的汇集驱动人工智能技术研究不断向前推进。从发展层次来看,人工智能技术可分为计算智能、感知智能和认知智能。当前,计算智能和感知智能的关键技术已经取得较大突破,弱人工智能应用条件基本成熟。但是,认知智能的算法尚未突破,前景仍不明朗。今年,随着智力资源的不断汇集,人工智能核心技术的研究重点可能将从深度学习转为认知计算,即推动弱人工智能向强人工智能不断迈进。一方面,在人工智能核心技术方面,在百度等大型科技公司和北京大学、清华大学等重点院校的共同推动下,以实现强人工智能为目标的类脑智能有望率先突破。另一方面,在人工智能支撑技术方面,量子计算、类脑芯片等核心技术正处在从科学实验向产业化应用的转变期,以数据资源汇集为主要方向的物联网技术将更加成熟,这些技术的突破都将有力推动人工智能核心技术的不断演进。工业大数据2022 年我国工业大数据有望突破 1200 亿元, 复合增速 42%。 工业大数据是提升制造智能化水平,推动中国制造业转型升级的关键动力,具体包括企业信息化数据、工业物联网数据,以及外部跨界数据。其中,企业信息化和工业物联网中机器产生的海量时序数据是工业数据的主要来源。工业大数据不仅可以优化现有业务,实现提质增效,而且还有望推动企业业务定位和盈利模式发生重大改变,向个性化定制、智能化生产、网络化协同、服务化延伸等智能化场景转型。预计到 2022 年,中国工业大数据市场规模有望突破 1200亿元,年复合增速 42%。IT的未来是人工智能这是一个指数级增长的时代。过去几十年,信息技术的进步相当程度上归功于芯片上晶体管数目的指数级增加,及由此带来的计算力的极大提升。这就是所谓的摩尔定律。在互联网时代,互联的终端数也是超线性的增长,而网络的效力大致与联网终端数的平方成正比。今天,大数据时代产生的数据正在呈指数级增加。在指数级增长的时代,我们可能会高估技术的短期效应,而低估技术的长期效应。历史的经验告诉我们,技术的影响力可能会远远的超过我们的想象。未来的计算能力人工智能需要强大的计算能力。计算机的性能过去30年提高了一百万倍。随着摩尔定律逐渐趋于物理极限,未来几年,我们期待一些新的技术突破。先谈一下类脑计算。传统计算机系统,长于逻辑运算,不擅长模式识别与形象思维。构建模仿人脑的类脑计算机芯片,我们今天可以以极低的功耗,模拟100万个神经元,2亿5千万个神经突触。未来几年,我们会看到类脑计算机的进一步的发展与应用随着互联网的普及、传感器的泛在、大数据的涌现、电子商务的发展、信息社区的兴起,数据和知识在人类社会、物理空间和信息空间之间交叉融合、相互作用,人工智能发展所处信息环境和数据基础发展了巨大的变化。伴随着科学基础和实现载体取得新的突破,类脑计算、深度学习、强化学习等一系列的技术萌芽预示着内在动力的成长,人工智能的发展已进入一个新的阶段。发展发展前景好,代表你现在学习会比后来者起步快,占有更大的优势,当然,你也要明白兴趣是最好的老师,选择自己感兴趣的相信你学的会更加而牢固。记住,最重要的一点:方向最重要!!!希望大家多多关注. ,加微信zhanglindashuju 可以获取更多资料哦作者:失色的瞳孔链接:https://juejin.im/post/5b1a6531e51d45067e6fc24a来源:掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

孟志昂 2019-12-02 01:45:13 0 浏览量 回答数 0

回答

amqp协议中的核心思想就是生产者和消费者隔离,生产者从不直接将消息发送给队列。 生产者通常不知道是否一个消息会被发送到队列中,只是将消息发送到一个交换机。 先由Exchange来接收,然后Exchange按照特定的策略转发到Queue进行存储。 同理,消费者也是如此。Exchange 就类似于一个交换机,转发各个消息分发到相应的队列中。 -------------------------------------------------- type=fanout 类似发布者订阅者模式,会为每一个订阅者创建一个队列,而发布者发布消息时,会将消息放置在所有相关队列中 type=direct 队列绑定关键字,发送者将数据根据关键字发送到消息exchange,exchange根据 关键字 判定应该将数据发送至指定队列。 type=topic 队列绑定几个模糊的关键字,之后发送者将数据发送到exchange,exchange将传入”路由值“和 ”关键字“进行匹配,匹配成功, 则将数据发送到指定队列。 --------------------------------------------------- 发送者路由值 队列中 old.boy.python old.* -- 不匹配 *表示匹配一个 old.boy.python old.# -- 匹配 #表示匹配0个或多个

珍宝珠 2019-12-02 03:20:34 0 浏览量 回答数 0

问题

2020年热门编程语言的发展方向

珍宝珠 2020-02-17 17:58:58 3889 浏览量 回答数 3

回答

作者:九章算法 链接:https://www.zhihu.com/question/22744854/answer/763206431 来源:知乎 首先,这个神仙项目请你pick: https://github.com/sindresorhus/awesome 各领域各语言资源大合集 另外,可以关注GitHub的每日榜单,看看大家都在关注些什么(虽然有国外小哥吐槽榜单上都是中文哈哈 https://github.com/trending/python?since=daily 推荐不同语言的几个项目: Python : youtube-dl这个程序是一个开源的python项目。支持MacOS、Linux和Windows平台,可以在官网直接下载编译好的程序。可以用来下载YouTube视频,国内的一些视频站也可以进行下载。 interview_internal_reference: 总结了2019年最新的阿里,腾讯,百度,美团,头条等技术面试题目以及答案,分析汇总。 sherlock: 高级机器视觉软件,可以用于广泛的自动化检测应用。它提供了最大的设计灵活性,丰富的已验证的工具和功能。 DeepFaceLab: 这是一个github上的开源项目,所有人都可以查看源代码也能免费使用。个人认为这个项目的最大优点就是安装超级简单,几乎是无需安装,使用过程也不复杂 Manim: 解释数学视频的动画引擎。可以用来创建精确的2D动画。 XSStrike:XSStrike是一个Cross Site Scripting检测套件,配备四个手写解析器,一个智能有效载荷生成器,一个强大的模糊引擎和一个非常快速的爬虫。 XSStrike不是像其他工具一样注入有效载荷并检查它的工作原理,而是通过多个解析器分析响应,然后通过与模糊引擎集成的上下文分析来保证有效载荷。 f="https://github.com/wangshub">Douyin -Bot:抖音机器人。是用于机器人算法的Python代码。教你如何在抖音上找到漂亮小姐姐~~ Photon:快速抓取工具,可以提取网址,电子邮件,文件,网站帐户等等。 google-images-download:可以实现搜索和下载数百个Google图像的Python脚本到本地。 faceswap是个基于dlib的换脸程序。模型训练速度较快,同样配置下更快的到达低loss值,而且有gui界面版本。 you-getyou-get 是py上一个方便的下载工具。这个爬虫神器能爬取视频网站和图片网站,你不用写任何代码就能很容易的把你喜欢的视频或者图片甚至音频文件给扒下来。而且支持腾讯、搜狐、新浪、B站、央视网、芒果TV,乐视网、优酷、熊猫斗鱼等等大多数的国内主流视频网站。 Java: advanced-java: Java工程师进阶知识扫盲,适合系统学习。 vhr:一个前后端分离的人力资源管理系统,采用SpringBoot+Vue开发。这个项目的权限管理模块已经开发完成,其他模块还在开发当中。可以管理角色和资源的关系,管理用户和角色的关系。 cat:作为服务端项目基础组件,cat提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。 jeecg-boot:一款基于代码生成器的JAVA快速开发平台!全新架构前后端分离:SpringBoot 2.x,Ant Design&Vue,Mybatis,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码,绝对是全栈开发的福音!! interviews:软件工程技术面试个人指南。可以这里找到针对很多面试问题的视频解决方案以及详细说明。 p3c:是阿里巴巴p3c项目组进行研发。根据《阿里巴巴Java开发规范》转化而成的自动化插件,并且实现了部分自动编程。 SpringAll:包括了Spring Boot,Spring Boot&Shiro,Spring Cloud,Spring Boot&Spring Security&Spring Security OAuth2等系列教程。toBeTopJavaer:Java工程师成神之路。总结的很好,直接理解学习就完了。 JavaScript: quasar:Quasar Framework是MIT许可的开源项目。能在记录时间内构建高性能VueJS用户界面 Daily-Interview-Question:前端大厂面试题汇总 next.js:一个基于React的一个服务端渲染简约框架。它使用React语法,可以很好的实现代码的模块化,有利于代码的开发和维护。 javascript-algorithms:这个存储库包含许多流行算法和数据结构的基于JavaScript的示例。每个算法和数据结构都有自己独立的自述文件,包含相关说明和链接,供进一步阅读 baidu-netdisk-downloaderx:一款图形界面的百度网盘不限速下载器,支持Windows,Linux和Mac。重点在不限速! 其他好玩的项目~ ChineseBQB:国内表情包大集合~~ komeiji-satori/Dress:女装大佬项目,一张图你就懂了 chinese-poetry最全的中文诗歌古典文集数据库.包含5.5万首唐诗、26万首宋诗和2.1万首宋词。唐宋两朝近1.4万古诗人, 和两宋时期1千多位词人 thefuck该项目的主要作用是,在terminal 里输错命令之后无需修改,fuck 一下,自动帮你更正命令,既解气又实用。 加入阿里云钉钉群享福利:每周技术直播,定期群内有奖活动、大咖问答 阿里云开发者社区

茶什i 2020-01-08 10:37:26 0 浏览量 回答数 0

回答

SciHub Desktop这个软件的最初两个版本是用 Python + TK 写的 GUI 程序,主要是为了方便广大研究生突破权限下载英文文献。内含多个文献下载数据源,只要输入文献的 DOI 号,回车就可以自动下载文献全文,非常方便,目前仅网盘的下载量就超过了 30 万人次。Tsing:SciHub Desktop 桌面版软件官方发布页面​ zhuanlan.zhihu.com2. HistCite Pro这个软件是基于 HistCite 内核开发的免安装易用版本,使用 Python 对从 Web of Science 数据库中导出的数据文件进行预处理,然后进行文献引文分析,快速分析出某个研究领域最具有价值的文献和作者,目前也得到了数万用户的使用。Tsing:文献引文分析利器 HistCite 详细使用教程暨 HistCite Pro 首发页面​ zhuanlan.zhihu.com3. 上学吧答案神器这款软件是最近才写的,主要实现的是无限制获取上学吧网站上的题目答案(绕过 IP 限制),并实现了自动识别验证码,只用输入某个题目的网址,即可一键获取答案,速度非常快。Tsing:自动识别验证码无限次获取上学吧的题目答案​ zhuanlan.zhihu.com 4. 破解观看中科大网络课堂 由于 本科四年都在科大,所以那时候也写了好多关于科大的脚本(正是因为太喜欢科大了才会去折腾这些哈),虽然目前有些已经失效了,但是还是值得放出来纪念一下的。 中国科学技术大学网络课堂汇集了很多知名教授的授课视频,以及最新的大牛讲座视频,内容相当丰富,但是这些视频只面向校内 IP 开放。后来不小心找到了网站上的一个漏洞,用 Python 写了不到 10 行代码就可以获取真实视频地址,这样就可以在校外看视频了。(这个漏洞目前已经被修复了,大家就不要找我要代码了哈~) 另外还简单写了一个 GUI 界面,打包成 exe 单软件给室友用,都说挺好用的哈。 5. 抓取研究生系统内全部学生姓名学号及选课信息登录中国科学技术大学的研究生综合系统,可以看到每一门课选课的学生姓名和学号,当时就想到做一个这样的系统,输入任何姓名或学号就可以看到他所有的选课信息。 点击每门课的已选人数链接,可以看到所有的选课学生姓名和学号: 下面利用 requests 的模拟登录功能,先获取全部课程的链接,然后逐个抓取所有课程的选课信息。(为了保护学生信息,对程序的关键部分进行了模糊处理。) 这样就获取了一个巨大的 json 文件,里面全都是学生的姓名、学号以及选课信息: 有了这个 json 文件,我们可以写入数据库,也可以直接利用 json 文件来查询: 为了方便其他人使用,基于上面的数据我开发了一个在线查询网站(目前已下线): 输入姓名或者学号都可以直接查询别人的选课信息: 6. 扫描研究生系统上的弱密码用户基于上面获得的研究生学号,很容易利用 Python 批量尝试登录研究生系统,密码就用 123456 这样的弱密码,然后可以获得身份证号码等重要信息。 这样就得到了使用 123456 作为密码的用户信息,所以在此提醒大家一定不要使用弱密码,希望下面的同学早日修改密码。 7. 模拟登录图书馆系统并自动续借以前收到借阅图书到期通知短信,就会运行一下这个程序,然后就自动续借了,这样就可以再看一个月了。不过后来科大图书馆系统升级了,因此这个方法也就失效了。 运行就是这样的,自动续借成功,看到的链接就是每本书的续借链接。 8. 云短信网站上的验证码短信来源分析这个网站提供了很多免费的临时手机号,用这些公用的手机号你可以注册一些好玩的(或者你懂的)网站和APP,而不用担心个人信息的泄露。于是我用 Python 写了一个爬虫脚本,自动翻页抓取了部分短信内容,然后解析出其中的信息来源并分析一下频次,就发现好几个看名字就挺有意思的 APP 压根没有听过呀,看来是时候用短信验证码的方式登录看看去啦~Tsing:Python爬虫:大家用公共的手机号干了啥?​ zhuanlan.zhihu.com 9. 给钓鱼网站批量提交垃圾信息经常会收到含有钓鱼网站链接的短信的,一般都是盗取 QQ 密码的偏多,其实可以使用 Python 来批量给对方的服务器提交垃圾数据(需要先抓包),这样骗子看到信息之后就不知道哪些是真的哪些是假的了,说不定可以解救一部分填了密码的同学。Tsing:偶遇一个钓鱼网站,于是就简单玩了一下...​ zhuanlan.zhihu.com10. 网易云音乐批量下载可以批量下载网易云音乐热歌榜的歌曲,可以自己设定数量,速度非常快。 # 网易云音乐批量下载 # Tsing 2019.03.28 # 首先,找到你要下载的歌曲,用网页版打开,复制链接中的歌曲ID,如:http://music.163.com/#/song?id=476592630 这个链接ID就是 476592630 # 然后将ID替换到链接 http://music.163.com/song/media/outer/url?id=ID.mp3 中的ID位置即可获得歌曲的外链:http://music.163.com/song/media/outer/url?id=476592630.mp3 import requests # 用于获取网页内容的模块 from bs4 import BeautifulSoup # 用于解析网页源代码的模块 header={ # 伪造浏览器头部,不然获取不到网易云音乐的页面源代码。 'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36', 'Referer':'http://93.174.95.27', } link = "http://music.163.com/discover/toplist?id=3778678" # 这是网易云音乐热歌榜的链接(其实是嵌套在网页里面含有歌曲数据的页面框架的真实链接) r = requests.get(link, headers=header) # 通过 requests 模块的 get 方法获取网页数据 html = r.content # 获取网页内容 soup = BeautifulSoup(html, "html.parser") # 通过 BeautifulSoup 模块解析网页,具体请参考官方文档。 songs = soup.find("ul", class_="f-hide").select("a", limit=10) # 通过分析网页源代码发现排行榜中的歌曲信息全部放在类名称为 f-hide 的 ul 中,于是根据特殊的类名称查找相应 ul,然后找到里面的全部 a 标签,限制数量为10,即排行榜的前 10 首歌。

游客bnlxddh3fwntw 2020-04-25 14:35:08 0 浏览量 回答数 0

问题

根据模糊逻辑结果对CSV文件的搜索结果进行排序

kun坤 2019-12-28 14:24:54 0 浏览量 回答数 1

问题

【精品问答】python技术1000问(2)

问问小秘 2019-12-01 22:03:02 68 浏览量 回答数 0

问题

ValueError:应该定义‘density’输入的维度。发现“没有”

kun坤 2019-12-26 15:40:28 1 浏览量 回答数 1

回答

1.产品2.UI3.CSS4.JS5.后端(Java/php/python)6.DBA(mysql/oracle)7.运维(OP) 8.测试(QA)9.算法(分类/聚类/关系抽取/实体识别)10.搜索(Lucene/Solr/elasticSearch)11.大数据工程师(Hadoop)12.Android13.IOS14.运营 一.产品1 工作内容:了解用户需求,做竞品调研,画产品原型,写产品文档,讲解产品需求,测试产品Bug,收集用户反馈,苦练金刚罩以防止程序员拿刀砍。2 需要技能:PPT,Word, Axure,XP,MVP,行业知识,沟通。 二. UI1 工作内容:收到产品原型,给原型上色,偶尔会自作主张调整下原型的位置,出不同的风格给老板和客户选,然后听他们的意见给出一个自己极不喜欢的风格,最好给Android,IOS或者是CSS做好标注,还有的需要直接帮他们切好图,最后要练出来象素眼,看看这些不靠谱的程序员们有没有上错色或者是有偏差。2 需要技能:PS,Illustrator,Sketch,耐性,找素材。 三. CSS1 工作内容:产品设计好原型,UI做出来了效果图,剩下的就是CSS工程师用代码把静态文件写出来的。 2 需要技能:环境【IDE(WEBStorm,Sublime,EditPlus),源码管理(SVN/Git) ,WEB服务器(nginx)】基础【PS,域名,Html,Html5,CSS,CSS3】扩展【自适应,响应式,Bootstrap,Less,Flex】 四 .JS 1 工作内容:JS工程师其实分成两类,在之前讲CSS的时候已经提到过,一个是套页面的,一个是前后端分离的。对这两个概念还是分不太清的,可以回过头去看CSS的部分。 2 需要技能:环境【IDE(WEBStorm,Sublime,EditPlus),源码管理(SVN/Git) ,WEB服务器(nginx)】基础【Http,REST,跨域,语法,组件,F12,Json,Websocket】框架【JQuery,AngularJS,Bower,RequireJS,GruntJS,ReactJS,PhoneGap】业务【金融,教育,医疗,汽车,房产等等等等各种行业】 五 .后端(Java/python/go) 1 工作内容:大部分的后端工程师都停留在功能实现的层面上。这是现在国内二流或者是三流的公司的现状,甚至是在某些一流的公司。很多时候都是架构师出了架构设计,更多的外包公司根本就是有DBA来做设计,然后后端程序员从JS到CSS到Java全写,完全就是一个通道,所有的复杂逻辑全部交给DB来做,这也是几年前DBA很受重视的原因。 2 需要技能:环境【IDE(Idea/Eclipse,Maven,jenkins,Nexus,Jetty,Shell,Host),源码管理(SVN/Git) ,WEB服务器(nginx,tomcat,Resin)】基础【Http,REST,跨域,语法,Websocket,数据库,计算机网络,操作系统,算法,数据结构】框架【Spring,AOP,Quartz,Json TagLib,tiles,activeMQ,memcache,redis,mybatis,log4j,junit等等等等等】业务【金融,教育,医疗,汽车,房产等等等等各种行业】。 六 .DBA  1 工作内容:如果你做了一个DBA,基本上会遇到两种情况。一种是你的后端工程师懂架构,知道怎么合便使用DB,知道如何防止穿透DB,那么恭喜你,你只是需要当一个DB技术兜底的顾问就好,基本上没什么活可以做,做个监控,写个统计就好了。你可以花时间在MongoDB了,Hadoop了这些,随便玩玩儿。再按照我之前说的,做好数据备份。如果需求变动比较大,往往会牵涉到一些线上数据的更改,那么就在发布的时候安静的等着,等着他们出问题。。。。如果不出问题就可以回家睡觉了。 2 需要技能:环境【Linux,Mysql,Oracle,MongoDB,Hadoop】工具【各种DB的版本,工具,备份,日志等】。 七. 运维  1 工作内容:运维的工作大概分成几个部分,我对于修真院学习运维的少年们都这么说,大概是:A。基础环境的搭建和常用软件的安装和配置(兼网管的还有各种程控机),常用软件指的是SVN,Git,邮箱这种,更细节的内容请参考修真院对于运维职业的介绍。B。日常的发布和维护,如刚刚讲到的一样,测试环境和线上环境的发布和记录,原则上,对线上所有的变更都应该有记录。C。数据的备份和服务的监控&安全配置。各种数据,都要做好备份和回滚的手段,提前准备好各种紧急预案,服务的监制要做好。安全始终都是不怎么被重点考虑的问题,因为这个东西无底洞,你永远不知道做到什么程度算是比较安全了,所以大多数都是看着情况来。D。运维工具的编写。这一点在大的云服务器商里格外常见,大公司也是一样的。E。Hadoop相关的大数据体系架构的运维,确实有公司在用几百台机器做Hadoop,所以虽然不常见,我还是列出来吧。 2 需要技能:环境【Linux,Mysql,Oracle,MongoDB,Hadoop,nginx,apache,F5,lvs,vpn,iptable,svn,git,memcache,redis】工具【linux 常用工具,Mysql常用工具,Jenkins,zabbix,nagios】自动化运维【openstack,docker,ansible】语言【shell,python】 八 .QA  1 工作内容:QA需要了解需求,很多公司会要求QA写测试用例,我觉得是扯淡。完全是在浪费时间。通常开发三周,QA测试的时间只有一周到一周半。还有关于提前写测试用例的,都不靠谱。 2 需要技能:流程【Bug修复流程,版本发布流程】工具【禅道,BugZilla,Jira,Excel表格来统计Bug数,自动化测试】性格【严谨,耐心】 九. 算法工程师  1 工作内容:算法工程师的工作内容,大部分时间都是在调优。就是调各种参数和语料,寻找特征,验证结果,排除噪音。也会和Hadoop神马的打一些交道,mahout神马的,我那个时候还在用JavaML。现在并不知道有没有什么更好用的工具了。有的时候还要自己去标注语料---当然大部分人都不爱做这个事儿,会找漂亮的小编辑去做。2 需要技能:基础【机器学习,数据挖掘】工具【Mahout,JavaML等其他的算法工具集】 十. 搜索工程师  1 工作内容: 所以搜索现在其实分成两种。一种是传统的搜索。包括:A。抓取 B。解析C。去重D。处理E。索引F。查询另一种是做为架构的搜索。并不包括之前的抓取解析去重,只有索引和查询。A。索引B。查询 2 需要技能:环境【Linux】框架【Luence,Slor,ElasticSearch,Cassandra,MongoDB】算法【倒排索引,权重计算公式,去重算法,Facet搜索的原理,高亮算法,实时索引】 十一. 大数据工程师  1 工作内容:工作内容在前期会比较多一些,基础搭建还是一个挺讲究的事儿。系统搭建好之后呢,大概是两种,一种是向大数据部门提交任务,跑一圈给你。一种是持续的文本信息处理中增加新的处理模块,像我之前说的增加个分类啦,实体识别神马的。好吧第一种其实我也不记得是从哪得来的印象了,我是没有见到过的。架构稳定了之后,大数据部门的工作并不太多,常常会和算法工程师混到一起来。其他的应该就是大数据周边产品的开发工作了。再去解决一些Bug什么的。2 需要技能:环境【Linux】框架【Hadoo,spark,storm,pig,hive,mahout,zookeeper 】算法【mapreduce,hdfs,zookeeper】。 十二. Android工程师  1 工作内容:Android工程师的日常就是听产品经理讲需求,跟后端定接口,听QA反馈哪款机器不兼容,闹着申请各种测试机,以及悲催的用Android做IOS的控件。 2 需要技能:环境【Android Studio,Maven,Gradle】基础【数据结构,Java,计算机网络】组件【IM,地图,支付,拍照,视频,音频,统计,分享,手势密码】 十三. IOS工程师  1 工作内容:IOS工程师的工作内容真的挺简单的,听需求,定接口。做个适配,抛弃一下iphone4。还有啥。。马丹,以我为数不多的IOS知识来讲,真的不知道还有啥了。我知道的比较复杂的系统也是各种背景高斯模糊,各种渐变,各种图片滤镜处理,其他并没有什么。支付,地图,统计这些东西。 嗯。2 需要技能:环境【Xcode】基础【数据结构,Object,计算机网络】组件【IM,地图,支付,拍照,视频,音频,统计,分享,手势密码】

行者武松 2019-12-02 01:21:45 0 浏览量 回答数 0

问题

史上有哪些程序员实用工具网站?

问问小秘 2020-03-14 23:11:50 4148 浏览量 回答数 2

问题

日志的发布历史有哪些?

轩墨 2019-12-01 21:50:57 1618 浏览量 回答数 0

回答

不良的编程习惯TOP1:粘贴复制 在学生时代,我们都知道抄袭是不对的。但在工作中,这方面的规则还很模糊。虽然有些代码块是不能盗用的——不要把专有代码拷贝到你的堆栈中,尤其是这些代码有标记版权信息。这种时候你应该编写自己的版本,老板付你薪水就是要做正事的。 但是当原始创作者想要共享代码时,问题就变得复杂了。这些共享代码也许放到了某个在线编程论坛上,也许它们是带有许可证(BSD,MIT)的开放源代码,允许使用一到三个函数。你使用这些共享代码是没有问题的,而且你上班是为了解决问题,而不是重新发明轮子。 大多数情况下,复制代码的优势非常明显,小心对待的话问题也不大。至少那些从靠谱的来源获得的代码已经被大致“检查“过了。 问题的复杂之处在于,这些共享代码是否存在一些未发现的错误,代码的用途或底层数据是否存在一些特别的假设。也许你的代码混入了空指针,而原始代码从未检查过。如果你能解决这些问题,那么就可以理解为你的老板得到了两位程序员共同努力的成果。这就是某种形式的结对编程,而且用不着什么高大上的办公桌。 不良的编程习惯TOP2:非函数式代码 在过去十年间,函数范式愈加流行。喜欢用嵌套函数调用来构建程序的人们引用了很多研究成果。这些研究表明,与旧式的变量和循环相比,函数式编程代码更安全,错误更少,而且可以随程序员的喜好任意组合在一起。粉丝们十分追捧函数式编程,还会在代码审查和拉取请求中诋毁非函数式方法。关于这种方法的优势,他们的观点其实并没有错。 但有时你需要的仅仅是一卷胶带而已。精心设计并细心计划的代码需要花费很多时间,不仅需要花费时间想象,还需要构建和之后导航的时间。这些都增加了复杂性,并且会花费很多的时间与精力。开发漂亮的函数式代码需要提前做计划,还要确保所有数据都通过正确的途径传递。有时找出并更改变量会简单得多,可能再加个注释说明一下就够了。就算要在注释中为之后的程序员致以冗长而难懂的歉意,也比重新设计整个系统,把它扳回正轨上要省事得多。 不良的编程习惯第 3 位:非标准间距 软件中的大多数空格都不会影响程序的性能。除少数使用间距指示代码块的语言(如 Python)外,大多数空格对程序行为的影响为零。尽管如此,仍然有一些得了强迫症的程序员会数空格,并坚持认为它们很重要。曾有这样一位程序员以最严肃的口吻告诉我的老板,说我正在写“非标准代码”,还说他一眼就看出来了。我的错咯?因为我没在等号的两侧放置空格,违反了 ESLint space-infix-ops 规则[1]。 有时候你只要操心那些更深层的内容就行了,谁管什么空格的位置。也许你担心数据库过载,也许你担心空指针可能会让你的代码崩溃。一套代码中,几乎所有的部分都比空格更重要,就算那些喜欢走形式的标准委员会写出来一大堆规则来限制这些空格或制表符的位置,那又如何呢。 令人欣喜的是,网上可以找到一些很好用的工具来自动重新格式化你的代码,让你的代码遵守所有精心定义的 linting 规则。人类不应该在这种事情上浪费时间和脑细胞。如果这些规则这么重要,我们就应该用工具来解决这些问题。 不良的编程习惯第 4 位:使用 goto 禁止使用 goto 的规则可以追溯到许多结构化编程工具还没有出现的时代。如果程序员想创建一个循环或跳转到另一个例程,则需要键入 goto,后跟一个行号。多年之后,编译器团队开始允许程序员使用字符串标签来代替行号。这在当时被认为是一项热门的新特性。 有的人把这样做法的结果称为“意大利面条式代码”。因为以后没人能读懂你的代码,没人搞得清楚执行路径。成为一团混乱的线程,缠结在一起。Edsger Dijkstra 写过一篇题为“我们认为 goto 声明是有害的”的一篇文章[2],号召大家拒绝使用这个命令。 但是绝对分支并不是问题所在,问题在于它产生的那堆纠缠的结果。一般来说,精心设计的 break 或 return 能提供有关该位置的代码执行情况的非常清晰的陈述。有时,将 goto 添加到一个 case 语句中所生成的东西与联 if-then-else 块的相比,结构更正确的列表理解起来更容易。 也有反例。苹果 SSL 堆栈中的“goto fail”安全漏洞[3]就是一个很好的例子。但是,如果我们谨慎地避免 case 语句和循环中出现的一些问题,我们就可以插入很好用的绝对跳转,使代码读者更容易理解正在发生的事情。有时我们可以放一个 break 或 return,不仅更简洁,而且大家读起来更愉快,除了那些讨厌 goto 的人们。 不良的编程习惯第 5 位:不声明类型 热爱类型化语言的人们有他们的理由。当我们为每个变量的数据类型添加清晰的声明时,我们会编写更好,错误更少的代码。花点时间来阐明类型,就可以帮助编译器在代码开始运行之前标记出愚蠢的错误。这可能会很痛苦,但也会有回报。这是一种编程的笨办法,就是为了避免错误。 时代变了。许多较新的编译器已经足够聪明了,它们可以在查看代码时推断出类型。它们可以在代码中前后移动,最后确认变量应该是 string 或 int,抑或是其他类型。而且,如果推断出来的这些类型没法对齐,则编译器会给出错误标志。它们不需要我们再类型化变量了。 换句话说,我们可以省略一些最简单的声明,然后就能轻松节省一些时间了。代码变得更简洁,代码读者也往往能猜出 for 循环中名为 i 的变量是一个整数。 不良的编程习惯第 6 位:溜溜球代码 程序员喜欢将其称为“yo-yo 代码”。首先,这些值将存储为字符串,然后将它们解析为整数,接下来将它们转换回字符串。这种方法效率极低。你几乎能感受到一大堆额外负载让 CPU 不堪重负的样子。能快速编写代码的聪明程序员会调整自己的代码架构,以最大程度地减少转换。因为他们安排好了计划,他们的代码也能跑得更快。 但不管你信不信,有时溜溜球代码也是有意义的。有的时候,你需要用一个可以在自己的黑匣子里搞定一大堆智能操作的库。有的老板花了很多钱,请好多天才做出来这么一个库。如果这个库需要字符串形式的数据,那么你就得给它字符串,就算你最近刚把数据转换为整数也得再转回去。 当然,你可以重写所有代码以最大程度地减少转换,但这会花费一些时间。有时,代码多运行一分钟、一小时、一天甚至一周也是可以接受的,因为重写代码会花费更多时间。有时候,增加技术债务要比重新建立一笔技术债的成本更低些。 有时这种库里面不是专有代码,而是你很久以前编写的代码。有时,转换一次数据要比重写该库中的所有内容更省事。这种时候你就可以编写悠悠球代码了,不要怕,我们都遇到过这种事情。 不良的编程习惯第7位:编写自己的数据结构 有一条标准规则是,程序员在大二学完数据结构课程后,再也不要编写用于存储数据的代码了。已经有人编写过了我们所需要的所有数据结构,并且他们的代码经过了多年的测试和重新测试。这些结构与语言打包在一起,还可能是免费的。你自己写的代码只会是一堆错误。 但有的时候数据结构库的速度有点缓慢。有时候我们被迫使用的标准结构并不适合我们自己的代码。有时,库会要求我们在使用它的结构之前重新配置数据。有时,这些库带有笨重的保护,还有一些诸如线程锁定之类的特性,而我们的代码并不需要它们。 发生这种情况时就该编写我们自己的数据结构了。有时我们自己的结构会快很多,还可能让我们的代码更整洁,因为我们不需要一大堆额外的代码来重新精确地格式化数据。 不良的编程习惯第 8 位:老式循环 很久以前,创建 C 语言的某人想将所有抽象可能性封装在一个简单的构造中。这个构造开始时要做一些事情,每次循环都要做一些事情,所有事情都完成时还有一些方法来提示我们。当时,这似乎是一种拥有无限可能性的完美语法。 此一时彼一时,如今一些现代评论者只看到了其中的麻烦,发生的事情太多了,所有这些可能性既可能向善也可能作恶。这种构造让阅读和理解代码变得非常困难。他们喜欢更加函数式的的范式,其中没有循环,只有应用到列表的函数,还有映射到某些数据的计算模板。 有时无循环方法更简洁,尤其是当我们只有一个简单的函数和一个数组的时候。但还有些时候,老式的循环要简单得多,因为它可以做更多事情。例如,当你找到第一个匹配项后就立刻停止搜索,这样的代码就简单得多。 此外,要对数据执行多项操作时,映射函数会要求更严格的编码。假设你要对每个数字取绝对值,然后取平方根,最快的方案是先映射第一个函数,然后映射第二个函数,将数据循环两次。 不良的编程习惯第 9 位:在中间打破循环 从有一天开始,一个规则制定小组宣布每个循环都应该有一个“不变项”,就是一个在整个循环中都为真的逻辑语句。当不变量不再为真时,循环就结束了。这是处理复杂循环的好方法,但会带来一些令人抓狂的约束,例如禁止我们在循环中间使用 return 或 break。这条规则是禁止 goto 语句规则的子集。 这个理论很不错,但它通常会导致代码变得更复杂。考虑以下这种简单的情况,其中会扫描一个数组,找出通过测试的一个条目: while (i<a.length){ ... if (test(a[i]) then return a[i]; ... } 喜欢循环不变项的人们宁愿我们添加另一个布尔变量,将其称为 notFound,然后这样用它: while ((notFound) && (i<a.length){ ... if (test(a[i])) then notFound=false; ... } 如果这个布尔名称取得很合适,那就会是一段自我注释得很好的代码。它可以让大家理解起来更容易。但这也增加了复杂性。这还意味着要分配另一个局部变量并阻塞一个寄存器,编译器可能没那么聪明,没法修复这个错误。 有时使用 goto 或 jump 会更简洁。 不良的编程习惯第10位:重载运算符和函数 一些有趣的语言会让你绕一些大弯子,比如说重新定义看起来应该是常量的元素值。拿 Python 来说,至少在 2.7 版及更低版本中,它允许你键入 TRUE=FALSE。这不会引发某种逻辑崩溃,也不会导致宇宙的终结;它只是交换了 TRUE 和 FALSE 的含义。你还可以使用 C 预处理器和其他一些语言来玩这种危险的游戏。还有一些语言允许你重新定义加号之类的运算符。 有时候,在一大段代码中重新定义一个或一些所谓常量,结果效率会更高。有时,老板会希望代码执行完全不同的操作。当然,你可以检查代码,逐一更改对应的部分,也可以干脆重新定义现实来节省时间。别人会觉得你是天才。用不着重写庞大的库,只需翻转一下即可。 这里也许应该划一条底线。无论这种做法多有意思,看起来多聪明,你都不应该在家里做实验。这太危险了——我是认真的。

茶什i 2019-12-30 11:01:01 0 浏览量 回答数 0

问题

JDBC怎么查询和分析?

轩墨 2019-12-01 21:58:22 1295 浏览量 回答数 0

回答

**01 明确目标 ** 鲁迅曾经没说过:“明确分析目标,你的分析已经成功了一大半”。 做深入分析之前,面对这一堆评价数据,我们要明确,究竟想通过分析来解决什么问题?只有明确分析目标,才能把发散的思维聚焦起来。 为了给大家一个明确的分析锚点,假设我们是这款辣椒酱的产品负责人,要基于评价,更好的获悉消费者对产品的看法,从而为后续产品优化提供思路。 所以,我们的分析目标是“基于评价反馈,量化消费者感知,指导优化产品”。 注:这里给到的一个假设目标并不完美,主要是抛砖引玉,大家可以从不同的维度来提出目标假设,尝试不同分析方向。 是不是有那么一丢丢分析思路了?别急,目标还需要继续拆解。 02 拆解目标 这些年来,最有价值的一个字,便是“拆”了: 在数据分析中也是同理。 我们在上一步已经确定了“基于评价优化产品”的目标,但这只是一个笼统模糊的目标。要让目标真正可落地,“拆”是必不可少的一步。 “拆”的艺术大体可以分为两步,第一步是换位思考。 评价来源于客户,客户对产品有哪些方面的感知呢?我们可以闭上眼睛,幻想自己购买了这款辣椒酱。 接着进入第二步,基于换位的逻辑拆解,这里可以按照模拟购物流程的逻辑来拆解: 首先,李子柒本身有非常强的IP光环,大家在选购时或多或少是慕名而来。所以,在购买决策时,到底有多大比例是冲着李子柒来的? Next,在没收到货前,影响体验的肯定是物流,付款到收货用了几天?派送员态度怎么样,送货上门了吗? 收到货后,使用之前,体感最强的则是包装。外包装有没有破损?有没有变形?产品包装是精致还是粗糙? 接下来是产品体验,拿辣椒酱来说,日期是否新鲜?牛肉用户是否喜欢?到底好不好吃? 吃完之后,我们建立起了对产品的立体感知——性价比。我花钱买这个产品到底值不值?这个价位是贵了还是便宜?实惠不实惠? 品牌、物流、包装、产品(日期、口味)和性价比五大天王锋芒初现,我们下一步需要量化消费者对于每个方面的感知。 03 Python实现 对于评价的拆解和量化,这里介绍一种简单粗暴的方式,按标点把整条评论拆分成零散的模块,再设置一系列预置词来遍历。 注:再次强调我们这篇内容的主题是“如何基于最基础的技术,做进一步的分析,这里假设我们只会最基础的python语法和pandas。 有同学会问“为什么不用分词”!此问可谓正中我怀。不过,我把这个问题当作开放式思考题留给大家——如果用分词,如何实现同样的效果,以及有什么优缺点? 言归正传,我们先看看实战爬取的评论数据,一共1794条: 把每条评论按照标点拆分成短句,为了省事,用了简单的正则拆分: 我们发现,就算是比较长段的评论,也只是涉及到品牌、物流、包装、产品和性价比的部分方面,所以,我们依次去遍历匹配,看短句中有没有相关的内容,没有就跳过,有的话再判断具体情绪。 以物流为例,当短句中出现“物流”、“快递”、“配送”、“取货”等关键词,大体可以判定这个短句和物流相关。 接着,再在短句中寻找代表情绪的词汇,正面的像“快”、“不错”、“棒”、“满意”、“迅速”;负面的“慢”、“龟速”、“暴力”、“差”等。 在我们预设词的基础上进行两次遍历匹配,大体可以判断这句话是不是和物流相关,以及客户对物流的看法是正面还是负面: 为方便理解,用了灰常丑陋的语法来一对一实现判断。包装、产品和性价比等其他模块的判断,也是沿用上述逻辑,只是在预设词上有所差异,部分代码如下: def judge_comment(df,result): judges = pd.DataFrame(np.zeros(13 * len(df)).reshape(len(df),13), columns = ['品牌','物流正面','物流负面','包装正面','包装负面','原料正面', '原料负面','口感正面','口感负面','日期正面','日期负面', '性价比正面','性价比负面']) for i in range(len(result)): words = result[i] for word in words: #李子柒的产品具有强IP属性,基本都是正面评价,这里不统计情绪,只统计提及次数 if '李子柒' in word or '子柒' in word or '小柒' in word or '李子七' in word\ or '小七' in word: judges.iloc[i]['品牌'] = 1 #先判断是不是物流相关的 if '物流' in word or '快递' in word or '配送' in word or '取货' in word: #再判断是正面还是负面情感 if '好' in word or '不错' in word or '棒' in word or '满意' in word or '迅速' in word: judges.iloc[i]['物流正面'] = 1 elif '慢' in word or '龟速' in word or '暴力' in word or '差' in word: judges.iloc[i]['物流负面'] = 1 #判断是否包装相关 if '包装' in word or '盒子' in word or '袋子' in word or '外观' in word: if '高端' in word or '大气' in word or '还行' in word or '完整' in word or '好' in word or\ '严实' in word or '紧' in word: judges.iloc[i]['包装正面'] = 1 elif '破' in word or '破损' in word or '瘪' in word or '简陋' in word: judges.iloc[i]['包装负面'] = 1 #产品 #产品原料是牛肉为主,且评价大多会提到牛肉,因此我们把这个单独拎出来分析 if '肉' in word: if '大' in word or '多' in word or '足' in word or '香' in word or '才' in word: judges.iloc[i]['原料正面'] = 1 elif '小' in word or '少' in word or '没' in word: judges.iloc[i]['原料负面'] = 1 #口感的情绪 if '口味' in word or '味道' in word or '口感' in word or '吃起来' in word: if '不错' in word or '好' in word or '棒' in word or '鲜' in word or\ '可以' in word or '喜欢' in word or '符合' in word: judges.iloc[i]['口感正面'] = 1 elif '不好' in word or '不行' in word or '不鲜' in word or\ '太烂' in word: judges.iloc[i]['口感负面'] = 1 #口感方面,有些是不需要出现前置词,消费者直接评价好吃难吃的,例如: if '难吃' in word or '不好吃' in word: judges.iloc[i]['口感负面'] = 1 elif '好吃' in word or '香' in word: judges.iloc[i]['口感正面'] = 1 #日期是不是新鲜 if '日期' in word or '时间' in word or '保质期' in word: if '新鲜' in word: judges.iloc[i]['日期正面'] = 1 elif '久' in word or '长' in word: judges.iloc[i]['日期负面'] = 1 elif '过期' in word: judges.iloc[i]['日期负面'] = 1 #性价比 if '划算' in word or '便宜' in word or '赚了' in word or '囤货' in word or '超值' in word or \ '太值' in word or '物美价廉' in word or '实惠' in word or '性价比高' in word or '不贵' in word: judges.iloc[i]['性价比正面'] = 1 elif '贵' in word or '不值' in word or '亏了' in word or '不划算' in word or '不便宜' in word: judges.iloc[i]['性价比负面'] = 1 final_result = pd.concat([df,judges],axis = 1) return final_result 运行一下,结果毕现: 第一条评价,很明显的说快递暴力,对应“物流负面”计了一分。 第二条评价,全面夸赞,提到了品牌,和正面的物流、口感信息。 第三条评价,粉丝表白,先说品牌,再夸口感。 看起来还不赖,下面我们对结果数据展开分析。 04 结果分析 我们先对结果做个汇总: 一共爬了1794条评论,评论中有提及到我们关注点的有1937次(之所以用次,是因为一条评论中可能涉及到多个方面)。粗略一瞥,口感和原料占比较高,画个图更细致的看看。 看来,辣椒酱的口感(好不好吃)是客户最最最关注的点,没有之一,占比高达57.98%,领先其他类别N个身位。 慢随其后的,是原料、品牌、性价比和包装,而物流和日期则鲜有提及,消费者貌似不太关注,或者说目前基本满足要求。 那不同类别正负面评价占比是怎么样的呢? 整体来看,主流评论以好评为主,其中口感、品牌(这个地方其实没有细分)、包装以正面评价占绝对主导。 原料和性价比,负面评价占比分别是14%和38%,而物流和日期由于本身占比太少,参考性不强。 作为一个分析师,我们从原料、性价比负面评价占比中看到了深挖的机会。 原料负面评价是单纯的在吐槽原材料吗? 初步筛选之后,发现事情并没有那么简单。 原料负面评价共出现了53次,但里面有24次给了口感正面的评价,甚至还有8次原料正面评价!罗生门吗? 这8次即正面又负面的原料评价,其实是揭了我们在预置词方面的不严谨,前面判断牛肉相关的短句,“小”就是负面,“大”就是正面,有些绝对。 而判断准确的原料差评中,虽然有一半说味道不错,但还是不留情面的吐槽了牛肉粒之小,之少,甚至还有因此觉得被骗。 如何让牛肉粒在体感上获取更多的好评,是应该在产品传播层做期望控制的宣导?还是在产品层增加牛肉的“肉感”?需要结合具体业务进一步探究。 性价比呢? 性价比相关负面评价共58次,负面情绪占性价比相关的38%。这些负面评价消费者大多数认为价格偏贵,不划算,还有一部分提到了通过直播渠道购买价格相对便宜,但日常价格难以接受。 坦白讲,这款辣酱的价格在线上确实属于高端价位,而价格体系是一个比较复杂的场景,这里暂不展开分析。 但是对于这部分认为性价比不符预期的客户,是应该因此反推产品价格,还是把他们打上“价格敏感的标签”,等大促活动唤醒收割,这是两条可以考虑并推进的道路。 物流和日期提及太少,不具备参考性,但为了不那么虎头蛇尾,我们还是顺手看一眼物流负面评价: 果然,物流是一项必备需求,基本满足预期的话消费者并不会主动提及,没达预期则大概率会雷霆震怒。而物流暴力、速度太慢是两个永恒的槽点。 至此,我们基于看起来简单的评价数据,用简单浅白的方式,做了细致的拆分,并通过拆分更进一步的量化和分析,向深渊,哦不,向深入迈进了那么一丢丢。

茶什i 2020-01-10 14:16:36 0 浏览量 回答数 0

问题

什么是Logtail?

轩墨 2019-12-01 21:51:42 1799 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站