自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序猿CKeen的专栏

长期坚持做有价值的事!积累沉淀,持续成长,升维思考!希望把编码作为长期兴趣爱好????

  • 博客(34)
  • 资源 (26)
  • 收藏
  • 关注

原创 python软件包管理和环境管理神器conda的使用详解

Conda是一个开源的、跨平台、与语言无关软件包管理和环境管理工具,它可以在Windows、macOS和Linux上运行。Conda的设计目标是简化软件包和依赖项的管理和部署过程。Conda 使环境成为一等公民,甚至可以轻松地为 C 库创建独立的环境。官方介绍可以支持Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN等语言包的管理。Conda 完全用 Python 编写。并且是 BSD 许可的开源软件。

2023-12-28 07:30:00 1504

原创 python2.7在mac和linux 安装MySQL-python-1.2.5的错误解决方法

本文是在部署一个python 2.7开发环境下,使用tornado框架编写的web应用时,遇到安装MySQL-python-1.2.5报错,从而将解决的方法记录的下来的。因为我使用的mac,而服务器使用的ubuntu,所以这里我们会介绍mac和ubuntu环境下解决方法。

2023-12-28 07:30:00 1083

原创 web浏览器使用FileSystem的API进行本地文件的存储

下面我们主要介绍该分类下的API接口。该API详细的介绍可以参考提案:https://wicg.github.io/entries-api/#api-domfilesystem文件和目录的API主要有以下5个FileSystem:表示文件系统。当我们需要对文件进行操作时,需要先获取FileSystem的对象,然后通过FileSystem对象来操作具体的目录和文件对象。:表示文件系统中单个条目的基本接口。这是由表示文件或目录的其他接口实现的。:表示文件系统中的单个目录。

2023-08-28 07:30:00 896

原创 一文搞懂go时间库time的使用

时间和日期是我们日常开发中经常会用到的功能。Go 语言中的 time 包提供了处理时间和日期的功能。它包含了许多函数和类型,用于获取当前时间、格式化时间、解析字符串为时间、进行时间计算等操作。

2023-08-17 18:54:44 611

原创 go中map哈希表使用总结

哈希表是一种巧妙并且实用的数据结构。它是一个无序的key/value对的集合,其中所有的key都是不同的,然后通过给定的key可以在常数时间复杂度内检索、更新或删除对应的value。

2023-06-25 19:11:05 474

原创 使用go的MQTT Client接入EMQX

MQTT是客户机服务器发布/订阅消息传输协议。它重量轻,开放,简单,设计便于实现。这些特性使它非常适合在许多情况下使用,包括受限的环境,如机器到机器(M2M)和物联网(IoT)环境中的通信,这些环境需要很小的代码占用和/或网络带宽非常高。该协议运行在TCP/IP或其他提供有序、无损、双向连接的网络协议上,这样可以实现双向的消息推送服务。使用发布/订阅消息模式,提供一对多消息分发和应用程序解耦。与有效负载内容无关的消息传输。

2022-09-07 07:30:00 2204 1

原创 go项目标准化工程结构解析

平时我们学习go或者是写一些小的demo的时候,可能直接在工程下建一个main.go的文件就直接开始。但是如果想做一个长期维护或者正式应用的项目时,我们还是要按一定的规范来设计项目结构,不然随着项目越来越复杂,代码越来越多,依赖也越来复杂,到时候项目可能都没法进行维护了。这时就需要引入合理的项目工程结构了。..................

2022-08-16 07:08:48 2599

原创 Go项目配置管理神器之viper使用详解

viper是go一个强大的流行的配置解决方案的库。viper是spf13的另外一个重量级库。有大量项目都使用该库,比如hugo, docker等。它基本上可以处理所有类型的配置需求和格式, viper支持功能。

2022-08-08 07:30:00 6390 1

原创 go使用makefile脚本编译应用

go使用makefile脚本编译打包应用

2022-07-29 12:11:34 2984 3

原创 物联网开发--MQTT消息网关EMQX

EMQX官方介绍EMQX是一款完全开源,高度可伸缩,高可用的分布式MQTT消息服务器,可处理千万级别的并发客户端。EMQX完整支持MQTTV5.0协议规范,向下兼容MQTTV3.1和V3.1.1。我们首先需要去安装一个EMQX的消息服务。这里我们使用环境操作系统EMQX使用版本v5.0.3。.........

2022-07-28 17:57:56 3089

原创 go操作excel文档,go excelize使用方法详解

​今天我们讲一下使用excelize操作excel,首先熟悉一下excel的文件构成,excel分为以下结构​1.excel文件,2.sheet页,3.行row,4.列col,5.项cell。

2022-07-18 07:30:00 4607 2

原创 go的命令行库--cobra使用

Cobra是一个用于创建强大的现代CLI应用程序的库。Cobra被用于许多go项目中,如Kubernetes, Hugo和Github CLI等。官方列举了使用cobra库的列表Cobra主要特点:首先需要明确 3 个基本概念:下面拿我们经常使用git的命令对举例上述的命令中git是应用程序的名称,clone/config/commit是一个命令(Command)或者子命令-b/-m/–global为选项(Flag)选项后面的值为具体的参数(Arg)使用的时候我们需要在项目中引用cobra.......

2022-07-15 07:30:00 1960 1

原创 go依赖注入--google开源库wire

如果使用过java的小伙伴一定对依赖注入( dependency injection)很熟悉了,依赖项注入是一种标准的技术,通过显式地向组件提供它们工作所需的所有依赖项,来生成灵活且松散耦合的代码。现在有很多依赖注入框架,go语言防霾呢,就有Uber的dig和Facebook的inject都使用反射来进行运行时依赖注入。Wire主要受到Java Dagger 2的启发,.....................

2022-07-04 07:30:00 2035 2

原创 使用threejs简单Web3D效果

threejs是基于原生WebGLAPI和着色器封装得到的3D引擎,也就是一个.js库。直接通过原生WebGL直接编写程序,会比较麻烦,所以threejs就对WebGL做了一层封装,这样方便web开端的去开发web 3d的应用。

2022-06-29 07:30:00 1645

原创 Go日志-Uber开源库zap使用

目录1. zap包介绍2. zap的使用3. 使用Namespace构建嵌套格式4. 构造的Logger对象的选项Option5. 参考资料上一篇我们讲到go日志官方标准库的log的使用方法介绍,官方log标准库虽然简单,也不依赖第三方实现,但是功能相对较弱,不支持日志级别、日志分割、日志格式等,所以在项目中很少直接使用,通用于快速调试和验证。这一篇我们来介绍一下Uber官方开源日志库zap。1. zap包介绍zap是uber开源的日志包,以高性能著称。zap除了具有日.

2022-06-24 07:38:05 2569

原创 Go日志-标准库log包

在做项目开发时,我们可以使用Go语言标准库的log包,还可以使用开源的日志包,但更多的是基于优秀的开源日志包进行二次开发,来实现定制化的日志功能。Go生态中也有一些非常优秀的开源日志包,例如logrus、zap等。...

2022-06-20 08:30:20 455

原创 go的fmt包使用和字符串的格式化

目录1. 标准库fmt提供几种输出/输入相关函数。2. 格式化数据占位符3. 使用fmt个格式化遇到的问题fmt包提供了类似于C的print和scan的函数实现格式化I/O。 fmt主要提供了输出和输入两大类型的函数。1. Print系列函数会将内容输出到系统的标准输出2.Printf函数支持格式化输出字符串到系统的标准输出3. Println函数会在输出内容的结尾添加一个换行符,输出到系统的标准输出4. Fprint系列函数会将内容输出到一个io.Writer接口类型的变量w中,我们通常

2022-06-09 08:00:00 1113

原创 go按行读取文件的几种实现方式

目录1. 使用ioutil读取文本2. 使用bufio.Reader的ReadLine读取3.使用bufio.Scanner读取实现方式:使用iouitl一次性读取全部文件内容,然后使用"\n"进行分割成行。这种实现最简单,但是只适合都内容比较小的文件,当读取大文件的时候,一次读到内存需要占用比较大的内存。实现方式:使用NewReader创建bufio.Reader,循环调用Reader的ReadLine按行读取,直接读到文件结束标记EOF。bufio.Reader封装了io, 并实现了缓冲I/

2022-06-08 07:30:00 6348

原创 Java中Thread是怎么执行的?

我们知道java中执行一个线程分为两步:创建Thread和启动start第一步:创建线程对象。继承Thread对象重写run方法,或者实现Runnable接口run方法并通过Thread的构造方法创建Thread对象,第二步:调用Thread的start方法启动线程按照上面两步操作后,就可以开启线程来执行任务了,如下:看到这里我们一定会很好奇,Thread创建和执行的过程是怎么样的呢?下面我们就来一步一步跟踪Thread的创建和执行过程:第一步,我们看下Thread对象的创建,我们通过Thread类跳

2022-06-01 07:30:00 606

原创 go正则表达式使用指南

正则表达式一般主要用来做文本字符串的检索和匹配检测。一般在爬虫程序中可以用来检索匹配想要的数据,也可以用在对一些输入文本的参数进行校验,比如检验用户注册手机号是否合法。下面我们主要介绍一下go语言中支持的正则表达式模式和go的正则表达式包regexp里面函数提供的功能。......

2022-05-20 08:00:00 1719

原创 使用grpc-server-spring-boot-starter及nacos搭建grpc服务

在上一篇文章《java使用protobuf-maven-plugin的插件编译proto文件》中,我们使用protobuf-maven-plugin已经生成了grpc的调用的库,这篇文章我们将讲解使用SpringCloud及nacos搭建grpc服务。1. 先到nacos的github地址下载一个release版本,下载地址。 我们解压缩之后,进到nacos目录,执行如下指令启动nacos:sh ./bin/startup.sh -m standalone运行成功后在网页访问:http:/

2022-05-07 07:30:00 3152 4

原创 go的零值使用及注意问题

今天在集成阿里云物联网平台的服务端接口的go SDK的时候,调用了一个阿里云物联网平台查询设备详情的接口,代码如下func (deviceService *DeviceService) GetDeviceDetail(config pub.ProductConfig, imei string) (*model.DeviceDetail, error) { client, err := client2.GetInstance().WithClient(config.AccessKeyId, confi

2022-05-05 23:56:02 489

原创 java使用protobuf-maven-plugin的插件编译proto文件

java使用protobuf-maven-plugin的插件编译proto文件,实现grpc服务的打包

2022-04-28 07:30:00 14139 2

原创 go使用options模式设置参数

Functional Options Pattern(函数式选项模式)可用于传递不同选项配置到方法中。当每次选项参数有变更的时候,可以不改变方法或者接口的参数,这样保证了接口兼容性。使用Options的模式也更利于程序的扩展,所以在众多包中得到了广泛的使用。......

2022-04-20 07:30:00 2560

原创 go使用protoc-gen插件编译protobuf文件及构建gRPC的服务

目录1. 安装最新版本release版本的go环境2. 安装最新版本protoc文件,我们使用version 3。3. 默认protoc不支持go,需要安装go的扩展插件4. 配置系统环境变量5. 编写proto文件6. 执行命令,生成go的pb文件7. 编写RPC的server和client8.遇到问题参考文章gRPC使用参考:Quick start | Go | gRPCproto 3的语法参考:https://developers.goog.

2022-04-15 07:30:00 1597

原创 Go的接口(interface)介绍和使用

1. 接口(interface)的类型在Go语言中接口(interface)是一种类型,是一种抽象的类型。首先我们看系统interface类型func main(){ // 定义一个空接口x var x interface{} fmt.Printf("type:%T value:%v\n", x, x) s := "hello world!" x = s fmt.Printf("type:%T value:%v\n", x, x) i := 128 x = i fm

2022-03-21 08:00:00 2531

原创 对象存储minio的安装和使用

minio官方介绍:mino是高性能,对Kubernetes友好的对象存储。MinIO 是一款高性能、分布式的对象存储系统. 它是一款软件产品, 可以100%的运行在标准硬件。即X86等低成本机器也能够很好的运行MinIO。同时,它在机器学习、大数据、私有云、混合云等方面的存储技术上也独树一帜。......

2022-03-13 11:26:44 3340

原创 Golang学习笔记--unsafe.Pointer和uintptr

uintptr是一个整数类型,大到足以容纳任何指针的位模式type ArbitraryType inttype Pointer *ArbitraryType// uintptr is an integer type that is large enough to hold the bit pattern of any pointer.type uintptr uintptr

2021-02-01 07:40:00 1109 4

原创 Golang学习笔记--slice使用总结

slice(切片)代表变长的序列,序列中每个元素都有相同的类型。一个slice类型一般写作[]T,其中T代表slice中元素的类型;slice的语法和数组很像,只是没有固定长度而已。1.slice创建方式:slice1 := make([]int,5,10)len: 5, cap : 10Slice(切片)代表变长的序列,序列中每个元素都有相同的类型。一个slice类型一般写作[]T,其中T代表slice中元素的类型;slice的语法和数组很像,只是没有固定长度而已。3.slice.

2021-01-26 09:50:56 1097 1

原创 golang学习笔记--数组使用总结

数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。1.数组的几种创建方式使用数组长度和指定数据初始化进行创建 arr1 := [10]int {3,6,9,4,5,3,5,7,8,2}fmt.Println(arr1)// [3 6 9 4 5 3 5 7 8 2]fmt.Println(len(arr1))// 10 根据初始化参数的个数来创建 arr2 := [...]int {3,6,9,4,5,3,5,7,8}fmt.Print.

2021-01-23 10:41:44 267

原创 排序算法总结

插入排序,常见的直接插入排序和希尔排序 选择排序,常见的直接选择排序和堆排序 交换排序,常见的冒泡排序和快速排序 归并排序,常见的二路归并排序 基数排序,整型的高效排序...

2021-01-12 20:30:44 243 1

原创 Golang学习笔记--error处理

Golang error处理1.1 Golang 官方库对的error支持(1)Golang的错误比较轻量,Error的错误只需要实现buildin包下的error的interface即可 type error interface { Error() string }(2)Goland的默认支持实现为errors包下的实现 // errors.go文件 package errors // New returns an error that forma

2021-01-06 19:09:55 1466 4

原创 微信小程序轨迹回放实现及遇到的坑

1.轨迹回放实现2.轨迹回放的实现的可视区域切换3.画轨迹线中borderWidth设置遇到的坑4.地图层级导致的轨迹不可见

2020-12-29 20:23:46 4182 5

转载 Google Cloud API设计指南

一、基于资源的设计本设计指南的目标是帮助开发者设计简单、一致且易用的网络 API。同时,它还有助于将 RPC API(基于套接字)与 REST API(基于 HTTP)的设计融合起来。RPC API 通常根据接口和方法设计。随着时间的推移,接口和方法越来越多,最终结果可能是形成一个庞大而混乱的 API 接口,因为开发者必须单独学习每种方法。显然,这既耗时又容易出错。引入REST架构风格主要是为了与 HTTP/1.1 配合使用,但也有助于解决这个问题。其核心原则是定义可以用少量方法控制的命名资..

2020-12-29 18:34:06 2542

JT/T 905.2出租汽车服务管理信息系统

JTT 905.2-2014 出租汽车服务管理信息系统,出租车部标协议

2019-04-12

JT/T 794 文档

JT/T794-2011道路运输车辆卫星定位系统车载终端技术要求,部标文档

2019-04-12

node.js in action

node.js in action

2013-11-14

MySQL-python-1.2.3M Python连接mysql的包

MySQL-python-1.2.3M Python连接mysql的包

2012-08-08

PyDev 2.6.0

PyDev 2.6.0 Python的Eclipse开源插件

2012-08-07

Thinking in java 中文版 第四版

Thinking in java 中文版 第四版

2011-12-06

Effective C#

Effective C#. Effective C#.

2011-10-31

操作系统教程

操作系统教程

2011-10-18

XML$XSLT$HTML$JAVASCRIPT转换实例

使用xslt讲xml文件转换成html和js的形式,根据js处理不同的xml文件

2011-10-10

BackgroundWorker组件和Thread更新UI界面对比

BackgroundWorker组件和Thread更新UI界面对比

2011-10-10

Subversive Connector 源代码下载6

Subversive Connector 源代码下载Subversive Connector 源代码下载Subversive Connector 源代码下载Subversive Connector 源代码下载

2011-09-01

Subversive Connector 源代码下载5

Subversive Connector 源代码下载Subversive Connector 源代码下载Subversive Connector 源代码下载

2011-09-01

Subversive Connector 源代码下载4

Subversive Connector 源代码下载Subversive Connector 源代码下载Subversive Connector 源代码下载

2011-09-01

Subversive Connector 源代码下载3

Subversive Connector 源代码下载Subversive Connector 源代码下载Subversive Connector 源代码下载

2011-09-01

Subversive Connector 源代码下载2

Subversive Connector 源代码下载2 Subversive Connector 源代码下载2

2011-09-01

Subversive Connector 源代码下载1

Subversive Connector 源代码下载 Subversive Connector 源代码下载

2011-09-01

ProcessBuilder非阻塞是调用

ProcessBuilder非阻塞是调用ProcessBuilder非阻塞是调用ProcessBuilder非阻塞是调用ProcessBuilder非阻塞是调用ProcessBuilder非阻塞是调用

2011-08-31

Eclipse插件开发Eclipse插件开发

Eclipse插件开发Eclipse插件开发Eclipse插件开发Eclipse插件开发http://www.ibm.com/developerworks/cn/java/os-ecplug/

2011-08-22

C# xml处理和排序

C# xml处理和List的Sort排序C# xml处理和List的Sort排序C# xml处理和List的Sort排序

2011-08-18

手机应用程序效果图手机应用程序效果图

手机应用程序效果图手机应用程序效果图手机应用程序效果图手机应用程序效果图

2011-07-22

WPF中richtextbox知识点总结

WPF中richtextbox知识点总结richtextbox知识点总结richtextbox知识点总结richtextbox知识点总结richtextbox知识点总结

2011-06-24

XML操作类XML操作类XML操作类

XML操作类XML操作类XML操作类XML操作类XML操作类XML操作类XML操作类XML操作类

2011-06-15

背景按钮.doc背景按钮.doc背景按钮.doc背景按钮.doc

背景按钮.doc背景按钮.doc背景按钮.doc背景按钮.doc背景按钮.doc背景按钮.doc背景按钮.doc

2011-06-10

WPF中Style样式原理分析

WPF中Style样式原理分析WPF中Style样式原理分析WPF中Style样式原理分析WPF中Style样式原理分析

2011-06-10

设置wpf中Button的划过样式的分析

测试下PWF中当按钮滑上去的背景设置方法,一种是设置触发器,一种设置成Imagebutton控件

2011-06-10

WPF设置字体边框,使字体看上去清晰一点

设置一个自定义控件,是现实字体添加边框来使字体看上去清晰一点

2011-06-08

空空如也

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

TA关注的人

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