分类: 编程技术

王垠:数学和编程

王垠:数学和编程

 好些人来信问我,要成为一个好的程序员,数学基础要达到什么样的程度?十八年前,当我成为大学计算机系新生的时候,也为同样的问题所困扰。

10年DotNet老程序员推荐的7个开发工具

10年DotNet老程序员推荐的7个开发工具

做.NET软件工作已经10年了,从程序员做到高级程序员,再到技术主管,技术总监。见证了Visual Studio .NET 2003,Visul Studio 2005, Visual Studio Team System 2008, Visual Studio 2010 Ultimate,Visual Studio 2013一系列近5个版本的变化与亲自使用。

你在过度测试你的软件吗?

你在过度测试你的软件吗?

发布候选测试需要花费很长时间,这是许多敏捷团队都面临的一个最大的挑战。但据JavaWorld报道,许多公司都通过持续交付模型消除或极大地减少了发布候选测试,而且它们有一些共性

Linux 内核里的“智能指针”

Linux 内核里的“智能指针”

众所周知,C/C++语言本身并不支持垃圾回收机制,虽然语言本身具有极高的灵活性,但是当遇到大型的项目时,繁琐的内存管理往往让人痛苦异常。

谈谈 Linux 内核驱动的编码风格

谈谈 Linux 内核驱动的编码风格

最近在向Linux内核提交一些驱动程序,在提交的过程中,发现自己的代码离Linux内核的coding style要求还是差很多。

找到最完美Web开发程序员的5个技巧

找到最完美Web开发程序员的5个技巧

如果你想要找个自由开发人员协作开发项目,那么问题来了,该如何找到一个完美的开发人员呢?这是一个艰巨的任务。

阮一峰:图解 Monad

阮一峰:图解 Monad

函数式编程有一个重要概念,叫做Monad,网上有很多解释(这里和这里),但都很抽象,不容易看懂。我尝试了好多次,还是不明白Monad到底是什么。

软件开发中的陷阱

软件开发中的陷阱

为了优化某个情况却发现事情变得更糟了,你曾遇到过吗?你曾遵循传统的「最佳实践」却发现它未能尽如人意?貌似你尝试得越多,事情反而变得越糟糕,是这样吧?

Flex 布局教程:实例篇 – 阮一峰的网络日志

Flex 布局教程:实例篇 – 阮一峰的网络日志

上一篇文章介绍了Flex布局的语法,今天介绍常见布局的Flex写法。

你会看到,不管是什么布局,Flex往往都可以几行命令搞定。

10 个 Redis 建议/技巧

10 个 Redis 建议/技巧

Redis 在当前的技术社区里是非常热门的。从来自 Antirez 一个小小的个人项目到成为内存数据存储行业的标准,Redis已经走过了很长的一段路。随之而来的一系列最佳实践,使得大多数人可以正确地使用 Redis。下面我们将探索正确使用 Redis 的10个技巧。

程序员7大软技能测验 你得几分?

程序员7大软技能测验 你得几分?

如果你想在你的职业生涯中获得成功,那么你需要的不仅仅是技术技能。成为一个真正优秀的程序员只能让你走到这里。如果想要更上一层楼,那么你必须具备软技能。但是,你怎么知道你缺乏什么软技能,以及你需要学习哪种软技能呢?

JavaScript:如何在对象中嵌入私有成员

JavaScript:如何在对象中嵌入私有成员

最近,我开发一个项目 Angular Cloud Data Connector, 帮助Angular开发者使用云数据,特别是 Azure移动服务, 使用WEB标准,像索引数据库(indexed DB)。我尝试建立一种方式,使得JavaScript开发者能将私有成员嵌入到一个对象中。

如何理解谷歌浏览器的安全警告信息

如何理解谷歌浏览器的安全警告信息

最近如果使用Chrome访问国内的很多网站的时候,比如exmail.qq.com, 你可能会注意到这样一个对话框,这个是什么意思?访问链接没有私密性吗? 等等,这里好像有点不对, 网页私密性到底是个啥,为啥会提醒我这个问题,我不是已经输了密码登录了嘛?事情要从头说起。

让你远离云计算安全问题的18个小贴士

让你远离云计算安全问题的18个小贴士

云应用的普遍使用给负责管理企业云平台的 IT 和安全人员带来了很多阻碍和挑战。

对程序员非常重要的24个软技能

对程序员非常重要的24个软技能

软技能通常是被低估的。几乎所有的软件工程师都知道要关注技术的提高,但你忽视的软技能很可能会影响你的职业生涯。下面我将介绍 24 个对程序员非常重要的软技能,以及我对这些技能的看法和感受。

MySQL 调优/优化的 100 个建议

MySQL 调优/优化的 100 个建议

MySQL是一个强大的开源数据库。随着MySQL上的应用越来越多,MySQL逐渐遇到了瓶颈。这里提供 101 条优化 MySQL 的建议。

Python 不是 C

Python 不是 C

我一直使用 Python,用它处理各种数据科学项目。 Python 以易用闻名。有编码经验者学习数天就能上手(或有效使用它)。

PHP开发安全问题总结

PHP开发安全问题总结

php给了开发者极大的灵活性,但是这也为安全问题带来了潜在的隐患,近期需要总结一下以往的问题,在这里借翻译一篇文章同时加上自己开发的一些感触总结一下。

Rails 5 有什么新特性?

Rails 5 有什么新特性?

Rails 5 即将在 2015 年秋季发布,新版本拥有很多令人激动的特性。如果你使用 Rails 开发商城,那你必须使你的应用准备好迎接新的 Rails 新特性。

结对编程搞了两年,我学到了这些!

结对编程搞了两年,我学到了这些!

结对编程是被极限编程运动带上舞台的,而且在当今的生产环境中,它越来越受到欢迎。在两年的结对编程经验中,我发现,有时候结对编程很奇妙,甚至可以说是神奇。

Ruby 2.2 的增量垃圾收集机制

Ruby 2.2 的增量垃圾收集机制

Ruby 使用 GC 自动收集不再使用的对象。感谢 GC,Ruby 程序员不用手动释放对象,而且不需要关心对象释放引起的bug。

使用版本控制系统的 3 个建议

使用版本控制系统的 3 个建议

如果说有什么是开发软体专案一定要使用的基础工具,使用「版本控制系统」应该可以记上一笔。无论是个人或是团队开发,都可以透过版本控制系统获得巨大的好处。

多面编程语言Scala

多面编程语言Scala

Scala把近二十年间大行其道的面向对象编程与旧而有之的函数式编程有机结合起来,形成其独特的魔力。本文将带你领略Scala独特魅力,练就自己的寒冰掌、火焰刀。

Bash 快捷键大全

Bash 快捷键大全

在Linux下,Bash的地位无可忽视,日常中涉及到Linux下的管理与操作基本都是在Bash中进行,因此,为了提高Linux下工作效率,自然而然的就变成了如何高效使用Bash的问题。

阮一峰:代码覆盖率工具 Istanbul 入门教程

阮一峰:代码覆盖率工具 Istanbul 入门教程

测试的时候,我们常常关心,是否所有代码都测试到了。这个指标就叫做”代码覆盖率”(code coverage)。它有四个测量维度。 行覆盖率(line coverage):是否每一行都执行了? 函数覆盖率(function coverage):是否每个函数都调用了? 分支覆盖率(branch coverage):是否每个if代码块都执行了? 语句覆盖率(statement coverage):是否每个语句都执行了?