软件设计:从专业到卓越


品味篇 识别优秀设计

优质代码的外部特征

优质代码的内在特征

专业篇 建立扎实功底

高质量的需求

领域建模

设计分解和责任分配

依赖,接口和契约

卓越篇 实现高效编码

用测试描述需求和契约

用领域建模指导实现

由外而内的设计

设计质量贯穿始终

让设计持续演进

精益思想和高效编程

Read more

Go语言学习笔记


上卷 语言详解 基于Go 1.6

概述

类型

表达式

函数

数据

方法

接口

并发

包结构

反射

测试

工具链

下卷 源码剖析 基于Go 1.5.1

准备

引导

初始化

内存分配

垃圾回收

并发调度

通道

延迟

析构

缓存池

Read more

软技能:代码之外的生存指南


为何这本书与你先前读过的任何书籍都迥然不同

职业

经营自己的职业生涯就像经营一家企业

如何给自己设定职业目标

拓展自己的人际交往能力

创建一份屡试屡验的简历

破解面试之道

软件开发人员的三条职业路径

为什么你需要走专业化道路

公司与公司是不一样的

攀登晋升阶梯

成为专业人士

与老板和同事的相处之道

不要陷入对技术的狂热之中

如何辞职并开始为自己工作

如何成为自由职业者

如何成为一名企业家

如何开始创业

自我营销

自我营销基础课

如何打造个人品牌

如何创建大获成功的博客

在YouTube上创立自己的专栏

为何他人增加价值非常重要

善于运用社交媒体提升自己的品牌

演讲,培训和报告

...

Read more

Go语言精进之路:从新手到高手的编程思想,方法和技巧2


测试,性能剖析与调试

理解包内测与外测的差别

有层次地组织测试代码

优先编写表驱动的测试

使用testdata管理测试依赖的外部数据文件

正确运用fake,stub和mock等辅助单元测试

使用模糊测试让潜在bug无处遁形

为被测试对象建立性能基准

使用pprof对程序进行性能剖析

使用expvar输出度量数据,辅助定位性能瓶颈点

使用Delve调试Go代码

标准库

理解Go TCP Socket网络编程模型

使用net/http包实现安全通信

掌握字符集的原理和字符编码方案间的转换

掌握使用time包的正确方式

不要忽略对系统信号的处理

使用Crypto下的密码学包构建安全应...

Read more

深入浅出Vue.js


前言

Vue.js简介

变化侦测

object的变化侦测

Array的变化侦测

变化侦测相关的API实现原理

虚拟Dom

虚拟Dom简介

VNode

patch

模版编译原理

模版编译

解析器

优化器

代码生成器

整体流程

架构设计与项目结构

实例方法与全局API的实现原理

生命周期

指令的奥秘

过滤器的奥秘

最佳实践

Read more

vue.js设计与实现


框架设计概览

权衡的艺术

框架设计的核心要素

vue.js 3的设计思路

响应系统

响应系统的作用与实现

非原始值的响应式方案

原始值的响应式方案

渲染器

渲染器的设计

挂载与更新

简单Diff算法

双端Diff算法

快速Diff算法

组件化

组建的实现原理

异步组建与函数式组件

内建组建和模块

编译器

编译器核心技术概览

解释器

编译优化

服务器端渲染

同构渲染

Read more

计算机是怎么跑起来的


<#Title#>

计算机的三大原则

试着制造一台计算机吧

体验一次手工汇编

程序像河水一样流动着

与算法成为好朋友的七个要点

与数据结构称为好朋友的七个要点

成为会使用面向对象编程的程序员

一用就会的数据库

通过七个简单的实验理解TCP/IP网络

试着加密数据吧

XML究竟是什么

SE负责监管计算机系统的构建

Read more