单元测试在 golang 中的实践

2019-08-28
阅读 7 分钟
7.9k
单元测试是什么? 首先需要明确的就是,单元是什么?是一个函数?一个接口?还是一个模块? 这个可能每个人心中都用不同的定义。我比较赞同观点是:单元是指一段逻辑。 因此,单元测试就是对一段代码逻辑的正确性进行校验进行测试 单元测试的意义 从我自己的切身体会上来说,单元测试意义在于: 最基本的,保证代码逻辑...

Golang 函数执行时间统计装饰器的一个实现

2019-03-18
阅读 3 分钟
6.9k
最近在搭一个新项目的架子,在生产环境中,为了能实时的监控程序的运行状态,少不了逻辑执行时间长度的统计。时间统计这个功能实现的期望有下面几点:

SOFAMosn配置模型

2019-02-17
阅读 1 分钟
2k
此模型描述 0.4.0 版本 其中 filter 的配置结构如下: 原文地址:[链接]图片有点看不清点链接进去

SOFAMosn 无损重启/升级

2019-02-17
阅读 5 分钟
7.3k
SOFAMosn 是一款采用 GoLang 开发的 Service Mesh 数据平面代理,由蚂蚁金服系统部网络团队、蚂蚁金服中间件团队、UC 大文娱团队共同开发,功能和定位类似 Envoy,旨在提供分布式,模块化,可观察,智能化的代理能力;她通过模块化,分层解耦的设计,提供了可编程,事件机制,扩展性,高吞吐量的能力。

不再依靠巧合编写 Nginx 配置

2018-05-20
阅读 6 分钟
3k
原博:[链接] 热身 首先来看下这几个小例子: 第一个例子: {代码...} 其中,echo指令来源于第三方模块 echo ,作用是让 Nginx 在接收到请求的时候将 echo 后面参数作为HTTP报文体进行返回。 第二个例子是: {代码...} 第三个例子是: {代码...} 大家可以想一下,假定所有可能需要的资源都存在,如果 Nginx 收到 /test ...

LeetCode 88,91,76题解

2017-06-15
阅读 7 分钟
3.2k
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

LeetCode 160, 139, 41 题解

2017-04-09
阅读 5 分钟
2.3k
Write a program to find the node at which the intersection of two singly linked lists begins.

半步踏入专业的大门(逃

2017-03-05
阅读 4 分钟
1.4k
这两周看了《代码整洁之道》(其实这本书并不是具体教你怎么写代码的,而是教你怎么成为一个专业的开发),感觉很多东西确实说的很有道理,我也正在逐渐去落实。下面我就挑选了一些我认为我们团队的开发所欠缺的一些素养,融合我自己的一些观点、经历来提取一些建议。

Redis 嵌入式开发

2016-11-27
阅读 5 分钟
8.8k
目前来说,我们使用Redis的场景大多是仅仅将Redis作为缓存系统来使用。其实,Redis发展到现在,由于Redis的基于内存速度快,同时支持数据持久化等优良特点,业界很多地方,都是直接将Redis做为数据库使用。甚至,对于一些简单的应用,我们可以直接把逻辑写进Redis里面,从而达到更高的效率。

mongodb 的 schema 设计方法

2016-07-26
阅读 2 分钟
8.1k
mongodb是NoSQL的代表,从使用关系型数据库(MySQL)到使用非关系型数据库(mongodb),其中的一些以前的设计的思维惯性总是在不知不觉的影响着自己的决策。设计的思想有共同之处,也有很大的不同。mongodb的优势在于他表示数据的方式非常丰富。下面就来总结一些设计的原则和方法。

递推,搜索,贪心,与动态规划

2016-07-20
阅读 3 分钟
4.1k
(leetcode problem 45)给定一个长度为n非负整数的数列A,你的初始位置是在数列的第一个元素。数列中的第i个元素A[i]表示你可以从第i个位置开始最多往后跳A[i]格。你的目标是跳到最后一个元素。请你计算出从初始位置到达末位的最少步数。例如:给定数列A=[2, 3, 1, 1, 4],从初始位置跳到最后一个位置的最少步数是2(先...

密码学协议 门限

2016-06-15
阅读 3 分钟
6.3k
设想:老大某天想要向某人传送一封密信,为了避免一个特工被抓了送信就失败了,于是他把密文加密,把密文和密钥都给了几个特工----这样挂了一个或者被抓了一个也没关系,只要还有别的特工送到就行了.但是,情报虽然是能比较大概率的送到了,由于这个情报是秘密情报,老大不希望它被泄漏在别人手里.一旦某个特工被抓了,或者叛变了...

程序员与黑客

2016-06-15
阅读 3 分钟
2.5k
思想一:黑客思维应该贯穿整个公司的业务[..->架构->研发->运维->..](理想状态技术团队每个人都有黑客思维)

(译)调试时日志都应该记些什么

2016-03-19
阅读 2 分钟
2.8k
日志是一款应用的重要组成部分,他就像程序员的眼睛一样,帮助程序员发现应用到底在做些什么。日志真的是非常有用,特别是你的应用在生产环境中除了问题,却又不能在测试环境或者其他环境复现的时候。

关系型数据库树形结构的设计

2016-02-17
阅读 5 分钟
13.2k
然后(story branch)我们最近开发的一块app,一个标题对应一个故事,每个故事由一段一段的故事组成。每一段故事都由用户编写。每个故事看作是一个节点。在故事的创建的时候便有一个节点。随后,用户可以在任意一个节点后面再接一个节点,这样,最终就会形成一棵树。由于关系型数据库并没有一个很好的树形结构设计的解决...

SQL编写小记

2016-02-16
阅读 3 分钟
3.7k
下面的做法大多对应与一般的情况,关于灵活性与安全性的一些做法,特殊的情况特殊处理总是有他的好处。关于SQL注入方面的内容之前已经写过一片博文了,在此不再提及

SQL防注入

2016-02-15
阅读 2 分钟
2.7k
动态查询即是指将变量放到语句中,将固定的字符串和变量拼接在一起,组成一个完整的SQL查询语句,由于变量的值是动态变化的,因此查询也是动态的。编写这样的能够执行的动态的查询语句是十分自然的,也非常方便。但是,不经思考的加入也会带来很大的安全隐患。例如这样的一个查询: