自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

尹成的技术博客

尹成大魔王区块链与人工智能的技术分享

  • 博客(183)
  • 资源 (718)
  • 收藏
  • 关注

原创 压力测试

压力测试概述压力测试用来检测函数(方法)的性能,和编写单元功能测试的方法类似,但需要注意以下几点:文件名命名规则:xxx_test.go函数名命名规则:func BenchXxx(b *testing.B),其中XXX可以是任意字母数字的组合,但是首字母不能是小写字母函数内必须使用b.N进行轮询测试函数内可以选择使用b.ReportAllocs()汇报内存开销在GoLandIDE中你...

2018-11-16 11:18:27 1266

原创 网络常识

#OSI七层模型###模型图###七层应用层 协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP表示层会话层传输层 网关 协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层网络层 路由器 协议有:ICMP IGMP IP(IPV4 IPV6) ...

2018-11-16 11:17:26 674

原创 网络通信1:UDP

#UDP协议###1.简介UDP(User Datagram Protocol),用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。UDP提供了无连接通信,且不对传送数据包进行可靠性保证,适合于一次传输少量数据,UDP传输的可靠性...

2018-11-16 11:16:29 624

原创 反射简介

反射概述通常的程序逻辑是:编码时先写好剧本,运行时按照写好的剧本演何时创建一个什么实例,给哪个属性赋什么值,然后调用它的哪个方法都毫厘不差但能否在运行时动态地生成“剧本”呢?根据具体的业务需要见机行事,动态地生成一个不知道具体类型会是什么的实例,动态地访问一个无法提前预知的属性或方法答案是可以的,这便引出了今天的主角——反射应用场景举例:导出商品列表到Excel需求是:不管用户...

2018-11-16 11:15:40 360

原创 网络通信2:TCP简单通信

#首部格式图释:各个段位说明:源端口和目的端口:各占 2 字节.端口是传输层与应用层的服务接口.传输层的复用和分用功能都要通过端口才能实现序号:占 4 字节.TCP 连接中传送的数据流中的每一个字节都编上一个序号.序号字段的值则指的是本报文段所发送的数据的第一个字节的序号确认号:占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号数据偏移/首部长度:占 4 位,它指出...

2018-11-16 11:14:53 565 1

原创 网络通信5:执行HTTP的GET/POST请求

导入依赖包import ( "fmt" "net/http" "io/ioutil" "strings")提交GET请求并获得返回func main521() { url := "http://www.baidu.com/s?wd=肉" resp, err := http.Get(url) if err != nil { fmt.Println("错误")

2018-11-16 11:14:09 618

原创 详解GOPATH

File->Settings->Go->GOPATH作用存放SDK以外的第三方类库可以是下载的第三方类库也可以是自己收藏的可复用代码目录结构GOPATH目录可以指定多个每一个GOPATH目录下必须有一个src目录src目录下的文件夹名称就是引用时的包名举例 import fuck.shit shit.EatSome(5)...

2018-11-16 11:09:16 1272

原创 网络通信6:搭建HTTP服务器

#1、Web工作方式我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要 浏览的内容。在这个看似简单的用户行为背后,到底隐藏了些什么呢?对于普通的上网过程,系统其实是这样做的:浏览器本身是一个客户端,当你输入URL的 时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过 IP地址找到IP对应的服务器后,要求建立TCP连接,等浏览器发送完...

2018-11-16 11:08:12 613

原创 Go语言开发环境搭建

#开发环境搭建##下载地址Go编译器https://golang.google.cn/dl/Goland官网下载https://www.jetbrains.com/go/download/#section=windows在线激活地址http://idea.youbbs.org##卸载过程如下:点击设置点击应用找到go之后点击卸载卸载过程如...

2018-11-16 11:07:32 453

原创 网络通信3:TCP交互通信

服务端实现import ( "fmt" "net" "os" "strings")func CheckErrorS(err error) { if err != nil { fmt.Println("网络错误", err.Error()) os.Exit(1) }}func Processinfo(conn net.Conn) { buffer := make(...

2018-11-16 11:06:36 526

原创 网络通信4:TCP广播

服务端实现import ( "fmt" "net" "os" "strings")//存储客户端连接, key,ip端口,value 链接对象var onlineConnsMap = make(map[string]net.Conn)//消息队列,缓冲区var messageQueue = make(chan string, 1000)//消息,处理程序退出var ...

2018-11-16 11:05:47 1719 1

原创 MySQL数据库5:Go与MySQL的交互

下载第三方依赖go get github.com/jmoiron/sqlxgo get github.com/go-sql-driver/mysql其中github.com/jmoiron/sqlx是我们需要用到的主要类库github.com/go-sql-driver/mysql是作为MySQL的驱动程序存在的,我们只需要执行包的init方法即可引入依赖import ( "g...

2018-11-16 11:02:04 393

原创 Redis数据库4:Go与Redis的交互

1. Redis简介Redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。特点支持更多数据类型和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set 有序集合)和hash(哈希类型)。支持复杂操作这些数据类型都支持push/po...

2018-11-16 10:58:57 1047

原创 Linux下搭建Go语言开发环境

@安装编译器方案一下载安装包解压到特定目录cd /usr/localtar -zxvf goxxx.tar.gz 配置PATHexport PATH=$PATH:/usr/local/go/bin使配置永久生效sudo gedit /etc/profileexport PATH=$PATH:/usr/local/go/binsource /etc/profile 或 re...

2018-11-16 10:52:15 703

原创 正则表达式

Go语言标准库内建提供了regexp包. 匹配除换行符以外的任意字符\w 匹配字母或数字或下划线或汉字\s 匹配任意的空白符\d 匹配数字\b 匹配单词的开始或结束^ 匹配字符串的开始$ 匹配字符串的结束重复零次或更多次重复一次或更多次? 重复零次或一次{n} 重复n次{n,} 重...

2018-11-16 10:46:36 371

原创 Go语言项目实战:并发爬虫

导入类库import ( "fmt" "regexp" "net/http" "io/ioutil" "strings" "sync" "time" "strconv")定义全局数据var ( //存放图片链接 chanImgUrls chan string //存放147个任务是否已完成 chanTask cha

2018-11-16 10:45:45 531

原创 Go语言项目实战:基于开源数据的成语查询

业务需求命令行键入一行诗句启动应用:idiom.exe -cmd start -poem 大王派我来巡山将诗句中的每个字丢入【模糊查询管道】另外再建立【精确查询管道】和【结束管道】,分别存储【成语】(大鹏展翅、占山为王、龟派气功…)和【结束指令】(fuckoff)时钟每秒随机读入一条管道数据:如果是【模糊查询管道】:起协程进行模糊查询,并汇总数据在内存如果是【精确查询管道】:起协程进...

2018-11-16 10:44:29 474

原创 并发技术1:CSP并发理论

异步async并行:多个任务并发执行同步sync串行:多个任务依次执行阻塞block某个并发任务由于拿不到资源没法干活,从而无所事事地干等进程并发-线程并发-协程并发异步回调async callbackA线程唤起B线程,令其干活同时给B一个回调函数命令B在干完活以后,执行这个回调函数这个回调函数会与A线程发生交互A不必阻塞等待B执行的结果,AB两个线程可以并发执行利弊...

2018-11-16 10:39:07 414

原创 并发技术2:多协程

创建Goroutineimport ( "fmt" "time")func newTask() { for { fmt.Println("劳资是子协程") time.Sleep(time.Second) }}func main() { //开一条协程,与主协程并发地执行newTask() go newTask() //主协程赖着不死,主协程如果死了,子协程也...

2018-11-16 10:38:34 402

原创 图形用户界面1:初识Walk

GO语言的图形界面库Walk简介GO没有原生的界面库,所以不能直接用来写GUI界面。但最近互联网上已经涌现出不少成熟、好用的第三方界面库。使用它们,就同样可以写出同C#、C++的界面。而且效率还更胜一筹。关于Walk界面库(官方介绍):Walk是一个写给Golang的Window应用程序库套件,它主要用于桌面GUI的开发,但也有更多的东西。###安装Walk在浏览这部分前,请确定已经配置安...

2018-11-16 10:37:45 543

原创 Go语言项目实战:多人聊天室

功能需求实现单撩实现群撩实现用户上线的全网通知实现用户昵称实现聊天日志的存储和查看服务端实现type Client struct { conn net.Conn name string addr string}var ( //客户端信息,用昵称为键 //clientsMap = make(map[string]net.Conn) clientsMap = mak...

2018-11-16 10:36:44 639

原创 图形用户界面2:常用控件

认识几种常用控件按钮菜单工具栏界面布局列表显示图片导入依赖import ( "github.com/lxn/walk" . "github.com/lxn/walk/declarative" "os" "strings" "io/ioutil" "fmt" "log")定义全局数据// 全局应用的菜单项var myAction

2018-11-16 10:35:55 705

原创 并发技术3:管道通信

#channel 介绍channel 提供了一种通信机制,通过它,一个 goroutine 可以想另一 goroutine 发送消息。channel 本身还需关联了一个类型,也就是 channel 可以发送数据的类型。例如: 发送 int 类型消息的 channel 写作 chan int 。#channel 创建channel 使用内置的 make 函数创建,下面声明了一个 chan in...

2018-11-16 10:35:08 289

原创 并发技术5:死锁问题

1. 同一个goroutine中,使用同一个 channel 读写package mainfunc main(){ ch:=make(chan int) //这就是在main程里面发生的死锁情况 ch<-6 // 这里会发生一直阻塞的情况,执行不到下面一句 <-ch}这是最简单的死锁情况看运行结果1. 2个 以上的go程中, 使用同一个 ...

2018-11-16 10:34:03 374

原创 并发技术4:同步调度

等待组在此之前,我们让主协程等待子协程结束的方式都是睡眠,睡足子协程需要的时间,这种方式显然是不理想的!等待组(sync.WaitGroup)的原理是:每增加一个子协程,就向等待组中+1,每结束一个协程,就从等待组中-1,主协程会阻塞等待直到组中的协程数等于0为止;这种方式可以令主协程恰好结束在最后一个子协程结束的时间点上,Perfect!互斥锁案例1在很多情境中,数据是不允许并...

2018-11-16 10:26:51 360

原创 MySQL数据库6:Go与MySQL事务

事务概念事务是将批量增删改操作视为一个整体,作为一个整体,它们要么全部成功,要么全部失败——这一特性称为事务的原子性(原子是不可再分割的);事务的应用场景很多,例如在一次电商的交易中,只有资金出入表、物流表、交易记录表、订单表、购物车表等一系列表的数据变动全部严丝合缝分毫不差时,才能视为交易成功,此时可以提交事务;只要有一点对不上号的地方,本次交易就不能视为成功,所有的数据应全部回滚至交易...

2018-11-16 10:23:33 373

原创 并发技术3:定时器

定时器概述Go为我们提供了两种不同方式的计时器:定时执行任务的计时器周期性执行任务的计时器固定时间定时器下面的例子演示了如何使用定时器延时2秒执行一项任务func main() { //创建2秒的定时器 timer := time.NewTimer(2*time.Second) //当前时间: 2018-09-25 19:17:16.8050379 +0800 CST m=+...

2018-11-16 10:06:09 277

原创 并发技术4:读写锁

读写锁概述除了上一篇提到的互斥锁以外,Go语言还给我们提供了另一种资源锁——读写锁(sync.RWMutex);读写锁可以锁定和解锁两种模式:只读模式和只写模式:只读模式:多路只读不可写;只写模式:单路只写不可读;只读模式示例//定义读写锁var rwMutex sync.RWMutex/*只读模式:多路只读不可写*/func main() { for i := 0; i...

2018-11-16 10:05:38 257

原创 Redis简介与安装(Windows)

@简介redis是一种高速高性能的内存数据库,存储的是键值对数据;由于极高的存储和访问速度,redis常被用来作为数据缓存服务器;另外redis是支持数据持久化的(即redis会自动将数据写入磁盘)——这是redis大杀四方的重要原因;redis支持多个slave端同时向master端进行写入,这经常被用在分布式爬虫等场景中;2010年以后redis开始大面积流行,关系型数据库(核心数...

2018-11-16 10:02:26 326

原创 Redis数据基本操作

@概述这里列举了键值对和其它数据类型的一些常用操作;更多操作命令和释义可以参考:http://redis.cn/commands.html@字符串操作举例set name bill //设置键值setex name 20 bill //键值20秒后过期mset age 60 gender male //一次性存储多个键值get name //不存在则返回nullmget nam...

2018-11-16 09:56:01 278

原创 Redis管理基本操作

@概述本节列举一些Redis中常见的非数据操作,包括帮助、数据库切换、状态监视等;@启动服务redis-server.exe redis.windows.conf // 使用配置启动redis服务@查看服务状态(非redis命令模式下)redis-cli --stat -a 123456 // 查看服务状态显示如下:共有15个键,占用内存715K,有3个客户端连接(含Desk...

2018-11-16 09:54:36 331

原创 Linux常用命令100

@日常命令cd .. // 返回上一级目录cd - // 返回上一次目录cd或cd ~ // 返回家目录cd / // 进入根目录pwd // 显示当前目录ls // 显示当前目录文件ls localrepo/ // 显示指定目录的文件ll // 查看目录文件的的详细信息la // 查看全部包括隐藏的目录文件tree // 查看当前目录文件树tree mydir // 查看...

2018-11-16 09:50:51 505

原创 Linux常用工具的安装

@安装PyCharm官网下载压缩包解压缩进入压缩目录,运行pycharm.sh@安装MySQLsudo apt-get install mysql-server 无法通过apt安装,应该是兼容性问题sudo apt install mysql-client 安装client端sudo apt install libmysqlclient-dev 安装依赖 netstat...

2018-11-16 09:49:19 321

原创 MySQL数据库5:Go与MySQL的交互

下载第三方依赖go get github.com/jmoiron/sqlxgo get github.com/go-sql-driver/mysql其中github.com/jmoiron/sqlx是我们需要用到的主要类库github.com/go-sql-driver/mysql是作为MySQL的驱动程序存在的,我们只需要执行包的init方法即可引入依赖import ( "g...

2018-11-16 09:46:52 376

原创 Redis数据库4:Go与Redis的交互

1. Redis简介Redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。特点支持更多数据类型和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set 有序集合)和hash(哈希类型)。支持复杂操作这些数据类型都支持push/po...

2018-11-16 09:45:04 664 1

原创 Linux下搭建Go语言开发环境

@安装编译器方案一下载安装包解压到特定目录cd /usr/localtar -zxvf goxxx.tar.gz 配置PATHexport PATH=$PATH:/usr/local/go/bin使配置永久生效sudo gedit /etc/profileexport PATH=$PATH:/usr/local/go/binsource /etc/profile 或 re...

2018-11-16 09:38:49 2253

原创 正则表达式

Go语言标准库内建提供了regexp包. 匹配除换行符以外的任意字符\w 匹配字母或数字或下划线或汉字\s 匹配任意的空白符\d 匹配数字\b 匹配单词的开始或结束^ 匹配字符串的开始$ 匹配字符串的结束重复零次或更多次重复一次或更多次? 重复零次或一次{n} 重复n次{n,} 重...

2018-11-16 09:38:17 393

原创 Go语言项目实战:并发爬虫

导入类库import ( "fmt" "regexp" "net/http" "io/ioutil" "strings" "sync" "time" "strconv")定义全局数据var ( //存放图片链接 chanImgUrls chan string //存放147个任务是否已完成 chanTask cha

2018-11-16 09:37:40 2743

原创 Go语言项目实战:基于开源数据的成语查询

业务需求命令行键入一行诗句启动应用:idiom.exe -cmd start -poem 大王派我来巡山将诗句中的每个字丢入【模糊查询管道】另外再建立【精确查询管道】和【结束管道】,分别存储【成语】(大鹏展翅、占山为王、龟派气功…)和【结束指令】(fuckoff)时钟每秒随机读入一条管道数据:如果是【模糊查询管道】:起协程进行模糊查询,并汇总数据在内存如果是【精确查询管道】:起协程进...

2018-11-16 09:37:03 521

原创 并发技术1:CSP并发理论

异步async并行:多个任务并发执行同步sync串行:多个任务依次执行阻塞block某个并发任务由于拿不到资源没法干活,从而无所事事地干等进程并发-线程并发-协程并发异步回调async callbackA线程唤起B线程,令其干活同时给B一个回调函数命令B在干完活以后,执行这个回调函数这个回调函数会与A线程发生交互A不必阻塞等待B执行的结果,AB两个线程可以并发执行利弊...

2018-11-16 09:34:21 1530

区块链原理-附代码.pptx

区块链原理-附代码.pptx 区块链原理-附代码.pptx 区块链原理-附代码.pptx

2018-02-13

深度学习中文翻译去水印版.pdf

深度学习中文翻译去水印版.pdf 深度学习中文翻译去水印版.pdf

2017-10-22

TensorFlow 官方文档中文版 - v1.2.pdf

TensorFlow 官方文档中文版 - v1.2.pdf TensorFlow 官方文档中文版 - v1.2.pdf

2017-10-21

清华尹成C语言从菜鸟到高手.pdf

清华尹成C语言从菜鸟到高手.pdf

2017-02-01

Java开发实战1200例

Java开发实战1200例:1631b8ad000b49c351.is

2016-10-21

嵌入式Linux驱动程序设计从入门到精通:ffe0844001a2f011b.zip

嵌入式Linux驱动程序设计从入门到精通:ffe0844001a2f011b.zip

2016-10-11

基于LINUX的ORACLE数据库管理.李爱武.pdf

基于LINUX的ORACLE数据库管理.李爱武.pdf

2016-10-11

操作系统原理UNIX篇习题与实验指导:TP316.81+L208D2.rar

操作系统原理UNIX篇习题与实验指导:TP316.81+L208D2.rar

2016-10-11

物联网传感网实验教程

物联网/传感网实验教程:17030cc500039dc351.iso

2016-10-11

物联网工程实训教程

物联网工程实训教程:166a0c4a00007ac351.zip

2016-10-11

物联网实验

物联网实验:19b79441000ba80bce.iso

2016-10-11

云计算

云计算:172bfe9200020ac351.iso

2016-10-11

云计算的关键技术与应用实例

云计算的关键技术与应用实例:13a271fd000109c351.iso

2016-10-11

JavaScript网页特效范例宝典:f2e2a1c00033b0106.ISO

JavaScript网页特效范例宝典:f2e2a1c00033b0106.ISO

2016-10-11

VMware-workstation-full-12.5.0-4352439完美破解版.exe

VMware-workstation-full-12.5.0-4352439完美破解版.exe

2016-10-11

使用Eclipse开发J2EE培训PPT.ppt

使用Eclipse开发J2EE培训PPT.ppt

2016-10-11

Java项目开发与毕业设计指导:108092a10006f300ea.iso

Java项目开发与毕业设计指导:108092a10006f300ea.iso

2016-10-11

数据结构java版.rar

数据结构java版.rar

2016-10-11

Spring+20宝典:TP312JA+L162.1.rar

Spring+20宝典:TP312JA+L162.1.rar

2016-10-11

Java项目开发实例自学手册

Java项目开发实例自学手册

2016-10-11

经典Java+EE企业应用实战:14e968b9000c2ec351.iso

经典Java+EE企业应用实战:14e968b9000c2ec351.iso

2016-10-11

Java+EE+5权威指南:10356478000112010e.is

Java+EE+5权威指南:10356478000112010e.is

2016-10-11

Pro JavaFX_Source_Code.zip

Pro JavaFX_Source_Code.zip

2016-10-11

PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x64-2.exe

PyQt5-5.6-gpl-Py3.5-Qt5.6.0-x64-2.exe Python开发图形界面

2016-10-11

Python Cookbook 第二版 完整示例代码.zip

Python Cookbook 第二版 完整示例代码.zip

2016-10-11

Python基础教程(第2版).7z

Python基础教程(第2版).7z

2016-10-11

httpwatch监视HTTP工具最新版本

httpwatch监视HTTP工具最新版本

2016-10-10

Android安全codes

Android安全codesAndroid安全codes

2016-10-10

AndroidNDKBeginner_'sGuideCode.zip

AndroidNDKBeginner_'sGuideCode.zip

2016-10-10

201109版《清华大学研究生学位论文写作指南》.zip

201109版《清华大学研究生学位论文写作指南》.zip

2016-10-10

codeblocks-16.01mingw_fortran-setup.exe下载

codeblocks-16.01mingw_fortran-setup.exe下载地址,需要的快快下载哦!

2016-10-10

netbeans-8.2-windows.exe

netbeans-8.2-windows.exe 全能开发工具

2016-10-10

openBSD最新版本

openBSD最新版本,最安全操作系统

2016-10-10

JavaSwing图形界面开发与案例详解.rar

JavaSwing图形界面开发与案例详解.rar

2016-10-10

实战LINUX_SHELL编程与服务器管理

实战LINUX_SHELL编程与服务器管理.zip

2016-10-10

Java语言程序设计(基础篇)(原书第10版)

本书是Java语言的经典教材,中文版分为基础篇和进阶篇,主要介绍程序设计基础、面向对象程序设计、GUI程序设计、数据结构和算法、高级Java程序设计等内容。本书以示例讲解解决问题的技巧,提供大量的程序清单,每章配有大量复习题和编程练习题,帮助读者掌握编程技术,并应用所学技术解决实际应用开发中遇到的问题。 基础篇主要介绍基本程序设计、语法结构、面向对象程序设计、继承和多态、异常处理和文本I/O、抽象类和接口等内容。 本书可作为高等院校相关专业程序设计课程的基础教材,也可作为Java语言及编程爱好者的参考资料。

2016-09-29

轻量级Java+EE企业应用实战

轻量级Java+EE企业应用实战+2012:158f6c4a000144c351.iso

2016-09-24

清华大学组合数学

清华大学组合数学

2016-09-24

Android软件安全与逆向分析

Android软件安全与逆向分析

2016-09-24

20150329C定义变量->源代码

尹成,毕业于清华大学,微软全球最具价值专家,资深软件架构师,CSDN著名技术专家,微软-清华大学联合实验室技术顾问,清华大学移动互联网技术协会顾问,清华大学微软技术俱乐部创始人,清华大学iOS技术俱乐部创始人,清华大学LinuX技术俱乐部创始人。精通C/C++,对于移动3G,语音技术,信息安全都有丰富的开发经验。2010年著书《Visual C++ 2010开发权威指南》,版权作为大陆的骄傲输出台湾香港新加坡,代表大陆C++超越并引领台湾。[2-3] 2014年新作《Visual C++ 2012开发权威指南》出版[4] 。全面阐述了C++最新技术。

2016-09-08

空空如也

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

TA关注的人

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