最新 | 最热门 | 最高评价

+0  多吹牛,少写代码

Tag: Thoughts on Coding | TDD | 思考 | 程序员 | 编码
四火 发于 2021年06月28日 03:36 | 点击: 432 | 展开摘要
来,说点大逆不道的。

代码是程序员的基础能力,毫无疑问。Linus 说,“Talk is cheap, show me the code.”。软件工程师,归根到底是要做工程的,代码写不好,就谈不上把工程做出来。

可是我觉得,越来越多勤奋的程序员,是写代码写得太多了,而不是太少了。

胡扯!读书百遍,其义自见。书山有路勤为径!代码也是如此,没有足够的积累,怎么能写得好代码?

可是,写代码真的需要那么勤奋地练习,那么大量的积累吗?

我想说一个现象,那就是很多公司每年都会举

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

+0  Go 编程模式:k8s Visitor 模式

Tag: Go 语言 | 程序设计 | 编程语言 | design pattern | Go | golang | Kubernetes | Visitor Pattern
陈皓 发于 2020年12月26日 19:25 | 点击: 424 | 展开摘要
本篇文章主要想讨论一下,Kubernetes 的 kubectl 命令中的使用到到的一个编程模式 – Visitor(注:其实,kubectl 主要使用到了两个一个是Builder,另一个是Visitor)。本来,Visitor 是面向对象设计模英中一个很重要的设计模款(参看Wikipedia Visitor Pattern词条),这个模式是一种将算法与操作对象的结构分离的一种方法。这种分离的实际结果是能够在不修改结构的情况下向现有对象结构添加新操作,是遵循开放/

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

+0  Go编程模式:Pipeline

Tag: Go 语言 | 程序设计 | 编程语言 | channel | Go | golang | pipeline
陈皓 发于 2020年12月26日 17:04 | 点击: 428 | 展开摘要
本篇文章,我们着重介绍Go编程中的Pipeline模式。对于Pipeline用过Unix/Linux命令行的人都不会陌生,他是一种把各种命令拼接起来完成一个更强功能的技术方法。在今天,流式处理,函数式编程,以及应用网关对微服务进行简单的API编排,其实都是受pipeline这种技术方式的影响,Pipeline这种技术在可以很容易的把代码按单一职责的原则拆分成多个高内聚低耦合的小模块,然后可以很方便地拼装起来去完成比较复杂的功能。

本文是全系列中第8 / 9篇:Go编程模式

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

+0  Go编程模式:委托和反转控制

Tag: Go 语言 | 程序设计 | 编程语言 | Go | golang | IoC
陈皓 发于 2020年12月26日 16:57 | 点击: 414 | 展开摘要
图片来源:GopherSource
反转控制IoC – Inversion of Control 是一种软件设计的方法,其主要的思想是把控制逻辑与业务逻辑分享,不要在业务逻辑里写控制逻辑,这样会让控制逻辑依赖于业务逻辑,而是反过来,让业务逻辑依赖控制逻辑。在《IoC/DIP其实是一种管理思想》中的那个开关和电灯的示例一样,开关是控制逻辑,电器是业务逻辑,不要在电器中实现开关,而是把开关抽象成一种协议,让电器都依赖之。这样的编程方式可以有效的降低程序复杂度,并提升代

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

+0  Go 编程模式:Go Generation

Tag: Go 语言 | 程序设计 | 编程语言 | Go | golang | Template
陈皓 发于 2020年12月25日 17:06 | 点击: 440 | 展开摘要
图片来源:GopherSource
在本篇文章中,我们将要学习一下Go语言的代码生成的玩法。Go语言代码生成主要还是用来解决编程泛型的问题,泛型编程主要解决的问题是因为静态类型语言有类型,所以,相关的算法或是对数据处理的程序会因为类型不同而需要复制一份,这样导致数据类型和算法功能耦合的问题。泛型编程可以解决这样的问题,就是说,在写代码的时候,不用关心处理数据的类型,只需要关心相当处理逻辑。泛型编程是静态语言中非常非常重要的特征,如果没有泛型,我们很难做到多态,也很难完成抽象,

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

+0  Go编程模式:Map-Reduce

Tag: Go 语言 | 程序设计 | 编程语言 | functional | functional-programming | Go | golang | MapReduce | 函数式 | 函数式编程
陈皓 发于 2020年12月24日 15:13 | 点击: 437 | 展开摘要
在本篇文章中,我们学习一下函数式编程的中非常重要的Map、Reduce、Filter的三种操作,这三种操作可以让我们非常方便灵活地进行一些数据处理——我们的程序中大多数情况下都是在到倒腾数据,尤其对于一些需要统计的业务场景,Map/Reduce/Filter是非常通用的玩法。下面先来看几个例子:

本文是全系列中第5 / 9篇:Go编程模式
Go编程模式:切片,接口,时间和性能
Go 编程模式:错误处理
Go 编程模式:Functional Options
Go编程模式:委托

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

+0  Go 编程模式:Functional Options

Tag: Go 语言 | 程序设计 | 编程语言 | functional | functional-programming | Go | golang | Pattern | 函数式编程
陈皓 发于 2020年12月22日 23:23 | 点击: 418 | 展开摘要
在本篇文章中,我们来讨论一下Functional Options这个编程模式。这是一个函数式编程的应用案例,编程技巧也很好,是目前在Go语言中最流行的一种编程模式。但是,在我们正式讨论这个模式之前,我们需要先来看看要解决什么样的问题。

本文是全系列中第3 / 9篇:Go编程模式
Go编程模式:切片,接口,时间和性能
Go 编程模式:错误处理
Go 编程模式:Functional Options
Go编程模式:委托和反转控制
Go编程模式:Map-Reduce
Go 编程模式

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

+0  Go 编程模式:错误处理

Tag: Go 语言 | 程序设计 | 编程语言 | Error | Go | golang
陈皓 发于 2020年12月22日 18:19 | 点击: 375 | 展开摘要
错误处理一直以一是编程必需要面对的问题,错误处理如果做的好的话,代码的稳定性会很好。不同的语言有不同的出现处理的方式。Go语言也一样,在本篇文章中,我们来讨论一下Go语言的出错出处,尤其是那令人抓狂的 if err != nil 。

在正式讨论Go代码里满屏的 if err != nil 怎么办这个事之前,我想先说一说编程中的错误处理。这样可以让大家在更高的层面理解编程中的错误处理。

本文是全系列中第2 / 9篇:Go编程模式
Go编程模式:切片,接口,时间和性能
Go

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

+0  Go编程模式:切片,接口,时间和性能

Tag: Go 语言 | 程序设计 | 编程语言 | Go | golang
陈皓 发于 2020年12月18日 15:36 | 点击: 393 | 展开摘要
在本篇文章中,我会对Go语言编程模式的一些基本技术和要点,这样可以让你更容易掌握Go语言编程。其中,主要包括,数组切片的一些小坑,还有接口编程,以及时间和程序运行性能相关的话题。

本文是全系列中第1 / 9篇:Go编程模式
Go编程模式:切片,接口,时间和性能
Go 编程模式:错误处理
Go 编程模式:Functional Options
Go编程模式:委托和反转控制
Go编程模式:Map-Reduce
Go 编程模式:Go Generation
Go编程模式:修饰器
Go

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

+0  搞事:代码找茬

Tag: 程序设计
Felix021 发于 2020年08月08日 14:47 | 点击: 273 | 展开摘要
最近老是想起陈芝麻烂谷子的事情,说明工龄所剩无几了。 

- 1 -

又是在那遥远的 2009 年,那个“杯具”已经不是杯具的年头,度厂办个算法比赛,办出了点儿杯具的味道。 

比赛的名字叫“百度之星”,那些年在校园里影响力还蛮大的(好像现在还是),大概赛制就是通过初赛、复赛、决赛这么几轮,选出几个社会主义四有青年瓜分奖金。值得一提的是,头两年(05、06)冠军都被楼教主承包了。

为什么说有点杯具的味道呢,因为那年的初赛结束以后,度厂搞了个骚操作,

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

+0  程序员如何把控自己的职业

Tag: 杂项资源 | 职场生涯 | Programmer | 程序员
陈皓 发于 2020年08月07日 17:31 | 点击: 361 | 展开摘要
这篇文章的主要内容主要是我今年3月份在腾讯做的直播,主要是想让一些技术人员对世界有一个大体的认识,并且在这个认识下能够有一个好的方法成就自己。而不是在一脸蒙圈的状态下随波逐流,而日益迷茫和焦虑。直播完后,腾讯方面把我的直播形成文字的形式发了出来,我觉得我可以再做一个精编版。所以,有了这篇文章,希望对大家有帮助。

对我来说,在我二十多年的工作经历来看,期间经历了很多技术的更新换代,整个技术模式、业务模式也是一直变来变去,我们这群老程序员成长中所经历的技术比今天的程序员玩的还更

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

+0  又是面试题?对,合并有序序列。

Tag: 程序设计
Felix021 发于 2020年08月01日 22:31 | 点击: 271 | 展开摘要
- 鹅厂 -

在遥远的2009年,那时候“呵呵”还没有奇怪的意思,我笑呵呵地去参加了鹅厂的实习招聘。 

面试被安排在面试官下榻酒店的房间里,校门口的**王朝大酒店,可能一晚上能顶我一个月生活费那种。

过程聊得应该还可以,不过大部分细节都忘了,只记得最后那道代码题,一张纸,一支笔。

题面很简单:写一个 C 函数,合并两个有序数组。

- “最好能通用一点”,面试官补充说。

- “可以用 C++ 模板吗?”

- “最好还是用 C 。”

好多年以后,当我开

查看全文: http://www.udpwork.com/item/17742.html
|<<<1234567>>>| 一共26页, 309条记录