自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的天空 我的梦

自由翱翔在追求理想的浩瀚天空当中

  • 博客(214)
  • 资源 (9)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Rust初体验

前段时间,无意中看到了有关Rust的一系列新闻,比如Fuchsia底层开发使用Rust,Linux驱动可以采用Rust进行开发,Rust的代码安全性比C/C++更高,而性能与C/C++更加接近,等等。而且Rust在编程语言中的排名上升速度还是值得肯定的,对嵌入式开发非常友好,所以最近也学习了解了一下Rust,有机会再尝试使用。目前学习Rust的感觉,语法还不算太过生僻,可能是之前接触过Swift,Kotlin,Dart,Golang等语言的历练,Rust顶多也就是这一系列语言类似的一种语言。所以语法的学习

2020-09-30 13:22:48 98

原创 我的技术管理感悟(架构篇)

天下之至柔,驰骋天下之至坚,无有入无间,吾是以知无为之有益。不言之教,无为之益,天下希及之。做技术管理,一定会接触到项目的架构设计,那么架构到底要如何设计呢?有没有什么规律和方法可循?今天谈谈自己在架构方面的感悟。1. 什么是架构?做架构设计有什么用处?架构是一个很宽泛的概念,实际上,生活中到处都充斥着架构,公司的组织架构,房屋的结构,机械的结构等等,都是架构,架构不是本身就有的,是为了实现某种目的进行设计而产生的。做架构的目的是为了使我们想实现的目标更加具体,易于实现,便于分工合作,放在软件.

2020-05-31 07:34:12 263

原创 我的技术管理感悟(技术篇)

道冲,而用之有弗盈也。渊兮!似万物之宗。锉其兑,解其纷,和其光,同其尘。湛兮!似或存。吾不知其谁之子,象帝之先做技术的人,可能会很看重技术,而作为技术管理,我们如何看待各式各样的技术人以及五彩缤纷的技术呢?这里谈谈我的看法。1. 技术的培养,应该是注意深度还是宽度?持而盈之,不如其已;揣而锐之,不可长保。金玉满堂,莫之能守;富贵而骄,自遗其咎。功成身退,天之道也。2. 提高自己的技术水平,有没有什么好的方法和门道?3. 什么样的人适合于做技术?4. 技术和管理冲突吗?5. 技.

2020-05-24 07:48:00 212 1

原创 我的技术管理感悟(人篇)

管理是仁者见仁智者见智的事情,每个人可能都有自己不同的看法和理念,我将用几篇文章,谈谈自己的管理感悟,准备采用问答的方式,以明确自己希望表达的问题。谈到管理,终归脱不开人,最近很容易想到一句话,有人的地方就有江湖,有人,才有了多彩的世界,才有了许多需要协调的事情,才有了分工,才有了利益分配,才有了许多本来可以很简单却变复杂的问题。小白:我们应该如何识人?小白:我们应该如何培养人?小白:我们应该如何管理人?小白:我们应该如何筛选人?小白:我们应该如何协调人?小白:我们需要教化人吗?

2020-05-17 06:54:52 152

原创 插件式架构设计

插件式的架构设计简单来说就是将一套系统中的算法和功能不同而接口相同的同类事物抽象为插件的一种架构设计方式。我更将其看作是策略模式在整个系统的应用,如果采用微服务架构,插件也可以理解为微服务中的微单元。甚至于微服务架构也可以理解为一定程度上的插件设计,微服务作为大系统的插件而存在。我最初使用这种方式是在工作第一年,当时参与公司产品重新架构,使用C编写程序,利用C语言的动态库动态加载能力,我们实现...

2020-05-08 10:30:53 877

原创 golang如何更好地使用channel

最近学习了《GO语言并发之道》这本书,获益匪浅,其中channel方面的知识了解了更多,主要是以下几点:1. channel在不同条件下读写,会有不同的行为形式,后面会通过实验说明;2. channel使用完是要close的,而一般由写端创建和关闭,不要在读端关闭,上面的实验结果会说明这样做的原因;3. channel结合gorouting有很多的实践方式,还可以构造流式处理。先来...

2020-05-01 06:33:48 196

原创 golang使用坑两处

今天的文章给大家看看两处golang使用中存在的坑,了解这两处坑,能够防止一些隐蔽性比较大的bug出现。闲话少叙,上代码package mainimport ( "errors" "fmt")func main() { var err error defer func(err error) { fmt.Printf("inner %v\n", &err) ...

2020-04-25 14:28:22 116

原创 SSH反向代理——让你的树莓派能够在任何地方访问

上周文章我们使用Go Module配置项目,做了一个基于gin的Hello World,今天我们把这个项目部署到树莓派上,作为我们的一个服务,这样带来了一个问题,树莓派一般在家里放着,我怎么能访问到呢?今天的文章就解决这个问题。首先,我们编译一下上次的项目,使之能够在树莓派上运行,go build直接支持交叉编译,执行下面的命令GOARCH=arm GOOS=linux go build...

2020-04-19 07:35:42 286 2

原创 Golang真香之Go Module

Golang使用将近有一年多了,期间使用Golang做过不少项目,使用中对其愈发喜爱,一个词概括,真香!闲话少说,下面进入主题。用过Java的都知道Java有meaven,gradle等代码依赖管理工具,使用这些工具,你只需要添加依赖,在构建时,会自动下载对应的包并在项目中集成。我们可以控制使用的包的版本还有兼容性,选择自己项目需要的包进行下载使用。Go Module是 Go 语言的一种...

2020-04-12 08:11:02 617

原创 信息世界之道

好久没写文章了,最近真的比较忙,再加上自己的身体状况需要调整,正好有时间看点形而上的书籍,感觉受益匪浅,也让自己对很多事情有了新的看法。《道德经》是道家思想的重要来源,看过之后,生活上的心态有了变化,也使得自己对软件和信息技术有了一些新的认识,对错无所谓,感悟说出来供大家消遣,仅此而已。信息的世界千变万化,没有固定的形态,但是细想之下,又很简单,信息的世界涉及两个重要概念——数据和通信。数据是...

2020-04-04 13:50:07 103

原创 docker配置kafka集群

三台主机10.10.10.27 yf-kafka110.10.10.28yf-kafka210.10.10.29yf-kafka3安装docker(替换下面的USERNAME为你自己的用户名)$ sudo apt-get remove docker docker-engine docker.io $ sudo apt-get install \ apt-tra...

2020-03-28 18:38:59 324

原创 软件研发管理中的一些思考

最近事情比较多,好久没有写文章了,考虑不如就写写最近工作和学习中的感悟。程序员是人而不是机器,这个理念在很多软件管理类的书籍中都有提到,但是自己在管理工作中观察和实践之后,进一步感受到了这句话的道理。由于程序员从事的工作内容复杂度很高,很多时候需要程序员采用非线性的思维模式思考问题。采用传统的管理方式进行管理,会限制程序员的思维能力和创新意识。为程序员提供良好的工作环境,有利于降低人力成本,更...

2019-08-18 09:18:12 1145 2

原创 Golang使用感受

之前一段时间,我曾经做过一些有关Golang的介绍。最近从使用Golang的过程中,又有一些新的感受,与大家分享一下。我比较反对语言之间的比较,一门编程语言能做什么,取决于用户用它做了什么,而一门语言擅长于做什么,取决于用户经常用它做什么,它的语法在解决哪个领域的问题比较有优势。我只是单纯站在一门语言的角度,来谈谈自己对它的客观看法。Golang能做什么?目前我使用Golang做过Web应用,...

2019-07-06 07:57:21 644 3

原创 Docker使用卷模式创建mysql5

只需要两行命令,作为记录docker run -d --volume /var/lib/mysql:/var/lib/mysql --name mysql-dc alpinedocker run -d --name mysql5 --volumes-from mysql-dc -e MYSQL_ROOT_PASSWORD=xxxxxx -p 3306:3306 --restart=alwa...

2019-07-01 09:52:26 224

原创 在数据集CIFAR10上使用Keras构建卷积神经网络

Keras是一套构建深度学习模型的高级API,使用Keras可以使构建深度学习模型和摆乐高积木类似,使用不同的组件构建模型即可,不需要复杂的深度学习网络构造。CIFAR10数据集共有60000张彩色图像,这些图像是32*32,分为10个类,每类6000张图。内容如下对于多分类图像识别问题,我们最常采用的方法就是卷积神经网络,重点在于构造合适的网络结构,使得训练精度尽可能高。我们先给出代...

2019-06-23 08:52:34 1004

原创 碎片化学习和系统学习的选择

上一篇文章写的是k8s相关的内容,本来准备将k8s系统写一些文章,但是经过分析,感觉对于我,写这种系统知识的文章不太合适。由于更新文章每两周一次——不是非常频繁,可能等我写完,大家已经自己学完了相关的知识,所以继续写相关的文章没有什么意义。以后的文章会更加偏向于方法论,思维以及一些技术知识碎片,这样大家读一篇有一篇的收获,会更好一些,不过以后的技术文章,就需要大家具备一定的背景知识了。今天就说...

2019-05-26 07:53:08 649

原创 Kubernetes通过Service开放集群内布服务

五一假期结束,我们继续看看k8s的使用,上一篇文章讲到pod,文末提到,这样的pod还无法从集群外部使用,那么如何才能访问到集群内布的服务呢?这要借助于k8s的Service资源,利用Service可以将集群内布的服务映射出来,供集群外访问。查看Service我们可以使用命令kubectl get svc和pod类似,加上-n选项,我们可以查看对应命名空间下的Service。创建...

2019-05-08 16:58:18 248

原创 Ubuntu下vlc-qt编译

最近用到vlc-qt,编译过程如下git clone git://github.com/vlc-qt/vlc-qt.git cd vlc-qt sudo apt-get install cmake export QTDIR=/Qt安装路径/5.12.3/gcc_64 export LD_LIBRARY_PATH=$QTDIR/lib export PATH=$PATH:$QTDIR/...

2019-04-26 09:00:32 688

原创 Kubernetes Pod的使用

上一篇文章介绍了k8s的部署,既然部署完成了,我们就来看看如何使用k8s。我们从最基本的概念开始。k8s管理容器的核心是Pod,我们可以将Pod理解为容器的集合。也就是说,一个Pod中可以部署相关的多个容器,但是一个Pod的功能应该足够独立。打个比方,数据库和我们的Web程序是否应该放置在一个Pod当中吗?我们常规的理解应该是我们的Web程序需要使用数据库,所以应该将其放在一个Pod当中。...

2019-04-13 12:08:47 504

原创 UbutnuServer18.04部署Kubernetes 1.13.4

Kubernetes是Google开源的容器引擎,由于单词很长,常常简称为k8s,8代表k和s之间有8个字母。k8s包含很多组件,用来对容器进行组织,可以对容器进行编排,自动管理容器的运行,实现滚动更新,进行负载均衡等。由于k8s集群搭建非常复杂,出现了很多部署k8s的工具,但是由于国内网络环境的问题,使用这些工具,我们依然很难获取到k8s搭建需要的镜像文件,因此需要采取一些手段来获取搭建环境需要...

2019-03-24 09:56:07 636

原创 docker环境变量使用

docker是目前使用很广泛的容器技术,它不同于虚拟机,docker使用了Linux内核提供的命名空间和cgroups等技术,利用沙箱机制,将不同容器的运行环境进行了隔离,保证了软件系统在部署上的封装和安全。docker在提供部署安全性的同时,也在改变着我们开发的方式。在以前的系统中,为了方便对系统的配置进行修改,我们常常将系统可配置的参数放置在配置文件或者数据库中。但是,有些配置,比如数据库...

2019-03-10 07:58:35 3890

原创 为什么要学习多种编程语言

新的一年开始了,先祝大家猪年诸事顺利。过年期间文章停更几周,今天正式回归。今天的文章可能是一个老生常谈的问题,软件工程师到底是否需要掌握多种编程语言?如果一直看我博文的人应该了解,我掌握的编程语言就不少,系统编程的C/C++,Web开发的Java和JavaScript,脚本语言Python和Shell,最近非常喜爱的全能语言Golang,迫于Android开发使用的Kotlin,iOS开发的O...

2019-02-23 11:51:38 10634 6

原创 软件中的通信之道

一个软件系统总是由很多不同功能的子系统组成的,每一个子系统又会采用不同的设计方式,会包含不同的模块,会编写不同的代码,有不同的函数和变量。我们今天的文章将目光放在软件中存在的各种通信上,从宏观的角度看看软件系统。百度百科对通信的定义是这样的:通信,指人与人或人与自然之间通过某种行为或媒介进行的信息交流与传递,从广义上指需要信息的双方或多方在不违背各自意愿的情况下采用任意方法,任意媒质,将信...

2019-01-13 09:53:05 258

原创 2018年终个人总结

转眼间2018年马上就要结束了,又到了写个人总结的时候。回头看看去年的个人总结,自己大部分目标都实现了,还是很欣慰的。2018年总的来说就是一个字:新。这个新让我经历了很多,也让自己重新认识了自己。新年新问题2018年1月到2月,新的一年开始了,这两个月,自己好好学习了机器学习的相关知识,了解了一些新的技术。本以为努力追求技术,就可以让自己忘记心中的种种矛盾,可是却恰恰相反,自己更多的开始...

2018-12-30 23:35:49 4160 1

原创 软件技术中的道与术

说起专业基础课,编程语言和各种库和框架在软件开发中的地位,大家可能会有不同的看法,关于深入学习什么,也存在着各式各样的看法。有的人认为,只要熟悉一门编程语言,然后深入学习这门语言实现的各种框架,就可以做好相关领域的开发;还有一些人认为,我需要广泛的学习各种编程语言,做一名语言专家,这就好比是编程领域的翻译;也有深钻专业基础课和各类算法的人,这类人内功深厚。总之,每个人对自己喜欢和关注的领域可能都不...

2018-12-15 13:14:14 6323 12

原创 我的软件修习之路(三)——实践出真知

研究生毕业以后,我的职业之路正式拉开序幕。为了能够接触更多的软件牛人,我选择了到北京工作。也因此和老婆开始了异地生活。生活虽然苦,但是为了将来,我认为还是值得的。初到北京,工资不是很高,为了能够给家里多节省一些钱,选择了在离公司比较远的回龙观租了房子。在北京工作的人应该了解,北京北面的回龙观,天通苑,西二旗等地都是我们北漂一族租房的首选,所以地铁13号线的人流量一向是很大的,站着人挤人基本上是...

2018-12-01 12:11:02 582 1

原创 我的软件修习之路(二)———柳暗花明

离开了本科校园,2010年9月新的旅程开始了。刚进入研究生阶段,一切都很新奇,自己选课,自己安排时间。导师徐老师也非常开明,研一让我们尽可能学好研究生阶段的课程,并没有安排很多的研究任务。正是有这一年的时间,让我想清楚了很多问题,也让我研究生三年的时间没有白白浪费。徐老师非常看重数学,直到现在我还记得老师当时的教诲。大学阶段最有用的课程可能就是数学,当你工作时间越长,越会发现数学的强大。对照上...

2018-11-17 11:15:08 228 2

原创 我的软件修习之路(一)——迷茫

2006年,高考结束,出于对物理的喜爱和未来就业的考虑,我选择了机械设计制造及其自动化专业。当时喜欢用电脑玩游戏,也曾考虑过是否能写出自己的程序,可是我并没有考虑计算机相关专业。回想当时的情形,可能是自己觉得这些专业比较高端,自己选择的几所高校的这类专业也非强项,就放弃了。机械设计及其自动化专业,被定位为宽基础的工科专业。因为机械是所有工业的基础,所以机械的学生就应当了解除去机械本专业之外的其...

2018-11-04 20:21:33 446

原创 Golang使用WebSocket通信

使用Golang能够创建WebSocket通信,只需要使用golang.org/x/net/websocket包即可,该包有可能被墙,无法使用go get下载,但是我们可以从golang中国提供的地址下载,然后将包放在对应的路径下。WebSocket是一种通信协议,旨在改善HTTP作为无状态协议通信的效率问题,WebSocket是客户端与服务器之间的全双工连接,客户端和服务器只需要建立一次连接...

2018-10-27 12:52:03 23417 9

原创 Golang如何优雅地提取JSON数据中需要的字段数据

JSON数据是我们开发中经常遇到的一种数据格式,一般通用的做法是,我们通过建立实体类,然后利用一些框架将JSON数据转化为对应的实体类对象,这样我们就可以方便地访问JSON数据了。但是有些时候,一个JSON对象很大,字段很多,而我们可能只需要其中的几个字段值,这在调用第三方API时可能经常发生,我们完全没有必要为了访问几个字段而创建一个很大的实体类对象,使用过C#的开发者会很自然地想到LINQ...

2018-10-13 10:12:02 12868

原创 Golang对excel进行处理

国庆节祝我们的祖国更加繁荣昌盛,想必大家在国庆期间也好好放松了一下,中秋节过节停更了一次,家里面有孩子了,放假期间希望能好好陪陪孩子,请大家谅解。今天发一篇技术文章,帮助大家逐渐回归到正常的工作状态。之前有关Golang的文章主要是基于Golang的标准库来讲解的,今天我们来看看Golang的一个开源库,它可以用来处理xlsx文件,首先下载包go get github.com/teale...

2018-10-06 09:59:58 10686 1

原创 利用golang通道优化TCP Socket服务器

前面的几篇文章分别介绍了UDP和TCP进行Socket编程的方法,在TCP的文章中,我们除了传统的阻塞型服务器,还给出了多线程服务器的实现方式。今天我们利用golang的通道,给出一种更加高效的服务器设计。package mainimport ( "fmt" "net" "os" "strconv" "strings" "go-study/socket/config&quot

2018-09-15 10:25:10 6602 3

原创 golang TCP Socket编程

上一篇文章介绍了golang进行UDP编程的方式,本篇文章继续golang的网络编程,我们看看如何实现TCP编程。UDP传输的是数据包,传输时不会建立实际的连接,UDP传输数据不会保证可靠性。TCP则不同,它会维持客户端和服务器之间的连接,并且保证数据传输的可靠性,服务器和客户端之间会维护连接,使用流的方式进行数据传输。因此,UDP客户端接收的是一个个数据包,而TCP客户端接收到的是流,因此会存在...

2018-09-09 09:54:55 5719

原创 golang使用UDP进行网络通信

golang提供了网络编程使用net包,使用net包可以进行很基础的socket编程,如果希望了解socket的一些基础知识,可以参看我之前的文章,虽然是Java示例,但是前面的原理说明不会因为语言的差别而不同。今天我们一起看看使用golang如何实现UDP编程。代码分为server端和client两部分,实现的功能与Java版的类似。他们共同使用一份config.go文件。config.go...

2018-09-02 16:21:14 18165 1

原创 Golang如何正确的停止Ticker

Golang可以利用time包的Ticker实现定时器的作用,最近使用Ticker时,发现调用Ticker的Stop方法无法正确的停止Ticker,协程会阻塞在等待Ticker的C通道处,精简后的代码如下:func UseTickerWrong() *time.Ticker { ticker := time.NewTicker(5 * time.Second) go func(ticke...

2018-08-25 10:44:27 8335

原创 Golang并发以及通道的使用

Golang最擅长的就是并发编程,使用Golang可以很方便的进行并发编程。先看一段普通的代码package mainimport ( "fmt" "time")func Foo(i int) { fmt.Printf("%d will sleep\n", i) time.Sleep(5 * time.Second) fmt.Printf("%d wake up\n", ...

2018-08-18 11:30:06 3232

原创 Golang方法不同类型接收者的区别

Golang中对方法和函数进行了区分,函数就是传统意义上的函数,定义方式如下:func 函数名(参数列表) (返回值列表) {}方法在函数的基础上添加了一个接收者,接收者可以是结构体类型的变量或指针,也可以是slice或者map,也就是说,无法将基本类型的变量或指针作为方法的接收者,只有复合类型的变量或指针才可以作为接收者,定义方法的方式如下:func (接收者) 方法名(参数列表...

2018-08-05 11:41:25 1906

原创 《区块链技术驱动金融》读书笔记

一、密码学及加密货币概述1.加密数字货币需要去中心化,通过安全规则保证安全,而不是依赖于中央机构2.密码学可以防止对系统的干扰,还能避免混淆,将新货币创造的规则编码到数学协议中3.哈希函数有三个特性:(1) 输入为任意长度字符串(2) 产生固定大小的输出(3) 在合理的时间得到输出,一般为O(n)4. 哈希函数满足三个附加特性:抗冲突能力,隐秘性,谜题友好5. 哈希...

2018-08-02 08:41:58 1796

原创 Golang结构体中Tag的使用

Golang中可以为结构体的字段添加tag,这类似于Java中为类的属性添加的注解,Golang本身的encoding/json包解析json使用了tag,一些开源的ORM框架,也广泛使用了tag,那么,我们如何通过代码自己实现tag的解析,从而简化结构体字段的使用方式呢?下面看一个例子。假设有一个Person结构体定义如下type Person struct { Name ...

2018-07-28 13:50:09 7211

原创 Golang基本程序结构

今天的文章,我们来了解一下Golang的程序结构,只有知道Golang的组成,才能够在使用时有的放矢,选择合适的方式。包和包的初始化Golang中的包是按目录结构组织的,下面假设是一个GOPATH下的src中的目录结构src    folder1        folder2            foo1.go            foo2.go则我们的包引用路...

2018-07-21 13:36:44 694

python3.4 64位的PIL

python3.4 64位的PIL,可以cmd输入python查看python版本及位数

2015-11-25

PIL for python3.4

PIL for python3.4 内附修正报错无法安装的时的脚本

2015-11-25

OneClickRecoveryV9-4.0.0.8

刷机用的Recovery,很好用,在手机上安装运行后就可进入recovery模式

2013-07-20

UNP配套源代码

UNP配套的源代码,配合书本可以让你很好地掌握网络编程。

2013-03-13

APUE配套源码

APUE源代码,包括了全书的所有代码,具体的编译可以查看README,或从网上查找。

2013-02-25

Android录像,拍照,连拍,定时拍照

代码实现了Android的录像,拍照,连拍,定时拍照等功能,并提供了相应的Demo

2016-12-07

Android利用MediaRecorder录音

Android利用MediaRecorder录音

2016-12-06

Android拍照,连拍以及自动拍照

Android拍照,连拍以及自动拍照

2016-12-05

Android拍照

Android拍照

2016-12-02

大鹏1987的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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