6月 17

前后端分离开发模式下后端质量的保证:单元测试

概述

在今天, 前后端分离已经是首选的一个开发模式。这对于后端团队来说其实是一个好消息,减轻任务并且更专注。在测试方面,就更加依赖于单元测试对于API以及后端业 务逻辑的较验。当然单元测试并非在前后端分离流行之后才有,它很早就存在,只是鲜有人重视且真的能够用好它。而在前后端分离开发模式下,特别是两者交付时 间差别很大的情况时,后端可能需要更加地依赖于单元测试来保证代码的正确性。 继续阅读

6月 07

Apache Thrift – 可伸缩的跨语言服务开发框架

Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的远程服务调用的框架。本文将从 Java 开发人员角度详细介绍 Apache Thrift 的架构、开发和部署,并且针对不同的传输协议和服务类型给出相应的 Java 实例,同时详细介绍 Thrift 异步客户端的实现,最后提出使用 Thrift 需要注意的事项。

继续阅读

3月 22

redis队列

常用的队列有RabbitMQ,Redis,ZeroMQ, ActiveMQ, Kafka等,其中redis是较为轻量级的,这里简单介绍下。

Redis这个缓存的应用之所以能用作队列,要得益于lpushbrpop两条命令:

    lpush 在list左侧插入数据
    rpush 在list右侧插入数据
    brpop 在list右侧弹出数据(如果没有数据,就阻塞进程)
    blpop 在list左侧弹出数据(如果没有数据,就阻塞进程)

继续阅读

3月 21

MySQL索引使用方法和性能优化

关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以WordPress来说,其多个数据表都会对经常被查询的字段添加索引,比如wp_comments表中针对5个字段设计了BTREE索引。 继续阅读

3月 16

Memcached搭建 & 监控

Memcached搭建 & 监控

源码安装

依赖

在安装memcached之前,需要先安装libevent这个开发包。

  • ubuntu: sudo apt-get install libevent-dev
  • Redhat/Fedora: sudo yum install libevent-devel (这种方式可能不是最新版本)

继续阅读

3月 16

Android 静态代码扫描规则

阻塞

  1. 不可能的转换
  2. 使用equals()方法比较类型不通的数组
  3. 硬编码了数据库密码
  4. 性能 – URL的equals 和 hashCode 方法会被堵塞 http://michaelscharf.blogspot.com/2006/11/javaneturlequals-and-hashcode-make.html
  5. 性能 – URL的Maps 和 sets可能是性能大问题
  6. 错误用法 – close()调用了一个永远是null的值
  7. 错误用法 – equals方法一直返回false或者true
  8. 错误用法 – null值一定会被调用
  9. 错误用法 – 一个已知的null值被检测它是否是一个类型的实例
  10. 错误用法 – 集合转换为数组元素时发生的类型转换错误

继续阅读

3月 15

nginx配置文件nginx.conf解析

1、Nginx的配置文件结构

Nginx的配置文件nginx.conf位于其安装目录的conf目录下。
nginx.conf由多个块组成,最外面的块是main,main包含Events和HTTP,HTTP包含upstream和多个Server,Server又包含多个location: 继续阅读