这ai是什么软件件的???

gameappredir.sys这个是什么文件啊,怎么删除?老蓝屏幕!!!急急!!!怎么处理!!???
内容为广告/垃圾,我要举报!
特聘专家具有协助内容审核的特权
举报后内容将不能在前台展示
错乱举报会导致该权利被剥夺
选择举报原因&
已有3个回答
[特聘专家]
内容为广告/垃圾,我要举报!
特聘专家具有协助内容审核的特权
举报后内容将不能在前台展示
错乱举报会导致该权利被剥夺
选择举报原因×
擅长领域:
参与话题:
这个应当是驱动文件,建议你使用360安全卫士功能大全里的驱动大师重新安装硬件驱动,然后再用360安全卫士的优化加速功能应当就可以了
留下你的评论
[见习专家]
专家星级&:&3.1星
问答堂专家综合评分
问题评分&:&5星
采纳、点赞&:&0星
二次回复率&:&1.5星
内容为广告/垃圾,我要举报!
特聘专家具有协助内容审核的特权
举报后内容将不能在前台展示
错乱举报会导致该权利被剥夺
选择举报原因×
擅长领域:
参与话题:
请先进去安全模式卸载这个驱动!!修改开机启动项! 然后再正常开机重新安装!
留下你的评论
[编辑专家]
专家星级&:&3星
问答堂专家综合评分
问题评分&:&5星
采纳、点赞&:&0星
二次回复率&:&0星
内容为广告/垃圾,我要举报!
特聘专家具有协助内容审核的特权
举报后内容将不能在前台展示
错乱举报会导致该权利被剥夺
选择举报原因×
擅长领域:
这个应该是和游戏相关的缓存文件,一般.sys结尾的基本都是缓存文件,可以直接删除文件。
留下你的评论
微信公众账号ZOL问答堂
关注微信,随时随地解答您的疑惑
ZOL问答堂官方微博@ZOL问答堂
关注成功!该问题被回答后,将给您发送站内短信。
您也可以通过关注问答堂微信,及时获得您关注问题的回答。
微信关注问题方法“”程序员的核心竞争力是什么?为什么?
按投票排序
112 个回答
姚冬回答的非常好,我狗尾续貂的说几句。我们都知道学习能力很重要,那么学习能力从何而来,除了去看书上课这种,如何在实践工作中学习成长?我之前微博说了一个笼统的概念,什么是能力? 对待问题的态度,以及处理问题的思路和方法。先说态度你服务器偶尔出501错误,也许比例不高(知乎也出现过很多次),很多程序员,没错,是很多,假装看不见,不在乎,或者归咎于人品问题。 这就是态度问题。再往后,负载高了或者其他什么原因,突然频繁出现501错误,不去追寻深入的原因,而是找各种借口, 什么IDC服务商不好,服务器品牌不好,操作系统不好,数据库不好,CDN不好,网络状况不好,web server不好,甚至,直接对Boss说我们被DDOS啦!(遇到过,帮他Boss找过多个安全专家会诊,最后发现根本不是DDOS,是程序员太烂。)这就是态度,触目惊心,如果能对问题有敏感性,能知道对任何小的,轻微的问题有足够的敏锐度,你就有了一个快速成长的基础。对问题的敏锐度是非常重要的。很多性能或程序逻辑上非致命的bug,在不够敏锐的时候是发现不了的,但是一旦进入特殊场景就会骤然爆发,你多一点敏锐度,就会减少这种危机的风险。第二个态度是解决问题的态度,有人对自己的解决方案信心满满,认为万无一失,但有的人就会多留一条后路;就好比你说我服务器要不要做安全加固,肯定要做对不对,要做到尽可能严谨和周全,但是你数据库保存密码的时候是不是还要加密?而且要随机salt,不就是防止万一依然有漏洞被人拿库怎么办么。程序也一样,以前写的一些服务端守护进程,有bug,会莫名其妙的终止,这个bug当然要定位,要修复,但是同时,写一个cron检查这个守护进程状态,一旦遇到终止给予自动恢复,这就是第二手准备,即便你多么不希望他执行,这个准备还是要做的。对问题 做两手甚至三手准备,也是优秀程序员,架构师的关键素质。第三个态度是基于沟通与理解的态度,产品或运营提了一个不靠谱需求,一句话打回去当然很爽很威风,但是有没有仔细沟通分析过,这个需求基于怎样的实际诉求,这个实际诉求有没有更合理的实现途径,一句话“这个没法做,这个实现成本太高”,不是正确的沟通态度,而且,最优秀的产品,往往是实现了那些原本人们认为无法实现的诉求。这样的态度,才有了一个持续进步的基础,下面说思路和方法。优秀 的程序员和平庸的程序员,如果只看敲打代码的速度,我觉得是分不出来的,也许每人都可以一天写很多行代码,但是遇到问题后,平庸的程序员的解决效率,和优秀程序员相比就会有天壤之别。 所谓解决效率,不外乎对bug的分析、定位,以及 思考。最基本的一条,看执行日志,看各种日志,web server的日志,数据库 的日志,慢查询日志,binlog日志,php的错误日志,等等等等,线上出问题瞎猜连日志都不看的大有人在。看日志不仔细不完整的也大有人在,你能去认真研究日志已经超越很多人了。第二条,模块测试和断点分析,程序员一个坏习惯就是上来就写很大一坨代码然后再执行,不知道一个模块一个模块来写来测试,执行出了问题不知道设置断点,缩小范围逐步分析。断点分析非常简单,将整个代码中插几个中间输出,观察哪个环节出了问题,或者观察每个环节的系统开销,对调错和性能优化都非常重要,高手们大概认为这是ABC的东西,但是就这玩意我看到的大部分程序员都没有这个习惯。第三条,错误信息 的理解和搜索,搜索引擎上有各种丰富的技术资料和技术问答,你所遇到的错误信息和错误提示,通常都能在网上搜索到,当然,搜索到后要结合你的场景认真思考,并理解透彻,而不是照猫画虎的去处理,否则可能这次运气好就蒙对了,下次运气不好又不知道怎么回事了。第四条,不断总结归纳,对一个问题,一类问题,以及不同类型的问题,善于归纳整理,不断反思自己的问题,即便是不出bug的代码,你经过一段时间去回头看,也有很多思考不正确不合理的地方,有很多优化点,如果你觉得自己的代码一向牛逼,毫无破绽,那你一定是原地踏步,毫无进展。关于 归纳总结,我说个案例以前我们有个系统,请求量非常大,负载非常高,有个不错的技术经理来处理,他列了几个升级计划,都很靠谱,去执行了,效果非常好,然后我们跟进汇报的时候他来讲,做了几项升级,整体效果如何,然后我就批评了他。我批评了什么呢?他是一起做的升级,然后一起观测的效果,那么这几个方案里,具体每个方案的实际效果怎样,对提升的帮助多大,他没有任何数据。所以对具体每个升级方案的价值和重要性,他没有任何概念。你正确的解决了问题,却没有认真的去归纳整理,你的收获是有限的。一起做升级不能说是错的,但是效果评估需要单独去做,而这个数据是非常有价值的,知识积累,不是你处理过的就一定有积累,而是整理过的。大概就这些最后重述一遍什么是能力?遇到问题的态度处理问题的思路和方法这就是能力点赞的那么多,答谢各位,补充几条思路吧,是上面几个方法的具体扩充补充1:善于提问,你能得到怎样的答案,取决于你提出怎样的问题。你遇到问题,你应该知道,从哪里去问,去问什么。我常见的一个测试题是这样的。数据库目前挂了,我就是服务器,我不知道为什么挂了,你是一个优秀的分析师,现在我来做响应,你问我问题,你问一个问题,我回答一个指标,然后看你能不能定位问题。(当然,我会根据所假设的问题回答所有数据指标),比如你问我数据库连接数多少,问我系统i/o压力多少,或者问我慢查询日志里有什么,等等,善于提问的人就可以快速得到答案,而不善于提问的人,就会猜测一堆可能,最终却一无所获。有个真实好玩的案例,有个兄弟公司(前段时间新闻出来,卖了好像十个亿的样子),开始的时候服务端数据库不够强壮,负载起来的时候会出现一些问题,就请我去把脉,我一看windows服务器,SQL server (不要猜了,那是几年前,现在应该改了),我说这个我不会啊,然后人家那么热忱当我是专家,只好硬着头皮上,我连基本操作都不会怎么办,我就坐在那里问问题,开始他们说是不是这样,是不是那样,我说你们不要盲目下结论,你们要是知道结论就别来问我了,我问什么指标,什么日志你们就给我查什么,我就一样样的问,他们现场操作去查数据,我问一个他们查一个给我看,查着查着,他们的工程师说,知道原因了!果然和他们开始的假设完全不同。 其实关键就是问问题的思路,他们一开始没有提出正确的问题。提出了正确的问题,他们很快自己就找到了原因。补充2:善于划定范围,缩小问题区间。前面提到的断点分析是一个非常常见的分析方法,但是很多场景,你甚至不知道是哪个程序出的问题,善于将问题范围化,也是一种归纳和分类的能力。我曾在某个技术群出过一个经典测试,还记得以前微博上提到的一个经典面试题么。“从浏览器输入url到打开网页,中间经历了什么”,这是一个经典的综合认知的题目,基于这个题目,出一个更实战的场景测试是(这个场景其实90%的网站站长和游戏运营商都遇到过),”目前有用户反映网站或游戏卡,请问如何分析原因,以及当前优先级步骤。“。结果在这个群里,只有我徒弟说出了完全正确的答案(09年带过的)。优先级第一步是看在线用户数和当前访问数,对比历史,得到该问题目前的影响程度,来决定后续的优先级,以及减少分析范围。(这是意识问题) 分析思路,分成三大块,前端,网络层,服务端。当然这三块可以继续延伸下去非常多细节,但是至少,能先把问题分成三大块,然后基于一些显见的分析方式快速排除其中几个部分,再逐步细化问题,而大部分人只是从一个局部去思考,讲了很多局部细节却没有完整的纲领,所以这就是差距。先想到这些,咳咳。
学习能力,尤其是自学能力,你啥时看到那些有名的程序高手在论坛上问“学习XX该看什么书,如何快速学习XXX,学习XXX有什么代码推荐”之类的问题,他们想学什么很快就能自己找到相关资料。这个行业发展太快,技术淘汰的速度也很快,3年不学新东西就可能落伍了。动手能力,都是看书看资料,当别人还在纠结看什么书,还在纠结书里的字句是什么意思的时候,有些人的几百上千行代码都已经能运行了。耐心和毅力,做程序员兴趣固然重要,写自己喜欢的代码那是相当愉快的事情,但是程序开发中无论如何还有大量乏味无趣的事情,要能坚持,咬牙把这些做完。表达能力,能在大庭广众下,把自己的想法逻辑清晰流畅地讲出来,让人听懂。那么技术呢?技术不重要,有了以上几种能力,市场上需要什么技术,很快就能掌握了。最后再说说工资的事,记住两句话:工资不是老板对你过去贡献的回报而是对你未来贡献的预期。现任老板不可能给出让你满意的工资,下一任老板才会。
以前看过孟岩先生blog中的一段,感觉说的很好那么核心竞争力是什么?我观察圈子里很多成功和不成功的技术人,提出一个观点,那就是个人的核心竞争力是是他独特的个性知识经验组合。
这个行业里拥挤着上百万聪明人,彼此之间真正的不同在哪里?不在于你学的是什么技术,学得多深,IQ多少,而在于你身上有别人没有的独特的个性、背景、知
识和经验的组合。如果这种组合,1,绝无仅有;2,在实践中有价值,3,具有可持续发展性,那你就具备核心竞争力。因此,当设计自己的发展路线时,应当最大限度地加强和发挥自己独特的组合,而不是寻求单项的超越。而构建自己独特组合的方式,主要是通过实践,其次是要有意识地构造。关于这个观点,话题太大,我不打算赘述。
“玩算法的码农,打拼靠蓝条,像是法师。数学就等于蓝条最大值,数学差,魔法值不高,很快就到瓶颈了。外语影响回蓝速度。经验和智力加急速和穿透的。不玩算法的码农,像是战士,打拼靠血条,体质加生命,精神加生命回复,经验和敏捷加急速和破甲。”
问:池老师,我是个不爱互动的人,但是您所有的文章我都看了,非常感谢您的引导,我入手了人生第一台 MBP。现在问题来了,但是找不到更合适的人解答,只能求助于您了,如果您有时间的话。问题是这样的:我有个32bit unix file(开启一个服务进程),在 Mac 上执行时错误提示是:exec format error,但是在 Linux 服务器却可以执行,为何?Mac 上有可以运行的方案吗?期待您的回复,不胜感激。答:Linux 和 OS X 是不同的操作系统,可以尝试在 OS X 里重新编译这个文件。问:非常感谢!如果没有文件源码是不是就只能认命了?答:可以在 Mac 上装 Docker,然后对服务进行端口映射就可以了。答:茅塞顿开。谢池老师。以上是我和一位读者的对话,这位小伙子在拿到答案之后像一缕烟尘一样消失无踪,之后再也没有出现过。在微信上加了很多 MacTalk 的读者之后,经常会收到一些奇奇怪怪的问题,关于职场、关于选择、关于朋友、关于 Mac、关于技术等等,不一而足。但是我能回答的却很少。问题不好没法回答,问题太复杂没法回答,问题领域超出我的认知也没法回答,耗时太长的问题我也没时间回答,实在是惭愧的紧。好在偶尔也能够帮助一些小伙伴解决一些实际问题,心理上略感安慰,比如上面这个问题。把这段程序员之间的对话翻译一下,大致是这么个故事:一位读者有一个32位的 Unix 可执行文件,可以在某种版本的 Linux 服务器上正常运行,运行这个文件作用就是起个进程,开端口,然后与其他程序进行交互。但是这个文件拿到 Mac 上完全没办法运行。就在他趴在 Mac 上愁肠百结万念俱灰的时候,突然想到了「池老师」。不就是这个老家伙把 Mac 夸的像一朵玫瑰一样,让每个程序员都去采摘么?现在扎手了,你不管谁管?于是他给我发来消息,意思就是管也得管,不管也得管,您看着办。我拿到问题一看,不难。Linux 和 OS X 虽然师出同门,都是从老前辈 Unix 那儿毕业的,但是后来毕竟各练各的,在 Linux 编译好的程序不可能在 OS X 上用,但是在 OS X 上重新编译一下可能就没事了。我把这个想法告诉了这位程序员,得到的反馈是:对不起哥,没有源代码!我被这个冷酷的回复震惊了,立刻意识到刚才的想法并不是最优解决方案,因为在重新编译的过程中,各种包的依赖关系和编译错误足以让你焦头烂额,我随即提供了 B 计划:在 OS X 上安装 Docker,轻量级的容器 Docker 可以运行各种版本的 Linux,把文件扔到 Docker 里,然后通过主机和 Docker 之间的端口映射即可轻松解决这一问题。虽然这里面会涉及很多技术细节,但是方向是没有问题的,所以这位程序员立刻表示「茅塞顿开」,然后「biu 」的一声就在屏幕对面消失了,没有留给我说「不客气」的机会。这个问题装个 Linux 虚拟机也可以解决,但是虚拟机过于耗费资源,而且不如 Docker 灵活,所以不是最佳解决方案。Docker 是。做为一个程序员,我们除了要掌握多门程序语言和多种数据库,了解前端技术、后端技术,通晓网络七层架构,知道 TCP/IP三次握手和四次挥手,编写漂亮的代码,设计优美的架构……之外,我们还要解决研发、程序运行和产品上线过程中遇到的各种问题,而且被要求以最小的代价来解决问题……我们容易吗?除了编程技巧和程序设计能力,解决问题的稳准狠是衡量一个程序员是否优秀的重要因素之一,也是资深技术人员真正的价值所在。在科技浪潮澎湃、技术信息扑面而来的今天,一位刚毕业的大学生如果足够勤奋,他可以在两三个月之内掌握一门编程语言,并编写出像模像样的软件,他们的学习速度甚至超过了我们这些老程序员,但是解决问题的能力是无法速成的,只能依靠时间、经验和惨痛的教训历练而成。有时候还需要灵感和运气。很多军迷读了大量的军事著作和历史小说,常常羡慕那些名将的风采,并浩叹自己「生不逢时」。但是名将不是那么容易炼成的。历史上叱诧风云的名将凤毛麟角,他们亲自持刀上阵追击敌人,见识战场的惨烈,目睹敌人的尸体,看到战友被杀,知道被刀看中会流血死去,他们冷酷无情,坚如磐石,在全军即将崩溃的时候发现敌人的弱点并进行攻击,在瞬息万变的战场进行决断,在多次失败后从无数士兵的尸体里站起来重新出发去挑战那个战胜你的对手,在所有人对你说「指导员,我们上吧」的时候,坚定的说出那三个字:再等等!如果你做不到这些,那还是做个最终会被张飞枪挑的小兵吧。优秀的程序员同样如此,菜鸟常常羡慕高手在谈笑之间让难题灰飞烟灭,而自己却苦苦思索而不得入门之法,殊不知这些高手同样经历了名将的那些腥风血雨。他们在清晨的微光里编写代码,在轰鸣的机房中调试程序,他们彻夜不眠就是为了解决一个 bug,他们要承受数据丢失或上线失败的痛苦,默默吞下眼泪,准备下一次的战斗。不停的学习、实践和思索,成千上万个小时之后,高手史成。同样的问题,高手的解决思路和小球是截然不同的。一般来说,只要不是世界难题,给足时间、空间和人力,都能解决。如果你遇到问题告诉上级,这个问题交给我了,两年之内搞的妥妥哒,那就不要怪项目组组团把你打出翔来,因为大家要的是分分钟解决,不是两年。在这个唯快不破的年代,我们没有这么多的时间,所以要通过逆向思维、经验教训、辗转腾挪、借力打力等方式以最小的代价快速解决问题。这才是老程序员的价值。再举个例子,一个运行良好的线上应用在你修改 bug 增加功能之后重新上线出现了一些莫名其妙的问题,比如占用资源增加或运行一段时间宕机等等,怎么解决?常规的做法就是通过阅读日志、模拟线上环境和调试程序来定位错误。容易的 bug 用这些方式基本就能搞定了,但是更隐蔽的 bug 会耗费大量的时间和人力。更好的方式是什么?首先,排查是程序问题还是环境问题,把线上程序恢复到运行正常时的老版本,如果出现了同样的问题,那就是生产环境发生了改变。如果运行正常,要么是你修改老 bug 时引入了新 bug,要么是新增加的代码出现了问题。其次,阅读产品的 changelog,根据代码提交的时间线构建系统,通过二分法排查,定位是哪部分代码引起的问题。第三,排除了所有的不可能,剩下的无论看起来如何不可能,就是它干的。以上只是一个简单的例子,实际的情况可能比这个例子复杂一百倍,需要我们综合使用各种方式进行交叉比对和错误排查才能解决。这仅仅是遇到问题解决问题,更多的时候是需要你提出问题,并解决问题,那是更高的境界。很多人学了那么多编程语言,写了十几年程序,最终依然无法做到以最小的代价解决问题,不禁让人扼腕叹息。程序员真正的竞争力是什么?以最小的代价解决问题!知行合一,方可无敌于天下。
做为一个八年的程序员,说说我的一些感受。要想在程序员这条路上走的更远,我认为有两种能力至关重要:分析、解决问题的能力,和自我学习的能力,为什么这么说呢?
先谈谈分析解决问题的能力,本质上来说,老板请你来都是来解决问题的,你能解决问题,才能体现你的价值,才有加薪的筹码。一个项目、一个任务,或者一个bug,都可以看做是一个问题,你是否能够快速的分析情况,脱离表象找到问题的根源,或者把一个大问题分解成若干可以处理的小问题,并在规定的时间内解决它,可以说是考量你技术水准的重要唯一标准。这个能力如何培养呢?两种途径:1.丰富的行业经验,你经历的多了,自然就会知道该怎么处理了,俗话说没吃过猪肉还没见过猪跑嘛,大概就是这个意思。2.有意识的学习一些方法论,锻炼自己的结构化思维,不仅仅是对工作,对生活的方方面面,都挺有用的。推荐关注一下刘未鹏的《暗时间》,是专为程序员写的方法论,他本身也是一名程序员。我见过一些厉害的PM,基本上不摸代码了,但是听手下人说一下情况,还是能快速的找到根结,离不开他们的从业经验和系统的思维方法。
然后说一下自我学习的能力,总所周知,程序员是一个很苦逼的职业,技术更新日新月异,产品换代更是以月为单位计,不学习如何能长久?这里的学习又分为两大块,一块为技术知识的学习,包括编程技能,基本原理,算法结构以及与工作环境密切相关的知识,另外值得特别一提的是经典开源代码的学习,这是成为高手的必经之路;另一块为产品知识、行业动态的学习,国内一般情况是写代码比较好或者比较久的人,就开始带团队,如果没有这方面的积累,就会比较困难,另外就算一门心思做技术,多了解一些也有利于加深对需求、功能的理解,不是什么坏事。
这两种能力都是在平时工作中慢慢锻炼起来的,需要长期的坚持和打磨。做为一个刚入行的程序员,要想把事情做好,获得更多的机会,也有几个方面的技能需要注意:
1.编程能力,这个毋庸置疑,做为一名程序员,能写代码、写高质量的代码,可以说是基本功,离开了这个,就像无根之木,无源之水,谈再多也没用。这个可以和公司内的高手学,私下利用业余时间丰富理论知识,多看一些开源代码,从模仿到动手尝试、再创新。
2.沟通能力,听说读写都很重要,对新手来说听和说尤其值得注意。听是说一个任务下来,要听清楚问题是什么,需求是什么,有什么条件,听清楚了再动手。说是要表达有条理,说的清楚来龙去脉,说的清楚解决问题的思路。我见过很多程序员,包括工作过好几年的也有,连一个复杂点的问题是怎么回事,都说不清楚,东一下西一下,一点逻辑结构都没有,很明显他的思路就是混乱的。
这里还要补充提两点,一个是问,不清楚的一定要问,不要装,其实你进公司做三天事,你大概是个什么水平,什么样的思维模式,你的领导就一清二楚了,装也没用。另一个是反馈,一件事领导交待给你,你要在关键结点给他反馈,告诉他做的怎么样了,有什么困难,下一步准备怎么做,需要什么支持等等。不要等到领导来问,才告诉他你有什么问题搞不定,我不知道别人怎么样,反正我对这种情况是深恶痛绝的,这样搞两次以后,我基本上就不会把很关键的任务交给这个人了。
3.良好的工作态度,不同的公司有不同的文化氛围,有比较看重的价值观,就不一一列举了。窃以为对于程序员来说,最重要的一个态度,就是不能凑合。一般的程序员在发现问题以后,东试试西试试,能解决问题就行了,但是优秀的程序员觉得不会妥协,一定会试图去分析产生问题的原因,根本的解决方法,甚至要去看Linux内核代码也毫不妥协。4.通用工作技能的掌握,包括时间管理、项目管理及个人管理等,介绍这方面的书籍比较多,就不再详叙了,有兴趣可以找到很多信息。
的两篇文章:BY 摘录:方法论看似是个很抽象的东西,并且的确有一些方法论是抽象到 over-generalized (泛化过度)的地步,然而说实话在实践当中我总是发现(正确的)方法论是再现实不过的东西,比如一个大家都明白的道理是:如果方向走错了,那么做的功就基本全白费了(还有比如“如果方法对头,就能事半功倍,反之可能多走很多弯路”)——然而现实中有多少人能够真正实践这个方法呢?绝大多数人都是只顾解决眼前问题,抓了这头丢了那头,更多人是不知道问题是什么,只管把头脑中能联想到的一个以前类似情况下的类似方案套用上来。以前我总是觉得一个公司里面,CEO/CTO 这样的角色是基本摆设,但我现在不这样想了。在 How 层面把事情做好,做成一个精钻的程序员,那顶多就是能把钳子使好,这样的事情很多人都能做到,熟能生巧嘛。换句话说程序员基本上是去解决一个定义好的问题,去实施一个定义好的方案。然而决策问题就不一样了,决策问题是需要去定义问题是什么,以及权衡最佳方案是什么,不管是决策技术架构还是决策商业策略,都是非常复杂的思维过程,需要综合和权衡大量的信息,这种能力就不是简单楞着头搞下去能练出来的了,很多时候需要抬起头来看,免得只见树木不见森林。当然,我自己还没能到这个层面,尚需要不断实践和总结,所以只能稍微的谈一点感受,再往下扯只怕就会流于空泛了。这一点上我还是举一个程序员们喜闻乐见的例子吧,在程序员眼睛里面,做一个项目,也许首先想到的是用什么语言,什么框架,什么库,在这个方向上那就是什么看上去牛B用什么,恨不能都用 haskell、lisp 来写才爽,用 Java?那多没意思啊,Java 那坨弱智语法我小学的弟弟都能掌握,也没啥牛B的语言特性,忒没成就感(只可惜真正判别弱智与否的并非用什么语言技术,而是做出什么产品满足什么需求)。这就是属于只考虑单个孤立因素的简单(或者说 Naive 的)决策,这个因素就是——只要让我自己感觉爽——只可惜并不是让自己感觉爽的做法就是真正解决问题的做法,始终要弄清问题是什么,在后者意义上,一些对于技术型程序员往往没有吸引力的话题其实有着极其重大的价值——比如什么时候设计,什么时候重构,什么时候集成,再往上一层其实这些又都是次级问题,首要的问题还是这个产品满足什么需求,有什么市场(即这件事情值不值得做),有一句话想必很多人常听说,如果不知道要做什么,套上十二层架构也无济于事,方法永远不是因,而是果。再举个例子,如果我想给我的网站做一个 feature ,我认为这个 feature 技术上很牛很强大,而且刚好有机会使用一下我最近修炼的某某 framework 和某某语言,而且这玩意很有挑战性,还不是一般人能够做得了的,综合以上三点,我立时觉得心痒难耐摩拳擦掌。然而实际上这个问题应该怎样分析呢?首先,考虑到以上三点,这将会是一个投入相当大的项目,那么其收益就必须要对得起这个投入,技术上很牛不代表商业上就牛,再牛再难做的 feature 如果不能带来商业价值那就是负收益。总而言之,1. 一件事情仅仅让你感觉挺牛不代表这件事情就是值得做的; 2. 一件事情仅仅让你感到很有兴趣并不代表这件事情就是值得做的。====================================================BY 摘录:我虽不是经济学专业,但是翻开任何一本经济学的教材,或者直接翻开 ,都会看到物以稀为贵这条铁律。人才作为资源的一种,也是同样的道理。而稀缺性,换种说法也可以叫做不可替代性。一种资源越是稀缺,不可替代性就越强。再加上如果这种资源是一种具有实实在在使用价值的东西(而不是荷兰的),那么其价格就会越高。问题是,如何构筑你的个人知识体系,使得你的知识技能集尽可能成为不可替代的呢?我相信以下的知识技能组合是具有相当程度的不可替代性的:专业领域技能:成为一个专业领域的专家,你的专业技能越强,在这个领域的不可替代性就越高。这个自是不用多说的。跨领域的技能:解决问题的能力,创新思维,判断与决策能力,Critical-Thinking,表达沟通能力,Open Mind 等等。学习能力:严格来说学习能力也属于跨领域的技能,但由于实在太重要,并且跨任何领域,所以独立出来。如何培养学习能力,到目前为止我所知道的最有效的办法就是持续学习和思考新知识。性格要素:严格来说这也属于跨领域技能,理由同上。一些我相信很重要的性格要素包括:专注、持之以恒、自省(意识到自己的问题所在的能力,这是改进自身的大前提)、好奇心、自信、谦卑(自信和谦卑是不悖的,前者是相信别人能够做到的自己也能够做到,后者是不要总认为自己确信正确的就一定是正确的,Keep an open mind)等等。=========以上文章,均被选入(这本书上市以来,已经印刷了14次)附:
我认为这是个很好的问题。虽然我也经验尚浅,但还是谈谈自己的想法抛砖引玉吧。 V大提到了编译器是铁饭碗,我觉得更总结概括的说,底层的东西会比上层的更有竞争力,这一条几乎是绝对正确的。但同样我认为做这些的人毕竟是少数(大概所有程序员的10%有吗?),所以对于大部分程序员来说,朝着这个方向是OK的,但是也不必强求。所以对大部分也许一辈子都不会接触这么底层的普通程序员,什么才是最核心的竞争力?我认为是自主学习能力。IT,尤其是编程算是技术点更新换代很快的一门工科,很难有学好一门技术/语言能吃遍整个职业生涯的情况。所以我总认为那些鼓吹"编程是吃年轻饭,过了30就不行了“的人,很多是因为自己就只掌握学生时代学的,或者第一份工作中用的那个语言/技术。纵向发展研究的不够深,横向上又没有学到新的技术。这样的话,当然竞争不过年轻人。另外,我认为
引用那篇文章的标题很好,技术路线的选择远没有你想象中那么重要。知乎上很多问题都是为:XX语言到底怎么样,XX框架又没有前途,我该学XX还是YY。语言有差异,也有相对的“好”与“坏“,但是对于个人而言,纠结于某个语言”好不好“,还不如去想想自己到底喜欢用什么语言写程序,然后把这一门钻研的够深。知乎上很多黑Java的,但这不妨碍
菊苣能在这个领域做到极致;很多黑JS的,也不妨碍有
这样的菊苣;黑宇宙第一语言PHP的就更别说了,但也不妨碍PHP在FB的地位。所以吧,与其花功夫在揣摩将来流行的趋势,不如捡一个自己顺手的学到极致,这才是竞争力。回到主题上来,为什么我要说最核心竞争力是自主学习能力呢?因为在我自己工作两年的经验上看来,大部分人不缺乏学习能力,但是没有人push,也很难主动的去新的。这非常能理解,国内加班很严重,PM一直push你产品的进度。在这种情况下,大部分人更愿意选择“安全”的做法,即用自己最熟悉的技术/框架/设计模式,以实现功能为第一目的。但事实上老是重复自己懂的东西,很难真正进步,而仅仅是“实现”为目标,又很难往深处去了解技术/框架本质的东西。以JS程序员为例,大部分人达到熟悉jQuery这个档次就停步了。因为对绝大部分开发任务来讲,jQuery到这个程度基本上就不会出现某个功能不会实现的窘境。但是拿一个通读过jQuery源码的人来比,两者差的远远不仅仅是jQuery本身的知识。能通读掌握jQuery源码的人,至少在对JS理解,在如何实现一个库等等软性|能力比前者不知道强多少。所以在现在的我看来,自主和学习,这两者同样重要。
学历代表过去,能力代表现在,学习能力代表未来。精通one,学习another,关注next。
几个程序员和几个外行在嚷嚷,三句话不离数学算法编译这装逼三宝。还说得津津有味好像真是那么回事儿似的。我说点野蛮实用的吧。你的BOSS说,XX我们有个YY产品/项目/module/feature要做,你来负责。你就应该最迟下礼拜一上班前将方案、预算、计划发到BOSS邮箱里。你还应该争取、协调到必需的资源,在进度质量成本之间求一个平衡,向BOSS交付一个各方满意的结果。至于什么数学算法语言,那只是基本知识,你解决问题的一个个手段而已,你不是靠贩卖这些知识为生的(咨询,培训,写书一类),就不值得天天拿出来念叨。若是用一句话总结,核心竞争力就是在既定条件下独立解决问题的能力。如果没有这个能力,程序员们只能一次又一次地讨论什么30岁问题,35岁问题。
推荐一位IT精英的博客,博客地址:做技术是需要匠心的。什么是匠心?我们原本是有匠心的,我们如今还有匠心吗?我们为什么没有匠心了?为什么我们要重拾匠心?如何重拾匠心?一. 做技术是需要匠心的中国古时的玉匠,切磋琢磨,用绳与砂浆,费数十载心力,终将浑然璞玉制成传世珍品,千年遗音在,犹见当年寂寞心。日本传统的刀匠,将千锤百炼之钢反复锻凿、淬火、打造、磨制,每一处技至精微,每一处心入幽明——刀中有魂!欧洲中世纪的石匠,在哥特式教堂的飞檐上雕刻出了灵兽状喷水嘴,虽不为世人所见,仍一丝不苟——每一凿中都有天堂!米盖朗基罗花四年雕刻出了震惊世人的《大卫》,曹雪芹批阅十载创作出了艺术巅峰的《红楼》——任何伟大的作品背后都有一颗匠心。二. 什么是匠心?匠心是对于作品而言的。匠心是倾注于作品之中的精神、情感、乃至魂魄。匠心发自于爱,是对作品视如己出的拳拳之心,是恒久忍耐又有恩慈。匠心是出于这份爱的对于完美的追求,是追求中不避艰苦,是追求中自得其乐。匠心是涵泳在作品之中的自我实现,是我与作品的相互完成,彼此造就。在匠心看来,作品是我的至亲之物,栖居着我的精神,安放着我的灵魂。匠心即是爱心 + 恒心 + 一片苦心 + 七窍玲珑心 + 出离心 + 寂寞心 + 金刚心 + 欢喜心 + 其人虽已殁,千载有余情。三.我们原本是有匠心的我们原本是有匠心的。当年Ken Thompson 和 Dennis M.Ritchie 一起在贝尔实验室里苦心孤诣。如今,没有人不知道Unix意味着什么,C意味着什么。他们的匠心也彰显在Unix和C中令无数人为之惊叹、感怀。四.我们如今还有匠心吗?如今,我们再也难得见到“作品”问世。甚至于“产品”也是少见。见得最多的则是“商品”。对于我们而言,做什么东西并不重要,重要的是做这个挣不挣钱。于是我们冲着挣钱做了各种项目,C/S、B/S、前端、后端、数据库、Java、.Net、安卓——仿佛无所不知,无所不晓,十年之后回首,觉得自己已然是全才。我们从事了大量的劳动,写了几十万行代码。我们的工资越来越高,并为此沾沾自喜。可是,这样的成就,无非是一个熟练工人的成就。我们何曾拥有匠心?五.我们为什么没有匠心了?随着大生产时代的到来,那种田园诗般的男耕女织、带月荷锄归的工作方式,早已一去不复返。社会分工越来越细碎化,我们面对的是一个又一个的局部。在这之中需要的是规格化、标准化、量化和同质化。换言之,你所做的工作必须是合乎统一规范的,具有统一规格的单元,如此才能拼接到整体的工作中。因此,任何的创造性,任何私人性质的感情和精神的注入,归根到底,只是错误的根源。 ——我们于何处安放匠心?如今,商品成为了一切物所具有的普遍的形式。没有什么不是商品。商品是以交换为目的的。我们生产任何劳务、产品、或服务,都是为了交换,为了换取一般等价物,即货币,即金钱。因此,钱成为了衡量一切的准绳。如今不乏伟大的商品诞生,可是伟大的作品却乏善可陈。商品需要的是批量生产,需要对消费者投其所好,当然商品也需要创意,可是那不是匠心!在一个由商品拜物教统治的时代,我们于何处安放匠心?世界如此繁华,匠心未免太奢侈了!我们在喧哗与骚动中度日,有太多的追求,太多的比较,太多的你追我赶,太多的惶惶终日。每天有看不完的新闻,刷不完的微博,做不完的手头工作。我们为无尽的事情发愁,疲于奔命。匠心未免太奢侈了!早在我们出生的那一刻,我们就开始照着大家来活,大家都在读书,大家都在考学,大家都在找工作,大家都在结婚,大家都在买房,大家都在炒股,当我们跟着大家忙忙碌碌的时候,匠心自始就已沉沦!六.为什么我们要重拾匠心?假使我们没有匠心,我们将不会在工作中获得真正的快乐。因为我们不能自觉自由地工作,我们的工作是boss定义的,而不是自己定义的。如此一来,我们就与我们的劳动之间切断了血肉联系。我们的劳动成为了压迫我们、奴役我们的异己力量。我们沦为被迫劳动。我们真正的生活在下班之后开始。我们不停地抱怨:要不是为了几个臭钱,我才不要干这些。如何才能回归到那种田园诗般的劳作之中——我们必须重拾匠心!唯有在拥有匠心之后,我们才能走向真正的自我实现。马斯洛将人的最高层次的需求定义为自我实现。一个自我实现的人,一个将自己的才能发挥到最大限度的人,才是那个获得最大心理满足的人。现实生活中唯有少数精英才能够成为自我实现人。但是这并不妨碍我们追求自我实现。一个有着庸碌之心的人,是不可能走向自我实现的。唯有重拾匠心,我们才能占有工作的全部意义,才能不避艰苦、精益求精,与自己的作品相互完成,彼此造就。七.如何重拾匠心?对于如何重拾匠心的问题,恐怕要留给每一个人来思考。而且是一个需要始终思考的问题。在这里我并不想给出答案。只希望能在这篇文章中能够看见你,看见我,看见大家。能见众生便是如来,不易匠心方得始终。参考阅读:——————————————————————————————————
昨天在手机上草草写下“解决问题的能力”。晚上脑子里总是不断跳出这个问题。解决问题的能力实在不是个好答案。包括“学习的能力”,“做事的态度”什么的都不是好答案。每个行业不都应该是这样的吗?什么才是码农的核心竞争力呢?计算机行业发展到今天,门槛其实已经很低了。大量现成的技术和平台,让你可以像搭积木一样完成日常工作。即便“不求甚解”,做出来的东西很多时候也工作得很好。那么为什么有的人能脱颖而出成为高手,有的人只是变成熟手?我觉得是探究细节的热情。计算机科学实在是太热爱抽象和封装了。只要有抽象,任何问题都可以解决*。可惜,抽象这玩意儿,就像是纸包不住火,底层的细节总是会在一些诡异的情况下影响到上层*。高手之所以是高手,就是因为他们会有兴趣去了解下层的那些细节吧。p.s. 说起来,这好像也不是计算机行业独有的现象啊,设计师会关心布料和皮革的性质,厨师会关心食材的产地,etc……看来我的答案也不是好答案呢……*1. All problems in computer science can be solved by another level of indirection, except of course for the problem of too many indirections. (后半截我故意截掉了,哼*2. All non-trivial abstractions, to some degree, are leaky.p.p.s 无论从事什么行业,到了一定程度以后,专业(写代码的)水平不再是评价的唯一标准。与人合作的能力会越来越重要。别人评价小明的时候,要么说“小明的代码经常错误百出,跑不起来又看不明白,完全就是不合格的程序员,哪个白痴把他招进来的?”,要么就是“小明的代码写的很好,高效稳定。而且小明这个人啊。。。” 看到没有?专业只是基本要求而已。达到合格线以后,别人的评价就和专业没关系了,之后都是对你这个人的印象怎么怎么样。你在同事之间,老板眼里,业界中的形象(名声)决定了你的升迁(钱)和机会(钱)。怎么树立自己的形象?首先最基本的,专业靠谱。上面说了,代码要好好写,另外开会什么的别迟到,老板派的任务要按时完成,总之就是多快好省地完成工作。第二,乐于学习,乐于分享。你是专家没错,你还得让别人知道你是专家。分享是个不错的方法,而且帮助同事进步也是帮助公司提高效率的好方法,大家(老板)自然看在眼里的。第三,勇于攻坚。很多时候很多问题在当下是没有现成方案的,你愿意去(帮老板)扛下来吗?还有,这也是培养自己从一个solution implementer转变成problem solver的机会。最后,别人喜欢和你一起工作吗?小明很牛逼但是个大傻逼,要是得到这么二逼的评价,你也是走不远的。
不抖机灵!真的是打字速度快!我已经吃亏吃死了。
解决问题的能力与抽象思维解决问题不管当前流行的技术是什么,都能快速学习抽象思维利用已有知识快速找到途径以上都需要踩大量的坑,以及的确总结过这些坑。说到最后的核心还是善于思考
优雅的发脾气,摆出一副牛逼的姿态。
有不少答案都提到学习能力,这点我也比较赞同,但我觉得学习能力其实是每个行业的每个从业者都必备的一个竞争力,技术更新再快,恐也难比苏宁中商品更新速度快,比起程序员,苏宁的销售人员更需要学习能力。故我觉得学习能力的确是程序员的一项竞争力,但并不是最核心的竞争力。要说到程序员最核心的竞争力,我认为就只有两个字“寂寞”,什么?你说你不是文艺青年,让我翻译一下,好吧,翻译就翻译:寂寞=独立解决问题的能力。为什么说程序员最核心的竞争力是“寂寞”呢?因为你的工作注定只能与计算机打交道,你编写出来的程序都是寂寞的,不管你多么屌丝,你写出的程序都是独一无二的,最重要的是,每个使用你程序的用户也都是寂寞的。你见过一个人用键盘,同时一个人用鼠标在操作某个程序吗?你见过一个人划着屏幕,同是另一个人按着HOME键在操作某款APP吗?什么?你说可以和妹子一起切水果,我只能说那是因为你们俩都太寂寞了,切完水果后面的事,大家脑补吧......跑题了,我要说只有一句话:在大多数情况下,用户都是在一定空间内一个人独立使用你所编写的程序的。我很费解,如果一个程序员不能忍受寂寞,那么他怎么去感知一个个寂寞用户的一个个需求呢?难道要靠比程序员还不甘寂寞的产品经理么?随着科技行业迅速的发展,众多行业对程序的需求越来越大,程序员这个职业开始出现了日新月异的变化,从原来一个鼓捣电路的屌丝形象变成了一个掌控全球数字化进程的高富帅形象,伴随着这一转变,程序员的工作方式开始发生了炫酷的转变。合作,协同,开源,一下子成了连看车老大爷都熟知的词汇。我去存自行车时,一不小心透露了自己是程序员的光荣秘密,于是享受到了看车老大爷的特殊照顾,存车费5折!然后,老大爷把你请到了角落里,然后,然后请看下面:我一看老大爷这么大年纪,还这么好学,于是:然后:然后,我被大爷的学习能力折服了介于看车老大爷的机智,我匆匆结束了对话,一头扎进了银行,开始专注于办理我的自行车贷款业务。回过头来一想,编程行业内的这些高大上的新理念,的确让我自己都愈发崇拜程序员这个职业,越来越多的IDE、SDK、开源程序、协同开发工具等小伙伴的加入,让我逐渐忘却了寂寞的感觉。但有一天,我的脑海里依稀出现了一个问题:作为一名程序员,需要做的最重要的事是什么。遇到问题第一时间不是自己想解决办法,而是先去找解决办法,这难道真的是程序员之道吗?写到这里,我有点不知道该如何继续下去了。我脑子里只有一个想法:当有一天,当程序员不用再亲手编写代码的时候,我们还能找回最初的寂寞吗?咦!怎么滴雨点了?对不起各位知友,答到这里,我情绪已经有点失控了,无法继续下去了。呼应下问题,我的答案:一个程序员的核心竞争力就是“寂寞”,这种寂寞不只是一种独立解决问题的能力,更是一种独立解决问题的勇气!
程序员里面也是有铁饭碗的,之前就有“编译器作者充分就业定理”,说的是不管你上层怎么变,以前喜欢命令行,后来GUI,后来互联网,后来移动,再后来投射到MM胸部上面的键盘什么的,你都必须通过编译器才能完成,所以做编译器永远有饭吃,永远不过时,永远大家都需要你,老板永远都要给你高工资不然你就去竞争对手那了。
深度,视野,再加一条绝对的大杀器:口才
已有帐号?
无法登录?
社交帐号登录}

我要回帖

更多关于 软件环境是什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信