Yin Haomin's Blog

Program to change the world

The experience of using linux shell

1. 怎么使用命令在FTP中跳过输入name, password. 以下为sample #!/bin/bash #$1 is the host name of the ftp server. #$2 is the port of the ftp server. #$3 is the user name of the ftp server. #$4 is the password of t...

The experience of using Hadoop

最近使用Hadoop的过程中,出现了几个问题,总结一下 1. 使用Filesystem的时候,出现Filesystem closed的异常问题 问题的原因 当读写文件的时候,Hadoop抛异常说文件系统已经关闭。 在一个多线程的程序中,FileSystem.get(getConf())返回的可能是一个cache中的结果,它并不是每次都创建一个新的实例。 这就意味着,如果每个线程都自己去...

The experience of using FTP

最近使用FTP的过程中,出现了几个问题,总结一下 1. 我们连接远程FTP出现问题,FTP连接后,无法上传和下载文件 问题的原因 FTP是一种文件传输协议,它支持两种模式,一种方式叫做Standard (也就是 Active,主动方式,或者叫PORT模式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP serv...

How to use Baidu palo

占坑,Palo是一个支撑在线报表和多维分析应用的高性能并行数据库。你可以将格式化数据导入palo中,通过mysql的接口对数据进行分析和访问。Palo可以在秒级别的时间完成对TB级别数据的分析。

Dynamically generate class and set its fields value

我们的需求场景是这样的,对于一个数据中间件,每次上线都要重新写代码,而作为一个透传数据的中间件,完全没有必要写新的代码,可以改造成仅仅需要配置就可以了。 改造目的: 每一次增加订阅的字段都需要更改代码,重新上线,时间浪费在这种简单的需求的更改和上线上是不值得的。 为此,我们将其改造成为订阅配置化,只要需求是更改(无论是增加还是减少)订阅字段,仅仅需要花1分钟更改订阅配置就可以了。 那么...

Manage transaction in the application layer by self created transaction manager

如何在应用层实现transaction manager管理事务,举个例子我们需要在创建一个订单的时候,对于优惠券,库存进行操作。一旦出现异常就需要对整个操作进行回滚。 以下实现了一个业务层事务的代码: 业务层事务 以下为一个实现的实例: 首先实现一个TransactionOperation @Log4j @Data @NoArgsConstructor public class Ad...

How to automatically manage the jedis resource

问题的背景是这样的,我们想将redis资源的生成和return剥离我们的业务代码。主要的解决方案如下所示,我们使用了AOP+Annotation,回调函数了两种方式。我们也可以封装定制一个jedis(具体如何实现待研究)。另外还有Java 7 已经支持 Add Closeable to JedisPool (support for TryWithResources of java 7)。代码...

嵊泗出行行程和注意点

以下是我们4.9-4.10周末两天出游的行程和注意点。 第一日 (2016/4/9 星期六) 09:30准点从南浦大桥集合出发 9:30出发,9:30出发,9:30出发,请小伙伴们在这之前赶到南浦大桥长途客运站,发车2小时到沈家湾码头, 乘快艇大概50分钟-1小时左右抵达嵊泗李柱山码头 (全程车和快艇大概合起来需3-4小时左右)。 13:00左右 中午农家乐吃饭 大众点评看到饭店里...

Common Comment System Design

完成了通用的comment服务,为了解决大规模并发和大规模数据量的评论的写入和读取,用户的读取服务。 能够支持多个APP的读取和写入,以及数据的管理。 1 设计的目标 1.1 概述 通用的comment服务,为了解决大规模并发和大规模数据量的评论的写入和读取,用户的读取服务。能够支持多个APP的读取和写入,以及数据的管理。 1.2 核心业务 1.2.1 业务的效率要求 ...

Authority System Design

完成了一个权限管理系统,能够进行RBAC。 需对后台所有功能模块及功能进行职责权限划分,通过权限管理可配置不同权限给到相应人员。 建立了5张表: role, auth, role_auth, admin_user, admin_user_role. role表 CREATE TABLE `role` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCR...