影落离风

The shadow falls away from the wind

0%

步骤

  1. 导入protobuf-java-format包

    1
    2
    3
    4
    5
    <dependency>
    <groupId>com.googlecode.protobuf-java-format</groupId>
    <artifactId>protobuf-java-format</artifactId>
    <version>1.4</version>
    </dependency>
    阅读全文 »

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 罗列出docker所有镜像
$ docker container ls

# 根据镜像名称过滤某镜像
$ docker container ls|grep dev

# 根据镜像名称过滤某镜像
$ docker container ls|grep dev

# 根据镜像id进入镜像 CONTAINER ID
$ docker exec -it 镜像id bash

# 在镜像内部exit,则退出镜像
$ exit
阅读全文 »

步骤

  1. 将proto文件转换为二进制文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    private static AiQiYV215Rta.RTARequest_2_0 request_2_0;

    static {
    request_2_0 = AiQiYV215Rta.RTARequest_2_0.newBuilder()
    .setOaid("7b6798e89994056e89c1797e6a52700c")
    .setImeiMd5("868619039737877")
    .setOpenUdid("ba9680df551f6de824d5aa2e61d97e5b")
    .setIdfaMd5("868619039737878")
    .setPlatform(32)
    .addAdvertiserIds(1245125L)
    .build();
    }

    public static void main(String[] args) {
    FileUtil.writeBytes(request_2_0.toByteArray(), "D:\\test\\rta\\AiQiYV215Rta.pb");
    }
    阅读全文 »

如何写出别人难以维护的代码呢?

各位看官且听我娓娓道来。。。

注意:以下图示代码或言语仅代表个人看法,可能会引起感官不适,望注意。

ps. 以下图示代码可能为本人、现任同事、或前任同事所写;大家相互学习,共同进步!

  1. 将很久不用的代码注释起来,最好注释上百行

    阅读全文 »

前言

需求:当新用户注册时,需要给用户发放各种礼品、积分、短信、邀请人奖励等。

常见写法

  1. 直接将上述后续操作堆到注册方法里,搞的注册方法又臭又长;当有其他注册如app注册、小程序注册、第三方注册时,然后将同样的发放逻辑复制的到处都是,可读性、维护性极差

  2. 优化:可以将发放逻辑抽成一个方法,然后供调用,这个应该是最常用的;

    但随着业务的扩张,可能不止普通用户、还有承包商、供应商等。可能都已经是不同的表了,他们也有不同的发放逻辑。

    然后发放逻辑建好几个方法,将之前的逻辑复制过去改一改;最后这个发放逻辑就会变得很臃肿难以维护。

  3. 再优化:可以套用事件驱动模式肢解该逻辑,当然也可以不使用。一切都要从业务出发,业务不复杂就完全没必要使用。因为不管用到什么设计模式都会建好多个类,虽然在单个类里维护性很强,但找起来可能不方便、整体使用还是不如直接调用方便。

    就是说不能为了使用设计模式而使用设计模式

    阅读全文 »