AlstonWilliams's Blog

Thinking will not overcome fear but action will.

Protobuf系列-3-gRPC-Protobuf插件安装

研究Protocol Buffer的目的,就是因为项目中需要用到gRPC.所以在搞明白Protocol Buffer之后,由于gRPC在Protocol Buffer的语法中增加了一些新的内容,所以我们还需要为Protobuf编译一个gRPC插件. 环境 由于gRPC插件跟Protobuf密切相关,所以,我们需要先明确相关的环境. Protobuf: 3.4.0 gRPC: ...

Protobuf系列-2-在Java项目中使用

在上一篇文章中,我们介绍了如何安装Protoc,以及编译一个proto文件. 在这篇文章中,我们将会介绍如何在项目中使用这些编译出来的文件. 创建一个maven项目 通过下面这条命令创建一个最简单的maven项目就好: mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeAr...

Protobuf系列-1-安装

由于感觉官网上的介绍也比较模糊,所以在自己操作成功后,就把它记录下来. Protobuf介绍 官网上介绍的很简单,就是一个Google内部通用的数据交换格式.我们也知道一些数据交换格式,比如,JSON,XML等. 那么为什么Google还要提出Protobuf这种格式呢?因为JSON,XML等格式虽然是对人类非常友好的,但是效率并不高. 简单来说,它就是一种数据交换格式. Prot...

Netty-ChannelHandlerContext与Channel

当我们在一个Handler中时,我们要想写数据,有两种方式。一种是调用ChannelHandlerContext的相关的写数据的方法,一种是调用ChannelHandlerContext.channel()的相关的写数据的方法。 这两种方法,差别不小。如果不注意,就会踩坑。 我们有如下代码: package com.hypers.TestNetty; import io.netty.b...

NativeBase-2-1-0按钮之间没有间距

原效果图: 现效果图: 这个版本的NativeBase中,默认不会给按钮添加外边距.所以效果就如第一张图片所示.那么我们如何实现增加外边距的效果呢? 在项目的node_modules中,找到native-base/dist/src/theme/components/Button.js文件,在该文件的末尾,添加marginBottom属性,如下图所示: 注意看上图中的第48...

Mysql5-7-遇到-Invalid-argument-for-logarithm

在更新一些为值为Null的数据时,遇到了如题所示的问题. 具体是什么原因我也不知道.找了好多文档,都没解决. 后来,降级到了Mysql5.5,解决了.

MySQL索引

索引一直都是老生常谈的话题.之前对它也是一知半解.这两天,查询了大量资料,并在阅读了«High Performance MySQL»的相关章节后,终于对它有了一个比较清晰地认识.所以在这里记录下来. 我对MySQL并不精通,所以即使呕心沥血地写下这篇文章,其中难免还有一些错误.请各位在阅读的时候,保持怀疑的太多,去查阅更多资料.如果发现哪里有错误,请在评论区指正,大家一起进步! 实现索引...

MySQL会引起全表查找的语句(转)

全表扫描是数据库搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止。通常在数据库中,对无索引的表进行查询一般称为全表扫描;然而有时候我们即便添加了索引,但当我们的SQL语句写的不合理的时候也会造成全表扫描。 以下是经常会造成全表扫描的SQL语句及应对措施: 使用null做为判断条件 如:select account from member whe...

MapReduce缺陷

作为Hadoop的一个核心,MapReduce一直都是人们讨论的热点.而且,各类书籍上,往往也只是介绍了MapReduce的优点,其执行过程.对其缺陷,却并没有一个清晰的说明.包括你在百度,在Google上面用中文搜索”MapReduce”的局限性,都是得不到有价值的结果的.倒是有很多论文,专门讨论这个问题. 作为一项技术,缺陷肯定是有的.这不,今天在尝试比较深入的使用它的时候,就碰到了几...

Linux性能调优指南

在很久以前,就对性能调优有非常浓厚的兴趣。虽然之前也在做过一些性能调优的工作,但是主要集中在代码层面,以及业务层面。对如何从Linux操作系统方面进行调优,一直都没有一个清晰的认识。不过,最近偶然发现了一本IBM出的Linux调优指南,于是就拜读了一下。 读完一些之后,就发现这本书确实就是我所需要的一本书。 虽然之前读过一些关于操作系统的书籍,但是并不懂如何把它们应用到性能调优中。而从网...