最新 | 最热门 | 最高评价

+0  API设计原则 – Qt官网的设计实践总结

Tag: C/C++语言 | 技术读物 | 程序设计 | 系统架构 | API | api-design | API设计 | C++ | Coding | Design | Programmer
李 鼎 发于 2017年07月25日 14:16 | 点击: 1174 | 展开摘要
(感谢好友 @李鼎 翻译此文)

原文链接:API Design Principles – Qt Wiki

基于Gary的影响力上 Gary Gao 的译文稿:C++的API设计指导

译序

Qt的设计水准在业界很有口碑,一致、易于掌握和强大的API是Qt最著名的优点之一。此文既是Qt官网上的API设计指导准则,也是Qt在API设计上的实践总结。虽然Qt用的是C++,但其中设计原则和思考是具有普适性的(如果你对C++还不精通,可以忽略与C++强相关或是过于细节

查看全文: http://www.udpwork.com/item/16371.html

+0  Spray 中协议处理 Pipelines 的实现

Tag: coding | code | scala | spray
gnawux 发于 2014年06月04日 01:01 | 点击: 2072 | 展开摘要
最近在玩 scala,用到了 spray 来处理 Http,看了一下代码觉得很神奇,这里抄一段 spray 1.3 中的协议处理 pipeline 的实现,原始文件在 spray 中的 spray-io/src/main/scala/spray/io/Pipelines.scala

在 spray-io 中,网络协议可以拆分成多级流水线来处理,从网络到应用逐级升高,在前一级中处理低级事务,屏蔽掉一些底层机制,把高层决断交给后一级处理;而从应用到网络逐级降低,在前一级接受处理

查看全文: http://www.udpwork.com/item/12585.html

+0  赴美工作常识(Part 4 - 面试)

Tag: career | coding | communication | interview
Cat Chen 发于 2013年09月23日 11:47 | 点击: 1852 | 展开摘要
最近跟同事讨论面试的事情比较多,所以就综合大家所说的列举几条面试建议吧。这些建议是针对中国候选人应聘美国职位而写的,但适用范围可能更广。假若你实际的实力是 X,面试官感知到你的实力是 Y,这些建议既不能让你实力暴增(X++),也不能让你展现超乎实际的实力(Y > X),只能帮助你避免由于沟通问题而造成的实力不被发现(Y < X)。
当做讨论而非考试
尽管面试有个「试」字,但在真正好的技术面试其实不是一问一答的考试,更多是如同同事之间的技术讨论一样,从比较糟糕的

查看全文: http://www.udpwork.com/item/10729.html

+0  We over estimate the value of coding

Tag: Software Engineering | coding | engineer | programmer | programming
四火 发于 2013年08月26日 09:21 | 点击: 1535 | 展开摘要
文章系本人原创,转载请保持完整性并注明出自《四火的唠叨》

What’s the basic qualities to a software engineer? Hard skills such as coding, testing, business knowledge and algorithm, and soft skills as communication, passion, attitude, resposibility and so on. Pos

查看全文: http://www.udpwork.com/item/10495.html

+1  Linus:利用二级指针删除单向链表

Tag: C/C++语言 | Unix/Linux | C++ | Coding | Kernel | Linus Torvalds | Linux
Leo 发于 2013年02月04日 08:33 | 点击: 2037 | 展开摘要
感谢网友full_of_bull投递此文(注:此文最初发表在这个这里,我对原文后半段修改了许多,并加入了插图)

Linus大婶在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针的例子,解释了什么才是core low-level coding。

下面是Linus的教学原文及翻译——

“At the opposite end of the spectrum, I actually wish more

查看全文: http://www.udpwork.com/item/9212.html

+1  如此理解面向对象编程

Tag: Java语言 | 程序设计 | 编程语言 | 轶事趣闻 | Coding | Object-Oriented | OOP
陈皓 发于 2012年12月13日 08:19 | 点击: 2822 | 展开摘要
从Rob Pike 的 Google+上的一个推看到了一篇叫《Understanding Object Oriented Programming》的文章,我先把这篇文章简述一下,然后再说说老牌黑客Rob Pike的评论。

先看这篇教程是怎么来讲述OOP的。它先给了下面这个问题,这个问题需要输出一段关于操作系统的文字:假设Unix很不错,Windows很差。

这个把下面这段代码描述成是Hacker Solution。(这帮人觉得下面这叫黑客?我估计这帮人真是没看过C语言的代

查看全文: http://www.udpwork.com/item/8848.html

+0  Java多线程发展简史

Tag: Coding Thinking | Recommended | Java | JDK | JSR | 历史 | 多线程
四火 发于 2012年09月15日 16:43 | 点击: 1426 | 展开摘要
这篇文章,大部分内容,是周五我做的一个关于如何进行Java多线程编程的Knowledge Sharing的一个整理,我希望能对Java从第一个版本开始,在多线程编程方面的大事件和发展脉络有一个描述,并且提及一些在多线程编程方面常见的问题。对于Java程序员来说,如果从历史的角度去了解一门语言一个特性的演进,或许能有不同收获。

 

引言

首先问这样一个问题,如果提到Java多线程编程,你会想到什么?

 

volatile、synchronized关

查看全文: http://www.udpwork.com/item/8196.html

+1  代码执行的效率

Tag: 杂项资源 | 编程语言 | C++ | Coding | Compiler | Performance | PHP | Python
陈皓 发于 2012年07月13日 08:18 | 点击: 2232 | 展开摘要
在《性能调优攻略》里,我说过,要调优性需要找到程序中的Hotspot,也就是被调用最多的地方,这种地方,只要你能优化一点点,你的性能就会有质的提高。在这里我给大家举三个关于代码执行效率的例子(它们都来自于网上)

第一个例子

PHP中Getter和Setter的效率(来源reddit)

这个例子比较简单,你可以跳过。

考虑下面的PHP代码:我们可看到,使用Getter/Setter的方式,性能要比直接读写成员变量要差一倍以上。

<?php
//dog_nai

查看全文: http://www.udpwork.com/item/7697.html

+0  千万不要把 bool 设计成函数参数

Tag: 杂项资源 | 程序设计 | 编程语言 | API | Bool | Coding | Design | Programmer | 程序员
陈皓 发于 2011年09月08日 15:35 | 点击: 2673 | 展开摘要
我们有很多Coding Style 或 代码规范。但这一条可能会经常被我们所遗忘,就是我们经常会在函数的参数里使用bool参数,这会大大地降低代码的可读性。不信?我们先来看看下面的代码。

当你读到下面的代码,你会觉得这个代码是什么意思?

widget->repaint(false);

是不要repaint吗?还是别的什么意思?看了文档后,我们才知道这个参数是immediate, 也就是说,false代表不立即重画,true代码立即重画。

Windows API中

查看全文: http://www.udpwork.com/item/5763.html

+0  重构代码的7个阶段

Tag: 杂项资源 | Coding | Programmer | Refactory | 程序员
陈皓 发于 2011年08月16日 08:42 | 点击: 3116 | 展开摘要
你曾去想重构一个很老的模块,但是你只看了一眼你就恶心极了。文档,奇怪的函数和类的命名,等等,整个模块就像一个带着脚镣的衣衫褴褛的人,虽然能走,但是其已经让人感到很不舒服。面对这种情况,真正的程序员会是不会认输的,他们会接受挑战认真分析,那怕重写也在所不惜。最终那个模块会被他们重构,就像以前和大家介绍过的那些令人销魂的编程方式中的屠宰式编程一样。下面是重构代码的几个阶段,文章来自:The 7 stages of refactoring,下面的翻译只是意译。

第一阶段 - 绝望

查看全文: http://www.udpwork.com/item/5653.html

+0  一个空格引发的惨剧

Tag: Unix/Linux | 杂项资源 | 轶事趣闻 | bumblebee | Code Review | Coding | Programmer | 程序员
陈皓 发于 2011年06月20日 08:26 | 点击: 3296 | 展开摘要
你是否相信如果你的程序里没有检查一个变量会导致怎么系统瘫痪?无论你相不相信,这是我一个亲身经历过的案例,你可以在本站的程序员那些悲催的事儿中找到很多这样的事。这样的事昨天在发生,今天同样在发生。Unix40多年了,在这40年里,程序员发生过各种各样的的惨剧,但是大多数的事情一而再再而三的重演。

今天的你,可能在开发者各种各样NB的系统,你会相信你的一个空格也能导致系统瘫痪吗?也许你可能很难相信这个事。不过,再下面这个事将告诉你这个血淋淋的事实 —— 一个空格产生的bug可以

查看全文: http://www.udpwork.com/item/5305.html

+0  Amazon的书为什么卖到了$2000万

Tag: 业界新闻 | 轶事趣闻 | Amazon | Coding | eComm
陈皓 发于 2011年04月28日 12:41 | 点击: 2836 | 展开摘要
最近,Amazon的新闻比较多,除了Amazon的云平台宕机外,还有一个被热炒的新闻是在Amazon的书店里,有一本书要买$23,698,655.93美元,相当于1亿5千万人民币(如下图所示),这个事情是由UC Berkeley的生物学家Michael Eisen发现的,然后他在他的博客上写了一篇文章来说明这个事情。

这本书是1992年,现在绝版了,生物学家决定上Amazon找一下,结果看到了有两本新书,还有一些二手的,二手书价比较正常,但是那两个新书的价都上了百万。这个生

查看全文: http://www.udpwork.com/item/4947.html
|<<<12>>>| 一共2页, 21条记录