自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

moxiaomomo的专栏

个人blog: blog.moguang.me

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

划重点 关于 net/http 包: net/http本身基于goroutine实现, 通过新建协程处理新的连接任务; 默认是长连接: net/http客户端发起请求时header标记HTTP/1.1; 连接可复用:默认创建连接池; 关于连接池使用:池中找不到空闲连接时,会重新new一个连接,而...

2020-05-17 23:58:10 38 0

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

​关于数据库访问,Golang中提供了标准库database/sql。不过它不是针对某种具体数据库的逻辑实现,而是一套统一抽象的接口。 真正与数据库打交道的,是各个数据库对应的驱动Driver;在使用时需要先注册对应的驱动库,然后就能通过标准库sql中定义的接口来统一操作数据库。 创建sql.D...

2020-05-17 23:54:22 38 0

原创 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...

2020-05-12 08:49:51 47 0

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

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

2020-04-28 00:41:52 87 0

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

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

2020-04-27 00:10:48 104 0

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

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

2020-04-23 22:09:18 358 0

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

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

2020-04-11 12:15:22 66 0

原创 git本地合并分支笔记

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

2020-04-11 00:22:18 58 0

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

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

2020-04-08 22:15:32 300 0

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

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

2020-04-03 00:07:31 110 0

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

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

2020-03-30 16:25:20 121 0

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

server端示例: package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/test", func(w http.Re...

2020-03-21 08:50:07 368 0

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

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

2020-03-21 08:48:23 97 0

原创 [golang]通过github下载golang官方工具包

如果无法科学上网, 国内网络将无法访问 golang.org。而golang的官方工具包(golang.org/x/)这种情况下也无法直接安装,会给开发工作带来很大的麻烦。以下简单介绍如何通过github迂回解决这个问题 (golang库其镜像托管在github.com/golang/上)。 方法...

2020-03-16 15:36:25 292 0

原创 [Amory]Haxe获取场景中的对象及调用其绑定的方法

通过对象名获取场景中的对象 var myObj = iron.Scene.active.getChild("the_object_name"); 获取对象的某个child public static function getChild(obj: Object, chi...

2020-03-09 17:21:30 71 0

原创 [golang]结构体(slice)如何转map(slice)

需求:有一个切片,其元素是不固定类型的结构体,如何转换为元素为map类型的切片。 以下例子是通过反射reflect的方法来完成这个转换过程。 package main import ( "fmt" "reflect" ) type Stu...

2020-03-01 21:30:30 458 0

原创 [Armory]2d canvas如何支持中文显示

替换font_default.ttf 为 unifont字体 (比如从这里下载一个:unifont ) 修改Kha源码 git源码位置: https://github.com/Kode/Kha/blob/master/Sources/kha/graphics2/Graphics.hx#L1...

2020-02-24 09:25:00 289 0

原创 Armory3D中如何实现network通讯

对于Armory3D中如何实现网络通讯,尝试过以下几个方法,目前只有一种方法是可行的。 使用haxe.http包 package; class Main { static function main() { trace("Hello, world!"); va...

2020-02-09 12:30:23 312 0

原创 [汇总]Haxe编程概念

Haxe https://github.com/HaxeFoundation/haxe Haxe is an open source toolkit that allows you to easily build cross-platform tools and applications tha...

2020-02-03 20:07:51 905 0

原创 Blender2.8安装Armory3D插件

下载blender2.8 https://www.blender.org/download/ 下载ArmorySDK https://armory3d.org/download.html 将Armory3DSDK解压到指定的某个目录 unzip -d /your_path/ armo...

2020-01-31 17:09:45 901 0

原创 关于ppa源404的一个解决方法

在ubuntu18.10中尝试通过ppa源来安装haxe的最新稳定版时,出现了404的问题, 操作过程如下: sudo add-apt-repository ppa:haxe/releases -y 提示错误: E: 仓库 “http://ppa.launchpad.net/haxe/relea...

2020-01-29 18:30:06 314 0

原创 [VSCode]command 'python.setInterpreter' not found

vscode中的python插件突然出了问题:在Ctrl+Shift+P后选择Python: Select Interpreter, vscode报了错误: command 'python.setInterpreter' not found 联想到刚刚在系统中安装了conda...

2020-01-28 23:29:53 903 0

原创 [Ionic]5.0.0-beta.3版尝鲜

Ionic5正式版还没发布, 不过ionic5 beta版已经出来了, 而且最新已经开始支持Angular9. 因此小试了一下,以下是ionic测试项目的一些主要配置: ionic info xiaomo@xiaomo:/data/apps/ionicTest$ ionic info Ion...

2020-01-04 17:08:20 224 0

原创 [leetcode]两数相加

空闲时间用Go刷了一道水题, 题目和题解如下: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不...

2020-01-01 22:11:50 134 0

原创 [kubernetes]k8s配置traefik2.0

traefik2.x和traefik1.x之间的总体差异比较大, 部署方式和ingress的配置方式都不一样, 现在基于官方文档来具体演示下如何在k8s(v1.14及以上)集群中配置traefik2.0. 准备CRD及RBAC权限(traefik-crd.yaml) apiVersion: a...

2019-12-30 23:57:49 923 0

原创 [Docker]ARM架构服务器Centos7下安装Docker-CE?

在使用ARM架构服务器Centos7系统的时候, 安装Docker过程也是类似的.不过貌似在添加docker源后,通过yum search docker得到的docker版本是1.13的?这里比较困惑, 后来是通过指定docker版本来进行了安装.详细安装过程如下所示: # 安装所需的工具包 su...

2019-12-23 23:29:36 486 0

原创 [Ionic]ion-button如何取消英文默认全部大写?

问题描述 ionic4中使用ion-button的时候发现, 按钮内文字是英文的时候, 会全部默认成大写字母. 比如需求中的文字是TestButton, 实际显示的时候会变成TESTBUTTON . 解决方法 一开始时,给ion-button设置了以下样式: .custom-button { //...

2019-12-14 17:09:28 130 0

原创 [Ionic]如何实现一个全局的浮动菜单栏?

需求是实现一个app全局的浮动菜单栏,页面的切换不会影响该菜单栏的显示, 也不会刷新。 在刚开始的时候想以component的方式嵌入到每个page的html里,后来发现页面在跳转的时候,这个菜单栏总是在刷新,效果不太理想。 后来的一个解决方法是,把这个component直接放到了app.comp...

2019-12-13 15:53:40 128 0

原创 如何解决Harbor的502问题

背景说明 Ubuntu18上面启动了docker, docker里原来运行了harbor1.6. 后来想把harbor.cfg中的hostname字段修改了, 结果修改完之后直接通过如下命令去重启harbor: docker ps -a | grep harbor | awk '{pri...

2019-12-10 23:51:47 301 0

原创 [Ionic]为什么会报Cannot read property 'addEventListener' of undefined at new OrbitControls?

开发环境 Ionic4 + Angular8 + Threejs(r111) Ubuntu18.04 Visual Studio Code 错误提示 项目中使用到了threejs库, 在添加了OrbitControls之后构建出现了如下错误: VM1988 vendor.js:40772 ER...

2019-12-10 00:06:27 344 0

原创 解决Ionic4/Angular8+threejs(r111)的兼容性问题

开发环境说明 当前的前端项目是基于Ionic4进行开发的,底层基于Angular8框架. 项目中使用到了threejs库,之前版本用的是r0.108.0, 最近做了个版本升级,升级到了r0.111.0, 结果在编译的时候报了如下几种错误. ERROR in ../node_modules/thre...

2019-12-08 23:03:27 1059 0

原创 npm link的使用场景和用法

使用场景 我们在本地开发npm模块时,一般需要解决本地模块的调用测试,比如现在开发模块A, 需要在自己的应用B里导入并使用。那么我们就可以通过npm link的方式,将模块A链接到B对应的node_modules下面。 用法流程 1.将要被其他应用使用的模块(比如A)链接到全局包路径下 ...

2019-12-05 12:03:14 300 0

原创 [Kubernetes]浅谈Traefik基础与转发原理

Traefik作为一种边缘路由器,可以作为类似Nginx的反向代理服务器使用。它与Nginx的最主要区别,在于它可以动态的感知后端服务实例的变化,从而进行动态调整转发配置。 Traefik除了可以单独部署运行,也可以很方便的与Docker, Kubernetes等类型的集群集合。 在Kuberne...

2019-12-03 17:49:18 374 0

原创 [Docker]四种网络模式之bridge模式

现在来聊聊Docker网络的桥接模式. bridge模式原理 Docker的默认网络配置下用的是bridge模式,此模式会给每个新创建的容器分配独立的Namespace,IP段等,同时文件系统/进程等也是隔离的. 另外它会将对应容器的网络接到某个指定的虚拟网桥(比如启动Docker服务时默认...

2019-12-01 17:33:22 101 0

原创 Ubuntu18.04安装最新稳定版nodejs

在Ubuntu上安装最新稳定版nodejs时走了些弯路,因为发现执行了这个步骤添加ppa后没有生效,依然安装的时v8.10版本, 具体原因没有去深究。 curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt-...

2019-11-27 10:55:59 610 0

原创 有意思的开源之webG流体模拟

活捉到一个有意思的项目:https://github.com/PavelDoGreat/WebGL-Fluid-Simulation 除了webGL的功效,大神对于数学公式也是玩的6。啥都不说了,分享,学习。

2019-11-25 23:53:19 117 0

原创 【OpsDev】解决mac下ssh空闲一段时间自动断开的问题

在macbook中使用终端, 通过ssh连接上远程服务器后, 隔一段时间没有数据传递时会自动断开,而表象就是终端会卡着无响应,要等几分钟后才会显示断开并且返回到本地终端命令行。这个问题太影响流畅性和心情, 决定修一修。 第一种方法, 在本地或者远程服务器修改ssh配置, 定时发起类似心跳的信号。 ...

2019-11-24 16:49:09 85 0

原创 比word更适合编写方案文档的工具Latex

用了一小段时间的latex,现在来小结一下。 Latex是啥 Latex是一种排版系统,也是一种文档语法。通过Latex编辑工具(比如TexStudio)可以将latex版的原文转换成pdf等格式的文档。关于Latex语法,入门难度不大,类似于markdown,用约定的标记符号去表达你想要的排版格...

2019-11-24 16:39:45 303 0

原创 [ES6]export与export default的区别

export 与import是es6中新增模块功能重要的, 并且目前也是很常用的两个用法。现在来看看export和export default两者之间的区别。 export export 适用于函数(function)/类(class)/常量(const)等 我们在导入引用时, 需要加上大括号{}...

2019-11-14 00:00:34 85 0

原创 [Ionic]如何配置请求proxy

在开发阶段, 我们的前端和后端可能分别运行在同一台机器的不同端口或同一个局域网内的不同ip上, 前端访问后端api时就会碰到跨域的场景. 这个时候我们可以通过在Augular中设置proxy来解决这个CrossDomain问题. 当然在之后正式发布时, 一般通过后端web服务器(如nginx)...

2019-11-12 09:42:11 381 0

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