自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

林小默

Play hard,study hard;

  • 博客(107)
  • 资源 (3)
  • 收藏
  • 关注

原创 Go/Golang学习资源整理

本文主要整理一些Golang的文章,随着学习深入会不断更新的。如果链接失效了,请留言,我会及时更新。视频:Golang学习手册之:带你21周搞定Go语言网页书:《Go By Example》:这本书是最入门的《Go语言圣经》《Go语言高级编程》《高效的Go编程 Effective Go》大神博客:飞雪无情李文周博文:学习过程中遇到的问题《Golang:线程 和 协程 的区别...

2020-03-01 22:56:59 1155

原创 佛山开放大学图片

没有

2022-11-17 12:00:43 189 1

原创 git使用问题记录

1. error: failed to push some refs to 'https://xxxxx.git'可能是本地和远程的文件应该合并后才能上传本地的新文件解决方案:git pull origin [远程分支名]执行完上面的在提交就行了。

2021-07-13 13:29:13 192

原创 Go测试小结

怎么写一个go的测试文件命名方式是:[name]_test.go对于测试函数命名规则:普通测试fun Test[FuncName](t *testing.T),基准测试func Benchmark[FuncName](b *testing.B)运行测试:普通测试go test .,基准测试go test -bench .代码示例:func TestTriangle(t *testing.T) { tests := []struct {a, b, c int} { {3, 4, 5},

2020-09-15 14:09:09 400

原创 Go函数式编程的两个例子

Go函数式编程主要体现在使用闭包上面。比较常见的就是基于自由变量的闭包如下面的Fibonacci。但是不常见的也有基于函数的闭包。将两个例子合并为一起。package mainimport ( "bufio" "fmt" "io" "strings")func Fibonacci() intGen { a, b := 0, 1 return func() int { a, b = b, a+b return a }}type intGen func() int

2020-09-09 09:56:48 222

原创 Golang面试题(一)

题目1 写出以下逻辑,要求每秒钟调用一次proc并保证程序不退出package mainfunc main() { go func() { // 1 在这里需要你写算法 // 2 要求每秒钟调用一次proc函数 // 3 要求程序不能退出 }() select {}}func proc() { panic("ok")}2 下面代码写法有什么问题?package mainimport ( "fm

2020-06-24 12:09:35 1125

原创 什么是持久化

什么是持久化?持久化是将程序数据在持久状态和瞬时状态间转换的机制。持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。JDBC就是一种持久化机制。文件IO也是一种持久化机制。如何去理解?在一定周期内保持不变就是持久化,持久化是针对时间来说的。数据库中的数据就是持久化了的数据,只要你不去删除或修改。比如在IE浏览器中一次Session会话中S

2020-05-18 22:46:10 1676

原创 defer、panic、recover

一个朋友跑来问我一下这段代码,我觉得很有趣,涉及到的知识点挺多的,所以想谈谈这段代码。话不多说,上代码:// 注:这段代码来自《go语言学习笔记》func catch() { log.Printl("catch:", recover())}func main() { defer catch() defer log.Printl(recover()) defer recover(...

2020-05-01 23:52:38 234

转载 mysql练习50题

转自在这里,方便以后复习时进行练习,来源:https://blog.csdn.net/fashion2014/article/details/78826299表名和字段–1.学生表Student(s_id,s_name,s_birth,s_sex) --学生编号,学生姓名, 出生年月,学生性别–2.课程表Course(c_id,c_name,t_id) – --课程编号, 课程名称, 教...

2020-04-19 19:29:17 240

原创 mysql使用问题集锦

文章目录安装workbench无法链接数据库总结mysql在使用过程中遇到的一些小问题以及处理方法.安装看这篇就好:安装mysqlworkbench无法链接数据库首先确保数据库属于服务状态,可以使用一下命令查看:systemctl status mysql.service然后按顺序执行一下命令:mysql -u root -pmysql> CREATE USER 'use...

2020-04-11 18:07:43 154

原创 安装双系统ubuntu,并且初始化

文章目录装双系统配置国内源安装搜狗拼音插入耳机无法主动识别美化ubuntu美化终端昨天尝试了一下wsl和vscode,说句实在话很难用。今天花了大力气装双系统和配置我的Linux系统。中间很多操作很麻烦,所以记下来,以后遇到重新装系统的时候可以直接过来查。装双系统这个很多坑,一定要仔细阅读以下两篇文章,并且严格这两篇文章步骤操作来。否则可能会和我第一次装双系统一样把原先的系统搞没了。htt...

2020-04-09 22:34:11 346

原创 python - pip换源,更换pip源到国内镜像

国内镜像源阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban) http://pypi.douban.com/simple/清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/中国科学技术大学 http...

2020-04-09 10:38:14 3895

原创 访问http如何自动转换为https

文章目录例子Status Code: 307 Internal RedirectHSTS一般情况下我们在浏览器中访问一个网站都是以http形式访问的。但是一些网站,比如购物网站由于需要支付,所以需要使用到更加安全的https的访问方式。那么服务器是怎么让浏览器实现自动转换为访问https的呢?例子在浏览器输入http://www.taobao.com,并且按F12查看服务器给我们发来了什么...

2020-04-07 16:51:12 8293

原创 常用状态码

文章目录2XX 成功3XX 重定向4XX 客户端错误5XX 服务器错误2XX 成功200 OK: 表示从客户端发来的请求在服务器端被正常处理了204 No Content:该状态码代表服务器接收的请求已成功处理,但在返回的响应报文中 不含实体的主体部分。206 Partial Content: 该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的 GET 请求。响应报文中包含由 ...

2020-04-07 11:09:10 256

原创 Mysql8.0.19安装教程

文章目录1.下载安装文件2. 安装3. 配置环境1.下载安装文件在MySQL官网中下载msi文件https://dev.mysql.com/downloads/windows/installer/8.0.html2. 安装安装过程大部分都是点next或者finish就好了,部分需要注意的地方可以看下面:这里需要选custom:将MySQL Server 8.0.19 - X64移动到...

2020-04-06 21:18:48 6727 2

原创 经典神经网络keras实现

文章目录LeNet-5收集了一些经典的神经网络的keras实现代码。用于参考学习。网上教程众多,具体原理可以通过网上查找,有很多讲的不错的文章,为了节省时间,在这里不做算法的详细分析。LeNet-5大体结构如下,具代码如下:from keras.datasets import mnistfrom keras.utils import np_utilsfrom keras.model...

2020-04-06 19:54:00 711

原创 深度学习常见知识点总结

池化层也称下采样层,会压缩输入的特征图,一方面减少了特征,导致了参数减少,进而简化了卷积网络计算时的复杂度;另一方面保持了特征的某种不变性(旋转、平移、伸缩等)。池化操作主要有两种,一种是平均池化(Average Pooling),即对邻域内的特征点求平均;另一种是最大池化(Max Pooling),即对邻域内的特征点取最大。池化方法特征提取误差主要来自两个部分:一是,邻域大小受限造成了估计值方...

2020-04-05 15:16:18 853

原创 Go写测试用例

每一个程序都应该学会写测试在去写代码上面这句话虽然有点夸张,但是也是有一定的道理的。对于新手来说,都是在写一个简单的代码,一般调试后运行都没有多大问题。但是当写的一个项目的代码很多的时候,虽然当时编译通过了,并且能够顺利运行起来了。但是,可能一个小小的边角错误,就会导致系统的整体崩溃。好比我们在刷leetcode,信心满满的将代码写好,并且自己写了几个例子测试完,没问题,一提交发现还是有那么...

2020-03-30 21:54:39 1881 1

原创 Go标准库之输入输出

输入输出在任何一门语言中都必须提供的一个功能。算法的实现离不开特定的语言,而算法有五个特性:有穷性,确切性,输入项,输出项,可行性五项就占了两项,说明输入输出在编程中是及其重要的地位。Go的输入和输出是有两个接口定义的。只要实现了两个接口,才能说明这个对象是可以进行输入输出操作的。这两个接口是:io.Writer和io.Readerio.Writer接口声明如下type Wr...

2020-03-30 17:32:45 192

原创 Go常用指令

记录一些常用的指令以及用法文章目录modvetfmtmod依赖管理工具go mod download 下载依赖包到本地go mod edit 编辑 go.mod文件`在这里插入代码片`go mod init 项目模块 初始化 go mod 项目go mod tidy 根据 go.mod yi处理依赖关系go mod verified 验证所有依赖模块使用情景一:在...

2020-03-26 21:23:48 483

原创 Go:搞懂interface(接口)

为什么要有接口我们先来假设一个场景:你们公司有个财务小姐姐很不错,你想追她。观察一阵子后,你觉得可以帮她写个程序帮她降低日常工作量。这个程序是这样的,计算每一个员工薪水,然后统计所有员工的总薪水,这样就可以让老板知道一共要发多少薪水了,不用让财务小姐姐拿着计算器算的要死。但是有个问题就是每一个员工计算工资的方式是不一样的,比如最高级别的如总监不仅有基本薪水,还有奖金和股票分红。对于组长或者队长...

2020-03-24 17:52:22 823

原创 Go排坑小记

本博文主要记录一些go学习中一些小坑。但是不会一个系统性的文章。、问题1:import后面的最后一个元素是包名。这一说法是否正确。答案:这是错的。import后面的最后一个元素应该是路径,就是目录,并非包名。为此我专门写了一个包试一下。我将包的文件夹名字命名为tested然后把包名定义为foo。然后在main进行调用。发现并不能根据路径名tested调用,而只能使用foo调用。// G...

2020-03-23 11:05:28 98

原创 Go:浅谈defer

前言:最近在看《effetive go》看到defer,由于我平时没怎么用过defer,之前学得又给忘了,看到一道题试着自己推导一下,发现推导错了,所以重新好好再总结一下。作者属于菜鸡级别,所以本文还不会涉及到原理层面,文章的题目也是浅谈。1. 需求分析对于某些需要释放资源的函数,引入defer是必要的。比如打开文件,对这个文件进行读写,在函数的最后对文件在进行关闭,释放资源。但是函数一...

2020-03-20 21:33:25 229

原创 Go设计模式之:单例模式(singleton)

定义单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。需求分析对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统...

2020-03-12 15:08:30 330

原创 Go设计模式之:函数式选项模式(Functional Options)

需求分析:假设现在一个对象的一些特性在初始化的时候,一般是有个默认值的。比如在我国的公安部门在为一些人员登记信息的时候,这些人员的默认国籍大部分都会是中国,所以公安工作人员在录入信息的时候系统自动默认录入人员是中国人,除非必要否则并不需要修改,这样减少了公安工作人员的工作量。再比如学校里的学生的犯罪前科都是无的,这一栏默认无就行。但是Go语言并没有提供默认参数,一旦一个对象有很多属性(这些属性...

2020-03-11 15:50:18 1817

原创 《Go语言圣经》学习笔记:8. Goroutine和Channel

8. Goroutine和Channel这两个的实现是Go大受欢迎的原因。在其他的一些主流语言,实现线程占用内存资源比较大还有线程之间的通讯必须通过复杂的加锁机制来实现。Goroutine和Channel的出现就是为了解决这一个问题。Goroutine是由官方实现的超级“线程池”,每一个实例4-5kb的栈内存占用和由于实现机制而大幅度减少和创建和销毁开销,是Go号称高并发的根本原因。并发不...

2020-03-06 21:10:33 211

原创 《Go语言圣经》学习笔记:7.Go接口详解

7. 接口7.1 什么是接口接口是一组契约(或者称为规定,合约,行为以及方法等等)。这就好比家里的插座接口,有些插座的插座的接口可以插入不同的插头。7.2 接口定义与格式接口(interface)是一种类型,用来定义行为(方法)。这句话有两个重点,类型和定义行为。首先解释定义行为:接口即一组方法定义的集合,定义了对象的一组行为,就是定义了一些函数,由具体的类型实例实现具体的方法。换句...

2020-03-04 20:57:10 204 1

原创 《Go语言圣经》学习笔记:6. 方法

6. 方法6.1 方法的声明在函数声明时,在其名字之前放上一个变量,即是一个方法。这个附加的参数会将该函数附加到这种类型上,即相当于为这种类型定义了一个独占的方法。示例:两种Distance实现的效果是一样的type Point struct { X, Y float64}func Distance(p, q Point) float64 { return math.Hypot(...

2020-03-04 19:30:50 142

原创 《Go语言圣经》学习笔记:5.函数

5. 函数5.1 特性不支持:重载、嵌套函数和默认参数支持:无需声明原型、不定长度变参、多返回值、命名返回值参数、匿名函数和闭包5.2 多返回值在Go中,一个函数可以返回多个值。一个函数内部可以将另一个有多返回值的函数作为返回值。可以将一个返回多参数的函数作为该函数的参数。如果一个函数将所有的返回值都显示的变量名,那么该函数的return语句可以省略操作数。这称之为bare r...

2020-03-03 20:36:39 177

原创 《Go语言圣经》学习笔记:4.复合数据类型

4. 复合数据类型文章目录4. 复合数据类型4.1 数组4.2 切片4.3 map4.4 结构体4.1 数组没有手动分配值初始化,编译器会给数组进行零初始化如果在数组的长度位置出现的是“…”省略号,则表示数组的长度是根据初始化值的个数来计算。q := [...]int{1, 2, 3}fmt.Printf("%T\n", q) // "[3]int"数组的长度是数组类型的一个组成部...

2020-03-02 21:39:03 163

原创 Go语言中的值类型和引用类型

最本质的区别值类型:内存中变量存储的是具体的值 比如: var num int num存放的是具体的int值但是变量在内存中的地址可以通过 &num 来获取引用类型:变量直接存放的就是一个地址值,这个地址值指向的空间存的才是值。例如: var ptr *int =& num值类型,引用类型都包括哪些基本的数据类型 int系列,float系列,bool,string...

2020-03-01 17:05:28 2345

原创 《Go语言圣经》学习笔记:3.基础数据类型

3.1 整形int8、int16、int32和int64 uint8、uint16、uint32和uint64注意数值范围,避免溢出Unicode 字符 rune 类型 和 int32 是等价的,通常用于表示一个 Unicode 码点。这两个名称可以互换使用。byte 和 uint8 是等价的,byte 类型一般用于强调数值是一个原始的数据,而不是一个小的整数。3.2 浮点数Go...

2020-02-28 21:20:28 139

原创 《Go语言圣经》学习笔记:2.程序结构(下)

2.5 类型可以使用【type 类型名字 底层类型】来定义自己的数据类型自定义的两种类型的不同对象之间,哪怕底层类型一样也不难使用二元运算符(如==, +, *, /等)底层数据类型一样的话,可以进行类型转换。如同为数值类型的float和int可以相互转换,而string和float不行。可以为自定义类型定义方法package mainimport "fmt"// 1. 自定...

2020-02-27 15:11:32 154

原创 《Go语言圣经》学习笔记:2.程序结构(上)

《Go语言圣经》学习笔记:2.程序结构(上)2.1 命名不要使用关键字:基本上市面上的语言都这么要求,并且go的关键字和c类的语言大同小异。还有大约30多个预定义的名字,比如int和true等,主要对应内建的常量、类型和函数。命名时尽量短小精悍,除非这个变量作用域比较大。使用驼峰式命名,也就是将单词用大小写字母区分开来。如QuoteRuneToASCII。但是一些缩略词就不要有大小写区分...

2020-02-26 21:45:20 140

原创 c++内存分区模型

程序在运行的过程中是会被加载到内存中的,一个程序可能会执行可能会存在不同的功能块,所以不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程C++的程序会在内存中分为四大块:代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作...

2020-02-25 23:46:28 341

原创 C++中赋值运算或者表达式返回值是引用

本文来自c++为什么表达式会产生引用? 。侵删赋值会产生引用”的含义是,赋值表达式的返回值是引用类型。这里包含两个问题首先,赋值表达式为什么要有返回值呢?为了支持链式的复制表达式!int a,b;a = b = 1;// 等号运算符是右结合的,相当于:a = (b = 1);其实是把b=1的返回值赋给了a,所以赋值表达式要有返回值。为什么不返回值,而是返回引用呢?为了...

2020-02-21 20:48:13 1743

原创 Go进阶---Go操作Mysql数据库

安装依赖包使用Go来操作mysql主要用到两个包import ( "database/sql" _ "github.com/go-sql-driver/mysql")第一个包是Go自带的数据库包。但是只有第一个是不够的,数据库有很多种,虽然大同小异,但是还是有区别。这次我们需要使用的是Mysql,所以需要能够驱动Myqsl一个包。第二个包就是用来Mysql的驱动包,这个...

2020-02-16 11:53:24 405

原创 Go进阶---多使用strings.Join进行字符串拼接

字符串拼接可以使用+直接拼接,虽然这个很方便,但是如果连接涉及的数据量很大,这种方式代价高昂。一种简单且高效的解决方案是使用strings包的Join函数。做一个简单的测试:将一个拥有50000个helloworld字符串切片进行用+符号以及string.Join进行拼接。并且输出两种方法所用的时间。package mainimport ( "fmt" //"os" "string...

2020-02-16 01:11:09 7605

原创 指针数组和数组指针

指针数组和数组指针先看两者之间的定义int *p1[5]; //指针数组int (*p2)[5]; //数组指针经常有人把两者搞混。我们可以使用符号的优先级来帮助我们理解。在上面第一行代码中。[]的优先级高于*号,所以p1首先是数组,而类型是(int *)也就是一个存放指针的数组。而第二行()的优先级高于[],所以优先申明这是一个指针,然后指向一个大小为5的int数组,5也可...

2019-12-02 22:09:57 169

翻译 Python进阶(十):参数传递

python中,参数是以引用的形式传递给函数的。来看下面代码:def a(the_list): print('Got', the_list) the_list.append('treats') print('Set to', the_list)outer_list = ['Dogs', 'eats']print('Before, outer_list = ',...

2019-11-06 17:13:21 313

AI五子棋训练棋谱

用于我自己写的一个AI五子棋训练集,格式为sgf,总共有五千盘

2019-04-14

python实现AI五子棋

这是我写的一个基于神经网络的五子棋程序,用python3写的,需要配置tensorflow才能使用

2019-04-14

stm32上位机python代码

使用tkinter来编写这个上位机的界面。本程序可以与stm32通信,当然只需要做简单修改就可以与51单片机通信

2019-04-14

空空如也

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

TA关注的人

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