- 博客(114)
- 收藏
- 关注
转载 深入理解 JavaScript 错误和堆栈追踪
有时候人们并不关注这些细节,但这方面的知识肯定有用,尤其是当你正在编写与测试或errors相关的库。例如这个星期我们的chai中出现了一个令人惊叹的Pull Request,它大大改进了我们处理堆栈跟踪的方式,并在用户断言失败时提供了更多的信息。操作堆栈记录可以让你清理无用数据,并集中精力处理重要事项。此外,当你真正弄清楚Error及其属性,你将会更有信心地利用它。本文开头部分或许太过于简单,但当
2017-04-25 22:09:39 1263
转载 追忆计算机之父艾伦图灵:在一个时刻两次改变历史的人
编者按:本文作者Niklas Goeke由于在博物馆看到了一个小的机器而回忆并讲述了艾伦图灵发明图灵机,从而击败恩尼格玛密码机并在二战中发挥了重要作用的事情。图灵被疑为同性恋者而被强行“治疗”,在被迫注射大量雌性激素后,不堪屈辱,吃沾染氰化钾的苹果自尽,他死去的桌边还剩下半个苹果,时年41。图灵的粉丝乔布斯把公司取名为苹果,并且以被咬了一口的苹果作为标志。这是艾伦图灵。这个
2017-04-21 23:28:20 2222
转载 C语言——带头节点单链表常见操作
#include stdio.h>#include stdlib.h>typedef struct stu{ int data; //存放数据 struct stu* next; //下一个节点地址}Node;typedef struct{ int count; // 节点个数 Node* head; // 头结点}List;//创建新节点功
2017-04-20 22:35:51 887
转载 缓存的基本知识
缓存的基本知识在整个计算机体系构造中(无论是硬件层面还是软件层面),缓存都是无处不在的。在计算机硬件构造中,由于两种介质的速度不匹配,高速介质在和低速介质交互时速度趋向低速方,这就导致了高速介质的资源闲置。而通过引入第三种介质(速度和成本介于两者中间),将低速方读写的部分内容数据保存在该介质中,高速方大多数情况下则无需和低速方直接交互,这样就能整体提升了交互的性能。这就是计算机体系
2017-04-19 22:22:07 815
转载 200 行代码实现一个简单的区块链
英文原文:Lauri Hartikka区块链的基础概念很简单:一个分布式数据库,存储一个不断加长的 list,list 中包含着许多有序的记录。然而,在通常情况下,当我们谈到区块链的时候也会谈起使用区块链来解决的问题,这两者很容易混淆。像流行的比特币和以太坊这样基于区块链的项目就是这样。“区块链”这个术语通常和像交易、智能合约、加密货币这样的概念紧紧联系在一起。这就令理解区块链
2017-04-18 22:28:18 29693
转载 c++模板类构建AVlL树及AVL树的单双旋转图文简述,以及插入新节点后如何通过旋转使之继续保持平衡
AVL树 可以将AVL树看作平衡二叉搜索树, 因为原始二叉搜索树极端情况下效率不高,如只有一条单链,此时和链表相当因此出现了这一古老的树种,AVL树 :http://baike.baidu.com/link?url=YSwg_fEmV9l07F364_g9B3aBgf2uRaa8fpG8zmXrMCPasdON523B6zJKelC8fddrF9p2QQ-JjYhD2g9l7D-sCDBLzgfJ
2017-04-06 22:31:52 861
转载 Kali-WIFI攻防(一)----无线网络嗅探工具Kismet
一、工具简介Kismet是802.11二层无线网络探测器,嗅探器和入侵检测系统。它将与支持原始监视(rfmon)模式中的任何无线网卡的工作,并能嗅出的802.11a / b / g / n的流量。它可以使用其他程序来播放音频警报网络事件,读出网络摘要,或提供GPS坐标。这是包含芯,客户端和服务器的主包。二、在kismet中包含的工具k
2017-04-05 22:19:00 6575
转载 堆外直接内存实现高性能接入层
接入层接受app的请求,解包数据重新封装数据包,把app数据包做为包体,同时再加上接入层的包头数据,根据app数据包头的协议号转发到后端业务服务器。所有app端的请求都先经过接入层,因此接入层的性能是至关重要。 为了性能上的保证,使用到netty的PooledDirectByteBuf,顾名思义就是池化的堆外直接内存,堆外直接内存就是jvm堆以外申请的内存,这里为什么考虑用
2017-04-04 23:21:39 678
转载 亿级流量网站架构核心技术之“数据库分库分表策略”
本文节选自《亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统》一书张开涛 著电子工业出版社出版小编会从留言中选择获赞最多的前五名用户免费送出此书哦!规则见文末。 数据库分库分表后就会涉及如何写入和读取数据的问题,应用开发人员主要关心如下几个问题。● 是否需要在应用层做改造来支持分库分表,即是在应用层进行支持,还
2017-04-03 22:45:51 5221 1
转载 堆排序
堆排序(heapsort)是一种比较快速的排序方式,它的时间复杂度为O(nlgn),并且堆排序具有空间原址性,任何时候只需要有限的空间来存储临时数据。我将用c++实现一个堆来简单分析一下。堆排序的基本思想为:1、升序排列,保持大堆;降序排列,保持小堆;2、建立堆之后,将堆顶数据与堆中最后一个数据交换,堆大小减一,然后向下调整;直到堆中只剩下一个有效值;下面我将简单分
2017-04-01 22:58:04 536
转载 那些被岁月遗忘的 UNIX 经典著作
1. 《C程序设计语言》内容简介:在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书是C语言的设计者之一Dennis M.Ritchie和著名计算机科学家Brian W.Kernighan合著的一本介绍C语言的权威经典著作。我们现在见到的大量论述C语言程序设计的教材和专著均以此书为蓝本。本书第1版中介绍的C语言成为后来广泛使用的C语言版本——标准C的基础
2017-03-31 23:26:32 576
原创 操作系统学习心得(一)操作系统概论(3)
1.1.3操作系统发展的主要动力不断提高计算机的资源利用率:形成了能自动对一批作业进行处理的多道批处理系统方便用户:更好的人机交互。以及图形用户界面的出现器件的不断更新换代:尤其是微机芯片的不断更新以及OS所能支持的外部设备的种类变多。计算机体系结构的不断发展。不断提出的新的应用需求。1.2操作系统的发展过程首先早期是人工操作方式,但是由于人工操作模式严
2017-03-30 23:32:46 891
转载 操作系统原理
操作系统原理Q:什么是中断?A:中断嘛,举个容易理解的例子吧。 比如莲莲和唐唐在下象棋,眼看莲莲就快招架不住了,正当此紧要关头,唐唐的女友来了,非要唐唐陪她上街买衣服不可(唐唐晕倒:-) ),于是唐唐不得不同莲莲商量,先把棋盘封了,待买完衣服后继续战斗。掌灯时分,唐唐带着满脸疲惫回到了棋盘前,结果莲莲不费吹灰只力便反败为胜。这就是整个中断过程。我们来
2017-03-29 23:13:09 675
原创 计算机操作系统学习心得(一)操作系统概论(2)
1.12操作系统的作用:OS作为用户 与计算机硬件系统之间的接口。即OS在用户和计算机系统之间,用户通过Os来使用计算机系统。(方便快捷可靠),用户可以通过命令方式,系统调用方式以及图标窗口模式来实现操作系统的通信。OS作为计算机系统资源的管理者。处理机,储存器,I/O设备以及文件(数据和程序) (1)处理机管理适用于分配和控制处理机 (2)存储器管理主要是负责
2017-03-28 13:17:05 1282 1
原创 计算机操作系统学习心得(一)操作系统概论
操作系统(operating system)OS:1.1操作系统的目标和作用:(1)方便性:系统可以使用编译命令將用户采用高级语言书写的程序翻译成机器代码; 直接通过OS所提供的各种命令操作计算机系统;(2)有效性:提高系统资源的利用率。使处于空闲状态的设备没有得到充分的利用。 提高系统的
2017-03-27 13:19:25 5514
转载 数据挖掘十大经典算法
一、 C4.5 C4.5算法是机器学习算法中的一种分类决策树算法,其核心算法是ID3 算法. C4.5算法继承了ID3算法的优点,并在以下几方面对ID3算法进行了改进: 1) 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足; 2) 在树构造过程中进行剪枝; 3) 能够完成对连续属性的离散化处理; 4) 能够对不完整数据进行处理。 C4.
2017-03-26 22:39:34 4568
转载 科普|云计算的四种服务模式介绍
本文将介绍SaaS,BaaS,PaaS和IaaS这四种云计算服务模式,并分析之间的联系和区别。四种服务模式介绍SaaS(Software as a Service):软件即服务,SaaS公司提供完整并可直接使用的应用程序,用户通过网页浏览器即可接入使用。比较知名的SaaS有GoToMeeting,WebEx和Salesforce。BaaS(Backend as a Servic
2017-03-25 23:26:06 1240
转载 数据挖掘常用工具
文的主要内容编译自Blaz Zupan和Janez Demsar的一篇论文(Open-Source Tools for Data Mining)。我仅仅选择其中的要点和大家共享,同时加入一些个人的点评意见。此外,对开源的数据挖掘工具有兴趣的同仁,可以关注以下OSDM09这个workshop,它会在PAKDD'09上同时进行,主要讨论的就是开源数据挖掘工具的议题。开源的数据挖掘工具(
2017-03-24 23:23:49 855
转载 Linux内核常用数据结构要点
Linux中最重要最常用如下四种:LIST:链表 Linux内核的标准链表就是采用“环形、双向”链表形式实现沿着链表移动智能是线性移动需要随机访问的数据,一般不使用链表链表存放数据的理想情况是:需要遍历所有数据、或者需要动态加入/删除数据有时首元素会用一个特殊的指针表示,称为“头指针”,可以方便的找到链表的“起始端”Linux内核实现特殊性:不是将数据结构塞入链表,而是
2017-03-23 22:19:01 649
原创 数据结构学习笔记(1)
数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。 数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型 。而且这些符号必须具备两个前提:• 可以输入到计算机中。• 能被计算机程序处理。对于整型、实型等数值类型,可以进行数值计算。对于字符数据类型,就需要进行非数值的处理。而声音、图像、视频等其实是可
2017-03-22 22:03:32 605
转载 设计模式的原则
前言 不管做什么事情都要有原则,都要有标准,学习设计模式也是一样,设计模式的原则蕴含在很多设计模式中,它们是从许多设计方案中总结出的指导性原则。面向对象设计原则支持可维护性复用而诞生,来了解一下具体的设计模式原则都是什么。叙述 一、单一职责原则1、是什么: 就一个类而言,应该仅有一个引起它变化的原因。2、怎么来的: 如果一个类承担的职责过多,就等于这个类太“累”,就等于把这些职责耦合在一起,一个职
2017-03-21 22:29:30 381
原创 算法概述
² 算法部分主要由头文件,和组成。² 是所有STL头文件中最大的一个,其中常用到的功能范围涉及到比较、交换、查找、遍历操作、复制、修改、反转、排序、合并等等。² 体积很小,只包括几个在序列上面进行简单数学运算的模板函数,包括加法和乘法在序列上的一些操作。² 中则定义了一些模板类,用以声明函数对象。² STL提供了大量实现算法的模版函数,只要我们熟悉了STL之后,许多代码可以被大大的
2017-03-20 22:07:17 272
原创 输入一个链表的头结点,从尾到头反过来打印每个节点的值。
链表节点的定义:[cpp] view plain copy typedef struct LinkNode { int _value; struct LinkNode* _next; }LinkNode,*pLinkNode; 链表定义:[cpp] vi
2017-03-19 22:59:53 949
转载 计算机科学与技术学习心得
1.本文集众前辈及恩师之经验于一文,由我执笔总结前辈所感而已。并非尽我所言,特别说明基于南京大学网友sir在南京大学小百合站点发表的文章《理论计算机科学漫谈》、《胡侃学习(理论)计算机》、《胡侃学习计算机--理论之外》并融入我的若干观点。2.2004年12月14至17日,网友“剑指长空催云雨” “BerkeleyWolf”和“挨踢客”对本文的前期版本提出批评,认为“Sir博士文章中的原文在你的
2017-03-18 23:18:58 6307 3
转载 全球最杰出的14位程序员
摘要:ITWorld整理全球最杰出的14位程序员,包括Jon Skeet、Linus Torvalds、Jeff Dean等。一起来看下让我们膜拜的大神都有哪些?近日,ITWorld整理全球最杰出的14位程序员,一起来看下让我们膜拜的这些大神都有哪些?(排名不分先后)1. Jon Skeet个人名望:程序技术问答网站Stack Overflow总排名第一的大
2017-03-17 23:46:23 708
转载 两个栈实现一个队列
题目:两个栈实现一个队列分析:方法一: s1是入栈的,s2是出栈的。入队列,直接压到s1是就行了出队列,先把s1中的元素全部出栈压入到s2中,弹出s2中的栈顶元素;再把s2的所有元素全部压回s1中缺点:有大量元素要push和pop,效率不高方法二: s1表示入队的,s2表示出队列的,保证所有元素在一
2017-03-16 22:03:23 291
转载 操作系统原理
Q:什么是中断?A:中断嘛,举个容易理解的例子吧。 比如莲莲和唐唐在下象棋,眼看莲莲就快招架不住了,正当此紧要关头,唐唐的女友来了,非要唐唐陪她上街买衣服不可(唐唐晕倒:-) ),于是唐唐不得不同莲莲商量,先把棋盘封了,待买完衣服后继续战斗。掌灯时分,唐唐带着满脸疲惫回到了棋盘前,结果莲莲不费吹灰只力便反败为胜。这就是整个中断过程。我们来看看中断过程是如何发生的:
2017-03-15 22:14:30 665
转载 操作系统原理总结
一、基础知识点1. 操作系统的资源管理技术资源管理解决物理资源数量不足和合理分配资源这两个问题。 操作系统虚拟机为用户提供了一种简单、清晰、易用、高效的计算机模型。虚拟机的每种资源都是物力资源通过复用、虚拟和抽象而得到的产物。 虚拟机提供进程运行的逻辑计算环境。从概念上来说,一个进程运行在一台虚拟机上,可以认为一个进程就是一台虚拟机,一台虚拟机就是一个进程。
2017-03-14 22:50:43 821
原创 单链表
#includeiostream> using namespace std; struct node //node结构体,里面有一个node指针,用来指向下一个node对象 { int x; node *next; //指向什么类型的对象,就用什么类型的指针 }; node* create(int n)
2017-03-13 22:25:54 341
原创 数据结构概述
s定义 :我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应操作,这个相应操作也叫做算法。数据结构 = 个体 + 个体的关系算法 = 对存储数据的操作。算法:解题的方法和步骤衡量算法的标准1.时间复
2017-03-12 22:26:30 360
转载 计算机技术
计算机脱胎于图灵机的构想,简单说,就是能够执行有限逻辑数学过程的计算模型。图灵机中最重要的两个『物理』硬件是纸带和读写头(这里『物理』指的是相对于图灵机其他部分而言)。计算机学科的发展,与其说是众人拾柴火焰高,不如说是天才引导的历程。O(n3) 真的很糟糕,O(1) 真的就很好吗?虽然在单纯的算法分析中是如此,但是在计算机系统中,算法只是一小部分。假设一个 O(1) 的算法会导致死锁,虽然看起来比
2017-03-11 23:23:54 430
转载 计算机操作系统的进程管理
进程的引入顺序程序顺序程序就是指程序在计算机上严格按照写入的顺序执行。顺序也是指不同程序的按序执行。顺序程序设计具有下面的特征:顺序性:当多个程序在处理机上运行时,处理机严格按照程结构所指定的顺序执行,程序的每一步都必须在上一步执行后才能执行。资源独占性:一个程序在执行时,独占全部资源。可再现性:如果程序的初始条件相同,则其执行的结果相同与程序的执行速度无关
2017-03-10 22:53:49 591
转载 C++的那些事:流与IO类
1、流的概念"流"就是"流动",是物质从一处向另一处流动的过程,比如我们能感知到的水流。C++的流是指信息从外部输入设备(如键盘和磁盘)向计算机内部(即内存)输入和从内存向外部输出设备(如显示器和磁盘)输出的过程,这种输入输出过程被形象地比喻为"流"。为了实现信息的内外流动,C++系统定义了I/O类库,其中的每一个类都称作相应的流或流类,用以完成某一方面的功能。根据一个流类定义的对
2017-03-09 23:22:50 551
转载 成员模板
#include "head.h" templatetypename T> class Beta { private: templatetypename V> class hold { private: V val; public: ho
2017-03-08 22:24:25 257
原创 学习总结
基类,派生类之间的转换:1.派生类到基类的转换: (1)public方式继承时,编译器自动执行的转换(向上转型upcasting的安全转1换 派生类对象指针自动转化为基类对象指针 派生类对象引用自动转化为基类对象引用
2017-03-07 22:12:19 317
转载 c/c++总结
确定栈的增长方向[cpp] view plain copy #include static int stack_dir; static void find_stack_direction (void) { static char *addr = NULL; /* address of first
2017-03-04 23:18:27 534
转载 C++
一、关键字1.extern extern有两个作用: (1)extern可以置于变量或函数前,以表示变量或者函数定义在别的文件中,提示编译器在遇到此变量和函数时,要在其他模块中寻找其定义。 比如在头文件中[cpp] view plain copy extern int a;
2017-03-02 23:01:44 424
转载 继承
概念继承是面向对象编程的三大特征之一,也是实现代码复用的重要手段。Java中继承具有单继承的特点,每一个类只可以直接继承一个父类,即直接父类,不可以同时继承多个类。但是继承是可以多层继承的,即:父类还有父类,顶级的父类为Object类。也就是说,任何类都是Object的子类,Object是任何类的父类。 如果编写的类没有直接继承其他类,默认继承的是Object类子类
2017-02-27 22:27:20 238
转载 C/C++ 常量
为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下:常变量: const 类型说明符 变量名常引用: const 类型说明符 &引用名常对象: 类名 const 对象名常成员函数: 类名::fun(形参) const常数组: 类型
2017-02-25 23:35:05 396
转载 c++知识
C/C++ 的入口程序就是函数,函数需要传入参数,详细了解参数分类、传递规则、传递过程对写出正确且高效的程序起着至关重要的作用。笔者就曾因为传错了一个参数而导致程序崩溃,最后费了非常多的时间来查找原因,最后找出的原因是取址符(&)用错了,这让我下定决心彻底搞明白参数是怎么回事。 3.4.1、函数参数详解参数分为输入参数、输入输出参数、输出参数、返回参数四种,分别适用于用于不同的场景,其
2017-02-23 21:08:07 359
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人