Golang 语言语法中,错误处理机制是一个非常有特色的设计,它是基于防御性编程思想的设计。不过今天这篇文章不讨论 Golang 错误处理的语法设计问题,相反,今天想思考的是,Golang 里的错误日志应该怎样处理以及打印比较好。
Golang 中错误处理和日志打印的 5...
·
1 赞
·
0 评论
日常工作中,可能由于各种各样的信息干扰和诱惑,人在保持高效工作与专注上要面对的挑战其实不小。回顾我自己的一些工作经验和体会,我总结了 5 个能帮助我保持专注和高效的习惯:
拒绝注意力迷宫——不要在电脑上登录微信等常用的 IM 工具,关闭手机通知提醒
异步沟通——直接留言与...
·
3 赞
·
1 评论
问题背景
2017 年圣诞节当天,突然收到一个我经手过的项目的告警邮件,错误消息显示**“Redis::CommandError: ERR max number of clients reached”**。
什么情况?难道这个项目翻车了?第一反应是这台服务器运行着自建的 ...
·
2 赞
·
0 评论
什么是单调栈
单调栈是指从栈顶到栈底,栈内元素的值符合单调性的一种特殊数据结构。从栈顶到栈底,元素的值单调递减,称为单调递减栈;反之,称为单调递增栈。
\ 9 / \ 1 /
| 7 | | 3 |
| 5 | | ...
·
0 赞
·
0 评论
说起依赖倒置原则,已经不是个新鲜的词了,虽然也知道依赖倒置原则的具体设计模式,但是一直觉得难以理解何为“倒置”,直到今晚重新静心阅读了 Wikipedia 才恍然大悟!欣喜之余,赶紧写篇文章总结。
传统软件分层设计模式
在软件设计开发的时候,我们都会自然而然思考系统的分层设...
·
0 赞
·
0 评论
从中缀表达式说起
对于人类来说,中缀表达式是最直观自然的,比如“3+5x4”或者“(3+5)x4”,一般来说,对于中缀表达式,在程序中会用一个抽象语法树来表示表达式和求值,比如:
3+5x4
+
/ \
...
·
0 赞
·
0 评论
按照习惯起个调
作为程序员,经常会在编程语言、操作系统、网络以及文本编辑等多个层面遇上字符集或者字符编码的问题,尽管一般都能快速通过搜索引擎找到解决方案,但是对于这种字符集以及其相关的字符编码格式的知识,倒是未曾系统梳理。恰逢近期有了一些收获,趁热记录分享下。
从 Unic...
·
1 赞
·
0 评论
什么是反射?
反射是一种在运行时用于探测甚至修改内存数据以及程序行为的机制,在 go 语言中通过 reflect 包实现。直白来说,利用反射,我们可以实现包括但不限于的以下这些场景:
数据的反序列化,比如 json、yaml 等格式数据从纯文本到内存数据结构的反序列化过程...
·
0 赞
·
0 评论
在电商或者金融相关的场景中,商品价格等数据都会涉及到小数的表示或者计算,如果使用编程语言内置的浮点数类型,会有精度丢失的风险。在应用领域,decimal 类型应运而生,MySQL 数据库中内置支持 decimal 数据类型,而程序设计上,一般编程语言都会有标准库或者第三方库...
·
0 赞
·
0 评论
聊聊单测这个事
单元测试一直是大家老生长谈的话题之一,尽管各种测试方法论和测试工具集层层出不穷,但是实际上,在我所工作过的公司中,还没有见过能把单测坚持好的团队。单测的概念不复杂,单测的重要性大家也都是认同的,但是是什么造成单测没有执行下来呢?我觉得主要是两类原因吧:
...
·
0 赞
·
0 评论
最近由于工作需要,我对欧洲的通用数据保护条例做了调研和学习,其中有非常重要的一点,也是常识性的一条,就是需要对用户的个人隐私数据做好加密存储,避免用户隐私明文数据泄露。
方案分析
思考如何对用户隐私数据做好加密处理,可以先从分析典型的数据读写链路开始:
按照此链路分析,可...
·
0 赞
·
0 评论
分布式 ID 生成算法用于在分布式系统中生成全局唯一的 ID 标识,而 twitter 提出的雪花算法便是其中一种知名的算法,其每次会生成一个 64 位的全局唯一整数,算法的基本思想非常巧妙:
0 1010......101 101010101...
·
0 赞
·
0 评论
解读Rails系列文章原文来自Reading Rails,我将尽我所能完成此系列所有文章的翻译。以下部分为原文系列对应翻译:
在我们的工作中,我们的大部分时间都是在使用各种各样的工具,但是你知不知道它们是如何工作的呢?
在这个系列里,我们通过阅读Ruby on Rails的...
·
0 赞
·
0 评论
声明 : 此文翻译自WebSockets in Ruby, 限于本人才疏学浅,其中有翻译不当之处,敬请指出,感激不尽!
在我的主要工作中,需要构建一个一直占用相当大CPU时间片的数据系统。这个任务主要用于在地理编码以及local reference system(本地地理系...
·
0 赞
·
0 评论
Today I will show you how to DIY an intersting notifier automatically running per hour under the Mac OS X 10.8 and higher, all we need ar...
·
0 赞
·
0 评论
Related resource(s):
“linuxcommand: logrotate”:http://linuxcommand.org/man\_pages/logrotate8.html logrotate is designed to ease administr...
·
0 赞
·
0 评论
Related Resources
rsync :http://rsync.samba.org/
Crontab :http://unixhelp.ed.ac.uk/CGI/man-cgi?crontab+5
“Linux Crontab 定时任务 命令详解” ...
·
0 赞
·
0 评论
In rails, there is normally a view corresponding to an action. So if you want to do some special styles based on different pages, you can...
·
0 赞
·
0 评论
Many people are accustomed to start a Nginx web server through init scripts and then they can control the state of the server through ser...
·
0 赞
·
0 评论
今天需要给客户的网站做支持产品数据导出并且更新的功能,所以就涉及到了数据的导入导出了。在经过一番对比之下,果断使用csv格式文件作为数据导入导出的载体。
导出csv文件
与csv文件主要相关的类是CSV,此类在ruby的标准库中被定义,所以只要在代码开头引入相关文件即可:
...
·
0 赞
·
0 评论