摘要: 既然没有华丽的出场,那就平凡的分享,首先我要说明一点本篇文章针对Git初学者,对我自己学Git的资源的整合,其实本篇索引应该在我写Git系列文章的时候就紧跟着放上索引的,由于时间问题没有来得及整理,这里我详细整理下文章内容。其实说到git的文章已经很多了,这里分享下我的学习过程和自己摸索的过程。阅读全文
posted @ 2016-03-11 23:18 BattleHeart 阅读(921) 评论(6) 编辑
摘要: 一、文件,指令讲解 首先讲一下远程仓库和本地仓库在文件上面的区别,首先我们来看下对比图(当然这里说的区别是在于.git文件下面的文件内容,至于里面内容我们不会关注)這裡我们进行了相同的操作就是本地仓库里面新建了version.txt内容也是一样的v1.0:阅读全文
posted @ 2016-01-14 21:22 BattleHeart 阅读(960) 评论(0) 编辑
摘要: 开篇先补充一个知识点,就是比如我建立一个文件之后,使用git add就会生成一个git对象,但是git对象生成后可以在.git/objects里面对应,首先我们来初始化一个仓库git init。 $ git init 然后我们来创建两个文件文件名分别为a和b。 $ touch a b 将a文件添加到暂存区,然后再将b添加到暂存区,我们会想到这时候有两个git对象产生,但是git对象对应.git/objects文件。 $ git add . $ find .git/objects/ .git/objects/ .git/objects/e6 .git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 .git/objects/info .git/objects/pack 我们来查看下.git/objects文件下面会产生几条git对象库。这时候超出了我们想象,我们认为对象文件也应该创建两个但是仅仅创建了一个,这是为什么呢?那么着一个文件又指的是什么呢? $ git cat-file -t e6阅读全文
posted @ 2016-01-14 15:19 BattleHeart 阅读(3221) 评论(1) 编辑
摘要: 一、撤销指令 git checkout还原工作区的功能 git reset 还原暂存区的功能 git clean 还没有被添加进暂存区的文件也就是git还没有跟踪的文件可以使用这个命令清除他们 git revert 撤销本次提交。 二、指令讲解 Git checkout 首先我们对文件的一个修改,对master.txt进行了修改阅读全文
posted @ 2016-01-14 08:48 BattleHeart 阅读(970) 评论(6) 编辑
摘要: 1.初始化一个仓库 git init git clone git仓库分为两种情况: 第一种是在现有项目或目录下导入所有文件到 Git 中; 第二种是从一个服务器克隆一个现有的 Git 仓库 git init –bare git 创建一个裸仓库 2.git仓库有三个区域 工作区working directory日常编辑代码的地方 历史仓库history repository是commit指向的一个树形结构 暂存区Staging area相当于是工作区与历史提交中间的缓存,它代表着是你要提交代码的一个工作状态,它维护的是一个虚拟的树形结构阅读全文
posted @ 2016-01-13 19:37 BattleHeart 阅读(2950) 评论(2) 编辑
摘要: 配置提交代码的信息,例如是谁提交的代码之类的。 git config –global user.name BattleHeaert 这里是设置提交代码的人的名称 git config –global user.email github@126.com 这里是设置提交代码的人的邮箱 查看当前的用户名 git config user.name 或者 git config –get user.name 这时候会显示BattleHeart这个用户名,但是如果我们再添加一个用户的名称的时候这时候就会显示最后一个添加的用户名 git config –global –add user.name BH 当我们再次使用git config user.name时这时候显得是就是BH如下图所示阅读全文
posted @ 2016-01-13 13:00 BattleHeart 阅读(737) 评论(1) 编辑
摘要: RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等),因此,在 2006 年的 6 月,Cisco 、Redhat、iMatix 等联合制定了 AMQP 的公开标准。 RabbitMQ是由RabbitMQ Technologies Ltd开发并且提供商业支持的。该公司在2010年4月被SpringSource(VMWare的一个部门)收购。在2013年5月被并入Pivotal。其实VMWare,Pivotal和EMC本质上是一家的。不同的是VMWare是独立上市子公司,而Pivotal是整合了EMC的某些资源,现在并没有上市。 RabbitMQ的官网是http://www.rabbitmq.com 花絮:本篇文章是一个系列的文章,本片是开篇,后续会阅读全文
posted @ 2016-01-07 09:25 BattleHeart 阅读(5242) 评论(5) 编辑
摘要: 内存的不同用途   根据不同的操作系统,一个进程可能被分配到不同的内存区域去执行。但是不管什么样的操作系统、什么样的计算机架构,进程使用的内存都可以按照功能大致分为以下4个部分:   (1)代码区:这个区域存储着被装入执行的二进制机器代码,处理器会到这个区域取指并执行。   (2)数据区:用于存储全局变量等。   (3)堆区:进程可以在堆区动态地请求一定大小的内存,并在用完之后归还给堆区。动态分配和回收是堆区的特点。   (4)栈区:用于动态地存储函数之间的关系,以保证被调用函数在返回时恢复到母函数中继续执行。   在Windows平台下,高级语言写出的程序经过编译链接,最终会变成PE文件。当PE文件被装载运行后,就成了所谓的进程。阅读全文
posted @ 2015-04-12 15:59 BattleHeart 阅读(18059) 评论(20) 编辑
摘要: 我们接着上面的栈溢出原理来进行讲解栈溢出的利用,首先我们不会接着上一篇的文章的例子来进行讲解,我会再写一个C语言的例子来进行讲解。再进行讲一遍栈溢出的原理。更加熟悉栈溢出的原理能够让我们更好地利用栈溢出。 下面的例子代码如下:(代码很简单我不做解释)阅读全文
posted @ 2015-04-08 22:44 BattleHeart 阅读(7054) 评论(5) 编辑
摘要: 什么是栈? 栈是一种机制,计算机用它来将参数传递给函数,也可以用于放入局部函数变量,函数返回地址,它的目的是赋予程序一个方便的途径来访问特定函数的局部数据,并从函数调用者那边传递信息。栈的作用如同一个缓冲区,保存着函数所需的所有信息。在函数的开始时候产生栈,并在函数的结束时候释放它。栈一般是静态的,也意味着一旦在函数的开始创建一个栈,那么栈就是不可以改变的。栈所有保存的数据是可以改变的,但是栈的本身一般是不可以改变的。 缓冲溢出分为两种,一种是栈溢出,一种是堆溢出。 如何找到栈? EIP:扩展指令指针。在调用函数时,这个指针被存储在栈中,用于后面的使用。在函数返回时,这个被存储的地址被用于决定下一个将被执行的指令的地址。 ESP:扩展栈指针。这个寄存器指向栈的当前位置,并允许通过使用push和pop操纵或者直接的指针操作来对栈中的内容进行添加和移除。 EBP:扩展基指针。这个寄存器在函数的执行过程中通常是保持不变的。它作为一个静态指针使用,用于只想基本栈的信息,例如,使用了偏移量的函数的数据和变量。这个指针通常指向函数使用栈底部。阅读全文
posted @ 2015-04-08 14:25 BattleHeart 阅读(7138) 评论(14) 编辑