自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 grpc 客户端启动及调用流程简单分析

grpc分层设计按照grpc的分层设计,结合源码,分析grpc客户端启动和调用流程。grpc的ManagedChannel创建ManagedChannel 是对 Transport 层 SocketChannel 的抽象,Transport 层负责协议消息的序列化和反序列化,以及协议消息的发送和读取。ManagedChannel 将处理后的请求和响应传递给与之相关联的 ClientCall 进行上层处理,同时,ManagedChannel 提供了对 Channel 的生命周期管理(链路创建、空闲、

2020-09-30 13:37:17 2923

原创 .proto 文件生成java代码解读

.proto 文件生成java代码解读grpc是跨语言的通信框架,其自己定义.proto文件,并根据需要生成对应语言的代码。本篇只对生成出来的java代码和原.proto文件的对应关系做简单说明。.proto文件本demo的.proto 文件内容如下,关于proto的语法暂不说明。syntax = "proto3";option java_package = "com.why.grpc";//option java_outer_classname = "OptionService";opti

2020-08-17 14:17:49 4172 2

原创 GRPC server启动流程简单梳理

GRPC server启动流程简单梳理一、rpc和grpc1、rpc (remote procedure call) : 使得应用程序之间可以进行通信,而且也遵从server/client模型。使用的时候客户端调用server端提供的接口就像是调用本地的函数一样.2、grpc : google提供的rpc框架grpc 通信结构图如下:grpc 和 restful API 比较①:grpc可以通过protobuf定义接口,可以有更加严格的接口约束②:protobuf 通过二进制传输,提高传输效

2020-08-13 16:00:52 4177

原创 testNg测试开发

testNg测试框架搭建设计背景设计思路:TestNg简介一、TestNg 介绍:二、注解三、异常测试四:忽略测试五:超时测试六、依赖测试七、参数化测试:testNg搭建项目过程使用demo一、csv测试用例二、Xml测试用例三、Json测试用例四、测试报告1.测试单个类2.测试多个类备注1.解决不同用例之间的依赖关系2.多线程并发的问题设计背景 为了方便sdk开发程序包的测试,搭建te...

2020-01-20 10:40:58 294

原创 部分安卓手机h5页面出现空白页面

一 问题出现H5 页面上线后,部分用户反馈页面显示空白. 经问题排查页面空白的手机主要是vivo和oppo手机且andriod系统版本较低. 测试机显示空白的版本是andriod 5.1.1 版本.本项目是在jsp页面中引入的vue二 问题排查在浏览器中显示正常. 不会出现空白. 通过抓包工具发现抓取的文件用浏览器也会出现空白页面的,且没有报错信息.通过网上搜索和需求帮助, 定位到问题是...

2019-09-25 11:14:34 8333

原创 shiro 自定义拦截器配置多个权限实现

一、问题产生在项目开发过程中,安全对于后台管理很重要。shiro是一个比较常流行的安全框架,网上关于shiro的使用和实现原理也比较全面。这里不做详细介绍,在项目中的权限配置会有各种不同的需求,例如有的url需要用户拥有多个权限中的一个权限就能够访问,这个就要自己编写拦截器的规则。二、具体场景自定义的拦截器没有重写PermissionsAuthorizationFilter的isA...

2018-08-30 16:30:12 10814 5

原创 spring boot项目生成docker镜像并完成容器部署

 一、问题产生   把spring boot项目生成的jar打成docker镜像并生成docker容器完成部署是比较简单方便的部署方式,而且部署过程很少会出错。二、部署步骤1.利用maven或者gradle完成打包工作,打成jar包的形式。2.在项目中的任意位置创建Dockerfile文件,本人的文件如下:FROM java:8VOLUME /tmpADD front...

2018-07-16 17:32:50 12800

原创 navicat 连接不上虚拟机上的mysql容器 client does not support authentication pro

一、问题产生在centOS 通过docker pull mysql下载mysql镜像并成功启动mysql容器。当通过windows主机navicat连接虚拟的mysql时报如下错误。Client does not support authentication protocol requested by server; consider upgrading MySQL client二、原因查找通过查...

2018-07-16 14:08:11 5715 8

原创 Java + Freemarker 生成适合自己项目代码模板

前言 每个项目组甚至是一个公司的代码风格几乎都相同,其实每个需求下来,建完表之后,新建dao,service,和controller以及对应的实体类是一项非常简单又麻烦的事情,一不小心写错单词还要浪费半天时间去找问题。通过固定的工具生成的代码是不会有这样的问题的。因此,在实际项目开发过程中,建立自己或者自己项目的代码生成工具能提高开发效率降低代码出错的可能性。而java+Freema...

2018-07-16 09:13:17 6287 8

转载 CentOS7安装MySQL

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。1 下载并安装MySQL官方的 Yum Repository[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noar...

2018-07-14 15:50:31 123

原创 go 语言数组

1.什么是数组     数组属于复合型数据类型,它是由相同类型的一组零个或多个元素组成的固定长度的集合。go语言中很少直接使用数组,一般使用slice(切片),切片的长度是可以扩展的,但是slice的底层还是使用的数组。数组提供了len()方法统计自己的长度。2.数组的声明和初始化    声明数组:    a.没有指定数组的大小var arrInt []intfmt.Printf("%T",ar...

2018-07-14 11:08:13 703

原创 Spring 4.1 设置接口返回统一数据类型

1.首先了解下面ResponseBodyAdvice这个类的作用,和@ControllerAdvice的作用。@ControllerAdvice是使得该注解的类能在所有@controller的Mapping接口调用是调用该方法package com.why.greenhouse.front.config.advice;import com.why.greenhouse.front.config...

2018-07-09 20:12:08 1386

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除