软件架构图的艺术

软件架构图的艺术

作为一个软件架构师和技术培训师,从我的经验来看,不同项目之间以及同一个团队的不同开发人员之间创建架构图的方式也是很不一样的。我看到过很多问题,比如一致性问题、碎片化问题、信息粒度大小的问题,以及图表的外观问题。相比架构模型的正式和标准化,架构图倒是不必要那么正式或者遵循什么标准。

盘点流氓App驻留后台的奇技淫巧

盘点流氓App驻留后台的奇技淫巧

和iOS相比,安卓是一个更加开放的平台,带来了更多自由的同时,也容许了更多“法外之地”。App在安卓系统中的限制比iOS更小,这令安卓孕育出了很多流氓App。尽管Google一直尝试对后台增添更多限制、理清安卓的生态,但流氓App们见招拆招,使出了各种丧心病狂的手段来驻留后台。流氓App驻留后台有哪些奇技淫巧?一起来看看吧。

探索无界面模式谷歌浏览器(Headless Chrome)

探索无界面模式谷歌浏览器(Headless Chrome)

Headless浏览器可以理解为没有GUI界面的浏览器程序。由于没有界面,所以在速度上比普通浏览器稍快,它可以在自动化测试、性能检查、获取元数据(例如爬虫)和网页截图等方面发挥用途。

为什么完美的 lambda 表达式只有一行

为什么完美的 lambda 表达式只有一行

。编写简短的 lambda 表达式是实现这一表达能力的关键,但通常说起来容易做起来难。本文会加深您目前对创建单行 lambda 表达式的各个方面的了解。通过学习函数组合的结构和好处,您很快就会掌握完美的 lambda 表达式,—一个仅短短一行的表达式。

困扰程序员的30种软件开发问题,你是否时曾相识?

困扰程序员的30种软件开发问题,你是否时曾相识?

我相信许多web开发人员和软件工程师在编程中都会遇到困难,而事后回想起来,还会觉得很好笑。

Pinterest程序员是如何面对Kotlin中存在的问题的

Pinterest程序员是如何面对Kotlin中存在的问题的

使用Kotlin开发App需要下很大的决心。现在看来,在技术成熟曲线上,Kotlin也许接近“过高期望的峰值”(即早期公众的过分关注演绎出了一系列成功的故事,当然同时也有众多失败的例子)。你可以看到大量赞美Kotlin的博客、广播和视频,这篇文章先假设你了解其中的益处

如何搞定BAT和华为offer?CNN总结了一份攻略

如何搞定BAT和华为offer?CNN总结了一份攻略

求职季马上就要来了!又一波中国大学毕业生即将涌入市场。他们中有的人可能还很迷茫,有的人已经锁定目标。中国的求职问题甚至引起了老外的注意。Michelle Toh日前就在CNN上发表了题为“How to land a job in China's booming tech sector”的文章。在文中,CNN Money采访了这些企业的相关负责人,总结了一份攻略。

敏捷软件开发的先行者和领路人ThoughtWorks被出售了

敏捷软件开发的先行者和领路人ThoughtWorks被出售了

ThoughtWorks首席科学家Martin Fowler在博客上透露了一些幕后的细节。一直以来,ThoughtWorks几乎为创始人Roy Singham所独有。他组建了一支高效的管理团队,可以在没有他的情况下让公司正常运转。而他近年来把注意力转移到他的社会活动工作上,只要卖掉公司,他就可以获得资金来支持自己的社会活动事业。

在阿里上班,是种什么体验?

在阿里上班,是种什么体验?

在任何公司,晋升都不是那么容易,向上通道,永远都是金字塔结构,越往上,人越少。在大公司不容易升职,在小公司就容易升职?想要着改变世界,先从提升自己能力开始,当你具备这样的能力时候,就算这个公司坑满了,上不去,总有公司会给你抛出橄榄枝,前提是,你准备好了吗?

10种能够编译成 JavaScript 的脚本语言

10种能够编译成 JavaScript 的脚本语言

我们知道 JavaScript 并不是适用于所用任务的最佳语言,而且当遇到复杂的应用时, JavaScript 很可能会功亏一篑。为了避免这种问题,现在已经创建了一些新语言或是现有语言的转换编译器,他们能够生成可在浏览器中运行的代码,而无需编写一行代码,也无需考虑语言的局限性。这篇文章包含了十种有趣语言的列表,这些语言可以转换编译为可在浏览器中或是类似Node.js平台上运行的JavaScript代码。

为什么乔布斯总是坐在比尔·盖茨的右边

为什么乔布斯总是坐在比尔·盖茨的右边

如果是以左右撇子的观点来看,如果一个左撇子的人和右撇子的人不正确地坐在另一个人旁边,自然会显得很笨拙。

前端程序员需要掌握的几个专业“词语”

前端程序员需要掌握的几个专业“词语”

有不少前端开发工程师,可能并不清楚下面的部分词语,但是在实战中其实都在使用着它们。明确一下这些词语和概念没有什么不好~一方面能够让自己能够更专业的谈论知识,另一方面,在面试的时候也能够应对一些“爱问前端名词”的面试官~

石器时代的程序员是如何写代码的

石器时代的程序员是如何写代码的

当然像这样写代码是一种痛苦。你首先必须写完代码(蓝色),然后转化成机器码(红色),并计算每个指令的内存地址和相对跳转地址。那时候我没有能够计算十六进制的计算器,所以我自己完成大部分所需的计算(如在大脑里计算相对跳转地址)。

IT圈13条潜规则

IT圈13条潜规则

最近这段时间,小编絮絮叨叨说了很多严肃的东西,今天说点好玩的,轻松一下。娱乐圈有潜规则,小编认为IT圈一样,也有潜规则,在这个圈子混得小伙伴,多了解点知识点,免得吃亏上当。

[外刊评论]别再像 2009 年那样写 PHP 代码了

[外刊评论]别再像 2009 年那样写 PHP 代码了

离开在 Facebook 担任工程师的仅仅 2 个月时间,我就很困惑,外面的世界看上去仍然像是在 2009 年的时候那样写 PHP。貌似人们从来没听过 Hack、 HHVM、 XHP 等等,人们仍旧在代码里大量使用 require() 和 include() 语句。简直了。我仍然认为 PHP 是一门写前端应用的优秀语言(业务逻辑和 API 层),但只有当你应用了以下它的现代优势时,这一说法才成立:

一拍脑袋就要用MapReduce?你以为你是Google啊

一拍脑袋就要用MapReduce?你以为你是Google啊

21世纪,每个人都多少有些谷歌狂热症,似乎按照谷歌的方式做事,我就能得到谷歌的财富。比如,作为一名软件工程师,我是否该效仿谷歌建立MapReduce框架?是否应该像领英一样用Kafka来搭建系统?伯克利计算机学院教授Joe Hellerstein会在每次课上会告诫他的本科生:“你不是谷歌,你经营的可不是全球最大的互联网数据服务。”

你知道JavaScript是一种多么奇葩的编程语言吗?

你知道JavaScript是一种多么奇葩的编程语言吗?

JavaScript 是一个伟大的语言。它有简单的语法,完善的生态系统,最重要的是,有一个庞大的社区。同时,我们都知道,JavaScript 有很多有趣的“潜规则”。其中有一些经常在日常工作中给我们添麻烦,而有些可以给我们带来帮助,让我们大笑起来。

程序员不愿意加班的真相

程序员不愿意加班的真相

作为程序员,“加班”是可以的,但这个“现象”本身是具有“偶然”性,而不该成为一种“常态”。一种流行的说法是,程序员是把咖啡因转化成程序代码的机器。随便问一个程序员什么时候工作最有状态,估计他很有可能说是深夜。做软件开发必须要加班熬夜工作吗?

程序员使用最广的10大Eclipse插件

程序员使用最广的10大Eclipse插件

程序员使用最广的10大Eclipse插件

[外刊评论]JavaScript的流行是一群精神病人的狂欢

[外刊评论]JavaScript的流行是一群精神病人的狂欢

每个语言都有他吐槽的地方,包括C#,JAVA,PHP,甚至c++和c...如果真要写,可以写出类似于C#是一群精神病人的狂欢,JAVA是一群精神病人的狂欢,PHP是一群精神病人的狂欢.....反正这篇吐槽文章在劝大家不要进JavaScript的坑,但是世界到处都是坑,你不进这个总要进另一个

为什么我选择使用 VS Code进行前端开发?

为什么我选择使用 VS Code进行前端开发?

对前端来说,这是一款性感无比的 IDE,哦不对应该是编辑器。我们团队有大部分人已经在用了,所以这周五在组内做了一个 VS Code 小分享,来发掘 VSC 一些提高开发效率的小技巧。我相信已经有不少前端在使用它了,所以大家更有必要一起分享下日常神操作了。

Java vs C#:Java里5个急需效仿的C#功能特征

Java vs C#:Java里5个急需效仿的C#功能特征

C# 与 Java 都起源于 C/C++ 语言,他们在面向对象方面有许多相似之处。除了 Java JVM 和 C# .NET CLR 有许多相同结构上的相似性之外,他们各自的开发团队都有各自的发展方向,他们关注的是各自的语言应该成为什么样子。我们并不想纠结于某一个语言比另一个语言好,我们只想罗列出 C# 开发者能用到而 Java 中没有的那些特性而已。

PHP大小写不敏感问题汇总

PHP大小写不敏感问题汇总

PHP的大小写敏感可以总结写“变量敏感,函数不敏感”,所有变量、常量、PHP.ini中配置参数都是敏感的,而函数、类、类中的方法、魔术常量,都是不区分大小写的,PHP6的命名空间还未测试,但应该是区分大小写的。

如何做有效的代码审查?我有这些建议

如何做有效的代码审查?我有这些建议

往往代码评审过程中,评审者(Reviewer)往往会过于关心旁枝末节,而忽视主要问题,也就是所谓的自行车棚效应。在批准价值百亿的核电站的建设提案中,专家们往往会浪费大量时间纠结于厂内自行车棚(bikeshed)的颜色;因为核电站太大、太复杂,“专家们”未必真懂,但总不能不说话啊,那就从无关痛痒的自行车棚挑毛病吧。

30 岁以上的 .NET 程序员,都去了哪儿?

30 岁以上的 .NET 程序员,都去了哪儿?

今天的主人公是一位曾在 2015 年 3 月通过我们入职上海某互联网教育公司的 .NET 程序员。近几年,随着诸多互联网公司纷纷转型 Java ,学习 .NET 的人也越来越少,市场上几乎已没有 .NET 程序员的生存空间,那么那些至今仍在坚持 .NET 的程序员,目前的状态怎样?以后的路又该怎么走?