11 2013 档案

摘要:基于《MySQL学习分享--Threadpool》对Threadpool架构设计的详细了解,本文主要对Threadpool的实现进行分析,并根据Mariadb和Percona提供的开源实现,进行简单的比较和评估。1、《TheThreadPoolPlugin》MySQL官方文档中,对Threadpool进行了详细的介绍,主要从实现和使用角度进行了说明。MySQL企业版实现通过插件方式实现,对源码逻辑没有侵入,是比较友好的方式。文档描述的实现机制方面,跟架构设计基本无出入。其中,thread_pool_size控制线程组的大小,thread_pool_stall_limit标志sql执行异常的情况 阅读全文
posted @ 2013-11-26 14:28 许杰的博客 阅读(1657) 评论(0) 推荐(0) 编辑
摘要:其实要说在Linux系统下播放音乐,确实是一件让人非常抓狂的事情,抛开各种音频格式的商业授权不说,即使提供给你相应的解码库,能玩儿得转的人那又是少之又少。可能有些盆友说ubuntu这方面确实做得不错,一旦默认安装好,几乎不用装任何其他东西,常见的是音频文件都可以正常播放了。因为我天生就有股喜欢折腾的劲儿,所以关于ubuntu确实不怎么感冒,只能说萝卜白菜各有所爱吧。今天我们以wav文件(也就是上一篇博文所提到的PCM格式的音频文件)为例,看看在Linux下怎么播放它,顺便会简单介绍一下Linux系统的音频驱动框架的基础知识。 说到Linux系统下的音频系统驱动框架,最常见的有OSS和ALSA。 阅读全文
posted @ 2013-11-25 16:07 许杰的博客 阅读(395) 评论(0) 推荐(0) 编辑
摘要:ps:安装了好久,最好才发现很简单,步骤记录下吧遇到oracle爆破登录的时候OCI8报错,如下图安装oracle 前面关于oracle client的安装就看官方文档吧http://dev.metasploit.com/redmine/projects/1/wiki/OracleUsage http://dev.metasploit.com/redmine/projects/framework/wiki/OracleUsage安装OCI8 这个时候需要注意去官方下载一个ruby-oci8-2.1.5即可,此处可参考官方http://ruby-oci8.rubyforge.org/en/fil 阅读全文
posted @ 2013-11-25 11:52 许杰的博客 阅读(1061) 评论(0) 推荐(0) 编辑
摘要:1:公司里有多个业务系统,需要进行统一重构,有PHP的、有Java的、有.NET的,甚至还有delphi的。2:公司里有多个数据库系统,有mysql的、有sqlserver的、还有oracel的,甚至还有access的。3:系统多了,需要进行统一管理维护,集成单点登录,集中授权管理。4:其实很多时候想遇到一个公司用很多开发语言的环境也是有难度的,因为一个公司走一个重点开发语言就可以了,多了顾得来东顾不来西。[技术支持fun1404.com]//-----------------------------------------------------------------// All Righ 阅读全文
posted @ 2013-11-25 11:35 许杰的博客 阅读(526) 评论(0) 推荐(0) 编辑
摘要:SQLAnywhere[ASA]数据库(以下简称ASA)中的数据库文件,是如何存储普通的表的记录行呢?插入、更新、删除时,记录行的存储会有什么变化? 了解了这些,才能更好的理解如何对ASA数据库进行调优,尤其是物理存储方面。1. ASA数据库尽一切可能对数据行连续存储数据库文件中小于单个页面的记录行总是存储在单个页里,如果当前页没有足够的空间容纳新的记录行,数据库会将新行写到新的页里。例如,当一个新行需要600字节,但是当前页空闲空间只有500字节,那么,ASA会把这600字节的新行放到新的数据页里。为了达到连续存储 的目的,ASA每次分配8个页面,称为一个块(block),如,当它需要一个新 阅读全文
posted @ 2013-11-19 09:52 许杰的博客 阅读(465) 评论(0) 推荐(0) 编辑
摘要:node.js的http模块的基础 学到的东西其中客户端:我们在node.js中如果要请求服务端中的js或者其他脚本的话要使用http.request()方法他会返回http.ClientRequest这个对象的实例。而这个对象中的第二个参数是一个函数这个函数中的参数为http.ClientReponse这个对象的实例(也就是要把服务器返回的内容回显出来的一个操作)点击(此处)折叠或打开http.request(options,function(**res**){res.setEncoding('utf8')设置请求的字编码});http.ClientReponse这个对象绑定 阅读全文
posted @ 2013-11-16 15:02 许杰的博客 阅读(172) 评论(0) 推荐(0) 编辑
摘要:回忆一下RIP协议建立邻居的过程。在运行RIP协议的路由器A启动之后会向邻居路由器B发送一个请求报文,邻居收到后回应一个确认报文。然后路由器A将自己已知的所有报文发送给路由器B,并且每隔30秒周期性的向自己的邻居发送。那么这样一个看似简单的过程有什么弊端呢?首先,RIP协议每个30秒周期性的发送是为了确保一台路由器发生故障后能够更新路由表。所以这每隔30秒周期性的发送报文包含了大量的路由信息实际上是一种浪费。因为如果网络没有发生变化,这些报文是没有实际意义的。OSPF把维护路由信息报文和更新的路由报文这两种报文分开来发送。如下图所示:RT1启动之后发送一个Hello报文,Hello报文中包含了 阅读全文
posted @ 2013-11-15 14:51 许杰的博客 阅读(921) 评论(0) 推荐(0) 编辑
摘要:先说一个简单的方案. 经过验证 g++ 和 vs2010 都可以.原理就是利用函数类型可以直接转换成函数指针.templatebool test(T*t){returntrue;}bool test(...){returnfalse;}#includeusing namespace std;intmain(){intk=12;coutclassIsFunction{private:typedef char ONE;typedef struct{char a[2];}TWO;templatestatic ONE test(...);templatestatic TWO test(U(*)[1]) 阅读全文
posted @ 2013-11-15 14:34 许杰的博客 阅读(708) 评论(0) 推荐(0) 编辑
摘要:1GPU简介 图形处理单元GPU英文全称Graphic Processing Unit,GPU是相对于CPU的一个概念,NVIDIA公司在1999年发布GeForce256图形处理芯片时首先提出GPU的概念。GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作(主要是并行计算部分)。GPU具有强大的浮点数编程和计算能力,在计算吞吐量和内存带宽上,现代的GPU远远超过CPU。目前NVIDIA最新的CUDA图形计算架构主要是Fermi架构和Kepler架构。2 Fermi架构概述 上图是Fermi架构的GPU的核心架构图。基于GPU的第一代Fermi 架构拥有30亿个晶体管,512个... 阅读全文
posted @ 2013-11-08 11:30 许杰的博客 阅读(3374) 评论(0) 推荐(0) 编辑
摘要:常见的Linux发行版主要可以分为两类,类ReadHat系列和类Debian系列,这里我们是以其软件包的格式来划分的,这两类系统分别提供了自己的软件包管理系统和相应的工具。类RedHat系统中软件包的后缀是rpm;类Debian系统中软件包的后缀是deb。另一方面,类RedHat系统提供了同名的rpm命令来安装、卸载、升级rpm软件包;类Debian系统同样提供了dpkg命令来对后缀是deb的软件包进行安装、卸载和升级等操作。 rpm的全称是Redhat Package Manager,常见的使用rpm软件包的系统主要有Fedora、CentOS、openSUSE、SUSE企业版、PCLinu 阅读全文
posted @ 2013-11-08 11:14 许杰的博客 阅读(719) 评论(0) 推荐(0) 编辑
摘要:21世纪的前10年是IT技术迅速发展的10年,嵌入式技术、互联网技术等蓬勃发展,程序员,尤其是高级程序员可观的薪水以及程序员巨大的发展潜力使得越来越多的人选择了程序员作为未来的职业。同时,由于计算机技术自身博大精深,涉及的知识面很广,企业在给程序员开出高薪的同时,对他们的专业素养也提出了非常高的要求。每年九月份开始,各大IT企业开始招兵买马,招贤纳士,无数具有计算机专业背景的学生都希望在招聘季能够进入自己渴望的企业,自己喜欢的行业,并且领取一份可观的薪水,寻找一份这样的工作成为每一个求职者的终极目标。但是这些企业的招聘人数毕竟是有限的,像Google、Microsoft这样的行业巨头,每年在中 阅读全文
posted @ 2013-11-05 14:59 许杰的博客 阅读(286) 评论(0) 推荐(0) 编辑
摘要:前言file命令可以获取多种文件类型,包括文本文件、脚本文件、源码文件、多媒体文件(音频视频)等。file是通过查看文件的头部内容,来获取文件的类型,而不像Window那样是通过扩展名来确定文件类型的。命令用法-z 获取压缩文件的类型(不能是用tar打包过的),比如gzip、zip等压缩过的-L 获取软链所指向的文件的类型-f 指定文件列表参数,获取该列表里面的所有文件的类型常见用法file FileName 1: [root@master lianxi]# file test 2: test: ASCII text 1: [root@master lianxi]# > 1 2: [ro 阅读全文
posted @ 2013-11-05 14:39 许杰的博客 阅读(848) 评论(0) 推荐(0) 编辑
摘要:前言shell作为用户和操作系统内核交互的接口,也不断的在发展迭代。shell的发展也离不开unix/linux 系统的发展。并且在开源社区对shell的发展也起到了推动作用。内容思维导图简介发展历史从最早的bourne shell的问世,shell一直经历着较快的更新迭代。 1970年美国Bell lab由Stephen Bourne(大神啊)主导开发了bourne shell,改shell以Stephen本身姓名命名。最早的shell出现了,并且bourne shell也在不断的发展。bourne shell使用Algol语言开发的(没百度以前没听过这神一样的语言)。在那是C语言很流行,并 阅读全文
posted @ 2013-11-05 09:11 许杰的博客 阅读(1897) 评论(0) 推荐(0) 编辑
摘要:今天和几位同仁一起探讨了一下C++的一些基础知识,在座的同仁都是行家了,有的多次当过C++技术面试官。不过我出的题过于***钻: 不是看起来太难,而是看起来极其容易,但是其实非常难! 结果一圈下来,3道题,竟然无一人答对,于是只能安慰大家,这几道题,答不对是正常的。 "你真的清楚构造函数,拷贝构造函数,operator=,析构函数都做了什么吗? 它们什么时候被调用?",这些问题可不是面向初菜的问题,对于老鸟而言,甚至对于许多自诩为老手的人而言,倒在这上面也是很正常的。因为这个问题的答案不但考察我们对于C++语言的理解,而且答案是和编译器的实现有关的!【第一题】以下代码,main 阅读全文
posted @ 2013-11-04 16:38 许杰的博客 阅读(551) 评论(0) 推荐(0) 编辑
摘要:我说过了,shell是我的常规武器,目前虽然还不纯熟,但是我爱shell这门语言,在Linux下面混,总要写脚本。程序员是有基因,对编程语言是有偏好的,你让我写C代码,我会觉得很爽,会有困难,会有痛苦的摸索和学习,但是,我愿意;学习shell/python,我也很乐意,甚至Lisp这种冷门的语言我也充满了好奇,虽然现在Go和Erlang我一点也不懂,但是我按耐不住对这两种语言的兴趣,只要我抽出手来,一定会和他们缠绵一番。有爱就会有恨,我痛苦地意识到到自己是个很情绪化的程序员,哪怕我一遍遍地骂自己bitch is bitchy,一遍遍的告诉自己要端正态度,学习CSS/HTML/仍然让我痛苦的死去 阅读全文
posted @ 2013-11-02 14:14 许杰的博客 阅读(257) 评论(0) 推荐(0) 编辑
摘要:前言废话——sql是程序员的饭碗,繁琐but万能,但能干并不意味着适合干,每当多表关联寻找外键时,我都在经历一种没有选择的痛苦。sql不完美,但长期代码让人无暇顾及完美,再痛苦的呐喊到最后都归于疲倦已极的无奈,就在还愿意记下它们的时候存个档吧。午饭吃饱了,打个盹,做个梦去。正文:发明SQL的主要目的是为结构化数据提供一种屏弊数据物理存储方案的访问方法,因此SQL中大量使用了类英语的词汇和语法以降低理解和书写困难。作为SQL基础理论的关系代数是个完备的计算体系,原则上可以计算一切。这样看来,我们理所应当地用SQL完成各种数据计算需求。但是,尽管关系数据库取得了巨大的成功,SQL却显然没有达到其发 阅读全文
posted @ 2013-11-01 13:37 许杰的博客 阅读(241) 评论(0) 推荐(0) 编辑