程序员

《选择大公司还是小公司》(2010/06/11)

假装没事ソ 提交于 2020-01-06 02:49:41
很多人在第一次求职的人几乎都会遇到“到大公司还是到小公司?”问题。他们认为大公司的薪水高、工作稳定、技术水平高、升迁机会多,但是,大公司要求高,竞争激烈,自己怕进不了;而小公司薪水相对低一些,工作稳定性较差,技术水平参差不齐,升迁机会不多,但是,录取率相对较高。这可能是各种求职中一个常见的话题。这个选择应该是因人而异,几乎没有什么正确答案。所以,我们看到过选择大公司的人获得了成功,我们也看到过选择小公司的人获得了成功,相反的情况我们同样也一样见到。 作为程序员的求职,我想还是有些职业的特殊性的。程序员职业和一般的职业有很大的不同,程序员职业有其鲜明的特点 : : 1 、个人劳动 2 、产品可复制。这两个特点注定了程序员有很大个人发展的空间。 1、 个人劳动 表明其工作主要和劳动者自身有关。无论是程序员独自承担一个编程项目,还是在一个项目中承担着部分编程工作,都可以归集于个人劳动。不象有的职业需要昂贵的劳动设备,依赖于昂贵的设备,例如:炼钢工人必须要有炼钢厂的炼钢炉。也不像有的职业需要其他人联合劳动。例如,流水线上的装配工。也不象其他职业有严格操作规范和工作流程。例如,制药厂必须按照制药的配方生产药品。 程序员只要有台电脑(其价格可以忽略不计)就可以工作了,而且在工作时,是一个人在工作(工作前后,项目的衔接可以忽略不计)。其编程过程完全取决于程序员个人的技术水平发挥。 2、

10年程序员的一些人生感悟

偶尔善良 提交于 2020-01-06 02:47:03
10年程序员了? 恩,10年了,那就白话白话吧。。 对于开发的头五年,认真的做好你手头的事情,不要怀疑有没有前途之类的,真正的做好了,做什么都有前途。 1.做业务的成咨询专家了 2.做技术的成高级程序员了 3.连认真做需求的都成高级售前了,赚的比我高多了 当然你所从事的东西还是有级别差异的,同样是手熟,倒油熟练的还在卖油,射箭熟练的成将军了,这就是差别,不过这个不是刚工作几年的人能有足够的眼光看明白的。 除非有高人指点,否则还是做好你手头的事吧。 对于技术的选择 想起了前段时间回复给某个帖子的一句话 前期追深度,否则会华而不实,后期追广度,否则会坐井观天。后面这句尤其适合某些.net程序员。 对于某些无聊的崇拜 别什么整天博客园的大牛都走了,我入园子8年多了,没觉得现在的技术含量比过去低,其实一直都是这么回事,有感慨的大牛走的功夫还不如想想怎么自己做大牛呢。 对于英语 是你前期提升的关键,不是你未来发展的关键,要不咋有一大堆海归搁浅了呢 对于五年后的程序员(假设你已经到了高阶) 如何跳出当前的格局看到更远才是最关键的。。。 五年前的请无视吧,下面这段看多了会影响你们的。因为都是务虚的。 先说说刷名声。 什么,你会写程序,想想这个东西值几个钱?找几个大学生能不能干你的事。。。 做了这么多年,什么才是你的核心价值? 你程序写的好?会用设计模式?你在玩我吗,我只看到你实现的价值

Fiddler命令行和HTTP断点调试

大憨熊 提交于 2020-01-05 07:36:52
一. Fiddler内置命令。 上一节( 使用Fiddler进行抓包分析 )中,介绍到,在web session(与我们通常所说的session不是同一个概念,这里的每条HTTP请求都成为一个session)界面中可以看到Fiddler抓取的所有HTTP请求.而为了更加方便的管理所有的session, Fiddler提供了一系列内置的函数用于筛选和操作这些session(习惯命令行操作 Linux 的童鞋应该可以感受到这会有多么方便).输入命令的位置在web session管理面板的下方(通过快捷键alt+q可以focus到命令行). Fiddler内置的命令有如下几种: 1. select命令。 选择所有相应类型(指content-type)为指定类型的HTTP请求,如选择图片,使用命令select image.而select css则可以选择所有相应类型为css的请求,select html则选择所有响应为HTML的请求(怎么样,是不是跟SQL语句很像?)。如图是执行select image之后的结果: 2. allbut命令。 allbut命令用于选择所有响应类型不是给定类型的HTTP请求。如allbut image用于选择所有相应类型不是图片的session(HTTP请求),该命令还有一个别名keeponly.需要注意的是

JAVA中的GC机制详解

断了今生、忘了曾经 提交于 2020-01-05 04:55:48
优秀 Java 程序员必须了解的 GC 工作原理 一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率 ,才能提高整个应用程序的性能。 一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率 ,才能提高整个应用程序的性能。本篇文章首先简单介绍GC的工作原理之后,然后再对GC的几个关键问题进行深入探讨,最后提出一些Java程序设计建议,从GC角度提高Java程序的性能。 GC的基本原理 Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。 对于程序员来说,分配对象使用new关键字;释放对象时,只要将对象所有引用赋值为null,让程序不能够再访问到这个对象,我们称该对象为\"不可达的\".GC将负责回收所有\"不可达\"对象的内存空间。 对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象(详见 参考资料1 )。通过这种方式确定哪些对象是\"可达的\",哪些对象是\"不可达的\".当GC确定一些对象为\"不可达\"时

六年码农生涯的 2019 总结:君子坐而论道,少年起而行之

旧巷老猫 提交于 2020-01-04 03:24:15
随着 2019 的过去,2020 迎来了第六年的码农生涯,过往如烟挥之即散,所以我习惯通过一些关键词来凝结这一年的收获,而 2019 我总结的关键词是: 技术大会、焦虑、耐心、学习、竞争力。 技术大会 2019 年参加了不少技术大会,对于技术大会可能会有一部分“过来人”感觉不屑一顾, 因为大多数时候技术大会看起来像是广告大会,分享内容可能往往也过于“空泛” ,参加的既得收获其实并不高。 但是在时间允许的情况下,我还是喜欢参加到各类技术大会中,甚至在 2019 年有幸作为分享嘉宾参与了技术分享, 这可能和我“外向”且“话唠”的性格有关,因为我觉得技术大会和技术分享更像是「程序员之间的应酬」。 作为程序员,特别是非大厂出生的码农,我们日常的工作可能都是在自己的小圈子内折腾, 有很长一段时间我都处于“坐井观天”的状态,认为自己达到了“瓶颈”人浮于事 ,而参加技术分享让“井口”慢慢地变得更大,同时也接触到了不一样的人和圈子。 在一开始选择参加大会是因为对大神或者大厂的憧憬,我相信这也是大部分人参加大会的初衷 ,这种憧憬对于职场“老油条”来说可能显得幼稚, 但也正是这种憧憬让人有了前进的向往,因为“台上人”展示了更多的可能性 : “也许我也有机会参与其中…” “未来有一天我也可以站在台上…” 所以在参加大会最主要在于“不要矜持”,人总是需要一些外部的刺激,而和优秀的人交流总会发现:自己的路

程序员:我们为什么爱上直播编程?

你。 提交于 2020-01-04 00:29:31
在“直播”没有进入互联网之前,我们是不会想到几乎所有事情都可以通过互联网,电脑或移动设备展现在公众面前。如今,无数网红通过直播分享他们的生活和工作,与粉丝互动,甚至成为全职的播客。而程序员,作为互联网技术以及无数电脑或移动设备应用程序的创造者,他们在“直播时代” 同样表现得十分活跃。他们通过直播平台,把自己开发某个软件甚至是整个项目的过程,全部展现在观众面前,与同样喜欢编程的人分享,将兴趣,工作与乐趣融会到直播过程中。 前Opera软件工程师,来自波兰的Noisy,他在最近写的一篇博客——How to increase a productivity as a software developer?(《作为软件工程师,应该如何提高工作效率?》)中就提到了Livecoding.tv这个专为程序员提供的编程直播平台。Noisy在他的博文中首先抛出了这样一段话:”I don't remember exactly how I found a LiveCoding, but I remember the impression which this website made on me. I started my adventure with programming in 2003 Then I didn't even had an internet connection. ” (

黑马程序员:从零基础到精通的前端学习路线

微笑、不失礼 提交于 2020-01-04 00:16:09
黑马程序员:从零基础到精通的前端学习路线 随着互联网的深入发展,前端开发工程师一跃成为市场上非常抢手的人才。很多同学,包括以前做UI的、Java的、或者对于IT完全零基础的同学都想学习前端。下图是网上流传甚广的一张前端学习思维导图,很多初学者表示看到这些密密麻麻的知识点就已经晕了。确实,前端是一门涵盖面很广的学科。但是想学前端的你也不用慌张,内容虽多但有迹可循,只要循序渐进就不怕学不好前端! 那么前端开发到底需要学什么?应该怎么学?接下来黑马程序员前端学院教你如何从零基础学习前端。 一、前端开发入门 在入门阶段,你首先要学会最基本的技能:根据UI的设计稿,实现HTML的静态页面制作。这就要求你得掌握HTML、CSS页面布局排版、样式美化等技能。 在这个阶段你需要学习: 1、HTML+CSS基础 掌握HTML的标签使用、排版技巧、CSS的布局定位、样式美化、浏览器兼容性。 2、JavaScript基础 掌握JS的基本语法、条件、语句、循环等,学会常用算法,增强逻辑性。 3、常用的前端工具 比如Webstrom、Sublime、Dreamweaver等。掌握其快捷键设置等技巧,可快速提高开发调试效率。 这个阶段的学习难度相对不高,学完这些之后,我们已经能完成静态页面的制作。当然,这只是入门,如果你想用这些技能找工作的话还是比较困难的。 二、前端开发初级 在接下来的这一个阶段

他是一代程序员的传奇,腾讯最隐秘千亿富豪

送分小仙女□ 提交于 2020-01-03 21:17:31
在2019年福布斯中国富豪排行榜单上,马化腾惜败马云,位居第二。但腾讯系的实力却十分强劲, 前CTO张志东以1000亿元的身家,占据了第17名的好成绩 。 不过外界鲜有张志东的新闻, 作为腾讯最早的技术大神 ,他一直保持着技术宅的优良作风:隐秘且低调。 1989年,少年张志东与高中三位兄弟约定报考深圳大学计算机系。当时中国互联网方兴未艾,深圳大学是少数开设计算机专业的院校,前景十分广阔。 四人中,马化腾、张志东和许晨晔都考上了深大计算机系,唯有当时提议的陈一丹高考发挥失常,进入了化学系。 但这并未让四人的感情变淡,每当有闲钱时,他们都会到校外的大排档喝上个三五瓶,恣意享受着青春。 张志东等人的友情,就在一顿又一顿大排档中持续升温。张志东在完成华南理工的研究生学业后,与大学好友共约创立了腾讯。而值得注意的是,腾讯在创业早期,很多会议上都是大排档里开的。 他们会在大排档里点上鸡煲饭,虽然会议中不乏激烈争论,但累了便有饭吃。 张志东还亲切的称呼为:鸡煲会议。当时腾讯的众多战略都在此决定,包括卖掉QQ。 1998年,张志东作为腾讯第一代产品经理,对QQ业务进行了架构性设计,并且持续培养开发。 在技术迭代多年后,该架构还一直被腾讯使用,可见其技术之强 。 张志东热爱工作,唯一爱好就是下象棋。他个子比马化腾矮一头,圆脸且性格温和。但每每和马化腾因技术问题起争执时,他都会红脖子。

今年是程序员本命年?

自古美人都是妖i 提交于 2020-01-03 20:12:50
1024是2的10次方,1024=2¹º。 在计算机中,1GB=1024MB,1MB=1024KB,1KB=1024Byte。 因此1024多指互联网和科技公司,经常表示程序员,另外还表示一级棒的意思(1GB)。 image 996是个工作制,表示工作时间从早上9点到晚上9点,每周工作6天。也就是说,每周要工作60个小时。很多互联网公司都有一个潜规则,那就是996工作制,因此程序员之间就有一种说法是,工作996, 生病ICU,颇为辛酸却无奈。 image 为什么说今年是程序员本命年呢? 2020 = 1024 + 996,那意思就是程序员在2020都得996呗! 这里也不是所有人都得996,本命年对有些人来说是好运年,但是总会有部分人是不那么好运的年头。继续学习,努力工作,你的本命年就是好运年。 越努力越幸运! 祝各位在2020新年里登上人生顶峰! 本人免费整理了Java高级资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo高并发分布式等教程,一共30G,需要自己领取。 传送门: https://mp.weixin.qq.com/s/osB-BOl6W-ZLTSttTkqMPQ 来源: https://www.cnblogs.com/yunxi520/p/12146568.html

如何设计出优美的Web API?

扶醉桌前 提交于 2020-01-03 12:15:32
本 系列 前序文章索引: 程序员 为什么必须要懂架构? 架构到底是什么,你知道吗? 架构都有哪些,我该怎么选? 架构师都干什么,你知道吗? 架构师, 我们程序员打怪升级的主要方向,它不像某些技能报个培训班就能获得。胜任架构工作需要具备许多技能,既有硬技能还有软技能。俗话说:一口吃不成胖子。从程序员到架构师也无法一蹴而就,它是一个循序渐进、稳步提升的进阶过程,每个阶段都有每个阶段要掌握的技能,多项技能之间还存在先后顺序。如果想尽快转型升级至架构师,那你必须在日常工作中有意识地储备这些技能,接下来老兵哥结合亲身经历来给小伙伴们分享一下: 1. 硬技能 不像产品、管理等条线更加倚重通用技能,从技术条线转产品或管理,入门相对容易一些。但从产品或管理很难转型至架构,架构师必须从开发测试岗做起,在工作中不断提升专业技能和积累实践经验,从一个模块开始,到一个子系统,再到整个系统,最后到多个系统,这是一个循序渐进提升硬技能的过程,也可以看成构建架构师硬技能“点线面”。 1.1 点 老兵哥我刚入行时的岗位就是开发工程师,跟其他几个毕业生一起被安排在自动化测试平台项目组,整个系统由部门资深同事设计的,我们分别负责开发其中某个子系统的几个模块。这个阶段我主要关注函数、类和模块这个粒度,为了做好工作我要钻研编程语言 C/C++,以及熟悉 Visual C++ MFC、Socket 等代码库的使用