20

2019开发者调查:Python 或成赢家,Java 最不赚钱?

Stack Overflow 作为全世界最流行、最顶级的技术问答社区,其广泛的影响力毋庸置疑,虽然调查结果不能代表开发者社区中的每个人,但相信这些极具价值的数据有重大的参考意义。

废话不多说,先看看今年的调查结果有哪些亮点:

  • Python 是「流行度」增长最快的主流编程语言,不止在本次调查中再次上榜,并在流行度方面超越了 Java,还成为了第二大最受开发者喜爱的语言(仅次于 Rust)。所以 Python 成最大赢家?
  • 超过一半的受访者表示在他们十六岁左右写下了第一行代码,当然这种经历因国家和性别而异。
  • DevOps 专家和可靠性工程师是薪酬最高、经验最丰富的开发者,他们对工作最满意,并且正在寻找面向更底层业务的新工作。
  • 在进行调查的主要国家中,中国开发者最乐观,他们相信当下出生的人将拥有比父母更好的生活。而法国和德国等西欧国家的开发者对未来最不乐观。
  • 在考虑阻碍生产力的因素时,不同类型的开发者所面对的挑战也不相同。大部分男性开发者表示负责非开发工作对他们来说是一个问题,而女性受访者则认为不友好的工作环境对她们是一个很大的阻碍。
  • 受访者在被问到他们最后一次使用和不使用 Stack Overflow 解决编问题的时间,数据表明 Stack Overflow 每周为开发人员节省 30 到 90 分钟的时间

Continue reading

20

物联网2.0平台架构体系

准确的来说,物联网1.0平台的单体应用架构没有互联网项目架构一说,传统的MVC开发模式,简单的小作坊操作流程,对于每个开发人员来说,只需要关注业务的功能模块实现而已。在1.0平台运营的半年时间里面,除了业务本身的需求爆炸性的增长,要求开发的迭代迅速,并且每次升级都不应该伤筋动骨,只是模块化的累加或者在原有的框架里面局部的更新,除了这些,我们还看到了1.0平台本身的基础性运营配套设施也迫切需要投入进来,以提高平台的运营效率,如日志平台,监控平台,调度平台,报表平台,甚至权限和单点登录也很需要,所以对于物联网2.0平台的整体规划以上的都应该包含在里面。 Continue reading

18

物联网平台架构设计

现在网上讨论的有关物联网的帖子非常之多,但大部分都是介绍理论或者有关硬件,通讯相关的问题,比如物联网模块,物联网通讯协议MQTT、XMPP、NB_IOT等,个人认为这些只是物联网中一部分,而涉及到物联网的设备如何管理,用户如何管理,数据包如何解析,大数据如何展示等也是物联网模块中非常重要的部分,所以作者就根据自身工作中总结出来的建构在云端的物联网平台基本架构分享给大家,并基于此架构如何一步一步来开发一套物联网平台。 Continue reading

07

Python获取Cookie、设置Cookie的N种方法

方法一通过python的requests包:

获取cookies是通过response的cookies 属性,可以通过res.cookies["cookie_name"]的方式获取。

并且需要注意的是,这个是一个RequestCookieJar的实例,也就是说,在requests的操作里的cookie一般都是包装到了 Continue reading

07

[Python] – 爬虫之lxml库的用法

[Python] – 爬虫之lxml库的用法

HTML 示例代码

小试牛刀 Continue reading

07

python2 UnicodeDecodeError: ‘utf8′ codec can’t decode byte 0xbc in position 0: invalid start byte

python2报错 UnicodeDecodeError: ‘utf8′ codec can’t decode byte 0xbc in position 0: invalid start byte

这不是编码问题,是网址有压缩,下面是py2的写法

 

07

获取redis库中所有键值对

获取所有数据,获取redis库中所有键值对

 

07

Python Redis pipeline操作

Redis是建立在TCP协议基础上的CS架构,客户端client对redis server采取请求响应的方式交互。

一般来说客户端从提交请求到得到服务器相应,需要传送两个tcp报文。

设想这样的一个场景,你要批量的执行一系列redis命令,例如执行100次get key,这时你要向redis请求100次+获取响应100次。如果能一次性将100个请求提交给redis server,执行完成之后批量的获取相应,只需要向redis请求1次,然后批量执行完命令,一次性结果,性能是不是会好很多呢?

答案是肯定的,节约的时间是客户端client和服务器redis server之间往返网络延迟的时间。这个时间可以用ping命令查看。

网络延迟高:批量执行,性能提升明显

网络延迟低(本机):批量执行,性能提升不明显

某些客户端(java和python)提供了一种叫做pipeline的编程模式用来解决批量提交请求的方式。

这里我们用python客户端来举例说明一下。 Continue reading