摘要:
概述 gRPC作为通用RPC框架,内置了拦截器功能。包括服务器端的拦截器和客户端拦截器,使用上大同小异。主要作用是在rpc调用的前后进行额外处理。 从客户端角度讲,可以在请求发起前,截取到请求参数并修改;也可以修改服务器的响应参数。 示例 以下写一个简单的示例来描述具体的功能实现。以Go语言为例,其 阅读全文
摘要:
开发中经常会写增删改查的功能,这里记录下在更新操作时遇到的一个问题。 假设一个模型对应数据库中某一张表,在更新时便需要区分是一次性更新全部字段还是仅更新部分字段。希望能做到传递某个参数时便更新,未传递时不更新。 先定义一个用户模型,如下: 服务端以这种方式来接收: 然后客户端以下面的方式来请求(这里 阅读全文
摘要:
websocket进行通讯时,可以选择采用字符串或者字节流的传输模式。但在发送与接收时,需要考虑数据的分包,即分成一个个请求与响应消息。无论是采用哪种传输模式,都不免要遇到这个问题。 采用字符串传输时,接收端可以将每次接收到的字符串拼接到一起,再检测是否出现了某一特定子串,比如连续两个换行,即可将一 阅读全文
摘要:
JavaScript本身可通过charCodeAt方法得到一个字符的Unicode编码,并通过fromCharCode方法将Unicode编码转换成对应字符。 但charCodeAt方法得到的应该是一个16位的整数,每个字符占用两字节。在网络上传输一般采用UTF 8编码,JavaScript本身没有 阅读全文
摘要:
一种常见的版本控制工具 获取 克隆仓库 git支持以ssh或者http的方式来标识远程仓库 以上两条命令作用相同,均是将github上的仓库克隆到本地 拉取远程仓库 在拉取更新时,若直接执行git pull操作,则会将远程更新与本地更新合并,此时本地文件将出现待提交状态,即使本地并未修改 若仅仅想拉 阅读全文
摘要:
介绍ssh、sshpass、scp等linux下远程操作常用的命令 ssh 通过终端远程linux服务器的常用命令 向ssh命令传递证书文件 证书文件权限应为只读,否则会提示无法使用错误 sshpass 用以向ssh命令传递密码,免去ssh时提示输入密码问题,一条命令直接登录 scp 用以实现本机与 阅读全文
摘要:
包管理工具 包的命名 gentoo中每个包名包含两部分,组名与包名,如:dev db/redis,dev db是组名,redis是包名或者称库名。 安装搜索时需要指定包的名称,一般不需要输入组名, 但如果存在重名的情况则需要输入组名。 搜索仓库中是否包含某个包 安装某个包 搜索某个包是否安装 equ 阅读全文
摘要:
开发服务器程序时如果未经过充分测试, 服务稳定运行一段时间后会突然崩溃退出。一般是因为程序中出现了某个未捕获的异常。 这类问题属于偶现的,且需要服务器运行一段时间之后才会出现,难以定位有问题的代码段。 这中情况下应该将服务进程的stderr重定向至某个文件,这样当进程因未捕获的异常导致崩溃时,go运 阅读全文