最新文章
MVC vs. MVP vs. MVVM 软件设计
1 简介 英文原文:MVC vs.MVP vs.MVVM 三者的目的都是分离关注,使得UI更容易变换(从Winform变为Webform),使得UI更容易进行单元测试。 2 MVC/MVP 2.1 MVC 1、View接受用户的交互请求 2、View将请求转交给Controller ...
不是技术牛人,如何拿到国内IT巨头的Offer 求职面试
不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢? 当你打开这个帖子的时候,我已经默认你是此文...
深入浅出交换类排序算法 编程基础
1)冒泡排序 冒泡排序在众多排序算法中算比较简单的一个,基本思想是重复的进行整个数列的排序,一次比较两个元素(两两排序),如果它们顺序不符合就交换,重复这样直到数列没有再需要交换的数为止(结束条件)。就好像气泡一样,轻的气泡会往上漂浮,在不断漂浮的过程中,发生了两两交换过程,所以叫冒泡排序。 ...
从Code Review谈如何做技术 软件工程
这两天,在微博上表达了一下Code Review的重要性。因为翻看了阿里内部的Review Board上的记录,从上面发现Code Review做得好的是一些比较偏技术的团队,而偏业务的技术团队基本上没有看到Code Review的记录。当然,这并不能说没有记录他们就没有做Code Review...
Web开发常见的几个漏洞解决方法 编程基础
平时工作,多数是开发Web项目,由于一般是开发内部使用的业务系统,所以对于安全性一般不是看的很重,基本上由于是内网系统,一般也很少会受到攻击,但有时候一些系统平台,需要外网也要使用,这种情况下,各方面的安全性就要求比较高了,所以往往会交付给一些专门做安全测试的第三方机构进行测试,然后根据反馈的漏...
使用缓存的9大误区(下) .NET技术
本篇文章在上篇的基础上继续讨论了使用缓存的几个误区,包括:缓存大量的数据集合,而读取其中一部分;缓存大量具有图结构的对象导致内存浪费;缓存应用程序的配置信息;使用很多不同的键指向相同的缓存项;没有及时的更新或者删除再缓存中已经过期或者失效的数据。 缓存大量的数据集合,而读取其中一部分 在很多...
使用缓存的9大误区(上) .NET技术
如果说要对一个站点或者应用程序经常优化,可以说缓存的使用是最快也是效果最明显的方式。一般而言,我们会把一些常用的,或者需要花费大量的资源或时间而产生的数据缓存起来,使得后续的使用更加快速。 如果真要细说缓存的好处,还真是不少,但是在实际的应用中,很多时候使用缓存的时候,总是那么的不尽人意。换句...
教育培训行业现状分析(十一)互联网思维与教培行业--上 其他分类
教育培训行业现状分析(一~六) 教育培训行业现状分析(七) 教育培训行业现状分析(八) 教育培训行业现状分析(九) 教育培训行业现状分析(十) By 雪球财经论坛知名网友教育培训行业观察人士小狼 2014 年又是教育培训行业风起云涌的一年。好未来强势推出 ISC3.0 系统,学大郑重...
教育培训行业现状分析(十)—北京高考改革或引发课外培训热潮 其他分类
教育培训行业现状分析(一~六) 教育培训行业现状分析(七) 教育培训行业现状分析(八) 教育培训行业现状分析(九) 在中国人民和广大莘莘学子的殷切期盼下,北京中高考改革方案框架终于出台,如无意外,这份历史上支持率最高的改革方案在进行完意见征询环节后将会正式执行,从2016年起,中高考的英...
程序员在页面友好性上常犯的5种错误以及改正方法 Web前端
英文原文:5 Common Usability Mistakes and Solutions For Avoiding Them 我是一个性情乖戾的Web用户,但我想这也帮助促使我成为了一名优秀的Web开发人员。当我看到一个网站上有让人不爽的设计时就会非常的恼怒,一些很简单的东西为什么做不好?...
声明式编程和命令式编程的比较 编程基础
英文原文:Imperative vs Declarative 先统一一下概念,我们有两种编程方式:命令式和声明式。 我们可以像下面这样定义它们之间的不同:命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。声明式编程:告诉“机器”你想要...
如何写出让自己满意的代码 程序人生
今天有位朋友在微博上问我这样一个问题: “@老码农的自留地 ,最近出于学习目的写一个管理系统,越到后边,越觉得自己前边的代码写得烂。前辈,我想让代码写得更好一点,能不能谈谈你的经验,给我指点一下!” 我在回复里刚写了几句,就意识到140个字很难把我的想法说清楚,本着知无不言言无不尽的好为人师...
GET和POST有什么区别? Web前端
如果有人问你,GET和POST,有什么区别?你会如何回答? 我的经历 前几天有人问我这个问题。我说GET是用于获取数据的,POST,一般用于将数据发给服务器之用。 这个答案好像并不是他想要的。于是他继续追问有没有别的区别?我说这就是个名字而已,如果服务器支持,他完全可以把GET改个名字叫G...
金庸笔下的良好代码风格 程序人生
我零九年看过一本小说,讲程序员的故事,从此,了解了一个新物种。最近又看《红楼梦》,史湘云有条谜语:“溪壑分离,红尘游戏,真何趣?名利犹虚,后事终难继。”我一想,这不就是程序猿吗? 我学过半年编程,唯一的收获是记住了一个名字叫谭浩强。读了那本小说,我知道还有个东西叫“良好的代码风格”,这几个字可...
编程语言中一些令人抓狂的规则 编程语言
英文原文:7 long-ago decisions that still haunt developers today 众所周知,软件开发者每天都要做各种各样的决定:如何最好的实现功能、如何修复bug、如何提升应用程序的性能等等。但是他们同样是在别人的劳动成果下面继续做自己的决定的,比如说:他...
项目经理应该把30%的时间用在编程上 程序人生
英文原文:Engineering Managers Should Code 30% of Their Time 在一个科技公司里,软件技术经理用在编程上的时间应该不低于总工作时间的30%。无论是管理一个团队,还是一个分部,还是整个公司,当技术经理用在编程上的时间低于30%时,他执行职责的能力就...
一名IT从业者的英语口语能力成长路径 程序人生
这篇文章是我最近十天口语系列文章的合辑,文章比较长,一万五千余字。但是系统化地归纳了自己十多年的英语尤其是口语方面的学习经历与总结思考。我不是个纯粹的英语专业学生,我甚至不是任何英语相关专业的学生,但是我和英语却有着很多的故事,我对这门语言的学习与训练有着没由来的纯粹兴趣。虽然我从学校接受的教育...
我们如何进行代码审查 软件工程
Jim Bird是一位经验丰富的软件开发经理、项目经理与CTO,专注于软件开发与维护、软件质量与安全等领域中疑难问题的解决。在过去的15年间,Jim曾管理过团队建设并主导过高性能的财务系统的建设。他的主要兴趣在于如何提升小团队的效率以构建真正的软件:高质量、安全、可靠、高性能及适应性强。近日,J...
指尖上的浏览:如何理解用户的眼? 软件设计
生活中很多人会调侃道:“每天手指在手机屏幕上滑动的距离比走路的距离还长!”随着指尖上的浏览融入到生活的方方面面,如何让用户手指滑动的更有效率,在滑动手指的同时看到更多想看的内容,而不白白滑动手指,是提升手机APP用户体验的重要方面。为深入理解人们的APP浏览行为,我们使用专门用于追踪移动设备注视...
Node.js 究竟是什么? 编程语言
简介如果您听说过 Node,或者阅读过一些文章,宣称 Node 是多么多么的棒,那么您可能会想:“Node 究竟是什么东西?” 即便是在参阅 Node 的主页之后,您甚至可能还是不明白 Node 为何物?Node 肯定不适合每个程序员,但它可能是某些程序员一直苦苦追寻的东西。为试图解释什么是 Nod...