自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Comin的博客

记录和分享

  • 博客(51)
  • 收藏
  • 关注

原创 golang 分布式框架Origin学习笔记

最近项目的后端需求是全球同服的,在使用语言方面确定了为golang之后,了解了一下当前的一些goalng游戏服务器框架,终于在leaf/pitaya/ 等众多框架中选择了 Origin, 主要是因为它是分布式框架,微服务架构,比较匹配做全球同服需求下的功能模块分离。 各个框架对比图待补充目前基本已经上手,现在总结归纳一下一些需要注意和记住的点:1、服务的安装2、rpc的使用细节3、Origin核心思想这个得从config说起,config/cluster.json,这个是目前版本origin(作者

2021-04-20 10:28:33 3456

原创 SVN 命令行与GUI

命令行 打开SVN提交界面

2023-04-07 09:59:27 389 1

原创 推荐一个golang压缩、解压库unarr

golang 解压 压缩 zip 7z

2022-12-10 15:12:56 535 1

原创 IDEA 文件不生效 红色

文件大小超出了配置的限制,代码洞察功能不可用 导入文件无效 红色

2022-11-23 23:56:40 823

原创 No JDK specified for module ‘XXX‘

No JDK specified for module

2022-10-31 16:41:29 1005

原创 Golang 字符串 空格 双引号 exec.Command

golang exec.Command 空格 字符串 引号

2022-10-25 00:34:22 766

原创 IDEA 打包 jar

IDEA 打包 jar jar中没有主清单属性

2022-10-24 14:09:38 246

原创 SVN多服务 指定仓库目录 多仓库 新硬盘

SVN多服务 指定仓库目录 多仓库 新硬盘 SVN多实例

2022-06-10 11:07:43 594

原创 通过主机名(设备名)获取IP

通过ping就可以做到ping 别名 -4

2022-04-20 14:54:34 2184

原创 Erlang程序设计(第2版) 第十三章练习

辅助函数% 计算T1,T2之间相隔的时间deta_time(T1, T2) -> {M1, S1, _} = T1, {M2, S2, _} = T2, (M2-M1)*1000000 + (S2-S1).deta_time(T1) -> T2 = os:timestamp(), deta_time(T1, T2).% (1) 编写一个my_spawn(Mod, Func, Args)函数。它的行为类似spawn(Mod, Func, A

2022-01-14 13:54:43 136

原创 {“no such file or directory“,“crypto.app“}

erlang项目在ubuntu下首次运行时遇到如题的报错, 搜了一圈,都没有直接有效的解决办法,最终还是自己摸索着解决了。源码安装erlang的时候,在执行 ./configure 的时候, 最后会看到类似如下的的提示信息。 我这里是修复后了OpenSSL之后的结果。注意看这个提示信息就知道是缺少了OpenSSL, 然后进行如下操作安装ssl库, 再重新编译安装就好了。apt-get install -y libssl-dev...

2022-01-12 12:52:47 1273

原创 Erlang程序设计(第2版) 第八章练习

Erlang程序设计(第2版) 第八章练习

2022-01-05 15:15:03 166

原创 经验总结之一个月学习Web前端开发(html+css+js+vue3+element plus + echarts)

作为一名写了十多年代码, 在前端、后端之间不断反复横跳的码畜,虽然对于前端的MFC, QT, 各种游戏引擎(HGE, GB, Cocos2D等)的GUI等都有所涉猎,但是对于Web前端却一直没有触及,尽管对于H5很看好(想学),却也一直没有行动。直到最近,终于利用工作机会花了差不多一个月学习、实战了一把。这里说明一下,我之前对Web前端开发可以说是0基础。Html标签,css样式可能都只认识一两个,对VUE也只是知道有这么个框架而已。大致情况是这样的,公司的游戏项目还处于前端Demo验证阶段,我后端

2021-12-30 11:46:33 2335

原创 Golang利用反射设置结构体中的项, Json数据源

项目中遇到涉及到动态修改配置的需求, 动态设置的数据项有多种类型, 基础类型 int/string都有reflect的原生支持, 如果遇到其他类型的时候如何处理?我这里想到的是: 其他类型统一使用json反序列,然后利用反射设置.正确运行代码如下:package mainimport "fmt"import "encoding/json"import "reflect"type Settings struct { A int B [][]int}func main(

2021-12-27 17:16:41 377

原创 Vue 多组件 resize

最近开始研究web前端开发, 使用vue3 + ts + element plus + echarts. 使用中遇到一个问题, 多个组件在窗口大小变更时 跟随 resize的问题.网上搜 resize基本都是 window.onresize = () => {this._resize()} 这种办法... 但是使用时发现多个组件时, 只会有一个组件能触发调用resize实现实时更新大小.出现这个问题也很容易理解, 因为 windows.onresize时全局的, 组件内部的重置接口只有最后..

2021-12-22 17:54:57 855

原创 VUE3去除地址栏上的‘#‘号

const router = createRouter({ history: createWebHistory(), routes})使用createWebHistory 而不是createWebHashHistory

2021-12-10 10:54:02 845

原创 Python docx 删除、复制paragraph以及行高设置和图片插入

1、复制paragraph 2、删除paragraph 3、插入图片和paragraph行高设置

2021-11-23 11:06:46 3403

原创 Python 签名设计

分享一个python签名程序,涉及到网页爬虫内容匹配,图片裁剪等技术,完整代码如下:import tkinter as tkfrom tkinter import messageboximport requestsimport refrom PIL import Image,ImageTkdef design(): name=et.get() name=name.strip() if name == '': messagebox.showinfo('提示',messa

2021-11-23 10:54:08 833

原创 MongoDB Golang 示例代码

包含 增删改查,索引设置,事务,max,cout等的使用 和 压力测试其中事务需要有 replica set集群支持完整代码如下:package mainimport ( "context" "flag" "fmt" "go.mongodb.org/mongo-driver/bson" "log" "math/rand" "sync" "time" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-dr

2021-11-19 11:29:31 739

原创 UE4 像素流 WebRTC在Ubuntu Docker上运行

1、宿主机环境ubuntu18安装dockerue4-docker2nvidia-container-toolkitVulkan SDKNvidia Drivers2、用ue4-docker 构建ue4.23.1-pixelstreaming 基础镜像ue4-docker build \ custom:4.23.1-pixelstreaming \ # Tag the image as adamrehn/ue4-full...

2021-11-17 15:56:42 2696 2

原创 MongoDB max 获取最大值 (Golang)

mongoDB里某个集合,获取某个字段最大值,有两种办法,一个是用sort,另一个是用聚合(Aggregate),下面是代码演示:sort:func initIDEx() { clientOptions := options.Client().ApplyURI("mongodb://localhost:27017") client, err := mongo.Connect(context.TODO(),clientOptions) if err != nil { return

2021-11-17 15:51:34 4106

原创 Fork Go 开源库后的使用问题

因为GO不支持相对路径导入,导致Fork开源库后出现分支和master不是很兼容的问题,见前一篇博客,GO 导入(import)相对路径(Relative Path)的问题库的内部引用需要全部修改,例如源库为 github.com/someone/M, 其中有内部package P1/P2,在内部引用时,必须使用全路径引用,即 “github.com/someone/M/P1”,而fork之后我的分支需要对所有这些import进行修改,->"github.com/myrepo/P1",这样会导致之

2021-11-02 11:48:59 296

原创 GO 导入(import)相对路径(Relative Path)的问题

1、问题的产生: 在github上fork一个开源项目之后,想要修改部分代码后供公司项目使用。发现需要修改源项目中的所有内部import,例如开源模块 M中存在P1、P2等package, 其中P2 import P1的import路径为 “github.com/someone/M/P1”,而我fork的分支里则是需要import 自己修改后的"github.com/myself/M/P1",与此类似,整个开源项目里很多这种地方都需要修改。所以引出了对相对路径导入的思考,有没有什么办...

2021-11-01 17:24:28 7381

原创 休眠后网络无法自动连接——网卡属性没有电源管理选项

问题描述:1、每次休眠过后网卡都是无法连接网络的状态,需要手动禁用、开启网卡后才会恢复正常。 2、同时网卡属性里没有电源管理选项。环境:Win10网卡设备:realtek pcie gbe family controller解决办法:1、尝试了搜官方的驱动,重新安装也没有解决2、然后尝试了360的驱动大师,如下,升级了驱动之后问题得到解决休眠后无法自动连接,网上很多人在搜这个问题,包括网卡属性没有...

2021-10-29 11:00:26 10582 15

原创 实测 ——Mysql 通过预处理(Prepare)提升性能

经过本人实测,采用预处理,性能提升大约接近10%。关于预处理的介绍,网上资料很多,总体关心优点有如下:预处理优点预处理语句大大减少了分析时间,只做了一次查询(虽然语句多次执行); 绑定参数减少了服务器带宽,只需发送查询的参数,而不是整个语句; 预处理语句针对SQL 注入是非常有用的,因为参数值发送后使用不同的协议,保证了数据的合法性。测试代码:package mainimport ( _ "github.com/go-sql-driver/mysql" "fmt" ".

2021-10-28 17:06:40 628

原创 分享一个GO 辅助命令行

额外开启一个协程,循环获取输入,然后解析输入之后通过注册的cmdmap找到对应的callback进行调用。要注意协程安全!!要注意协程安全!!要注意协程安全!!命令与参数之间用空格分隔,如:完整代码如下:package ctlimport ( "bufio" "errors" "os" "strings")type cmdinfo struct { cmd string desc string fn func(str string)}.

2021-10-27 10:38:13 121

原创 Redis Win10内存占用问题

Redis在采用pagefile做内存下面是过程记录日常开发在Windows10环境下,安装有Reids服务,发现无论填充了多少数据,用管理器查看内存都只有0.5M(如下图),带着这个疑问,进行了一下测试.但是使用Win10的资源监视器,却显示的是另外的值,当我持续写入的时候, 能看到工作集项显示的内存值,从20M左右逐步增长到7G.此时任务管理器种仍然看不到redis-server占用多少内存,依然是0.5M,但是系统总体内存占用又是对的,已经很高了, 8.

2021-10-21 15:34:20 613

原创 Redis 管道(pipeline)运用

Redis在进行大批量操作时,为了提高运行效率,往往会采用pipe,今天实测对比了一下管道的运行效率,还是挺惊人的.package mainimport ( "flag" "fmt" "github.com/go-redis/redis/v8" "context" "time")func main() { var pipucot int = 1 flag.IntVar(&pipucot, "pc", 1000, "pip批量处理个数") flag.Parse()

2021-10-21 11:21:01 139

原创 ZooKeeper 实战(GO)

1、安装和基础操作1、下载地址Apache ZooKeeper2、解压后进入目录:tar -zxvf apache-zookeeper-3.7.0-bin.tar.gzcd apache-zookeeper-3.7.0-bin3、配置 拷贝一份conf/zoo_sample.cfg,命名为zoo_1.cfg 单实例情况下,配置不用做修改4、启动 bin/zkServer.sh start conf/zoo...

2021-10-20 15:03:36 30358

原创 swagger-editor 使用介绍

swagger-editor github地址:https://github.com/swagger-api/swagger-editor使用流程:1,下载ziphttps://github.com/swagger-api/swagger-editor/archive/refs/heads/master.zip2,解压后在目录下执行 npm run dev3, 浏览器访问本地3200端口即可见到如下图的页面左边编辑yaml或者json都可以,右边即时更新接口。左边编辑时.

2021-09-22 18:32:46 390

原创 批处理 目录设置(路径扩展)

遇到调用bat的时候,设置路径时,可以使用批处理的路径扩展,如:cd /d %~dp0使用如下批处理就可以知道这个路径扩展是怎么回事了@echo offecho %~0echo %~d0echo %~p0echo %~dp0pause结果如下:E:\test\test.batE:\test\E:\test\...

2021-09-22 16:01:32 463

原创 GO Excel 转 JSON (完整代码)

package mainimport ( "fmt" "github.com/xuri/excelize/v2" "io/ioutil" "os" "path/filepath")func init() {}// 配置文件目录var configPath string = "../../Configs"var outjsonPath string = "./json/"func getFileList(path string) []string { var all_f.

2021-09-18 10:18:59 1290

原创 GO exec.Command使用

func main() { cmd := exec.Command( "cmd.exe", "/C", "test.bat") // 设置工作目录,Dir可行,Path还不知道干啥的 //cmd.Path = "" cmd.Dir = "E:/test/" // 执行cmd方式一: start wait //err := cmd.Start() //if err != nil { // fmt.Println("err:", err.Error()) //} //cmd.Wai..

2021-09-17 16:48:19 3200

原创 GO使用io.Copy复制文件

func CopyFile(dstName, srcName string) (written int64, err error) { src, err := os.Open(srcName) if err != nil { return } defer src.Close() dst, err := os.OpenFile(dstName, os.O_WRONLY|os.O_CREATE, 0644) if err != nil { return } defer dst.Clos.

2021-09-17 14:25:02 1021

原创 github token验证

git push 出错:Support for password authentication was removed on August 13, 2021创建token(Create Personal Access Token on GitHub):From your GitHub account, go toSettings=>Developer Settings=>Personal Access Token=>Generate New Token(...

2021-09-08 15:47:13 572

原创 Origin源码阅读笔记——RPC

github地址:go 分布式微服务框架 Origin初识Origin:https://blog.csdn.net/u013645668/article/details/1158766461、RPC接口注册 全局搜索“RPC_”会找到rpchandler.go文件里的RpcHandler.suitableMethods函数,会发现它的工作就是利用反射保存接口的参数(in/out/resp)类型信息,有了这个类型信息之后,RPC Server收到请求时才知道如何解析参数信息。...

2021-08-18 14:15:53 753

原创 Go panic: interface conversion 接口转“父类”失败

普通的 interface 转 struct 很简单:接口对象后面加上 .(StryctType) 即可.但是复杂一点的,如接口IA的对象a是组合了Stuct A(实现了接口IA)的的Struct AA或者Struct AAA时,想通过接口转“父类”,就麻烦了, 如下:package mainimport ( "fmt" //"reflect")type IA interface { Fun()}type A struct {}func (slf *A) AFu

2021-08-05 14:07:45 1601

原创 MySQL5.7性能测试 单表多少行

关于Mysql单表最大行数建议,网上众说纷纭,有说500W的, 有说2000W的, 为了搞清楚Mysql单库单表的实际性能情况, 纸上得来终觉浅,我最终进行了一次测试.测试环境: 16核, 16G, SSD, Windows10, Mysql5.7, 单库单表, 语言以及驱动:golang, gormmysql主要配置如下(因为同时还在作开发机使用,所以配置的不是很专业):log-bin=mysql-binbinlog-format=ROWinnodb_autoinc_lock_mode=2in

2021-08-04 00:50:52 479

原创 Redis的key竞争问题 一个简单的解决方案

项目正采用阿里的canal开源项目作为mysql和redis的数据一致性方案, 当Canal client从Canal Server消费数据时, canal保证了时序, 但是在client端写入Redis时, 发现单连接顺序执行的效率不够, 会影响整体消费速率.首先想到的是加锁的方案, 单机情况, 对一个key进行redis写入操作时, 先获取key的锁, 然后执行, 多个redis连接协程同时执行时,这样也无法完全避免时序问题,还需要加时间戳, 分布式的情况下,更麻烦, 通常还要考虑第三方工具..

2021-08-04 00:44:20 124

原创 手机导航哪家强?

今天周一凌晨,重庆一场暴雨过后,全城司机喊堵, 我平时30-40分钟的路程,硬是开了1小时40分钟.排除天时地利的因素, 今天之所以多花这么多时间, 手机导航要背大锅确实,平时走的大路是有点堵,按照出发时的路况来看,高德推荐的小路规划确实没什么毛病, 但是你把那么多人都往小路指, 那还走个毛啊,堵的更惨!!所以, 这里就引出一个问题: 手机导航哪家强? 高德今天把我坑的这么惨, 我是否该换百度或者腾讯?初步一想,百度这些年搞人工智能,也有些积累了,自家的导航或许已经有了统筹规划,全盘分析,流量.

2021-08-04 00:42:27 106 1

空空如也

空空如也

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

TA关注的人

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