使用 PMD Eclipse插件

2017-02-14 PMD

PMD 是一个源代码分析器。 它发现常见的编程缺陷,如未使用的变量、空 catch 块、不必要的对象创建等等。 它支持Java、JavaScript、Salesforce.com Apex、PLSQL、Apache Velocity、XML、XSL 等。

此外,它包括 CPD(copy-paste-detector,复制粘贴检测器)。 CPD 在Java、C、C++、C#、Groovy、PHP、Ruby、Fortran、JavaScript、PLSQL、Apache Velocity、Scala、Objective C、Matlab、Python、Go、Swift 和 Salesforce.com Apex 中能够发现重复的代码。

本文介绍了如何在 Eclipse 里面安装、使用 PMD 插件的过程。


使用 Eclipse Checkstyle Plugin

2017-02-13 Checkstyle

Checkstyle是一个开发工具,帮助程序员编写符合编码标准的Java代码。 好的代码规范,在一个项目协作的团队中尤为重要。Checkstyle 能够自动化检查Java代码的过程,免去了人工校验的繁琐。 同时,Checkstyle是高度可配置的,可以支持几乎任何编码标准。 只需要提供了一个示例配置文件,就能支持代码的约定。

本文介绍了如何在 Eclipse 里面安装、使用 Checkstyle 插件的过程。


imooc 讲课技巧

2017-02-12 imooc

总结自 imooc 上的讲课技巧。对比培养演讲、讲课培训还是比较有帮助的。



通过 WSL在Windows下愉快的玩耍Linux

2017-02-05 WSL Windows

WSL(Windows Subsystem for Linux) 是 在Windows系统中为那些熟悉Linux用户准备的诸多子系统功能。换言之,你可以在Windows环境下来执行Linux操作,运行 Linux程序。这对于Windows、Linux双系统有需求的用户来说是个不错的功能。本文详细介绍了如何使用 WSL。





为什么我们迫切需要持续集成(Continuous Integration)

2016-12-25 CI

持续集成(Continuous Integration),也就是我们经常说的 CI,是现代软件开发技术的基础。本文论述了当前软件开发过程中存在的问题,讲解了持续集成、持续集成服务器的概念,最终探讨了为什么我们需要持续集成来解决这些问题。


ToadforDB2_Freeware_6.x 安装报错“Toad did not find a default DB2 client”

2016-12-21 DB2

ToadforDB2 是比较好用的图形界面的DB2管理工具,分为免费版和商业版本。在新版的 ToadforDB2_Freeware_6.x 进行安装时,会提示报错“Toad did not find a default DB2 client”,即找不到 DB2 的客户端,意思是 6 版本区别与 5 版本 所不同的是,它依赖于 DB2 client 的实现。



Apache Mesos 在不同平台下的安装

2016-11-20 Mesos

在传统上,物理机和虚拟机是数据中心的典型的计算单元。当应用部署后,这些机器需要安装各种配置工具来对这些应用做管理。机器通常被组织成集群,提供独立的服务,而系统管理员则来监督其日常的日常运作。最终,这些集群达到其最大容量时,需要多机联网来处理负载,这就对集群的扩展带来了挑战。

在2010年,UC Berkeley 大学就对上述问题,提出了解决方案,这就是现在的 Apache Mesos。Mesos 抽象了 CPU、内存、硬盘资源,让数据中心的功能对外就像是一个大的机器。Mesos 创建一个单独的底层集群来提供他们给应用程序所需要的资源,而不会超出虚拟机和操作系统的性能限制。

本节介绍了 Mesos 在不同平台上的安装和使用过程。


Zabbix 在不同平台下的安装

2016-10-16 Zabbix

Zabbix 是一个基于 Web 界面的提供分布式系统监控以及网络监控功能的企业级的开源解决方案。

Zabbix 能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位、解决存在的各种问题。

本节介绍了 Zabbix 在不同平台上的安装和使用过程。


Nagios 在不同平台下的安装

2016-10-15 Nagios

Nagios 是一款开源的免费网络监视工具,致力于打造符合行业标准的 IT 基础架构的监控系统。Nagios 提供了服务器、网络和应用的完整的 IT 监控和报警,可以有效监控 Windows、Linux 和 Unix 的主机状态,以及交换机、路由器、打印机等网络设备。在系统或服务状态异常时可以发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信进行通知。

本节介绍了 Nagios 在不同平台上的安装和使用过程。


Redis 数据类型及抽象

2016-09-18 Redis

Redis 不仅仅是简单的 key value 存储,实际上它还是一个 data strutures server(据数结构服务器),用以支持不同的数值类型。在 key value 中,value 不仅仅局限于 string 类型,它可以是更复杂的数据结构:


Apache HBase 入门教程

2016-09-12 HBase

Apache HBase 是一个分布式的、面向列的开源数据库。正如上一节所提到的,该技术来源于 Google 的 Bigtable。就像 Bigtable 利用了 GFS 所提供的分布式数据存储一样,Apache HBase 在 Hadoop 之上提供了类似于Bigtable 的能力。HBase 是 Apache 的 Hadoop 项目的子项目。HBase 不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是 Apache HBase 基于列的而不是基于行的模式。


Apache Hadoop 入门教程

2016-08-28 Hadoop

Apache Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。可以让用户在不了解分布式底层细节的情况下,开发出可靠、可扩展的分布式计算应用。

Apache Hadoop 框架,允许用户使用简单的编程模型来实现计算机集群的大型数据集的分布式处理。它的目的是支持从单一服务器到上千台机器的扩展,充分利用了每台机器所提供本地计算和存储,而不是依靠硬件来提供高可用性。其本身被设计成在应用层检测和处理故障的库,对于计算机集群来说,其中每台机器的顶层都被设计成可以容错的,以便提供一个高度可用的服务。

Apache Hadoop 的框架最核心的设计就是:HDFS 和 MapReduce。HDFS 为海量的数据提供了存储,而 MapReduce 则为海量的数据提供了计算。


Quartz Cron Expressions 详解

2016-07-11 Quartz

Quartz 是一个完全由 Java 编写的开源企业级作业调度框架。在处理 CronTrigger 进行周期性任务触发时,需要进行时间的配置,其中就需要使用 Cron Expressions。本文将对 Cron Expressions 进行详细讲解。



远程过程调用(RPC)详解

2016-06-30 RPC

本文介绍了什么是远程过程调用(RPC),RPC 有哪些常用的方法,RPC 经历了哪些发展阶段,以及比较了各种 RPC 技术的优劣。



在浏览器里启用混合内容

2016-05-30 Web

本文介绍了在浏览器里什么是混合内容,为什么要禁用混合内容,以及在各种浏览器里面如何启用混合内容。



DB2 所有数据库表、表字段注释乱码问题的排查及解决方案

2016-04-21 DB2

问题背景:自2015年以来,国家项目测试平台 DB2 所有表的表名、表字段等中文注释均开始存在乱码问题,严重影响开发人员对于数据库表含义的理解(特别是在数据库设计文档缺乏的情况下)。

本文记录了解决该历史遗留问题的相关步骤,总结遇到的坑,最后提出解决该问题的方案。


RESTful API 设计最佳实践

2016-04-17 REST

Web API 近几年变得越来越火,而简洁的 API 设计在多后端系统交互应用中也变得尤为重要。通常,会使用 RESTful API 来作为我们的 Web API 。本文介绍了几种简洁 RESTful API 设计的最佳实践。


Hibernate 性能优化法则

2016-04-16 Hibernate Optimization

Hibernate 是 Java EE 应用中流行的 JPA 框架,简单易用,但很多使用过 Hibernate 的开发者都普遍反映 Hibernate 性能低下。究其原因,还是使用者没有对 Hibernate 进行过深入理解,对 Hibernate 的应用也只是浮于表面。本文介绍了几种简单实现 Hibernate 性能优化的方法。






Java I/O 模型的演进

2016-03-01 Java IO

什么是同步?什么是异步?阻塞和非阻塞又有什么区别?本文先从 Unix 的 I/O 模型讲起,介绍了5种常见的 I/O 模型。而后再引出 Java 的 I/O 模型的演进过程,并用实例说明如何选择合适的 Java I/O 模型来提高系统的并发量和可用性。


浅谈 CAP 理论

2016-02-28 CAP Distributed

本文介绍了介绍了分布式系统著名的 CAP 理论。什么是 CAP 理论?为什么说 CAP 只能三选二?了解 CAP 对于系统架构又有什么指导意义?本文将一一作答。



简述 Docker

2016-02-20 Docker

Docker 是 Golang 编写的, 自 2013 年推出以来,受到越来越多的开发者的关注。如果你关注最新的技术发展,那么你一定听说过 Docker。不管是云服务还是微服务(Microservices),越来越多的厂商都开始基于 Docker 作为基础设施自动化的工具。那么什么是 Docker?Docker与传统的虚拟机有什么区别?为何要采用 Docker?如何使用 Docker?

本文,就针对上述提到的问题,来简单介绍下 Docker。


简述 Microservices(微服务)

2016-02-19 Microservices

自 2014 年始,Microservices(微服务)一词越来越火爆,不谈 Microservices 彷佛就 out 了。那么什么是 Microservices?Microservices 架构与传统的架构有什么区别?何时应该采用 Microservices?如何构建 Microservices?

本文,就针对上述提到的问题,来简单介绍下 Microservices。



Stay Hungry,Stay Foolish!Steve Jobs 毕业演讲的三点感悟

2016-02-14 Soul

Steve Jobs 于2005年6月12号在斯坦福大学的毕业典礼上面的演讲,主要谈及了他人生中的三点感悟:因果、得失、死亡。最后以 “Stay Hungry. Stay Foolish.”总结。十年之后再看他当年的演讲视频,仍觉得感概万分。

寻找自己所爱的工作,并将它作为毕生奋斗的事业!



Way Lau

Software Engineer and Full Stack Developer, now work and live in Shenzhen, China. Detail

Donate

See the list of Donors.