201504-29 C语言杂谈:指针与数组 (上) 思维导图介绍1>指针定义:指针是保存变量地址的变量。2>本文重点>>指针与数组之间的关系>>操纵指针的规则3>指针优点>>表达某个计算的唯一途径>>代码更高效,更紧凑4>指针缺点:难以理解,但是用好了,代码会非常清晰。5>将指针、数组和地址的算术运算集成在一起是C语言的一大优点。指针与地址1>内存组织方式(1)内存是一个个单元组成的,每一个内存单元中存放一个字节(8位)的二进制信息。(2)机器中... 继续阅读 >
201504-28 .NET出现频率非常高的笔试题 一、.net基础1、a=10,b=15,请在不使用第三方变量的情况下,把a、b的值互换答:小学算法,加法交换律和加法结合律inta=a+b;intb=a-b;inta=a-b;2、session喜欢丢值且占内存,Cookis不安全,请问用什么办法代替这两种原始的方法答:redis或者memcache。当然,微软也提供了解决方案。iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sateserver或SQLServer数据库的方式存储Session不过这种方式比较慢,而... 继续阅读 >
201504-26 如何在 Apache、Ngnix 和 Lighttpd 上启用 HTTP 公钥固定扩展 编者按:前段时间,Google报告说CNNIC签发的一个中级CA签发了一个伪造的Google证书,从而导致Google和Mozilla在其产品中取消了对CNNIC后继签发的证书信任。本文就来讲述一下,这种伪造证书是如何被Google发现的,其技术机制是什么?如何在网站服务器上实现伪造证书防御和报告机制。公钥固定(PublicKeyPinning)是指一个证书链中必须包含一个白名单中的公钥,也就是说只有被列入白名单的证书签发机构(CA)才能... 继续阅读 >
201504-26 Java初学者必知:Java语言的11大特点 Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的静态语言。那么java语言的特点是什么呢?1、Java语言是简单的Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收... 继续阅读 >
201504-26 MySQL数据库备份工具Mydumper使用介绍 Mydumper是MySQL数据库服务器备份工具,它比MySQL自带的mysqldump快很多。它还有在转储的同时获取远程服务器二进制日志文件的能力。Mydumper的优势并行能力(因此有高速度)和性能(高效的代码避免了耗费CPU处理能力的字符集转换过程)更容易管理输出(每个表都对应独立的文件,转储元数据等,便于查看/解析数据)一致性:跨线程维护快照,提供精确的主从日志定位等。可管理性:支持用PCRE来包含/排除指定的数... 继续阅读 >
201504-25 相似图片搜索的原理(二) 二年前,我写了《相似图片搜索的原理》,介绍了一种最简单的实现方法。昨天,我在isnowfy的网站看到,还有其他两种方法也很简单,这里做一些笔记。一、颜色分布法每张图片都可以生成颜色分布的直方图(colorhistogram)。如果两张图片的直方图很接近,就可以认为它们很相似。任何一种颜色都是由红绿蓝三原色(RGB)构成的,所以上图共有4张直方图(三原色直方图+最后合成的直方图)。如果每种原色都可以取256个值,那么... 继续阅读 >
201504-25 相似图片搜索的原理 上个月,Google把”相似图片搜索”正式放上了首页。你可以用一张图片,搜索互联网上所有与它相似的图片。点击搜索框中照相机的图标。一个对话框会出现。你输入网片的网址,或者直接上传图片,Google就会找出与其相似的图片。下面这张图片是美国女演员AlysonHannigan。上传后,Google返回如下结果类似的”相似图片搜索引擎”还有不少,TinEye甚至可以找出照片的拍摄背景。这种技术的原理是什么?计算机怎么知道两张图... 继续阅读 >
201504-23 如何在 Ubuntu 中再次登录时还原上次运行的应用 在你的Ubuntu里,如果你需要处理一些工作,你并不需要关闭正运行着的那些应用,只需要管理一下窗口,并打开那些工作需要的应用就行。然而,如果你需要离开处理些别的事情或你的机器电量低使得你必须马上关闭电脑,这些程序可能就需要关闭终止了。不过幸运的是,你可以让Ubuntu记住所有你正运行的应用并在你下一次登录时还原它们。自动保存会话现在,为了让我们的Ubuntu记住当前会话中正运行的应用并在我们下一次登录时还... 继续阅读 >
201504-23 如何在Ubuntu/CentOS上安装Linux内核4.0 大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0。代号为‘HurrdurrI’masheep’的Linux内核4.0是目前为止最新的主干内核。它是稳定版3.19.4之后发布的内核。4月12日是所有的开源运动爱好者的大日子,LinuxTorvalds宣布了Linux内核4.0的发布,它现在就已经可用了。由于包括了一些很棒的功能,例如无重启补丁(实时补丁),新的升级驱动,最新的硬件支持以及很多有趣的功能都有新的版本,它原本被... 继续阅读 >
201504-18 高并发Web服务的演变——节约系统内存和CPU 一、越来越多的并发连接数现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战。以最简单粗暴的方式解决,就是增加Web系统的机器和升级硬件配置。虽然现在的硬件越来越便宜,但是一味地通过增加机器来解决并发量的增长,成本是非常高昂的。结合技术优化方案,才是更有效的解决方法。并发连接数为什么呈指数增长?实际上,从这几年的用户基数上看,这个数量并没有出现指数增长,... 继续阅读 >
201504-18 使用 Rust 创建 PHP 扩展 更新:初稿刚发布还没几个小时我意识到我的PHP基准测试是错的。为公平起见我已经更新了PHP和Rust的版本。你可以在GitHub仓库里看到変更(链接在底部)。去年十月,我和Etsy的同事有过一个关于如何为像PHP样的解释性语言写拓展的讨论,Ruby或Python目前的状况应该会比PHP容易。我们谈到了写一个成功创建扩展的障碍是它们通常需要用C来写,但是如果你不擅长C这门语言的话很难有那个信心。从那时起我便萌生了用Rust写一个... 继续阅读 >
201504-17 系统栈的工作原理 1.开篇本篇文章着重写的是系统中栈的工作原理,以及函数调用过程中栈帧的产生与释放的过程,有可能名字过大,如果不合适我可以换一个名字,希望大家能够指正,小丁虚心求教!如果有哪里写的不清楚的或者错误的地方请及时更正,小丁再次谢过了。文章里面有错别字,也可能会有好友说寄存器的32、16位的区别其实我感觉这里主要讲的还是些原理性的东西,后续会将文章图片错别字进行调整.2.内存的不同用途根据不同的操作系统,一个进... 继续阅读 >
201504-15 8 个 Git 的小技巧 git已经成为了我日常必备工具之一,我总结我几乎每天使用的8个有用(且简洁)的小技巧。使用-p选择性添加当你想提交内容时,你可以通过使用gitcommit-am来选择所有文件或使用gitaddfile来添加特定文件。然而,有时候你可能想只添加文件的一部分来提交。你可以用gitadd-p交互性地选择哪些你想提交的部分。在选择完你所想要提交的区块后,只需要做一个gitcommit(没有-a),这样只会提交选中的部分。同样可以使... 继续阅读 >
201503-24 JSON简介以及用法代码汇总 什么是JSON?JavaScript对象表示法(JavaScript Object Notation)。JSON是一种轻量级的数据交换格式,某个JSON格式的文件内部譬如可以长成这样:{"name":"hanzichi","sex":"male"}看起来都是key-value的键值对,很像js的对象吧?没错,但同时JSON表示不服,我不能跟js的对象长成一样啊,我得有我自己的个性,于是规定键-值对中的键必须用双引号!同时规定键-值对中的值的取值有一定要求:JSON值可以是:... 继续阅读 >
201503-24 20个 Unix/Linux 命令技巧 让我们用这些Unix/Linux命令技巧开启新的一年,提高在终端下的生产力。我已经找了很久了,现在就与你们分享。删除一个大文件我在生产服务器上有一个很大的200GB的日志文件需要删除。我的rm和ls命令已经崩溃,我担心这是由于巨大的磁盘IO造成的,要删除这个大文件,输入:>/path/to/file.log#或使用如下格式:>/path/to/file.log#然后删除它rm/path/to/file.log如何记录终端输出?试试使用script命令行工具来为你的终端... 继续阅读 >
201503-20 减少C++代码编译时间的方法 c++ 的代码包含头文件和实现文件两部分, 头文件一般是提供给别人(也叫客户)使用的, 但是一旦头文件发生改变,不管多小的变化,所有引用他的文件就必须重新编译,编译就要花时间,假如你做的工程比较大(比如二次封装chrome这类的开发),重新编译一次的时间就会浪费上班的大部分时间,这样干了一天挺累的, 但是你的老板说你没有产出,结果你被fired, 是不是很怨啊, 如果你早点看到这段文章,你就会比你的同事开发效率... 继续阅读 >