Golang并发编程、串行编程

2018-01-26 04:54:25

线程概要 1、什么是进程,线程,多线程? 开个QQ,开了一个进程;开了迅雷,开了一个进程。 在QQ的这个进程里,传输文字开一个线程、传输语音开了一个线程、弹出对话框又开了一个线程。 所以运行某个软件,相当于开了一个进程。在这个软件运行的过程里(在这个进程里),多个工作支撑的完成QQ的运行,那么这“多个工作”分别有一个线程。 所以一个进程管着多个线程。 通俗的讲:“进程是爹妈,管着众多的线程儿子”... 作者:南理汉子 链接:https://www.zhihu.com/question/25532384/answer/131906596 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 进程: 一个正在运行的程序一般就是一个进程,一个进程中可以有多个线程 线程:一条有序的CPU命令的集合体 多线程:多条有序CPU命令的集合体 备注:一个CPU在同一时刻只能执行一个CPU命令

Golang数组、map、函数及类

2018-01-23 05:13:49

数组/切片 数组声明: 普通声明: var arr = [5]int{} // 长度固定为5,不可扩展,{}中为初始值,默认为0 arr := [5]string{"a", "b", "c", "d"} var arr [5]int // [0, 0, 0, 0] make关键字声明数组切片: var arr = make([], 2, 4) // 长度 len(arr) 为2,容量 cap(arr) 为4,长度决定存储量,容量不够时翻倍 arr := make([], 1, 1) arr = append(arr,

区块链学习-进制、GO运算符

2018-01-12 04:02:55

int 与 uint 区别 int 表示有符号整数 uint 表示无符号整数 int8 -128~127 int16 -2^8~2^8 ... uint8 0~255 uint16 0~2^16 ... 十进制转二进制 1. 正整数转二进制 正整数使用二除法,得到的结果倒叙即为该十位数的二进制数 2. 负数转二进制 先得到正数对应的二进制数,然后取反,再加一即为该负数的二进制数 3. 小数转二进制 整数部分+小数点+小数部分 整数部分:按照前面的步骤正常转换 小数部分:小数部分乘2,得到结果的整数部分n,若小数部分不为零,继续上面的步骤。最后得到的n的排列即为小数部分 二进制转十进制 1. 正二进制数 正二进制即首位为0的二进制数,

区块链学习 - Golang初始

2018-01-11 03:01:09

系统:Ubuntu 16.0.4 安装 下载:https://golang.org/dl/ 下载linux对应的版本 解压:将源码解压至/usr/local tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz 配置环境变量:export PATH=$PATH:/usr/local/go/bin 检测安装:go version go env HelloBlockChain cd $HOME mkdir golang && cd golang vi index.

vue2+express前后端分离跨域session等问题

2017-06-06 06:05:58

基于 vue2 + express 的 RBAC 角色权限验证前后端分离项目。前端vue2 负责路由控制,数据渲染,后端 express 负责数据库操作,RBAC权限控制。 前端: 脚手架:vue-cli 选型:vue2 + vuex + vue-router + axios + iview + ES6 后端: 脚手架:express-generator 选型:express4 + mongodb 结构整合: 使用vue-cli生成的项目,默认安装了简易的 express,该 express 的启动文件为build/dev-server.js。执行cnpm start启动该 express,实际主要是启一个服务来运行 Vue。所以我们后端部分不以该文件为入口。 后端部分的目录使用express-generator来生成,由于我们做了前后端分离,所以express 的任务只是提供接口,做数据库操作,所以我们把view、

基于express的复杂应用——代码结构分层

2017-05-16 23:15:09

项目之初,我一般选择用 express 的脚手架工具 express-generator 生成目录结构,比较快捷,生成的文件结构也比较直观。 npm install express-generator -g // 全局安装 express -e myapp // 创建工程,生成目录,使用ejs作为模板语言 生成的目录结构如下: ├── app.js ├── bin │ └── www ├── package.json ├── public │ ├── images │ ├── javascripts │ └── stylesheets ├── routes │ ├── index.js │ └── users.js └── views ├── error.ejs ├── index.ejs └── layout.ejs app.js 作为入口文件 public 存放静态资源 routes 存放路由文件 views

SASS

2017-03-20 04:42:24

sass 安装 install ruby sudo gem install sass 申明变量 $value = 100px; $color = #fafafa; 编译 sass style.scss style.css 编译风格 * nested:嵌套缩进的css代码,它是默认值。 * expanded:没有缩进的、扩展的css代码。 * compact:简洁格式的css代码。 * compressed:压缩后的css代码。 sass --style compressed style.scss build.css 监听文件 // watch a file sass --watch input.scss:output.css // watch a directory

2016总结

2016-12-31 08:11:05

2016 过去的这一年,算是一个转折点吧,学生时代的终结,开始工作了。毕业后的几个月,也会经常想起上学时的很多美好,日常用语也多了句“我在学校的时候...”,我想所有刚离校的同学有共感,毕竟伴随了16年的读书模式要转换了,虽然在学校时也会出去做外包,去实习,但当全职工作后还是很回念学生时代。 说是16年的年度总结,其实多半是下半年的一些变化。以前我觉得总结什么的,都是给别人看的,形式主义。但工作的半年我转变了自己的看法,我尝试在工作的每周、每月梳理下,在每个时间段内,自己学到的新东西以及欠缺的东西,这样就有一种看着自己不断成长的感觉。不然你可能只是觉得自己好像增长了,好像有些问题被人诟病,但有不明确的知道哪些点增长了,哪些还在拖后腿。 既然是贴着程序猿的标签,那年度总结就分为生活和技术两部分吧: 生活 虽然学的是自动化专业,但是转战互联网其实从大二就开始了,虽然家里人都希望去稳定的国企,但他们也尊重我的选择,所以毕业后之久投身IT行业有惊无险。前半年的毕业找工作期也是经历了很多波折,换了好几个offer。。虽然一波三折,但是吃一堑长一智,记得任何时候都有必要签书面合同!!!不要因为对方是熟人而口头承诺!!!这是对自己的基本保障。 get 自己理发技能,从6月份开始远离理发店,到目前已经半年时间自行理发了,虽然插曲不断,总归做了件自己一直想做的事~

基于nodejs的问卷调查系统

2016-12-28 04:23:09

花了4天时间撸了一个问卷调查系统,算是入门nodejs后端开发。 github传送门:https://github.com/flute/survey 技术 后端:nodejs+express+mysql 前端:material design install npm install 配置数据库 conf/db.js ,导入sql文件 mysql.sql node app.js 功能 登陆验证 问题类型包括 单选、多选及问答三类 查看问卷列表、删除 填写提交问卷 问卷结果列表及结果详情 注: 在系统实现过程中,数据表的设计及数据操作有些麻烦,感兴趣的往下看: 为了问卷结果的可读性及统计方便,数据表设计时将 问卷、问题、选项 分为三个表,在插入、读取问卷时,

Echarts3 中国地图下钻至县级

2016-11-29 02:41:39

Echarts3 地图下钻至县级 看了会D3.js,鉴于学习曲线较高,且要实现的效果不复杂,遂使用Echarts完成——中国地图下钻至县级。 HTML <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>echarts3中国地图下钻至县级</title> <link rel="stylesheet" type="text/css" href="static/css/main.css"> <!-- Echarts3 --> <