程序员

python线程互斥锁Lock(29)

落爺英雄遲暮 提交于 2019-12-05 18:10:31
在前一篇文章 python线程创建和传参 中我们介绍了关于python线程的一些简单函数使用和线程的参数传递,使用多线程可以同时执行多个任务,提高开发效率,但是在实际开发中往往我们会碰到线程同步问题,假如有这样一个场景:对全局变量累加1000000次,为了提高效率,我们可以使用多线程完成,示例代码如下: # !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解忧 @Blog(个人博客地址): shuopython.com @WeChat Official Account(微信公众号):猿说python @Github:www.github.com @File:python_thread_lock.py @Time:2019/10/17 21:22 @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! """ # 导入线程threading模块 import threading # 声明全局变量 g_num = 0 def my_thread1(): # 声明全局变量 global g_num # 循环 1000000 次,每次累计加 1 for i in range(0,1000000): g_num = g_num + 1 def my_thread2(): # 声明全局变量

软件工程结课总结

你。 提交于 2019-12-05 18:01:01
时间飞逝,在不知不觉中《构建之法》这门课程就要结课了。经过一个学期的软件工程的学习,我在这门课程上学习到了很多东西。在学习的时候,老师让我们把软件工程构建之法这本书大致的看了一遍,在我开始看来,大多数的教科书都是枯燥乏味无趣的。但是在看了软件工程的构建之法这本之后,我改变了我之前的观点,这本书虽然讲解的东西并不浅显,但是它的内容却不像其它学课的教科书那样的无趣乏味,它是很有趣的一本书。它上面有很多的生动形象的举例和有趣的图片,用这种简单易懂的方法将想要表达的知识和理论告诉了我们。在以前,我一直对软件工程存在一些未知与误解。认为软件就是程序,软件开发就是编写程序的过程,只要完成程序的编写,那么软件也就宣布着成功开发。而且我还片面的认为只要我掌握了当下最流行的编程语言与其开发工具,就能很好的编写出一个程序。一个人只要会编程,就能写软件,就是程序员。一个公司,只要招聘一些程序员,就能开发很好的软件产品。只要有几个有经验的程序员,在找些兼职的大学生,就能组成一个软件公司。但是,通过学习了软件工程后,让我恍然大悟。才知道以前对软件开发的认知是多么的错误,渐渐的才明白,软件其实不仅仅是个程序,软件开发也不是简简单单编写程序的过程。软件是思想在硬件上的载体与体现,处理的是逻辑与信息。唯有对软件和软件开发过程有充分的认识,才能更好的开发出,过程受控,质量受控的软件产品。 另外,通过软件工程

都说程序员木讷,但这位不同,反手就是一串代码把姑娘撩到幸福地流泪

こ雲淡風輕ζ 提交于 2019-12-05 17:39:57
「直男癌」、「不懂情趣」、「死脑筋」,这些是编剧甚至世人给程序员戴上的帽子。 「毫无情趣女友跑,五指姑娘伴到老」,这句话更是很多人对程序员没情趣这点最为嘲讽的总结。 然而「你们真的懂程序员吗?」 程序员不是不懂情趣,而是我们的情趣你根本看不懂! 不信?看看他们撸出来的代码就知道了! 1.当程序员向他爱的人表白时,便会是这样一串代码!(这还不浪漫吗?) 感动不 学习Python中的小伙伴,需要学习资料的话,可以前往我的微信公众号:速学Python,后台回复:csdn,即可拿Python学习资料 这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。送给正在学习python的小伙伴!这里是python学习者聚集地,欢迎初学和进阶中的小伙伴! 2.当程序员遭遇情感危机的时候,便是这样! 不舍的心情全都在代码里(呜呜) 3.当一位程序员面对一位追不到的姑娘时,在想对方的深夜,他便会用代码打下一串: 「你若不来,我便不弃」 即使对方执意要走,程序小哥做的选择是拖着湿漉漉的身体,回家后在微弱的屏幕白光之下,记录下内心的伤口: 「我听说你要走,站在雨里,任凭身体被水珠撕裂成一个个没有意义的字母」 在一个又一个试图忘记对方的日子过后,终于选择直面这段感情的程序员更是做出了决定: 「每一世,我都会在这等你!就算容颜变迁

史上最全的WEB前端开发程序员学习清单!

ぐ巨炮叔叔 提交于 2019-12-05 16:43:58
史上最全的WEB前端开发程序员学习清单! 今天为什么要给大家分享这篇文章呢,我发现最近来学前端的特别多,群里面整天都有人问:前端好找工作吗?前端要怎么学啊?前端工资怎么样?前端XX,前端XXX,虽然我回答过无数次这种问题了,但是问这个的还是有很多,今天我就给大伙分享一下前端学习路线,当然不是我自己总结的,毕竟没有那么厉害,就借用腾讯大佬的给大家学习下吧! 推荐下我自己的前端学习群:618522268,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括我自己整理的一份2018最新的前端资料和零基础入门教程,欢迎初学和进阶中的小伙伴。 正文开始: 最后在对刚刚入门学习的程序员提点建议: 君子生非异也,善假于物也”,在学习的过程中还要多浏览一些优秀的网站,善于分析借鉴其设计思路和布局方法,见多方能识广,进而才可以融会贯通,取他人之长为我所用。 同时还要善于使用Firebug这个利器。Firebug一方面可以在我们学习过程中帮助我们调试自己的页面,另一方面我们可以使用Firebug方便地查看、分析别人网站的源代码,“偷”也是一种技能! 今天为什么要给大家分享这篇文章呢,我发现最近来学前端的特别多,群里面整天都有人问:前端好找工作吗?前端要怎么学啊?前端工资怎么样?前端XX,前端XXX,虽然我回答过无数次这种问题了,但是问这个的还是有很多,今天我就给大伙分享一下前端学习路线

黑马程序员2019前端资源

馋奶兔 提交于 2019-12-05 14:51:54
在自学前端的时候都说不要先看书先看视频。因为视频更能理解,的确也是,类似了解HTML/CSS这些基础知识看视频比看书更快,了解了之后就可以查询手册文档之类的进行巩固。在找资源的时候,我加了挺多群,也找到一些资料,最后还是觉得这个资料好一点。他比较全面,讲的很细,还有源码可以不断的练习。 链接: https://pan.baidu.com/s/1Gi2s5VB2qg--FrAryfV7rw 提取码:6aA5 我不是打广告哈,实话实说。希望可以帮到大家。 来源: https://www.cnblogs.com/wybim/p/11929332.html

程序员必须懂的架构入门课

…衆ロ難τιáo~ 提交于 2019-12-05 14:40:27
程序员,真有必要了解架构吗? 在解答这个疑惑之前,我们先来看一则故事:旅行者路过某个工地,建筑工人们都在忙碌。出于好奇,旅行者问第一个人在干什么,那人头也没抬地回答道:我在搬砖。旅行者问第二个人在干什么,这个匆匆抬起头认真地说:我在砌墙。旅行者问第三个人在干什么,那个人脸上充满了光彩,很自豪地说:我在建造圣索菲亚大教堂,将福音传播给更多人! 有的人只关注眼下的“点”,有的人看到了延伸的“线”,还有人畅想出未来的“面”。就像在丛林中穿越,当你迷路找不到方向时,最好就是登上山顶或者爬上树冠,让自己有更宽广的视野,从而找到通往目的地的最佳路径。既要脚踏实地、低头赶路,也要抬头望天、畅想未来,正确的方向比速度更重要。接下来,我们来看看架构跟你的“点、线、面”关系。 一点 跟垒土坯房不同,建造摩天大楼离不开各式各样的设计图纸,构建复杂的应用系统也离不开架构设计。相信你所在的团队也配了架构角色,或由资深开发兼任,或由专职架构负责。不管你从事哪方面工作,包括产品、开发、测试、运维或项目等,你都要跟架构师打交道,例如:产品可研、概要设计、技术选型、详细设计、测试规划、部署规划、问题解决、招聘面试等等。如果对架构缺乏了解,那你就不清楚你跟架构师之间的协作界面,不知道架构师能给你提供哪些支持或帮助,不知道如何跟架构师高效地协作。如果只关心自己眼前的一亩三分地,那你很容易就滞留在“搬砖”层级。 二线

好程序员Python教程分享Python常见面试问题

百般思念 提交于 2019-12-05 14:38:33
  好程序员Python教程分享Python常见面试问题,人工智能的火热进一步带动了求职市场上对Python程序员需求量不断增加,对于很多Python程序员而言,面试过程能不能更好的发挥自己展示自己,最终也会影响到能不能拿到心仪的薪酬,能不能通过面试!为此,整理了一些常见面试中涉及的Python编程语言的有关问题,希望对学员的面试有所帮助!   1.什么是Python?使用Python的优点有哪些?   Python是一种带有对象、模块、线程、异常和内存自动管理的编程语言。使用Python的优点有:简单、易学、轻便可移植、可扩展、具有多种内建数据类型、开源等等。   2.什么事PEP8?   PEP8是一种编码规范,是一系列关于如何让Python代码更加具有可读性的编码建议。   3.什么是序列化(pickling)和反序列化(unpickling)?   Pickle模块允许我们将Python对象转换成一个string表示的信息,并且可以使用dump函数将其保存到一个文件中去,这样的过程称为序列化。而使用文件中保存的对象信息重构Python对象的过程称为反序列化。   4.Python中如何拷贝一个对象?   一般情况下,可以使用copy.copy()或者copy.deepcopy()函数进行对象拷贝。但是并不能拷贝所有的对象,只能拷贝大部分。   5

好程序员web前端教程分享web中CSS绝对定位

自闭症网瘾萝莉.ら 提交于 2019-12-05 14:34:47
  今天好程序员web前端教程为大家分享web中CSS绝对定位的教程   绝对定位使元 素的位置与文档流无关,因此不占据空间。这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。   普通流中其它元素的布局就像绝对定位的元素不存在一样:   #box_relative{   position:absolute;   left:30px;   top:20px;   }   如下图所示:   绝对定位的元素的位置相对于最近的已定位祖先元素,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。   对于定位的主要问题是要记住每种定位的意义。所以,现在让我们复习一下学过的知识吧:相对定位是“相对于”元素在文档中的初始位置,而绝对定位是“相对于”最近的已定位祖先元素,如果不存在已定位的祖先元素,那么“相对于”最初的包含块。   注释:根据用户代理的不同,最初的包含块可能是画布或HTML元素。   提示:因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其它元素。可以通过设置z-index属性来控制这些框的堆放次序。 来源: https://my.oschina.net/u/4177020/blog/3133497

程序员修神之路--kubernetes是微服务发展的必然产物

爱⌒轻易说出口 提交于 2019-12-05 13:55:28
菜菜哥,我昨天又请假出去面试了 战况如何呀? 多数面试题回答的还行,但是最后让我介绍微服务和kubernetes的时候,挂了 话说微服务和kubernetes内容确实挺多的 那你给我大体介绍一下呗 可以呀,不过要请和coffee哦 ◆◆ kubernetes介绍 ◆◆ 在很多项目的发展初期,都是小型或者大型的单体项目,部署在单台或者多台服务器上,以单个进程的方式来运行。这些项目随着需求的递增,发布周期逐渐增长,迭代速度明显下降。传统的发布方式是:开发人员将项目打包发给运维人员,运维人员进行部署、资源分配等操作。 随着软件行业架构方式的改变,这些大型的单体应用按照业务或者其他维度逐渐被分解为可独立运行的组件,我们称之为微服务。微服务彼此之间被独立开发、部署、升级、扩容,真正实现了大型应用的解耦工作。关于微服务的介绍,大家可以去撸一下菜菜之前的文章: https://mp.weixin.qq.com/s/b7Bd8giwWVNF1CtkaDaVpw https://mp.weixin.qq.com/s/BixgyGFrlwZ7wpgDdrmU_g 软件开发行业就是这样奇葩,每一个问题被解决之后总是伴随着另外的问题出现,就像程序员改bug,为什么总有改不完的bug,真的很令人头大!!! 微服务虽然解决了一些问题,但是随着微服务数量的增多,配置、管理、扩容、高可用等要求的实现变的越来越困难

五年经验程序员告诉你,如何确定自己是否适合做程序员

£可爱£侵袭症+ 提交于 2019-12-05 13:45:15
在知乎上看到一个问题,如何确定自己是否适合做程序员? 好多答主都说需要智商高, 对计算机有兴趣爱好, 抽象能力要好。 …… 啊呸,也不知道这些刚下飞机的答主是不是程序员。 我在 it 行业工作了三年,换了几家公司,所以就以我三年程序员的经历,来说说做一名程序员需要什么。 1、喜欢运动,保持良好的身体去扛住 996 2、极强的心理素质,看着每天洗脸盆里的头发丝毫不慌 看,老师从来不慌 3、强大的逻辑思维能力,便于和产品撕 X 4、独到的审美,可以瞬间在优衣库中挑出最靓的格子衫 5、会修电脑、破解 QQ 密码,不解释! 6、忍受孤独,实力单身 对不起,我的世界只有代码 7、家里有矿,过了 30 岁就要准备退休的事了 如果你同时符合这七种要求,那你明天就可以来上班了。 咳咳,好了,玩归玩,闹归闹,别拿职业开玩笑,下面认真说一说做一名程序员都需要什么。 1、自学能力 + 持续学习 自学能力对于程序员来说是非常重要了,IT 需要的知识技术太多了,你工作用到的知识,大部分学校都没有专门的课讲授,更别指望工作后有谁专门教你,有的最多是技术分享,做一些介绍,想要掌握还是需要自己私下学习。 当然了,大部分技术工作都需要自学能力,但是程序员行业尤其重要。 重要到什么程度呢? 这么说吧,我刚工作那会用的框架,三年后基本都没人用了,如果想继续混下去,就要跟着趋势学,否则就要被淘汰。