自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 Git 学习笔记

文章目录Git 学习笔记版本控制基本原理1 有向无环图(DAG)2 DAG中的节点3 标签和分支HEAD使用git进行程序开发4 索引——提交的暂存区5 git diff 最新修订的差异比较示意图git应用忽略文件查看已暂存和未暂存的修改提交更新跳过使用暂存区域移除文件移动文件查看提交历史限制输出长度撤销操作取消暂存的文件撤消对文件的修改远程仓库的使用查看远程仓库添加远程仓库从远程仓库中抓取与拉...

2019-02-12 21:18:35 687

原创 搭建GitLab 版本管理服务器

文章目录搭建GitLbat 版本管理服务器GitLab 版本管理1. 安装并配置必要的依赖项2. 添加GitLab软件包存储库并安装软件包3. 手动配置HTTPS4. 启动服务5. 浏览到主机名并登录设置6. 从头开始建立项目创建项目群组新建项目搭建GitLbat 版本管理服务器环境:git + Ubuntu18.04 + GitLabGitLab 版本管理GitLab是利用 Ruby o...

2019-02-08 23:15:02 815

原创 GO语言21——单元测试

文章目录Go 程序需测试1 功能测试1.1 编写功能测试函数1.2 进一步完善1.2.1 常规记录1.2.2 错误记录1.2.3 致命错误记录1.2.4 失败标记1.2.5 忽略测试1.2.6 并行运行2 基准测试3 样本测试4 go test 测试参数Go 程序需测试Go 语音由自带的测试工具。标准库中提供了转变用于测试的代码包testing。和go test 命令进行协调使用,可以自动执...

2019-01-20 17:34:16 2133

原创 Go语言20-高级——常用工具包

文章目录常用工具包fmt.Println()fmt.Printf()reflect1 反射的定义2 反射包3 Go语言的反射餐定律3.1 反射定律一3.2 反射定律二3.3 反射定律三常用工具包场景对应的包格式化输出fmt字符串处理strings strconv正则表达式regexpJSON处理json文件操作os、io排序算法so...

2019-01-16 05:44:30 671

原创 Go语言19-高级——并发编程

文章目录并发编程1.概述1.1 并行和并发1.2 Go语言并发优势2. goroutine2.1 goroutine的定义2.2 goroutine的创建和运行2.2.1 mian goroutine2.2.2 其他goroutine2.3 runtime包2.3.1 Gosched3.2.3 Goexit2.3.3 GOMAXPROCS3 channel3.1 概述3.2 channel的创建3...

2019-01-16 04:11:03 257

原创 Go语言18-高级-异常处理

文章目录异常处理1.error接口1.1 error接口的定义1.2 生成error值的方法1.2.1 使用errors包的New函数1.2.2 调用fmt包中的Errorf函数2. panic3.recover异常处理Golang中引入error接口类型作为错误处理的标准模式,如果函数要返回错误,则返回值类型列表中肯定包含error。error处理过程类似于C语言中的错误码,可逐层返回,直到...

2019-01-15 23:57:24 284

原创 Go语言17-高级-面向对象——接口

文章目录面向对象——接口1.接口的概述2.接口的定义3.接口的实现3.1普通接口的实现3.2 嵌入接口的实现4.接口的赋值4.1将对象实例赋值给接口类型变量4.2.将一个接口赋值给另一个接口5.空接口6.类型查询6.1 类型断言6.2 类型选择面向对象——接口1.接口的概述a.接口是自定义类型,具体描述了一系列方法的集合。b.接口是一种抽象的类型,不会暴露出它所代表的对象的内部值结构和这...

2019-01-15 14:00:23 248

原创 Go语言16-高级-面向对象——继承

文章目录面向对象——继承1.嵌套结构体2.匿名组合3.同名字段4.其他匿名字段4.1 非结构体类型4.2 结构体指针类型5.方法的继承与重写5.1 方法的继承5.2 方法的重写面向对象——继承1.嵌套结构体结构体内的字段有可能也是一个结构体,这样的结构体称为嵌套结构体。package mainimport "fmt"type Animal struct { name strin...

2019-01-15 10:50:38 152

翻译 Python-Django settings.py 参数详解

文章目录设置1.核心设置ABSOLUTE_URL_OVERRIDESADMINSALLOWED_HOSTSAPPEND_SLASHCACHESBACKENDKEY_FUNCTIONKEY_PREFIXLOCATIONOPTIONSTIMEOUTVERSIONCACHE_MIDDLEWARE_ALIASCACHE_MIDDLEWARE_KEY_PREFIXCACHE_MIDDLEWARE_SECON...

2019-01-15 09:39:21 2096 1

转载 Python-Django settings置详解

  目录 Django settings基础指定配置文件The django-admin utilityOn the server (mod_wsgi)默认配置查看你已经更改了哪个配置项在Python代码中使用settings运行时更改设置安全建你自己的配置文件Using settings without setting DJANGO_S...

2019-01-15 02:54:20 4089

转载 Python-Django第一个应用3

介绍 Django 管理页面设计哲学 为你的员工或客户生成一个用户添加,修改和删除内容的后台是一项缺乏创造性和乏味的工作。因此,Django 全自动地根据模型创建后台界面。   Django 产生于一个公众页面和内容发布者页面完全分离的新闻类站点的开发过程中。站点管理人员使用管理系统来添加新闻、事件和体育时讯等,这些添加的内容被显示在公众页面上。Django 通过为站...

2019-01-15 02:05:15 186

转载 Python-Django第一个应用2

数据库配置现在,打开 mysite/settings.py 。这是个包含了 Django 项目设置的 Python 模块。通常,这个配置文件使用 SQLite 作为默认数据库。如果你不熟悉数据库,或者只是想尝试下 Django,这是最简单的选择。Python 内置 SQLite,所以你无需安装额外东西来使用它。当你开始一个真正的项目时,你可能更倾向使用一个更具扩展性的数据库,例如 Post...

2019-01-14 23:02:45 193

原创 Go语言15-高级-面向对象——方法

1.Go语言面向对象编程特性Go语言没有封装,继承,多态这些概念,但它通过以下方式实现了这些特性。特性 实现方式 封装 通过方法实现 继承 通过匿名字段实现 多态 通过接口实现 2.Go语言方法封装是指将对象运行所需的资源封装再程序对象中。而Go语言通过方法实现封装。2.1定义格式方法,本质上是一个函数。与普通函数的格式有一点不同,它在关...

2019-01-14 20:42:32 145

原创 Go语言14-包

1.包的由来为了代码更好的维护和复用,Go语言按程序的功能性将源代码分割成一个个逻辑单元,组织成若干组文件,每组文件被称为一个包。这样开发人员可以以包为单位对代码进行维护,也可以以包为复用单元,引入到其他项目。2.包名为了方便包的定位,建议包名和目录名一致,即以.go为后缀名的源文件,其第一行代码所声明的包名和 此文件所属的目录名一致。3.包的分类3.1main包Go语言编...

2019-01-14 03:53:23 479

原创 Go语言13-复合类型-结构体

1结构体概述Go语言的结构体是一种聚合的数据类型,由一系列具体相同或不同类型的数据构成的数据集合。2.结构体初始化2.1普通变量初始化创建方式 操作 说明 顺序初始化 按结构体变量顺序依次赋值。 用顺序初始化的方式初始化,每个成员都必须初始化 部分成员初始化 仅对结构体类型的部分成员进行赋值 没被初始化的成员,会自动取零值。 p...

2019-01-14 03:19:29 234 1

原创 Go语言12-复合类型-字典

 1.字典概述Go语言中的map(映射、字典)是一种内置的数据结构,它是一个无序的键值对(key:value)集合,key类似于索引,可以通过key快速检索value。 2.字典的声明和初始化2.1字典的声明var m1 map[keyType]valueTypea.一个map里所有的键都是唯一的。b.所有的键必须支持“==”和“!=”操作符的类型,切片、函数...

2019-01-14 02:24:41 333

翻译 Python-Django第一个应用

创建项目cd 到一个你想放置你代码的目录,然后运行以下命令:django-admin startproject mysite这行代码将会在当前目录下创建一个 mysite 目录。如果命令失败了,查看https://docs.djangoproject.com/zh-hans/2.0/faq/troubleshooting/#troubleshooting-django-admin,可能...

2019-01-13 21:03:40 172

原创 Python-Django 的安装

系统Ubuntu18.04Python 3.6pip3安装:pip3 install Django==2.1.5源码安装:从git下载源码: git clone https://github.com/django/django.git下载完成后安装:cd djangosudo python3 setup.py install查看一下 django的版本...

2019-01-13 20:30:56 99

原创 Go语言11-复合类型-切片

1.切片的声明var s1 []elementTypea."[]"内部没有任何符号,也没有空格b."[]"后面紧跟的是切片元素的类型c.切片中的元素类型一致2.控切片如果一个切片声明却没有初始化,那么这个切片叫做空切片。空切片没有被分配内存空间,所以不能对空切片赋值package mainimport "fmt"func main() { var s1 [...

2019-01-13 18:56:42 251

原创 Go1.11标准库compress/bzip2包及Demo

compress/bzip2bzip2包实现bzip2的解压缩。没有对应的压缩方式。为了测试,可以使用bzip2 命令压缩一个测试文件test.txt.bz2.相关文章:https://www.cnblogs.com/wj78080458/p/10062068.htmlType如果发现bzip2数据在语法上无效,则返回结构错误。type StructuralError stringF...

2019-01-13 00:46:09 453

原创 Go语言10-复合类型-数组

1.数组额定义和基本要素a.数组是一系列已编号,长度固定的同一类型数据项序列。b.数组中包含的每个数据被称为数组元素,元素类型可以为整形、字符型或者自定义类型。c.数组长度可以为一个常量或常量表达式,可以通过内置函数len()或者cap()得到数组长度(元素数量)。2.数组的声明var 数组变量名 [数组长度]数组元素类型a.需要指定元素类型及元素个数b.数组长度必须是...

2019-01-12 21:13:32 165

原创 Go语言9-复合类型-指针

1基本概念 定义 描述 指针(内存地址) 计算机里每个内存单元的地址码 指针变量 存放该地址的变量 空指针 被定义后没有分配任何变量的地址的指针 package mainimport "fmt"func main() { a := 220 fmt.Printf("a = %d\n", a) //%d: 以十进制方式格式化输出整数 ...

2019-01-12 19:53:12 138 1

原创 Go1.11标准库bytes包及Demo

bytes包实现了操作[]byte的常用函数。本包的函数和strings包的函数相当类似。StructBufferBuffer是一个实现了读写方法的可变大小的字节缓冲。本类型的零值是一个空的可用于读写的缓冲。type Buffer struct { buf []byte // 包含的 bytes buf[off : len(buf)] off int ...

2019-01-11 02:35:33 229

原创 Go1.11标准库bufio包及Demo

bufio包实现了有缓冲的I/O。它包装一个io.Reader或io.Writer接口对象,创建另一个也实现了该接口,且同时还提供了缓冲和一些文本I/O的帮助函数的对象。Constantsconst ( // 用于缓冲一个token,实际需要的最大token尺寸可能小一些,例如缓冲中需要保存一整行内容 MaxScanTokenSize = 64 * 1024 startBufSiz...

2019-01-10 22:45:04 202

原创 Go语言8-基本语法-函数

内置函数 函数名 功能 append 把元素添加到slice,返回修改后的slice copy 复制slice,返回复制的数目 delete 从map中删除key对应的value panic 停止常规的goroutine recover 允许程序定义goroutine的panic动作 make 用于slice,map,cha...

2019-01-10 17:38:53 137

原创 Go语言7-基本语法-流程控制

流程控制-选择语句 1条件语句ifif 布尔表达式{//布尔表达式不需要括号/*在布尔表达式为true时执行*/}2 if...else 语句if 布尔表达式{/*在布尔表达式为true时执行*/} else {/*在布尔表达式为false时执行*/}3if...else if...else语句if 布尔表达式1 {/*在布尔表达式1 为true时执行*/...

2019-01-09 16:07:44 131

原创 Go1.11标准库zip包及Demo

zip包提供了zip档案文件的读写服务。参见http://www.pkware.com/documents/casestudies/APPNOTE.TXT本包不支持跨硬盘的压缩。关于ZIP64:为了向下兼容,FileHeader同时拥有32位和64位的Size字段。64位字段总是包含正确的值,对普通格式的档案未见它们的值是相同的。对zip64格式的档案文件32位字段将是0xffffffff...

2019-01-08 05:38:48 1683

原创 Go语言6-基本语法-运算符

A,B:=10,201,算数运算符运算符 描述 示例 结果 + 相加 A+B 30 - 相减 A-B -10 * 相乘 A*B 200 / 相除 B/A 2 % 求余 B%A 0 ++ 自增 A++ 11 -- 自减 A--...

2019-01-08 00:23:07 112

原创 Go语言5-基本语法-常量

单个常量的声明且赋值 序号 描述 示例 1 显式声明 const a int = 10 2 隐式声明,自动推导类型 const a = 10 多个常量声明且赋值序号 描述 示例 1 类型相同,显式类型 const a, b, c int= 1, 2, 3 2 类型相同,隐式推导 const a, b...

2019-01-07 23:19:31 105

原创 Go语言4-基本语法-变量

变量名    命名规则a.变量名由一个或多个字母、数字、下划线组成的序列;b.第一个字符必须是字母或下划线,不能是数字;c.区分大小写:myVar 和myvar 是不同的变量名。 命名风格大驼峰:用大写字母分隔语义,首字母大写:HelloWorld小驼峰:用大写字母分隔语义,首字母小写:helloWorld  单变量的声明与赋值 序号 描述 ...

2019-01-07 14:20:22 94

原创 Go1.11标准库tar包及Demo

package tarimport “archive/tar”tar包实现了tar格式压缩文件的存取。本包目标是覆盖大多数tar的变种,包括GNU和BSD生成的tar文件。参考:http://www.freebsd.org/cgi/man.cgi?query=tar&sektion=5http://www.gnu.org/software/tar/manual/html_node...

2019-01-07 12:26:29 1184 4

原创 Go语言3-基本类型

 Go语言并不像C++那样声明变量后不进行赋值,变量的值是内存空间的垃圾值,而是会进行初始化,就是所谓的零值。变量声明后,不进行 赋值,则它的值就是零值。 复合类型:指针,数组,切片,字典,结构体,接口,通道。...

2019-01-07 12:12:30 181

原创 Go语言2-HelloWorld

package mainimport “fmt”func main() {fmt.Println(“Hello”)}书写规范要求:a.受字母大写的可以由包外访问,首字母小写的只能在包内访问。b.句尾不需要“;”结尾,如果一行有多个语句,用“;”隔开c."{"必须和“func"同行d.所有标点符合必须是英文格式...

2019-01-07 12:05:13 93

原创 Go语言1-环境搭建

安装 GoGo 的官方网站:http://golang.org/(需要FQ软件)国内下载地址:http://www.golangtc.com/download)下载对应平台的安装包。注意区分32位还是64位操作系统。安装包下载完成之后,安装过程很简单,傻瓜式下一步到底就好了。linux环境解压缩安装包,然后复制到想要存放的目录就可以。Go 环境变量安装go 的时候,安装...

2019-01-07 11:52:30 122 1

原创 Solidity开发环境搭建

操作系统Ubuntu18.04LTSSolidity智能合约开发的IDE有很多,官方推荐的Remix是基于浏览器的。 1. 官方工具http://remix.ethereum.org/#optimize=false&version=soljson-v0.4.24+commit.e67f0147.js2. Remix分两个版本, 在线版和本地安装版. 在线使用最方便直接用...

2018-10-11 20:58:39 2378 2

原创 geth私链环境搭建

操作系统:Ubuntu18.04目录1.安装geth2.创建创世区块3.初始化创世区块4.启动私链5.新建账户6.挖矿7.停止8.查看本节点信息9.向本节点添加其他P2P节点信息 10.解锁需要向外转账的账户11.向他人转账11.其他1.安装gethsudo add-apt-repository -y ppa:ethereum/ether...

2018-10-07 00:43:56 291

原创 Qt+libqrencode+QZXing 二维码生成原理和识别

开发环境 Ubuntu18.04 + qt 5.9.3 +libqrencode + QZXing先下载libqrencode,Git 地址:https://github.com/fukuchi/libqrencode解压后,cmake 一下,然后make 编译。编译成功,将静态库和头文件单独拷贝。在项目pro中使用库。#--------------------------------------...

2018-05-06 17:23:10 2314

转载 大型项目使用Automake/Autoconf完成编译配置

使用过开源C/C++项目的同学们都知道,标准的编译过程已经变成了简单的三部曲:configure/make/make install, 使用起来很方便,不像平时自己写代码,要手写一堆复杂的Makefile,而且换个编译环境,Makefile还需要修改(Eclipse也是这样)。 这么好的东东当然要拿来用了,但GNU的Autotool系列博大精深,工具数量又多,涉及的语言也多,要是自己从头看

2017-02-06 10:18:57 642

转载 linux下automake用法

作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。  在本文中,将给大家介绍如何使用 autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序

2017-02-06 09:21:14 9364

原创 Nginx源码学习-从零开始(1)

Nginx源码结构版本: nginx-1.11.7 源码目录结构 ├── auto #自动检测系统环境以及编译相关的脚本 │ ├── cc #关于编译器相关的编译选项的检测脚本 │ ├── lib #nginx编译所需要的一些库的检测脚本 │ │ ├── geoip │ │ ├── google-perfto

2016-12-28 17:42:38 5636

一个简易的定时关机程序

一个简易的定时关机程序,可设置时间定时关机。也可以自动判断是否断网,并进行关机或者重启。

2012-07-19

空空如也

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

TA关注的人

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