10 moxiaomomo

115网盘 - 高级研发工程师

我要认证

虚怀若谷,大爱无疆

等级
TA的排名 712

[Go菜牛系列]通过go-wrk进行HTTP接口压力测试

http 接口压力测试示例‵go-wrk是一个用Go语言实现的轻量级的http基准测试工具,类似于wrk,本文将简单介绍一下如何使用go-wrk`实现接口的性能(压力)测试。安装 go-wrkhttps://github.com/wg/wrk# 本次采用go-wrk测试https://github.com/adjust/go-wrkgit clone git://github.com/adeven/go-wrk.gitcd go-wrk# 开启go modules的情况, 需要初始化配

2020-08-06 23:19:40

[Java]jhsdb查看内存内Java对象

java版本 (13)jhsdb简介jhsdb从java9开始引入,可执行文件放在JAVA_HOME/bin目录下, 其取代了之前的JAVA_HOME/lib/sa-jdi.jar;clhsdb、debugd、hsdb、jstack、jmap、jinfo、jsnap这些是jhsdb命令不同的mode;jhsdb是一种进程外的调试工具,基于Java实现的API集合,以服务性代理的形式工作,主要从HotSpot虚拟机中获取Java虚拟机的运行相关信息。# jhsdb clhsdb .

2020-08-05 17:42:22

[前端笔记]Vue如何刷新已绑定的变量

可以使用Watch机制,示例:export default class HelloWorld extends Vue { @Prop() name!: string; @Watch("name") public updateNames() { // 在该函数中,针对name刷新的事件进行逻辑处理 }}

2020-08-04 08:40:47

[Threejs]环境光与HDR贴图

本文主要记录了一次通过结合环境光与HDR贴图来实现3D场景的渲染。(Threejs版本 r.0.118.0)添加环境光// this.scene = ...this.scene.add(new AmbientLight(0xffffff, 1));const hemiLight = new HemisphereLight(0xffffff, 0x000000, 1);hemiLight.position.set(0, 100, 0);this.scene.add(hemiLight);

2020-07-27 15:25:22

[Go菜牛系列]go module与本地包导入

场景需求假设当前同一个项目中有多个模块,每个模块有单独的go.mo, 结构如下所示:├── package1│ ├── go.mod│ └── main.go└── package2 ├── go.mod ├── hello │ └── hello.go └── package2.gopackage2包相关代码// package2/package2.gopackage package2import "fmt"func New(){

2020-07-26 23:37:43

Vue集成three.js 3D场景渲染示例

Demo工程目录结构如下所示│ .browserslistrc│ .eslintrc.js│ .gitignore│ babel.config.js│ package-lock.json│ package.json│ README.md│ tsconfig.json│├─public│ │ favicon.ico│ │ index.html│ ││ └─model│ agvCar.gltf│ house001.

2020-07-23 16:24:10

Type ‘HTMLElement | null‘ is not assignable to type ‘HTMLElement‘

在typescript3.9中,以下代码编译时会提示错误:const elem : HTMLElement = document.getElementById('someid');// Type 'HTMLElement | null' is not assignable to type 'HTMLElement'解决方法1: 禁用strict模式修改tsconfig.ts文件,"strict": true, ---> "strict": false,解决方法2: 严格模式下,

2020-07-23 14:42:41

[Go菜牛系列]net/http包知识点

划重点关于 net/http 包:net/http本身基于goroutine实现, 通过新建协程处理新的连接任务;默认是长连接: net/http客户端发起请求时header标记HTTP/1.1;连接可复用:默认创建连接池;关于连接池使用:池中找不到空闲连接时,会重新new一个连接,而不会阻塞等待一个连接;关于连接断开:如果对端关闭连接,由于Go Runtime会在底层进行epoll wait,监听close事件并关闭相关fd资源,上层应用可以被告知哪些连接已关闭,从而进行相关的逻辑处理;关

2020-05-17 23:58:10

[Go菜牛系列]研究database/sql

​关于数据库访问,Golang中提供了标准库database/sql。不过它不是针对某种具体数据库的逻辑实现,而是一套统一抽象的接口。真正与数据库打交道的,是各个数据库对应的驱动Driver;在使用时需要先注册对应的驱动库,然后就能通过标准库sql中定义的接口来统一操作数据库。创建sql.DB连接池​我们来看一下如何创建sdl.DB连接池,以MySQL为例:import ( "log" "os" "database/sql" _ "github.com/go-sql-driver

2020-05-17 23:54:22

Component series.line not exists. Load it first.

Angular中使用echarts图标库时报了如下错误:core.js:6189 ERROR Error: Component series.line not exists. Load it first. at Function.entity.getClass (clazz.js:178) at ExtendedClass.<anonymous> (Global.js:223) at Array.forEach (<anonymous>) at ea

2020-05-12 08:49:51

[Go菜牛系列]结构体转换为JSON字符串的一个坑

通过json.Marshal来将结构体数据转换为json字符串时,需要注意结构体内成员变量的首字母大小写的问题,很容易会掉进坑里.来看一下这个例子:package mainimport ( "encoding/json" "fmt")type Student struct { Name string age int}func main() { var s Student...

2020-04-28 00:41:52

[Go菜牛系列]理解go build与go install

两者用途go build: 可用于测试编译包,并在项目(main包同级目录)下生成可执行文件;go install: 主要用来生成库和工具可执行文件。1) 编译包文件(没有main包),编译后的包文件会放到($GOPATH/pkg)下; 2)编译生成可执行文件(没有main包),可执行文件会放到($GOPATH/bin)下.两者主要共同点都可以生成二进制可执行文件.两者主...

2020-04-27 00:10:48

[Go菜牛系列]常见并发模式

本文来瞅瞅常见并发模式的用法. 在大多数语言中,为了解决线程同步问题都会用到加锁的方法;Go也不例外,但是Go也提供了另外的方式来解决同步通信问题:将共享的值通过通道来进行传输.实践中通过goroutine和channel的配合使用实现了这一特性.通过互斥锁实现同步通信package mainimport ( "fmt" "sync")func m...

2020-04-23 22:09:18

[Go菜牛系列]25个关键字用法示例

var & const:声明变量(var)和常量(const)var num intconst str string = "test"// 批量定义变量var ( username string = "xiaomo" emails []string)// 批量定义常量const ( host = "127.0.0.1" port = 8080)packag...

2020-04-11 12:15:22

git本地合并分支笔记

使用场景:假设同事A将代码提交到了分支devA,通过pull request合并到了master; 同事B需要将代码合并到自己的分支devB。基于git命令行,同事B的操作过程参考如下:先将本地devB分支代码提交到本地库(假设有代码未提交)git commit -m 'xxx' -a本地从分支devB切换到masergit pullgit checkout master#...

2020-04-11 00:22:18

[golang]使用hmset代替hset提高写入效率

在往redis写入hash集合类型数据时,如果使用hset可能需要进行多次操作调用,采用hmset可以完成批次写入,提高写入效率。示例代码:package mainimport ( "fmt")func main() { // 获取redis连接 rConn := ... defer rConn.Close() var args []interface{} = []int...

2020-04-08 22:15:32

[Golang]调用外部shell程序处理文件

在需要对文件进行操作的一些场景,比如文件合并,计算文件hash或大小,除了可以完全使用golang来处理,也可以借助外部shell或bash来完成。shell是应用程序和linux内核之间的接口程序,而bash可简单理解为shell的加强版,支持更多的命令;通过bash来完成运维相关的工作是比较常见的场景,设计到文件的处理更是常态。因此大多数情况下,golang调用外部shell来处理文件也是合...

2020-04-03 00:07:31

[Armory]实现相机的漫游功能

通过Haxe脚本实现相机的移动和旋转功能,参考代码如下:// 相机旋转,设定lookAt目标示例package arm;import iron.math.Quat;import iron.object.Object;import iron.Scene;import iron.math.Vec4;class MyTrait extends iron.Trait { var ca...

2020-03-30 16:25:20

[golang]结合url.Values发送post请求

server端示例:package mainimport ( "fmt" "net/http")func main() { http.HandleFunc("/test", func(w http.ResponseWriter, r *http.Request) { if r.Method == "POST" { var ...

2020-03-21 08:50:07

[golang]关于数据库sql.DB连接的几个参数优化

关于sql.DB,在建立和使用数据库连接方面有几个参数我们可以根据实际场景来进行优化一下,配置得当的话可以有效提高性能和降低系统资源消耗。SetMaxOpenConns 用于设置最大打开的连接数,默认值为0,表示不限制。SetMaxIdleConns 用于设置闲置的连接数,默认值为2;SetConnMaxLifetime 可以限制一个连接使用的最大时长,默认值为0,表示不限制。SetM...

2020-03-21 08:48:23

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。