自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

banbanlin的专栏

天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。

  • 博客(111)
  • 资源 (2)
  • 收藏
  • 关注

原创 linux进程间通信学习

最近项目中使用到进程间通信的知识,看到写得好的博客,收到在这里,方便后续查询。linux进程间通信系列文章http://blog.csdn.net/guoping16/article/category/840836消息队列函数(msgget、msgctl、msgsnd、msgrcv)及其范例    http://blog.csdn.n

2016-02-18 20:11:15 685

原创 linux系统klogd与syslog相关知识

linux系统klogd与syslog相关知识,收集整理以供后续查阅Linux中的log介绍http://blog.csdn.net/henni386/article/details/7439142linux syslogd服务http://blog.csdn.net/tonyxf121/article/details/79348

2016-02-15 15:41:54 746

原创 linux中shell常用联合批量操作命令

最近学习过程中,常常使用的联合批量操作命令,整理供以后参考~1、将目录下所有文件都转化从dos为unix格式      find  ./ -type f | xargs dos2unix2、将目录下所有的.svn目录删除     (1)   find ./ -type d -name ".svn"| xargs rm -rf     (2)  find ./

2015-11-25 19:42:29 2906

原创 linux中shell命令执行的判断依据 &&,||, (),{}

通过网络整理这些shell命令执行的判断依据,方便自己在学习时进行查询,后续有更新的说明,再继续补充!&&运算符:command1  && command2&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;换句话说,“如果这个命令执行成功&&那么执行这个命令”。 ||运算符:command1 || comma

2015-11-03 10:54:07 4493

原创 linux中shell变量$#,$@,$0,$1,$2的含义

在进行shell编程的过程中,常常有很多美元符号($)的变量,通过网络查找,整理如下,后续再补充:linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命

2015-11-01 15:07:56 973

转载 C++静态库与动态库

什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。所谓静态、动态是指链接。回顾一下,将一个程序编译成可执行程序的步骤:图:编译过程静态库

2015-06-04 22:20:59 834

原创 Linux Socket 编程与 TCP/UDP协议流程

本文系综合网络上多个博客的内容,整理而成,以方便自己将来查阅1、网络中进程之间如何通信?本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:消息传递(管道、FIFO、消息队列)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)共享内存(匿名的和具名的)远程过程调用(Solaris门和Sun RPC)我们要讨论的是网络中

2015-06-04 21:57:06 4639

转载 VS2010 创建和调用动态链接库

创建新的动态链接库 (DLL) 项目1.从“文件”菜单中,选择“新建”,然后选择“项目…”。2.在“项目类型”窗格中,选择“Visual C++”下的“Win32”。3.在“模板”窗格中,选择“Win32 控制台应用程序”。4.为项目选择一个名称,如 MathFuncsDll,并将其键入“名称”字段。 为解决方案选择一个名称,如 DynamicLibrary,并将其键入

2015-06-04 21:46:31 556

转载 前淘宝工程师谈12306:做它比做淘宝难

如果把12306外包给IBM或者阿里巴巴来做,能否比现在做得好?如果是以前,我肯定会回答:是。因为我们始终认为,一个年投入超3亿元的卖火车票网站,没有什么理由做不好吧?其实不光是小编这样认为,包括众多媒体,甚至专业人士都曾喷过12306,但近日一名前淘宝工程师通过科普的方式给了我们一记响亮的耳光:做12306网站难度远高于淘宝。我曾在淘宝写过一段时间代码,2012年在一家百强民企做

2014-12-17 11:25:41 1259

转载 智能硬件狂热背后的冷思考:有多少伪刚需?

创业者常常希望以一款刚需产品切入,却忽视了智能硬件刚需或许本就是一个伪命题。这些智能化的产品是为了帮助人们生活得更加舒适,并不是像空气一样是人们生活中不可或缺的一部分。钛媒体注:在未来10年物联网将带来一个价值14.4万亿美元的巨大市场,很多智能硬件产品应用都可以在万物互联时代找到自己的新位置,国内目前智能硬件创业者在物联网时代正面对着不小的挑战,成功与否的决定因素已经从单

2014-12-11 15:58:59 1437

转载 Deep Learning, NLP, and Representations

先转载,有空再翻译。好文章推荐!原文地址:http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/IntroductionIn the last few years, deep neural networks have dominated pattern recognition. They blew t

2014-12-03 15:45:54 1403

转载 身份证的算法

以下代码是用JS编制的哈,呵呵从1999年10月1日起,全国实行公民身份证号码制度,居民身份证编号由原15位升至18位。前6位为地址码;第七位至14位为出生日期码,此码由6位数改为8位数,其中年份用4位数表示;第15位至17位为顺序码,取消了顺序码中对百岁老人使用的特定编号;第十八位为校验码,主要是为了校验计算机输入公民身份证号码的前17位数字是否正确,其取值范围是0至10,当值等于10时,用罗马

2014-11-27 14:47:47 914

转载 https与http的区别

在三大社交网站(facebook,twitter,google plus)上混过的同道们都应该注意到了一点:这三个网站的域名前面都是https而不是最常见的http。     先介绍http:超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通

2014-11-27 10:25:31 3761

转载 DNS 工作原理是什么,域名劫持、域名欺骗、域名污染又是什么

一、DNS 是啥?DNS 是洋文“Domain Name System”的缩写,直译过来就是“域名系统”。 二、DNS 有啥用?咱们每天打交道的这个互联网,其底层的基石是“IP”。IP 是“Internet Protocol”的缩写,中文就“互联网协议”(光看名字就知道这玩意儿很重要)。咱们日常用的那些互联网软件(浏览器、聊天工具、下载工具、等等)在工作时,必须依靠

2014-11-27 10:05:40 8517 1

转载 [收藏]31部黑客电影

1、《社交网络 The Social Network》(2010)《社交网络》是 2010 年电影作品,由大卫·芬奇执导,改编自 2009 年畅销书籍《Facebook:性爱与金钱、天才与背叛交织的秘辛》,描述 Facebook 创办人马克·扎克伯格以一个哈佛学生的身分,创办了改变全球网络通信的社交网站脸书,及背后背叛秘辛故事。 2、《硅谷传奇(Pirates of Sil

2014-11-25 16:59:45 5775

转载 三国杀 部分概率问题建模解析法

三国杀牌种分类,三国杀一共有108张,其中30张杀(21张黑杀,9张红杀,70%黑)、15闪(全红)、8桃(全红)、6过河拆桥、5顺手牵羊、4无中生有、3南蛮入侵、3决斗、3乐不思蜀、3无懈可击、2闪电、2五谷丰登、2借刀杀人、1万箭齐发、1桃园结义;装备共20件(60%为黑色),其中+1/-1马各3匹,11把武器(诸葛连弩2把,其他各1)、3防具(2八卦阵、1仁王盾) 一

2014-11-18 22:38:50 1314

转载 Android启动过程深入解析

当按下Android设备电源键时究竟发生了什么?Android的启动过程是怎么样的?什么是Linux内核?桌面系统linux内核与Android系统linux内核有什么区别?什么是引导装载程序?什么是Zygote?什么是X86以及ARM linux?什么是init.rc?什么是系统服务?  当我们想到Android启动过程时,脑海中总是冒出很多疑问。本文将介绍Android的启动过程,希望

2014-11-10 11:16:33 474

原创 Android实现文字显示跑马灯效果

当个TextView实现跑马灯效果

2014-11-08 17:18:55 689

原创 Android的按钮单击事件及监听器的实现方式(附实例)

第一种:匿名内部类作为事件监听器类大部分时候,事件处理器都没有什么利用价值(可利用代码通常都被抽象成了业务逻辑方法),因此大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适,实际上,这种形式是目前是最广泛的事件监听器形式。上面的程序代码就是匿名内部类来创建事件监听器的!!!对于使用匿名内部类作为监听器的形式来说,唯一的缺点就是匿名

2014-11-08 15:17:53 2413

原创 LINUX 硬链接与软链接

对于一个文件来说,有唯一的索引接点(inode)与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件。注意在Linux下是一切皆文件的啊,文件夹、新加的硬盘 ...都可以看着文件来处理的啊。    连接有软连接和硬连接(hard link)之分的,软连接(symbolic link)又叫符号连接。符号连接相当于Windows 下的

2014-11-03 11:16:30 635

转载 TCP恋爱史:三次握手和四次分手

TCP协议非常重要,这里把它的连接和释放整理一下。首先是三次握手:1、  客户端发起,像服务器发送的报文SYN=1,ACK=0,然后选择了一个初始序号:seq=x。SYN是干什么用的?在链接的时候创建一个同步序号,当SYN=1同时ACK=0的时候,表明这是一个连接请求的报文段。如果对方有意链接,返回的报文里面SYN=1,ACK=1,。从这个意义上来说,SYN

2014-10-23 11:38:20 610

转载 如何在Linux中使用awk命令

文本处理是Unix的核心。从管道到/proc子系统,“一切都是文件”的理念贯穿于操作系统和所有基于它构造的工具。正因为如此,轻松地处理文本是一个期望成为Linux系统管理员甚至是资深用户的最重要的技能之一,而 awk是通用编程语言之外最强大的文本处理工具之一。最简单的awk的任务是从标准输入中选择字段;如果你对awk除了这个用途之外,从来没了解过它的其他用途,你会发现它还是会是你身

2014-10-23 11:26:41 515

转载 Linux中的15个‘echo’ 命令实例

echo是一种最常用的与广泛使用的内置于Linux的bash和C shell的命令,通常用在脚本语言和批处理文件中来在标准输出或者文件中显示一行文本或者字符串。 echo命令的语法是:echo [选项] [字符串]1. 输入一行文本并显示在标准输出上$ echo Tecmint is a community of Linux Nerds 会输出下面的

2014-10-23 10:58:06 1321

转载 如何使用tcpdump来捕获TCP SYN,ACK和FIN包

问题:我想要监控TCP连接活动(如,建立连接的三次握手,以及断开连接的四次握手)。要完成此事,我只需要捕获TCP控制包,如SYN,ACK或FIN标记相关的包。我怎样使用tcpdump来仅仅捕获TCP SYN,ACK和/或FYN包?作为业界标准的捕获工具,tcpdump提供了强大而又灵活的包过滤功能。作为tcpdump基础的libpcap包捕获引擎支持标准的包过滤规则,如基于5重包头的过

2014-10-23 10:50:00 3449

转载 Linux进程与多线程

计算机如何执行进程呢?这是计算机运行的核心问题。即使已经编写好程序,但程序是死的。只有活的进程才能产出。我们已经从Linux进程基础中了解了进程。现在我们看一下从程序到进程的漫漫征程。 一段程序下面是一个简单的C程序,假设该程序已经编译好,生成可执行文件vamei.exe。#include int glob=0;

2014-10-05 15:52:02 723

转载 Linux进程基础与信号基础

计算机实际上可以做的事情实质上非常简单,比如计算两个数的和,再比如在内存中寻找到某个地址等等。这些最基础的计算机动作被称为指令(instruction)。所谓的程序(program),就是这样一系列指令的所构成的集合。通过程序,我们可以让计算机完成复杂的操作。程序大多数时候被存储为可执行的文件。这样一个可执行文件就像是一个菜谱,计算机可以按照菜谱作出可口的饭菜。那么,程序和进程(p

2014-10-05 13:35:45 641

转载 Linux架构与文件流

当文件出现在一个目录文件中时,我们就把文件接入到文件系统中,我们称建立一个到文件的硬链接(hard link)。一个文件允许出现在多个目录中,这样,它就有多个硬链接。当硬链接的数目(link count)降为0时,文件会被Linux删除。所以很多时候,unlink与remove在Linux操作系统中是一个意思。由于软链接(soft link)的广泛使用(soft link不会影响link co

2014-10-05 12:47:07 1138

转载 计算机网络

OSI参考模型一上来就是OSI七层参考模型,是不是有点晕?如果是,那先阅读文章开头推荐的那两篇文章吧! 第7层 应用层(Application Layer)应用层能与应用程序界面沟通,以达到展示给用户的目的。 在此常见的协议有: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。第6层 表示层(Presentation Lay

2014-10-03 21:57:00 829

转载 互联网协议入门

互联网协议入门一、概述1.1 五层模型互联网的实现,分成好几层。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。用户接触到的,只是最上面的一层,根本没有感觉到下面的层。要理解互联网,必须从最下层开始,自下而上理解每一层的功能。如何分层有不同的模型,有的模型分七层,有的分四层。我觉得,把互联网分成五层,比较容易解释。如上图所

2014-10-03 11:51:10 622

转载 操作系统篇

目录:1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。5. 线程的实现方式. (用户线程与内核线程的区别)6. 用户态和核心态的区别。7. 用户栈和内核栈的区别。8. 内存池、进程池、线程池。9. 死锁的概念,导致死锁的原因,导致死锁的四个必要条

2014-10-03 10:42:38 597

转载 浅拷贝与深拷贝

浅拷贝并不复制数据,只复制指向数据的指针,因此是多个指针指向同一份数据。 深拷贝会复制原始数据,每个指针指向一份独立的数据。通过下面的代码, 可以清楚地看出它们的区别:12345678910structTest{    char*ptr;

2014-09-25 21:47:46 479

转载 C语言关键字”volatile”的意义(或重要性)

volatile的意思是”易变的”,因为访问寄存器比访问内存要快得多, 所以编译器一般都会做减少存取内存的优化。volatile 这个关键字会提醒编译器,它声明的变量随时可能发生变化(在外部被修改), 因此,与该变量相关的代码不要进行编译优化,以免出错。声明一个volatile变量:123volatile int x;int volatile x; 声明一个指针,指向volat

2014-09-25 21:26:29 804

转载 C++中名字隐藏是什么?

让我们通过一个例子来讲解C++中的名字隐藏。在C++中,如果一个类里有一个重载的方法, 你用另一个类去继承它并重写(覆盖)那个方法。你必须重写所有的重载方法, 否则未被重写的方法会因为名字相同而被隐藏,从而使它在派生类中不可见。请看例子:1234567891011class FirstClass{public:    virtual void MethodA(int);    

2014-09-25 21:21:26 3138

转载 为什么基类中的析构函数要声明为虚析构函数?

题目为什么基类中的析构函数要声明为虚析构函数?解答用对象指针来调用一个函数,有以下两种情况:如果是虚函数,会调用派生类中的版本。如果是非虚函数,会调用指针所指类型的实现版本。析构函数也会遵循以上两种情况,因为析构函数也是函数嘛,不要把它看得太特殊。 当对象出了作用域或是我们删除对象指针,析构函数就会被调用。当派生类对象出了作用域,派生类的析构函数会先

2014-09-25 20:32:39 6466

转载 解释术语:虚拟内存、缺页中断、抖动

虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存 (一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片, 还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。 与没有使用虚拟内存技术的系统相比,使用这种技术的系统使得大型程序的编写变得更容易, 对真正的物理内存(例如RAM)的使用也更有效率。缺页中断一个页(Page)是一个固定容量的内

2014-09-25 17:04:18 6683 1

原创 判断一台机器是大端序还是小端序

存储模式:大端模式和小端模式。大端模式(Big_endian):字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。小端模式(Little_endian):字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。union型数据所占的空间等于其最大的成员所占的空间。对union型的成员的存取都是相对于该联合体基地址的偏移量为0处开始,也就是联合体的访问不

2014-09-25 16:41:24 5255

转载 写一个名为my2DAlloc的函数,用它开辟一个二维数组

题目写一个名为my2DAlloc的函数,用它开辟一个二维数组。尽可能地少用malloc函数, 并确保可以用arr[i][j]这种形式来访问第i行第j列的元素。解答这道题目最简单的方法就是先开一个数组来存储指向每一行的指针, 然后再为每一行动态地分配空间。这是非常常见的动态申请二维数组空间的方法:123456int** My2DAlloc(int rows, in

2014-09-25 16:34:17 934

转载 当你在浏览器地址栏输入一个URL后回车,将会发生的事情

题目一步一步解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细。解答这道题目没有所谓的完全的正确答案,这个题目可以让你在任意的一个点深入下去, 只要你对这个点是熟悉的。以下是一个大概流程:浏览器向DNS服务器查找输入URL对应的IP地址。DNS服务器返回网站的IP地址。浏览器根据IP地址与目标web服务器在80端口上建立TCP连接浏览器获取请求页面的

2014-09-25 16:18:40 1597

转载 写一个算法计算n的阶乘末尾0的个数

题目写一个算法计算n的阶乘末尾0的个数解答首先,算出n的阶乘的结果再去计算末尾有多少个0这种方法是不可取的, 因为n的阶乘是一个非常大的数,分分种就会溢出。我们应当去分析, 是什么使n的阶乘结果末尾出现0。n阶乘末尾的0来自因子5和2相乘,5*2=10。因此,我们只需要计算n的阶乘里, 有多少对5和2。注意到2出现的频率比5多,因此,我们只需要计算有多少个因子5即可

2014-09-25 14:20:57 978

转载 随机数的函数

题目给你一个能生成1到5随机数的函数,用它写一个函数生成1到7的随机数。 (即:使用函数rand5()来实现函数rand7())。解答rand5可以随机生成1,2,3,4,5;rand7可以随机生成1,2,3,4,5,6,7。 rand5并不能直接产生6,7,所以直接用rand5去实现函数rand7似乎不太好入手。 如果反过来呢?给你rand7,让你实现rand5,这个好实

2014-09-24 15:20:59 1045

程序员必读之软件架构[带书签目录]

程序员必读之软件架构[带书签目录]

2017-03-01

技术之瞳--阿里巴巴技术笔试心得

技术之瞳--阿里巴巴技术笔试心得

2017-03-01

空空如也

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

TA关注的人

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