自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (2)
  • 收藏
  • 关注

原创 GTLC非官方“服用”指南

缘起:与 GTLC 的相识GTLC,全称全球技术领导力峰会,我至今报名参加了3次,昨天在广州的一场是第3次,而去年3月也是在广州,是第一次。至于说起从哪了解到 GTLC 的,已经不记得了,只依稀记得去年看到广州场的活动宣传之后没多久就决定付费报名了,主要动机也是考虑自己刚到技术管理岗位半年,想要去学习别人的管理,学学什么是技术领导力...

2020-11-02 00:00:00 302

原创 《Paxos Made Simple》中文翻译:Paxos 如此简单

写在前面个人在学习理解 Paxos 算法的过程中,花了比较多的时间,从最开始直接查看中文博客资料,感觉都是看完不知所以然或者有很多疑问,于是决定死磕《Paxos Made Simple》论文原文。但是由于有些英文的意思我自己理解起来还是有点困惑,于是过程中遇到无法理解的内容,一方面是会翻阅前辈...

2020-10-28 08:29:00 764

原创 谨防猴子补丁以及Python中排查技巧

背景前两天晚上线上系统突发故障,在立马打开线上错误日志之后,却只能得到一堆毫无意义的程序调用栈(traceback)的输出,于是团队成员陷入漫长而又抓瞎的问题排查过程中。问题很幸运地得到了解决,但是我一直想不明白为什么日志里打印的调用栈毫无意义,按照经验,它应该打印的是异常产生过程中的调用...

2019-09-22 00:00:00 144

原创 Mac OS 环境 Rails 6.0 下 webpack-dev-server wrong version 问题解决方案

错误信息昨天装上了 Ruby on Rails 6.0,满心欢喜初始化项目并且按照指引安装了 webpacker 之后,执行熟悉无比的 rails c 命令,却给了一个报错:# 错误信息片段yarn check v1.7.0success Folder in sync.Done ...

2019-09-06 00:00:00 132

原创 pymysql 开启调试模式

今天在排查线上一个奇怪的数据库连接问题,所以打开了 pymysql 的源码在阅读,发现 pymysql 在其 connections 模块里内置了一个 DEBUG 变量用于控制是否开启调试模式,是的话,会将当前连接的操作以及报文内容都打印到控制台。使用方法在你的服务器初始化代码里,加上对...

2019-08-18 00:00:00 194

原创 django 快速启动数据库客户端程序

实际工作经历中,免不了有时候需要连接数据库进行问题排查分析的场景,之前一直习惯通过 mysql -uxxx -hxxxx -P1234 ... 这样的方式来启动命令行形式的 MySQL 数据库客户端程序,只是用起来比较麻烦,每次都要拷贝各个配置参数,还要记得不要在命令里显式打...

2019-08-15 00:00:00 79

原创 不严谨的不同语言下大 Excel 文件写入的性能比较

背景去年因为线上系统需要导出大量数据(大概是 11 万行)到 Excel,代码是 Python 2.7 写的,除去数据库查询耗时,整个的 Excel 文件生成也还要耗费几十秒的时间,这听起来真是一个非常夸张的事情。后来为其更换了号称性能表现最好的 pyexcelerate 库,性能确实有提...

2019-03-23 00:00:00 231

原创 利用 Postman Chrome app 和 Chrome 浏览器共享网站 cookie

背景作为一个Web工程师,最熟悉的日常工作莫过于后台接口开发与联调测试,而在接口测试上,大家最喜爱的工具清单里,必然少不了 Postman 这一利器。然而,有时接口测试需要准备好登录态,或者其他状态数据,而这些数据往往就存在浏览器 Cookie 里边。结合本文介绍的工具,便可以无缝在 Po...

2019-01-14 00:00:00 439

原创 记一次Redis数据库配置导致的连接数泄露的问题

问题背景去年圣诞节当天,突然收到一个我经手过的项目的告警邮件,错误消息显示“Redis::CommandError: ERR max number of clients reached”。什么情况?难道这个项目翻车了?第一反应是这台服务器运行着自建的 Redis 数据库,但是客户端只有同...

2018-02-10 00:00:00 232

原创 动态密码算法介绍与实现

动态密码,亦称一次性密码(One Time Password, 简称 OTP),是一种高效简单又比较安全的密码生成算法,在我们的生活以及工作中随处可见,身为开发者,也或多或少在自己的业务系统中集成了二步验证机制,那么,技术运用,既要知其然,更要知其所以然,动态密码算法是怎样的?读前指引...

2017-02-18 00:00:00 446

原创 周末到了,来段代码压压惊

最近一段时间,写了两篇关于 sidekiq 的源码分析,但是一直想要补充的一段 sidekiq 里边的代码其实是挺有趣也挺逗的,所以这个星期就不要长篇大论的源码分析,来点轻松点的吧。这个代码是这样的 o(╯□╰)o:# https://github.com/mperham/sidekiq...

2016-11-26 00:00:00 93

原创 Sidekiq 信号处理源码分析

引言在之前的文章《Sidekiq任务调度流程分析》中,我们一起仔细分析了 Sidekiq 是如何基于多线程完成队列任务处理以及调度的。我们在之前的分析里,看到了不管是 Sidekiq::Scheduled::Poller 还是 Sidekiq::Processor 的核心代码里,都会有一个...

2016-11-20 00:00:00 53

原创 sidekiq任务调度流程分析

sidekiq是 Ruby 中一个非常优秀而且可靠的后台任务处理软件,其依赖 Redis 实现队列任务的增加、重试以及调度等。而 sidekiq 从启动到开始不断处理任务、定时任务以及失败任务的重试,都是如何调度的呢?遇到问题的时候,又该如何调优呢?注意今天的分析所参考的 sideki...

2016-10-29 00:00:00 353

原创 [Ruby on Rails] 嘿,小心你的双等号==

前两天在写代码的时候,突然收到警告说项目代码中存在 XSS 漏洞,遂立即根据报告的 URL 排查页面代码,虽然很快就修复了,而且同样问题的讨论两年前就有了,看《别用 raw 和 html_safe》,一般来说相对有经验的同学也应该都知道这个点,但是还是觉得有必要写出来,再次提醒一下其他小伙伴...

2016-01-17 00:00:00 44

原创 谨防 ActiveSupport::Cache::Store 缓存 nil 值

Rails 中的 active_support 组件主要基于 Rails 需要提供了很多非常有用的基础工具以及对 Ruby 内置类进行扩展。其中的 cache 模块主要提供了 Rails 中底层缓存的定义以及简单实现。今天要跟大家探讨的是之前在使用此模块所遇到的一个坑,有兴趣学习其基本用法的...

2015-10-30 00:00:00 131

原创 使用 Chinese_pinyin + Friendly_id 为中文标题生成 Slug

在许多项目中,我们可能都会遇到需要为数据生成 slug 的场景,这些场景类似于:基于商品名称生成 slug基于文章标题生成 slug至于为什么需要生成 slug,而不是使用比如 Rails 中默认自增的主键也就是数据的 id,原因其实很简单:使用自增 id 容易暴露数据,比如通...

2015-10-21 00:00:00 321

原创 MySQL in 查询,并通过 FIELD 函数按照查询条件顺序返回结果

从示例讲起我们都非常习惯通过 MySQL 的 IN 函数来查询特定集合的数据,比如为了在 books 表中找出李雷、韩梅梅和安华写的书,我们可以有如下的 SQL:SELECT * FROM books WHERE `books`.`author` IN ('李雷','韩梅梅','安华')...

2015-09-13 00:00:00 201

原创 Apdex——衡量服务器性能的标准

日常工作中,我们总是习惯于通过量化的标准去衡量我们对事物的评价,比如美食点评的星级、酒店的星级、每个个人的信用评分等等。而作为一个 Web 工程师,我们也总是在意于我们网站的性能,因为网站的性能会最直接地影响用户的体验。今天要介绍的就是一种同样能够帮助工程师对应用性能进行量化评估的标准 ——...

2015-08-30 00:00:00 508

原创 申请以及集成 Stripe 的 Alipay 支付方案

最近在一个项目需要支持人民币支付,并且客户要求希望能够收完款后的结算是用美元,所以就想到了去年 Stripe 宣布已经跟支付宝达成合作意向,所以经过一番咨询跟集成,终于把 Stripe 集成进来,并且启用了支付宝收款。这篇文章介绍功能申请以及集成的完整过程。功能申请...

2015-03-29 00:00:00 708

原创 How do I fix Passenger application startup problem

Recent days I was working on deploying one of my Rails project on a complete new VPS. I had operated according to my experience for deploying site...

2015-01-10 00:00:00 73

原创 在 coding.net 上部署 Jekyll 博客 (此方式已过期,coding 官方已直接支持 jekyll)

自从 coding 推出 PaaS 演示平台以及开放自定义域名之后,很多人开始尝试在 coding 上部署自己的博客,其中就有 jekyll,coding 上就有官方推荐的 jekyll-demo。但是因为这个 Demo 的 README 文档中只是简单介绍配置步骤而已,没有详细介绍原理以及...

2014-12-20 00:00:00 75

原创 RAILS中利用YAML文件完成数据对接

最近在做的Ruby on Rails项目中,需要将远程数据库中的数据对接到项目数据库中,但是远程的数据不仅数据表名跟字段命名奇葩,数据结构本身跟项目数据结构出入比较大,在数据导入过程中代码经历了几次重构,最后使用了YAML文件解决了基本数据1对接的问题。在此写一篇博文,我会尽量重现一路过来的...

2014-11-13 00:00:00 84

原创 Spree 2.3.0已经发布

声明:原文来自Spree官方博客Spree 2.3.0 Released,原文发布日期是2014-06-30,本文仅作翻译。简要介绍:Spree是一个基于Ruby on Rails开发的开源在线商城框架,提供了从商品展示购买、下单支付到库存管理以及订单管理等一系列基本功能,并且支持通过第...

2014-11-05 00:00:00 36

原创 在Ruby中使用WebSocket

声明: 此文翻译自WebSockets in Ruby, 限于本人才疏学浅,其中有翻译不当之处,敬请指出,感激不尽!在我的主要工作中,需要构建一个一直占用相当大CPU时间片的数据系统。这个任务主要用于在地理编码以及local reference system(本地地理系统?)之间进行编码...

2014-11-05 00:00:00 182

原创 解读Rails - 属性方法

此文翻译自Reading Rails - Attribute Methods,限于本人水平,翻译不当之处,敬请指教!在我们上一篇的探讨中,我们已经看到了Rails在跟踪属性变更中使用到的属性方法(attribute methods)。有三种类型的属性方法:前缀式(prefix)、后缀式(...

2014-11-05 00:00:00 64

原创 解读Rails - 处理异常

此文翻译自Reading Rails - Handling Exceptions,限于本人水平,翻译不当之处,敬请指教!我们今天开始会读一些Rails的源码。我们有双重的目的,先通过学习(Rails)如何处理异常,再扩展到整个Ruby中基础知识的学习。Rails通过让你使用rescu...

2014-11-05 00:00:00 73

原创 Track Original Repo When Fork

git remote add --track master upstream git://github.com/upstreamname/projectname.gitgit fetch upstreamgit merge upstream/master ...

2014-11-05 00:00:00 28

原创 解读Rails - 适配器模式

本文翻译自Reading Rails - The Adapter Pattern,限于本人水平有限,翻译不当之处,敬请指教!今天我们暂时先放下具体的代码片段,我们将要对Rails中所实现的一个比较常见的设计模式进行一番探索,这个模式就是适配器模式(Adapter Pattern)。从一定...

2014-11-05 00:00:00 70

原创 Split logs automatically every day

Related resource(s):"linuxcommand: logrotate":http://linuxcommand.org/man_pages/logrotate8.htmlX42Xlogrotate is designed to ease administratio...

2014-11-05 00:00:00 90

原创 Ruby中Hash的7个日常使用范例

此文翻译自7 daily use cases of Ruby Hash,限于本人水平,翻译不当之处,敬请指教!每一天,你都需要跟Hash相处。创建一个新的Hash或者是通过它的某一个键去检索其中的元素这样的工作,都是常见也是非常简单的。但是当你需要合并两个嵌套的Hash或者是从某一个Ha...

2014-11-05 00:00:00 73

原创 Gemfile指定gem来源的四种方式

Gemfile的作用无非就是告诉bundler你的项目具体都需要哪些gem,这些gem都需要哪些版本,以及从哪获取这些gem。其实你的问题应该就是跟第三点有关,总的来说,gem的来源可以有四种:1. 从镜像源安装这个是最直接的,通过这种方式指定的gem,bundler会从文件开头的s...

2014-11-05 00:00:00 490

原创 Export/import Datas To/from a Csv File

今天需要给客户的网站做支持产品数据导出并且更新的功能,所以就涉及到了数据的导入导出了。在经过一番对比之下,果断使用csv格式文件作为数据导入导出的载体。导出csv文件与csv文件主要相关的类是CSV,此类在ruby的标准库中被定义,所以只要在代码开头引入相关文件即可:requir...

2014-11-05 00:00:00 100

原创 DIY an Timer Through Terminal-notifier

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 are a termi...

2014-11-05 00:00:00 48

原创 跟踪model中属性(值)的变更

此文翻译自Reading Rails - Change Tracking,限于本人水平,翻译不当之处,敬请指教!我们今天来看看Rails是如何追踪model里边属性的变更的。person = Person.find(8)person.name = "Mortimer"person...

2014-11-05 00:00:00 43

原创 Rails HTTP Status Code to Symbol Mapping

Sometimes you might need to set the HTTP response head with different status to specify the different handled results. You can do this in Rails by...

2014-11-05 00:00:00 30

原创 sublime text 2基于语法的配置文件

最近在学习Python编程语言,但是遇到一个小小的问题,就是原来Ruby的编码规范是用2个空格缩进的,所以以前在Sublime的全局用户配置中设置了"tab_size": 2,所以在编辑Python文件的时候就每次都要从菜单中设置tab_size的大小为4。后来经过搜索,发现Sublime ...

2014-11-05 00:00:00 44

原创 Write Css Codes Distinct From Different Pages

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 render c...

2014-11-05 00:00:00 49

原创 Delete multiple git remote branches by prefixing colon

git push origin :branch-1 :branch-2 [:other-branches]Remember the colon :

2014-11-05 00:00:00 43

原创 注意Rake Task中invoke方法跟execute方法的不同

平时如果跟Rake Task有过接触的同学都会知道,当我们需要在一个Task里边调用另一个Task的时候,我们可以使用Rake::Task['task_name'].invoke的方式。但是在今天的实践中,才知道Rake::Task#invoke在默认情况下在整个运行过程中将只会被调用一次而...

2014-11-05 00:00:00 76

原创 Run a Shell Script Auto-matically When Entering/cd a Directory

I don't know if it is common that you need to run some shell scripts which are used under only some directories, such as, one of your Rails proje...

2014-11-05 00:00:00 54

The Ruby Programming language

一本关于Ruby编程语言的权威指南,全面涵盖该语言的1.8版和1.9版。本书详尽但并不拘泥于语言规范,既适合首次接触Ruby的资深程序员,同样也适合那些想要挑战对这门语言的理解并更深入掌握它的Ruby程序员。

2012-07-29

1900-2049年农历信息

之前用Java写了一个可以显示农历的小程序,这是其中用到的农历信息,共有150年,1900-2049年。现在单独选出来,有需要的朋友可以参考一下。存储方式文件中有说明!

2011-12-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除