作者: 倾城

深入理解并发和并行

深入理解并发和并行

并发是逻辑上的同时发生,而并行是物理上的同时发生。并发可以跑在一个处理器上通过时间片进行切换,而并行需要两个或两个以上的线程跑在不同的处理器上。如果同一个任务的多个线程始终运行在不变的CPU核心上,那就不是并行。

数据库面试题(6)PostgreSQL基础

数据库面试题(6)PostgreSQL基础

整理一些PostgreSQL面试题, PostgreSQL有什么特点;PostgreSQL的使用场景有哪些;PostgreSQL的令牌是什么; PostgreSQL索引是什么;如何创建 PostgreSQL 数据库;如何在 PostgreSQL中创建表;PostgreSQL 和 MongoDB 有什么区别。

数据库面试题(5)MongoDB基础

数据库面试题(5)MongoDB基础

整理一些MongoDB面试题,MongoDB有哪些特点;MongoDB索引类型有哪些;在哪些场景使用MongoDB;MongoDB支持哪些数据类型;MongoDB中如何实现事务;MongoDB中如何实现分片(Sharding);如何使用MongoDB中的Map-Reduce;说说MongoDB常见的增删改查操作。

云计算术语大全

云计算术语大全

云计算诞生之初,市场上对它的定义有很多种。美国标准与技术研究院的定义是把云计算定义为一种模式,而不是一种技术。这种模式既可以是商业模式,也可以是服务模式。云计算通过互联网将计算和存储资源进行集中和共享,为用户提供各种计算服务、存储服务、应用服务等等。云计算可以分为三种服务模式:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。IaaS提供基础设施服务,如计算和存储资源;PaaS提供平台服务,如开发工具和中间件;SaaS提供软件服务,如企业应用和在线服务。

代码可读性之道

代码可读性之道

代码也是团队的沟通方式之一。试想,其他同事接手你负责的功能,如果代码结构清晰、注释合理,他就不会频繁打断你的工作、询问代码中的疑点。编写代码的时候,首先要考虑到别人的阅读感受,而不是你自己。在实际的开发工作中,最花费时间的事情是理解当前代码以及上下游代码逻辑。如果需要变更代码,代码可读性越差,花的时间越长,这个模块的可维护性就越低。

代码质量差,是程序员的错吗?

代码质量差,是程序员的错吗?

所有的技术团队都宣称自己重视代码质量,要求新人学习代码规范,也搞代码审查,实际上代码依然乱成一锅粥。我在职场经历过大大小小十多个技术团队,只有一个小团队的代码质量勉强合格,也只是遵循了基本的代码规范而已,代码可读性依然有很大提升空间。但是,几个核心的程序员离职后,新加入的同事迅速堆砌了大量低质量代码。这些代码差在哪儿呢?

计算的本质

计算的本质

图灵将世界上的数学问题分成了两类,一类是可以用图灵机在有限步内完成计算的,另一类是不可以的。今天我们说一个软件问题能不能计算,其实不是指数学计算,而是能否用图灵机这个简单逻辑来计算。图灵机给后人设计计算机制定了一个行之有效的原则,就是计算机可以通过存储地址、计算机状态、规则表和当前位置的读写来进行计算。

如何采用VuePress构建文档网站

如何采用VuePress构建文档网站

有一天我看到某博客采用VuePress,简洁美观、功能强大。VuePress的帮助文档非常详实,是Vue团队的诚意之作。正好我有一些Vue开发的功底,犹如出狱的色狼碰上了洗澡的刘亦菲。如果时间可以倒流,我绝对不会用WordPress来构建我的博客。WordPress固然成熟,设计的太“重”了。