03 2019 档案

摘要:"进程" (process)和 "线程" (thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。 最近,我读到一篇 "材料" ,发现有一个很好的类比,可以把它们解释地清晰易懂。 1. 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 2. 假定工厂的电力有限, 阅读全文
posted @ 2019-03-27 15:08 itbsl 阅读(270) 评论(0) 推荐(0) 编辑
摘要:多任务 很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“ ”的操作系统。 什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在 阅读全文
posted @ 2019-03-27 14:47 itbsl 阅读(228) 评论(0) 推荐(0) 编辑
摘要:[TOC] 在上一节中我们介绍了 "数组和切片的实现原理" ,这一节会介绍 Golang 中的另一个集合元素 — 哈希,也就是 Map 的实现原理;哈希表是除了数组之外,最常见的数据结构,几乎所有的语言都会有数组和哈希表这两种集合元素,有的语言将数组实现成列表,有的语言将哈希表称作结构体或者字典,但 阅读全文
posted @ 2019-03-26 14:52 itbsl 阅读(2843) 评论(0) 推荐(0) 编辑
摘要:[TOC] 数组和切片是 Go 语言中常见的数据结构,很多刚刚使用 Go 的开发者往往会混淆这两个概念,数组作为最常见的集合在编程语言中是非常重要的,除了数组之外,Go 语言引入了另一个概念 — 切片,切片与数组有一些类似,但是它们的不同之处导致使用上会产生巨大的差别。 这里我们将从 Go 语言 " 阅读全文
posted @ 2019-03-26 14:31 itbsl 阅读(4562) 评论(0) 推荐(0) 编辑
摘要:[TOC] Go语言拥有一套单元测试和性能测试系统,仅需要添加很少的代码就可以快速测试一段需求代码。 性能测试系统可以给出代码的性能数据,帮助测试者分析性能问题。 单元测试 概述 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般要根据实 阅读全文
posted @ 2019-03-21 16:26 itbsl 阅读(2267) 评论(2) 推荐(1) 编辑
摘要:最近接了个把数据导出到word文档的需求,之前一直都是使用PHPExcel库导出excel的,还是头次接到导出到word文档的需求,我想既然有PHPExcel,那么肯定也会有PHPWord库吧,在网上一搜,还真有!而且都是phpoffice家的。看了下文档,最终决定使用模板的方式来导出数据,感觉也是 阅读全文
posted @ 2019-03-19 22:01 itbsl 阅读(5688) 评论(3) 推荐(1) 编辑
摘要:反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。 支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可执行文件中,并给程序提供接口访问反射信息,这样 阅读全文
posted @ 2019-03-18 14:11 itbsl 阅读(19226) 评论(1) 推荐(5) 编辑
摘要:什么是HTTP协议? HTTP协议全称Hyper Text Transfer Protocol,翻译过来就是超文本传输协议,位于TCP/IP四层模型当中的应用层。 HTTP协议通过请求/响应的方式,在客户端和服务端之间进行通信。 这一切看起来很美好,但是HTTP协议有一个致命的缺点: 不够安全 。 阅读全文
posted @ 2019-03-13 10:20 itbsl 阅读(1589) 评论(0) 推荐(0) 编辑
摘要:[TOC] 什么是shell? 当谈到命令时,我们实际上指的是 。 shell是一个接收由键盘输入的命令,并将其传递给操作系统来执行的程序 。几乎所有的Linux发行版都提供shell程序,该程序来自于称之为bash的GNU项目。bash是Bourne Again Shell的首字母缩写,Bourn 阅读全文
posted @ 2019-03-07 09:47 itbsl 阅读(4525) 评论(0) 推荐(0) 编辑
摘要:[TOC] 接口是什么? Go 语言不是一种 “传统” 的面向对象编程语言:它里面没有类和继承的概念。 但是 Go 语言里有非常灵活的 接口 概念,通过它可以实现很多面向对象的特性。接口提供了一种方式来 说明 对象的行为:如果谁能搞定这件事,它就可以用在这儿。 简单的说,interface是一组me 阅读全文
posted @ 2019-03-06 14:45 itbsl 阅读(822) 评论(0) 推荐(0) 编辑
摘要:[TOC] 写过C/C++的同学都知道,调用著名的malloc和new函数可以在堆上分配一块内存,这块内存的使用和销毁的责任都在程序员。一不小心,就会发生内存泄露,搞得胆战心惊。 切换到Golang后,基本不会担心内存泄露了。虽然也有new函数,但是使用new函数得到的内存不一定就在堆上。堆和栈的区 阅读全文
posted @ 2019-03-05 14:40 itbsl 阅读(8187) 评论(2) 推荐(3) 编辑
摘要:Git提供了一个.gitignore文件,帮助我们忽略掉一些不想或者不能提交到版本控制器中的文件。这个文件的使用时必须要掌握的。 .a 忽略所有目录下的.a结尾的文件 !lib.a 但lib.a除外 /TODO 仅仅忽略项目根目录下的TODO文件,不包括subdir/TODO build/ 忽略bu 阅读全文
posted @ 2019-03-05 11:40 itbsl 阅读(2586) 评论(0) 推荐(0) 编辑
摘要:与使用 类似,Git还提供了重命名文件的命令 ,我们可以通过该命令重命名文件。 如下图, 包含了以下动作 阅读全文
posted @ 2019-03-04 17:05 itbsl 阅读(845) 评论(0) 推荐(0) 编辑
摘要:在使用git的过程中,我们有时在提交时,注释说明会写错,那么我们该如何修改这次提交说明呢?在SVN上我们只能在代码的某个地方加一个不影响功能的空格再次提交,然后写新说明。但是在Git中我们可以吃后悔药啦,可以使用 来覆盖之前的提交说明。 阅读全文
posted @ 2019-03-04 16:08 itbsl 阅读(819) 评论(0) 推荐(0) 编辑
摘要:我们使用 来进行删除文件的操作。 这个命令把工作区的index.php删除并暂存了。 如何撤回已暂存的删除命令? 上图中已经给出了提示,使用 ,然后再执行 就可以回到执行git rm之前的状态了。 如何把暂存的删除命令提交到版本库? 这个时候如果我们确定想删除这个文件,执行git commit 即可 阅读全文
posted @ 2019-03-04 15:02 itbsl 阅读(3561) 评论(0) 推荐(0) 编辑
摘要:在使用git之前,我们首先要初始化一个git管理的仓库,这里以博客(blog)为例 我们进入目录,执行 查看git状态,可以看到一个新的git管理的项目目前没有还没有任何提交 我们在这个目录下新建一个index.php的文件,使用 ,然后再通过git status查看状态,在新创建了一个文件后,状态 阅读全文
posted @ 2019-03-04 14:20 itbsl 阅读(17296) 评论(0) 推荐(0) 编辑
摘要:首先,说下最常用的设置用户名和邮箱的命令 这是针对系统某个用户的全局设置。实际上,配置用户的地方可不止全局这一个地方。 在我们首次使用Git时,都是需要配置用户名(user.name)和邮箱(user.email)的。对于用户名和邮箱来说,有3个地方可以设置 1. /etc/gitconfig,使用 阅读全文
posted @ 2019-03-04 11:06 itbsl 阅读(4780) 评论(0) 推荐(0) 编辑
摘要:之前的写过一篇如何在服务器上搭建Git服务 "Git服务器搭建" ,接下来的一段时间,我将详细的讲解Git的使用。看如下一张图片,本篇主要理解一些基本概念。 图中几个名词的意思如下: workspace: 工作区 index/Stage: 暂存区 Repository: 本地仓库 Remote: 远 阅读全文
posted @ 2019-03-03 21:08 itbsl 阅读(4250) 评论(1) 推荐(2) 编辑

点击右上角即可分享
微信分享提示