自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 收藏
  • 关注

原创 雨哥聊设计模式(三)用代码描述设计模式

1.聚合与组合聚合: class B { A* a; .....}组合: class B{ A a; ...}2.

2020-07-23 13:56:30 175

原创 雨哥聊设计模式(二)简单描述23种设计模式

1.简单工厂 当代码中很多地方使用new,malloc等系统提供的创建关键字,或者是第三方库提供的创建方法,应考虑将创建代码封装。无特殊要求情况下,使用简单工厂方法就可以实现。问:为什么要封装,不封装不行吗?答:使用简单工厂进行封装,是为了应对一旦创建方法需要改变(如:使用对象池、内存池等技术),只需要修改封装的方法即可。代码量少的情况下没问题,可以分别手动修改。当代码量到达一定规模时(出现几十次上百次的使用原始方法创建),修改代码会浪费很多时间,并且可能漏掉几处忘记修改。...

2020-07-23 11:25:52 196

原创 雨哥聊设计模式(零)前言

1.设计模式是一种编程范式,但编程可以不符合范式2.设计模式编写代码是需要成本的3.设计模式不依赖与具体编程语言4.设计模式是提高软件质量的利器5.设计模式使用不当可能会引起更大的问题6.设计模式不只有23种...

2020-07-23 10:44:28 149

原创 雨哥聊设计模式(一)一句话描述设计模式

创建型模式1.简单工厂:创建实例的函数需用参数指定具体类型2.工厂方法:提供创建操作的类是抽象类3.抽象工厂:一个抽象工厂类可以创建多种抽象类型4.单例模式:这个不用说5.原型模式:通过克隆拷贝已存在的对象实例6.建造者模式:建造过程的步骤确定,但每一步是抽象的结构型模式7.适配器模式:将已有功能的接口转换为需要的形式8.外观模式:将需要的接口都汇总到一个接口9.装饰模式:用动态组合手段,代替新建子类10.组合模式:想组织各对象间的层次结构,并且想统一地使用所有对

2020-07-17 15:45:01 164 1

原创 代码注释有感

看代码头大了吗?看看这里是否有你需要的方法

2023-10-25 19:32:15 136

原创 Linux so动态库路径搜索顺序

项目中遇到一个问题,可执行文件foo在编译时指定的libstdc++.so.6,运行时始终链接到系统/usr/lib64/libstdc++.so.6。经过一番思索(搜索:baidu,google,bing.......)终于找到一篇文章。记录于此,时刻提醒自己,技术的道路还很长!动态库搜索路径&顺序:LD_LIBRARY_PATH,rpath,系统默认动态库路径(/lib;/li...

2019-12-24 15:34:52 2017 3

原创 linux运维之------服务器状态信息

一、内存1.toptop - 14:21:27 up 265 days, 1:56, 3 users, load average: 0.09, 0.13, 0.14Tasks: 623 total, 1 running, 622 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.0 us, 0.8 sy, 0.0 ni, 99.2 ...

2019-07-16 14:41:30 208

转载 VS2008 断点不起作用 失效

1、无效断点所在的项目和启动项目的设置:项目->属性->配置属性->C/C++->常规->调试信息格式,这里不能为『禁用』; 2、项目->属性->配置属性->链接器->调试->生成调试信息,这里设为『是』; 3、C/C++->优化->优化选择『禁用』; 4、删除解决方案下的.ncb文件; 5、工具->选项->调试-

2018-06-12 11:37:29 2387

转载 现有的人脸数据库介绍及下载链接

在国际上已有的一些人脸数据库:Yale人脸库(美国):耶鲁大学,15人,每人11张照片,主要包括光照条件的变化,表情的变化等。ORL人脸库(英国):剑桥大学,40人,每人10张照片,包括表情变化,微小姿态变化,20%以内的尺度变化。FERET人脸库(美国):为 了促进人脸识别算法的研究和实用化,美国国防部的Counterdrug Technology Transfer Program(CTTP)发...

2018-03-09 18:13:46 2041 1

转载 随机变量不相关却不一定独立

原文:https://www.zhihu.com/question/26583332/answer/33330386(X,Y) 均匀分布在单位元 x^2 + y^2 = 1上<img src="https://pic1.zhimg.com/50/1226d3f907b09cd1aed77e09ea5d0496_hd.jpg" dat...

2018-03-08 12:03:26 12105

原创 查看linux发行版本及字长

[root@localhost ~]# uname -r2.6.32-358.el6.x86_64[root@localhost ~]# lsb_release -aLSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noa

2017-07-17 10:23:26 1043

转载 linux程序调试(一)------内存分布

1、地址映射64位地址采用4层地址映射,如下图:pgd、pud、pmd、pte各占了9位,加上12位的页内index,共用了48位。即可管理的地址空间为2^48=256T。而在32位地址模式时,该值仅为2^32=4G。另外64位地址时支持的物理内存最大为64T,见e820.c中MAX_ARCH_PFN的定义:# define MAX_ARCH_PFN MAXMEM>>P

2017-07-11 17:28:20 516

转载 冯诺依曼结构和哈佛结构

http://www.cnblogs.com/douzi2/p/4876551.html哈佛结构是,数据和代码分开存在。冯诺依曼结构是在哈佛结构之后提出的,冯诺依曼提出“代码本身也是一种数据”,解决了哈佛结构的一个问题——总线暂用资源太多。冯诺依曼结构是,数据和代码放在一起。首先,通过BIOS(Uboot)将硬盘(Flash)中的程序(数据和代码

2017-05-04 17:09:52 659

原创 关于JNI参数传递------jdouble,double和Double

昨天遇到了一个JNI传参的问题:Java函数如下:private native void jniSetDouble(String key, Double value); 签名为:(Ljava/lang/String;Ljava/lang/Double;)VJNI函数如下:JNIEXPORT void JNICALL jniSetDouble(JNIEnv *env, j...

2016-12-17 14:42:12 4640

转载 Architecture And Framework

http://www.cnblogs.com/iiiDragon/p/3223344.html高屋建瓴From Up to Down.Outside into inside.Interface-Oriented Framework with dynamic configuration.SOA:Service-Oriented Architecture.

2016-06-15 16:32:23 958

转载 基于FPGA与MATLAB的IIR滤波器设计与实现

http://blog.sina.com.cn/s/blog_139b6f6130102whcx.html一、IIR滤波器理论基础IIR滤波器,即无限脉冲响应滤波器,其单位脉冲响应是无限长的,其系统传递函数为 系统的差分方程可以写成二、IIR滤波器的设计方法一般来讲,IIR滤波器的设计方法可以分为三种:原型转换

2016-06-07 16:38:32 4396

转载 如何实现支持数亿用户的长连消息系统 | Golang高并发案例

此文是根据周洋在【高可用架构群】中的分享内容整理而成,转发请注明出处。周洋,360手机助手技术经理及架构师,负责360长连接消息系统,360手机助手架构的开发与维护。不知道咱们群名什么时候改为“Python高可用架构群”了,所以不得不说,很荣幸能在接下来的一个小时里在Python群里讨论golang....

2016-01-18 16:52:45 13311 1

转载 机器连接数

记得以前一台机器只能建立65535个连接的这种想法一直长时间占据着思维方式,为什么会有这种想法呢,估计最早起源于学校的port的short(16位65535)吧。一台机器connect同一IP,port的最大连接数嗯,既然一台机器只能最大建立65535个连接,那当然” 为什么一台机器connect同一个IP,port的tcp连接数不能超过65535个”这个问题的答案是对的,没有为什

2016-01-13 13:20:33 1145

转载 Linux 技巧:让进程在后台可靠运行的几种方法

想让进程在断开连接后依然保持运行?如果该进程已经开始运行了该如何补救? 如果有大量这类需求如何简化操作?

2016-01-13 12:36:22 424

原创 vmware bridge模式无法上网

解决方法:一下两处的MAC地址要一致!不一致可能无法上网。(以前linux下不一致也可以,估计用的是vmware版本的原因)VMware  11.1.0 build-2496824

2016-01-11 15:53:44 556

转载 SSL协议详解

http://kb.cnblogs.com/page/162080/背景介绍     最近在看《密码学与网络安全》相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL。  在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识。  1、密码学的相关概念密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性。明文

2016-01-05 13:23:05 667

转载 为什么在12306买火车票要装根证书?

http://techyan.weebly.com/2/post/2013/05/12306.html12306主页上有一段很显眼的文字—--“为保障您顺畅购票,请下载安装根证书。”这段文字和12306很多的其他问题一起成为网友诟病12306的话题,但是这个看似安全的根证书确可能会成为让12306用户们的安全受到严重威胁的东西。为什么在12306上买火车票要装根证书?想要回答这

2016-01-05 13:15:03 913

转载 中文分词器分词效果的评测方法

http://www.codelast.com/?p=7042现在有很多开源的中文分词器库,如果你的项目要选择其一来实现中文分词功能,必然要先评测它们的分词效果。如何评测?下面详细叙述。【1】黄金标准/Golden standard所谓的黄金标准是指:评价一个分词器分词结果的好坏,必然要有一份“公认正确”的分词结果数据来作为参照。通常,我们使用一份人工标

2016-01-04 12:19:36 782

转载 让你的Socket应用兼容IPv6

随着互联网越来越普及,以及物联网的兴起,IPv4地址已远远不够用,IPv6的普及将是不可避免的趋势。以前,我们的大部分socket程序几乎都是针对IPv4而开发,如果不做升级重构,那么使用IPv6地址的客户端将无法使用服务端提供的服务。如何才能像ESFramework一样,使服务端和客户端都可以同时支持IPv6了?使我们的P2P打洞也兼容IPv6了?下面我们将要点一一点出。      首先

2015-12-25 10:05:29 2838

原创 linux 下man的用法

man 2 read以下来自man手册MANUAL SECTIONS       The standard sections of the manual include:       1      User Commands       2      System Calls       3      C Library Functions     

2015-12-23 13:34:40 433

转载 Linux下获得进程id和进程名字

1. 通过进程名字得到进程id。pid_t getProcessPidbyName(char *name){    FILE *fptr;    char *buf = new char[255];    char cmd[255] = {'\0'};    pid_t pid = -1;    sprintf(cmd,"pidof %s",name);   

2015-12-23 13:06:08 3183

转载 Linux段页式管理思想--写操作系统内存管理必备知识,简单易懂

http://zhan.renren.com/h5/entry/3602888497996214030【转帖】一、概念1、物理地址(physical address)用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。—— 这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到

2015-12-16 23:11:58 907

转载 Android Native反调试

http://www.zhaoxiaodan.com/java/android/android-native%E5%8F%8D%E8%B0%83%E8%AF%95.html思考之前研究了下如何调试和尝试反一个别人加密的东西, 所以现在的体会就是:其实重点不是你如何加密, 重点是如何不让别人知道你怎么加密的因为像这种自己加密的资源运行的时候自己解密之后拿来

2015-12-10 15:49:51 1310

转载 穷人版valgrind

http://www.douban.com/note/524982126/valgrind是内存泄漏的万灵药,只要能用得上valgrind。但在实际当中不管是运行速度还是运行环境都受限太多。最近碰到一个第三方商业库的内存泄漏,既没有源代码,也没法在实验室的重现,更没法用valgrind,于是周末加班搞定了一个自制valgrind。valgrind提供的信息其实就两条。对所有申请的内存,

2015-12-09 20:18:07 515

转载 SSL与TLS的区别以及介绍

原文地址http://hengstart.iteye.com/blog/840561  SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。

2015-12-03 15:14:17 461

转载 人工智能(AI)资料大全

http://www.techug.com/awesome-artificial-intelligence这里收集的是关于人工智能(AI)的教程、书籍、视频演讲和论文。欢迎提供更多的信息。在线教程麻省理工学院人工智能视频教程 – 麻省理工人工智能课程人工智能入门 – 人工智能基础学习。Peter Norvig举办的课程EdX 人工

2015-12-02 13:12:40 2157

转载 一个美国人到中国当产品经理的心得:中国App设计真好!

http://www.techug.com/a-american-look-china-appTO 导读:应用软件层出不穷,各个国家的人为自己生活的便利设计出各款的应用。然而,同样的应用,是否会因为中西方文化的差异,或者是生活方式的不同,导致相同应用的设计有所不同吗?是的,有的!Dan Grover 现在是腾讯微信的产品经理。半年前,他从旧金山搬到广州。在这段时间,他试用过微信微博

2015-12-02 13:10:57 2849

转载 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理

http://www.awflasher.com/blog/archives/939当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来!最初来自:sinoprise.com/read.php?tid-662-page-e-fpage-1.html(遗憾的是这个链接已经打不开了),我基本未改动,只是进行了一些排版和整理。参

2015-12-01 13:53:54 389

转载 语音识别资料

Speech and Natural Language Processinghttps://github.com/edobashira/speech-language-processing/blob/master/README.rst

2015-10-21 09:56:26 623

转载 JNI中jstring操作

http://blog.sina.com.cn/s/blog_80c9582b0100so65.html使用JNI时,最常见的操作是将jstring转换成UTF字符串。JNI提供了几个转换函数:GetStringUTFChars,GetStringUTFRegion。GetStringUTFChars返回一个指向UTF字符串的指针,该函数会分配内存空间存储该字符串,因此使用完后

2015-09-10 14:24:46 2114

转载 网络监听函数listen()

listen()函数   是换换内容得时候了。假如你不希望与远程的一个地址相连,或者说, 仅仅是将它踢开,那你就需要等待接入请求并且用各种方法处理它们。处 理过程分两步:首先,你听--listen(),然后,你接受--accept() (请看下面的 内容)。 除了要一点解释外,系统调用 listen 也相当简单。 int listen(int sockfd, int backlog);

2015-07-09 15:30:22 3335

转载 各种大型网站技术架构

引言近段时间以来,通过接触有关海量数据处理和搜索引擎的诸多技术,常常见识到不少精妙绝伦的架构图。除了每每感叹于每幅图表面上的绘制的精细之外,更为架构图背后所隐藏的设计思想所叹服。个人这两天一直在搜集各大型网站的架构设计图,一为了一饱眼福,领略各类大型网站架构设计的精彩之外,二来也可供闲时反复琢磨体会,何乐而不为呢?特此,总结整理了诸如国外wikipedia,Facebook,Yahoo!,YouT

2015-05-05 17:46:46 794

转载 大型网站架构演化

http://www.cnblogs.com/GmrBrian/p/3777076.html一、大型网站系统特点  (1)高并发、大流量:PV量巨大  (2)高可用:7*24小时不间断服务  (3)海量数据:文件数目分分钟xxTB  (4)用户分布广泛,网络情况复杂:网络运营商  (5)安全环境恶劣:黑客的攻击  (6)需求快速变更,发布频繁

2015-05-05 16:54:52 618

转载 gcc ——“cannot execute binary file”

-c 只编译并生成目标文件,即.o文件。不加 -c 就应该可以了

2015-04-20 15:56:35 1509

转载 查看Linux版本系统信息方法汇总

Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号等等,整个CPU信息一目了然。一。查看内核版本命令:1) [root@SOR_SYS ~]# cat /proc/versionLinux version 2.6.18-238.el5 ([email protected]) (gcc version 4.1.2

2015-04-20 14:41:19 419

空空如也

空空如也

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

TA关注的人

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