程序员

mysql事务隔离界别与锁机制

你说的曾经没有我的故事 提交于 2020-02-05 22:58:43
数据库锁 共享锁(Shared lock) 例1: ---------------------------------------- T1: select * from table (请想象它需要执行1个小时之久,后面的sql语句请都这么想象) T2: update table set column1='hello' 过程:T1运行 (加共享锁) T2运行等待T1运行完之后再运行T2 之所以要等,是因为T2在执行update前,试图对table表加一个排他锁,而数据库规定同一资源上不能同时共存共享锁和排他锁。所以T2必须等T1执行完,释放了共享锁,才能加上排他锁,然后才能开始执行update语句。 例2: ---------------------------------------- T1: select * from table T2: select * from table 这里T2不用等待T1执行完,而是可以马上执行。 分析: T1运行,则table被加锁,比如叫lockA T2运行,再对table加一个共享锁,比如叫lockB。 两个锁是可以同时存在于同一资源上的(比如同一个表上)。这被称为共享锁与共享锁兼容。这意味着共享锁不阻止其它session同时读资源,但阻止其它session update 例3: ---------------------------------

写给程序员儿子的一封信

蹲街弑〆低调 提交于 2020-02-05 22:55:01
亲爱的儿子: 当你打开这封信的时候,我已经离开波士顿回到加州了,你也已经结束自己最后一个暑假,去往自己非常喜欢的公司。 虽然你我都是程序员,但是你却很少向我咨询过技术相关的问题,咱们上一次一起写代码,也是你高考结束那个暑假了。不过前几天你问了我一个问题,你说,如果让你写一封信,跟当初刚刚成为程序员的自己说一些话,你会说什么呢? 我在想,我会说些什么呢?我想说的太多了,可是如果说了,他能听进去多少呢,就算听进去了,他又会用到多少呢?我想起了瑞·达利欧的《原则》,如果我把我这几年的经历、收获,总结成几条原则,是不是会好一些。 以下,是我总结的几条原则。 1.权威精神 对于某一项具体技术来说: 官方文档、白皮书、论文,比博客更权威; 由此引申出: 谷歌比百度更权威,因为谷歌的搜索结果,权威的资料靠前,而百度,靠前的多是博客; 大多数时候,英文文档比中文文档更权威,因为官方文档、白皮书、论文,大多数是英文的; 如果你想向别人解释一项技术,那么请向他们展示权威的资料,而非一些网络上的博客; 为什么这么强调权威精神? 《禅与摩托车维修艺术》里,作者和朋友骑摩托车去沙漠,车坏了,朋友依靠直觉和经验,尝试了各种办法,就是修不好,而作者找到了他购买摩托车时配套的指导手册,照着上面的步骤排查,很快找到了导致车子故障的原因,换了个零部件,车子就好了。 数学、物理的很多研究,都是基于定理之上

java路怎么走

故事扮演 提交于 2020-02-05 21:02:21
我也搞了几年JAVA了,由于一向懒惰,没有成为大牛,只是一普通程序猿,不爱玩社交网站,不爱玩微博,唯独喜欢百度贴吧,潜水很久了,手痒来给新人分享下从新手成长为老鸟的已见,也刷刷存在感,应该不比曝照差吧。 首先初识语法的阶段,必须要学会怎么操作对象,操作if和for,操作list set map,然后是线程、IO和jdbc什么的,其余的,若是一时不理解,可以后边需要时再学。 这阶段完了,你可以写些能在控制台打印出来的小程序,锻炼下逻辑思维。也就是号称JAVASE毕业了,其实不过是入门而已,如果要往WEB方向发展,这些倒是基本足够了。 接下来要学HTML JSP SERVLET 数据库 JAVASCRIPT TOMCAT,目标,写出第一个动态网站,也许只是个登陆功能,只能展示下个人资料,但这是很重要的一步,你要弄清楚的是,一个用户的点击产生的请求,是从哪里发起,哪里接收,哪里处理,哪里返回,你得理解浏览器和服务器的关系和分工,cookie和session,request和response。这个是个WEB开发的学习初级阶段,这都是些JAVA诞生以来最原始的最官方的WEB开发技术,当然现在真正的项目很少直接采用这些技术了,为了不断提高技术的易用性、开发效率和可维护性、可扩展性,无数开源项目都是在这些原始技术的基础上封装、改进。所以这个阶段不要盲目乐观地跑去找工作或者对实习挑三拣四

代码精进之路——关键的六个特质

北战南征 提交于 2020-02-05 18:37:52
优秀的程序员是什么样的?或许每个人都有不同的答案。范老师给出了优秀程序员应该有的六大核心特质。 掌握一门编程语言 工欲善其事必先利其器。个人认为与其每样都懂一点不如精通一门,这样才能拥有核心竞争力。 能够解决现实的问题 优秀的程序员还要深入理解问题,懂得问题的最核心价值。只有理解了问题,看到了解决问题的价值。我们一定要记得,程序员的存在不是为了写代码,而是为了解决现实问题。 发现关键的问题 能够发现关键的问题,是一个好程序员和优秀程序员的分水岭。能够发现关键的问题,意味着我们可以从一个被动的做事情的程序员,升级为一个主动找事情的程序员。 沉静的前行者 优秀的程序员,一定是懂得妥协,懂得选择,懂得取舍。每一行代码都有很多种写法,或许某一种不是最好的,但是适合当下的代码才是最值得编写的。 可以依赖的伙伴 优秀的程序员是他人可以依赖的伙伴。 优秀的程序员是一个领导型的人。他能够倾听,持续地获取他人的优秀想法,以及不同的意见。他能够表达,准确地传递自己的想法,恰当地陈述自己的意见。他是一个给予者, 给别人尊重,给别人启发,给别人指导,给别人施展才华的空间。他是一个索取者,需要获得尊重,需要获得支持,需要持续学习,需要一个自主决策的空间。他能够应对压力, 承担责任,积极主动,大部分时候保持克制和冷静,偶尔也会表达愤怒。他具有一定的影响力,以及良好的人际关系,能够和各种类型的人相处

Delphi开发能力自我评测

♀尐吖头ヾ 提交于 2020-02-05 15:08:46
转载至 : http://www.delphifans.com/infoview/Article_4628.html (注:以下内容都是作者个人的学习经验和体会,仅代表个人观点。针对Win32下的Delphi程序开发而言,部分内容或思想也可适用于其它工具或平台下的软件开发。) 在程序员的求职资料中,用得最泛滥的词可能是“熟悉”和“精通”了。评价一个程序员的综合能力并不容易,下面的文字试图以Delphi程序开发为例定义一种描述程序员开发能力的方法。 一、学习阶段划分。 根据我个人的经验,Delphi程序设计分为以下几个阶段: 1、 熟悉阶段。 这一阶段指从未接触过Delphi的人,刚开始学习到初步掌握Delphi的语法、可视化编程、面向对象编程的概念、Delphi IDE开发环境、基本代码编写、程序结构的过程。 熟悉阶段结束后,学习者应该可以编写简单的程序,同时对整个Delphi开发环境有一定的了解,但还不能从事开发工作。 根据学习者是否有编写其它语言代码的经验、是否接触过面向对象编程等因素,这一过程可能需要数天到数十天的时间。 2、 入门阶段。 在熟悉Delphi后,入门的标志是学习者可以有目的地利用Delphi强大的可视化开发环境、结合一些常规的代码编写技术,编制一些小型的程序,或是完成简单的数据库应用。同时,还应掌握基本的程序调试方法。 入门后,程序员可以从事简单的开发工作

程序员必备储备资源网站

放肆的年华 提交于 2020-02-05 09:43:51
文章目录 程序员必备储备资源网站 1.前端网站模板 2.前端开源项目CDN 3.前端W3C 4.黑马视频库 5.AI开放平台(代码开源) 6.讯飞开放平台(语言识别做的好) 7.图灵机器人 8.源及私有软件项目的托管平台 9.码云 10.菜鸟 11.程序员临时在线工具箱 12.程序员客栈 13.程序员各类图标库 程序员必备储备资源网站 1.前端网站模板 1 . 前端网站模板 http : // www . cssmoban . com / 2.前端开源项目CDN 2 . 前端开源项目CDN https : // www . bootcdn . cn / 3.前端W3C 3 . 前端W3C https : // www . w3school . com . cn / 4.黑马视频库 4 . 黑马视频库 http : // yun . itheima . com / 5.AI开放平台(代码开源) 5. AI开放平台(代码开源) https : // ai . baidu . com / 6.讯飞开放平台(语言识别做的好) 6 . 讯飞开放平台(语言识别做的好) https : // www . xfyun . cn / 7.图灵机器人 7 . 图灵机器人 http : // www . turingapi . com / 8.源及私有软件项目的托管平台 8 .

2020-01-23

余生长醉 提交于 2020-02-05 07:59:05
2019个人感悟: 时间流逝,光阴似箭2020春节马上到了在回顾过去一年我真的有得有失,过去的一年我经历人生几件大事也是我人生关键的几件大事使我感悟颇深,首先我在前半年又得了一个小棉袄心里是非常相当的开心,同时也是是倍感压力大,也基本泼灭了我在城里里面安家立业的妄想,在这一年也购买了人生当中的第一辆代步车(桑塔纳)也算有车了吧,把家里的所有积蓄都发没了。经过努力2019年获得软件设计师证书,真的是功夫不负有心人啊,而在临近年末我又离职了,离开了一个有点国企性质的大型企业。用我媳妇的话说就是 非要折腾一下,真的是应了那句话人生不折腾你活着干嘛。 下定决心踏踏实实干,为什么这么说呢,从事软件这个行当已有6个年头,不算现在的工作已经历经了3家公司,说出来都是泪,总之非常感谢在这几年当中给我饭碗几家公司。在这过程当中使我收获了很多能坚持不懈的走下来,是自己内心不放弃,从一个小白到现在… 在二线城市郑州滚打摸爬可以说历经千辛万苦,程序员真的是比取经还难,当你在路上的时候你不知道目的和佛祖在哪,真经真的都是自己练出来的。回顾过去的一年真的是我这么些年开发结果的一年。2020年本着自己年龄以及家庭我决定在个人学习上放弃考研继而继续准备冲刺软件架构师这个岗位以及职称证书考试。对于工作上安排希望能能够在踏踏实实而立之年应该收敛点谦虚点做出成绩

程序员经常聚集的开发者社区总览表

[亡魂溺海] 提交于 2020-02-04 22:58:08
不管是编程菜鸟还是程序员大牛,都需要有自己的交流圈和学习平台,根据我自己的经验总结分享一些开发者论坛、社区啊,有大牛聚集的地方,有新鲜的资讯、源码下载等。 1、 csdn CSDN是中国最大的开发者技术社区。它是集新闻、论坛、群组、Blog、文档、下载、读书、Tag、网摘、搜索、.NET、Java、游戏、视频、人才、外包、第二书店、《程序员》等多种项目于一体的大型综合性IT门户网站,有很强的专业性,其会员囊括了中国地区百分之九十以上的优秀程序员,在IT技术交流及其周边国内中是第一位的网站。 2、 DevStore DevStore全称Developer services Store,是全球首家开发者服务商店,是一个开发者服务整合类平台,目前DevStore已汇集国内外500余款开发者服务,这个数量每日还在继续增加。每个服务都有相对应的服务评测报告。开发者可以在这里提交服务、下载源码、评测、对服务进行对比并进行评论等等。交流群:367554077 这里汇集了一大批高质量的安卓开发者和IOS开发者,和高级评测人员。 3、 开源中国 开源中国成立于2008年8月,是目前国内最大的开源技术社区,目前开源中国拥有130万会员,经过不断改进,已经形成了由开源软件库、代码分享、资讯、翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。2013年

我为什么从业务程序员走向大数据开发?

谁说胖子不能爱 提交于 2020-02-04 14:02:44
如果程序员只懂编程,其生存空间会越来越窄,发展也会处处受限。 互联网公司,开发人员的日常工作任务,大致有如下几类: 1. 产品人员需求(业务开发); 2. 运营人员需求(活动); 3. 以及技术团队自身技术更迭; 从主动性来看,可能只有最后一种,是程序员自己真心喜欢的,其他的,都是被动接受。 加上不懂业务的程序员,反抗精神不足,基本上产品和运营同学,提什么需求就做什么需求。 我遇到好多程序员,问他对自己实现的功能怎么理解?基本上都会回答:产品/运营同学让这么做的。 我一直也在自己提醒自己:一个开发人员要有产品思维、用户思维。 对程序员来说,功能是你实现的,代码是你一行一行的敲出来的,你是它的缔造者,你最熟悉它。你最应该关心每一个实现的功能点,是否真的能给使用人员带来效果。 常常,听到最多的抱怨:”我们公司产品用户量太小了,没几个人用,没有成就感。”,“我费劲实现的功能都没有使用,当初怎么考虑的这个需求。”。。。你自己难道不应该考虑吗? 从事开发工作的时间也不短了,一直在传统的互联网工作做业务开发。工具类的、金融类的、电商类的、社交类的,多少都涉猎了。 从技术实现,到技术选型,架构设计,到最后的带团队,开始管理之路。一路走来也颇有体会,忧虑也时常伴随着。对技术,还是不舍得放弃,也在不断的提高自己技术的敏感度,从深度转向广度。 大数据技术,成为了我最近几年的一个技术尝试

程序员年入百万指南(一)

我的梦境 提交于 2020-02-04 13:56:15
本文为【程序员年入百万指南】系列之VOL.1 作者:胡嵩 「 认知决定成败 」。我们先来做个小测试: 作为一个程序员,大家觉得自己的收入是由以下哪一个或几个决定的? A. 技术能力 B. 领导赏识 C. 对公司的贡献 D. 公司业绩 正确的答案是 ↓ ↓ ↓ 以 上 全 错 ​ 很多初入职场的同学,我猜都会 选A 。但随着时间的推移,经历了快速成长期,即便在技术上有了很大的提升,加薪也总跟自己无缘。 这时,看到身边有人得到领导赏识,走上管理岗位升职加薪,可能又会 选B 。结果总是遇人不淑,得不到领导的青睐。 而 选C 和 选D 的同学,你们大概是走错片场了,一般只有销售、运营这些直接跟公司收入挂钩的岗位,收入才会明显的和公司业绩搭上关系。 ----- 嵩哥从业以来,少说也 招聘过1000+个工程师,搭建过好几个公司的技术职级体系 (鄙人不才,百度现有的技术体系也是我搭的,并且百度的这套体系直接被头条美团等公司直接沿用)。 我可以非常郑重的告诉各位, 没有一个技术岗的薪酬是由以上因素决定的 (别抬杠,注意决定二字)。 真相是 技术岗位的收入取决于该岗位的稀缺性,和其他公司愿意为同等岗位付出的价格 。这两条其实是一回事。 越稀缺、越值钱,这就是市场规律 。 没错,每个求职者和每个招聘者都在玩一个叫劳动力市场的游戏。 招聘者有岗位需求,愿意以一定的代价招到符合岗位要求的人