SpartacusIn21

专注:c++,python,d3d,设计模式,人工智能,并行计算

#

[置顶] 设计模式之单例模式

摘要: 意图 保证一类仅有一个实例,并提供一个访问它的全局访问点。 适用性 在下面的情况下可以使用Singleton模式: 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 当这个唯一的实例应该是通过子类可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。 UML图 Instance 阅读全文

posted @ 2017-08-07 23:36 SpartacusIn21 阅读(339) 评论(0) 推荐(0) 编辑

#

[置顶] 设计模式之工厂模式(抽象工厂、工厂方法、简单工厂)

摘要: 1 前言 工厂模式分类: 抽象工厂(Abstract Factory):提供一个创建一系列相关或者相互依赖对象的接口,而无需指定它们具体的类。抽象工厂允许客户使用抽象的接口来创建一组相关的产品,而不需要知道或关心实际产出的具体产品是什么。这样一来,客户就能从具体的产品中被解耦。 工厂方法(Facto 阅读全文

posted @ 2017-08-02 17:46 SpartacusIn21 阅读(628) 评论(0) 推荐(0) 编辑

#

[置顶] 设计模式之观察者(OBSERVER)模式

摘要: 定义 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 Observer模式描述了如何建立这种关系。这一模式中的关键对象是目标(subject)和观察者(observer)。一个目标可以有任意数目的依赖它的观察者。一旦目标的状态发生改变,所有的 阅读全文

posted @ 2017-07-15 15:30 SpartacusIn21 阅读(808) 评论(0) 推荐(0) 编辑

2018年3月24日 #

经典卷积神经网络——LeNet-5

摘要: LeNet-5 LeNet于90年代被提出,鉴于当时的计算能力和内存容量,直到2010年才能真正的实施这样的大规模计算。LeNet-5是LeCun于1998年提出的深度神经网络结构,总共包含7层网络(除输入层外):2层卷积层、2层池化层、3层全连接层(在原论文中第一个全连接层被称为卷积层)。网络结构 阅读全文

posted @ 2018-03-24 19:29 SpartacusIn21 阅读(987) 评论(0) 推荐(0) 编辑

2018年3月11日 #

mac安装tensorflow

摘要: tensorflow简介 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复 阅读全文

posted @ 2018-03-11 15:11 SpartacusIn21 阅读(454) 评论(0) 推荐(0) 编辑

2017年12月18日 #

curl/libcurl获取打开网页平均网速

摘要: CURL: LIBCURL: 参考资料: https://curl.haxx.se/libcurl/c/chkspeed.html 阅读全文

posted @ 2017-12-18 16:29 SpartacusIn21 阅读(719) 评论(0) 推荐(0) 编辑

2017年12月17日 #

json字符串对象内嵌json对象

摘要: 有时候需要在json的key:value字符串对象中再嵌入一个json对象,如果需要把如下的json对象作为字符串嵌入到json字符串对象中: 需要谨记的一个原则是,一个字符串如果如果被嵌套到一个字符串中,原来的"就需要用转义字符\来表示为\",\需要用转移符表示为\\;同理举例,如果一个字符串被3 阅读全文

posted @ 2017-12-17 12:56 SpartacusIn21 阅读(4524) 评论(0) 推荐(1) 编辑

2017年11月15日 #

移动构造函数

摘要: C++03 性能上被长期被诟病的其中之一,就是其耗时且不必要的深度拷贝。深度拷贝会发生在当对象是以传值的方式传递。举例而言,std::vector<T> 是内部保存了C-style 数组的一个包装,如果一个std::vector<T>的临时对象被建构或是从函数返回,要将其存储只能通过生成新的std: 阅读全文

posted @ 2017-11-15 18:04 SpartacusIn21 阅读(369) 评论(0) 推荐(0) 编辑

2017年10月10日 #

vs调试正确显示utf8格式字符串

摘要: 自从将visual studio从2010升级到2015后,发现调用接口的utf8格式字符串不能正常显示了,常常被莫名其妙截断,查了下,原来可以直接将变量拖到watch窗口中,在变量名后面手动添加,s8予以解决, 总结如下: ,s8:将字符串转成unicode展示 ,数字 将变量拆分为数组显示, 数 阅读全文

posted @ 2017-10-10 11:52 SpartacusIn21 阅读(2323) 评论(0) 推荐(1) 编辑

2017年9月20日 #

paho.mqtt.c打印日志

摘要: mqtt中自身就带有日志系统Log.h和Log.c,这些日志文件是在客户端调用MQTTClient_create函数是初始化的,MQTTClient_create源码如下: 可以看到MQTTClient_create中调用了Log_initialize来初始化日志系统,Log_initialize源 阅读全文

posted @ 2017-09-20 20:25 SpartacusIn21 阅读(2539) 评论(0) 推荐(0) 编辑

2017年9月11日 #

设计模式之生成器(Builder)模式

摘要: 意图 意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以表示不同的表示。 适用性 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 当构造过程必须允许被构造的对象有不同的表示时。 UML图 Builder ——为创建一个Product对象的各个部件指定抽象接口。 C 阅读全文

posted @ 2017-09-11 21:42 SpartacusIn21 阅读(474) 评论(0) 推荐(0) 编辑

2017年9月6日 #

如何在MD(d)和MT(d)工程间正确分配和释放动态内存

摘要: MD(d)和MT(d) MD(d)和MT(d)是windows下VC开发的两个编译选项,表示程序的运行时库编译选项。 /MT是"multithread, static version" 意思是多线程静态的版本,定义了它后,编译器把LIBCMT.lib安置到OBJ文件中,让链接器使用LIBCMT.li 阅读全文

posted @ 2017-09-06 22:44 SpartacusIn21 阅读(589) 评论(0) 推荐(0) 编辑

curl报35错误码

摘要: 一、curl常见schannel错误 schannel: SNI or certificate check failed: SEC_E_WRONG_PRINCIPAL<0x80090322> 该错误主要原因是服务端使用了SNI技术(就是在同一台服务器配置了多个安全证书),而xp不支持SNI,所以xp 阅读全文

posted @ 2017-09-06 22:16 SpartacusIn21 阅读(16238) 评论(0) 推荐(0) 编辑

2017年9月3日 #

linux常用命令汇总(更新中...)

摘要: 文本查看与编辑 1、文本编辑命令 vi/vim 2、查看文件内容命令 显示完一屏内容后停下,可以下翻。回车键可以单行下翻, Ctrl+f可以整页下翻,若需退出按q键。 和more一样,唯一区别就是可以使用pagedown和pageup进行上翻和下翻,方便一些。 默认情况下,用于显示文件内容的前10行 阅读全文

posted @ 2017-09-03 15:05 SpartacusIn21 阅读(206) 评论(0) 推荐(0) 编辑

2017年8月2日 #

面向对象设计模式(更新中...)

摘要: 1.前言 GOF一书中对模式进行了分类,以下文字摘自该书: 第一是目的准则,即模式是用来完成什么工作的。模式依据其目的可分为创建型(Creational)、结构型(Structural)、或行为型(Behavioral)三种。创建型模式和对象的创建有关;结构型模式处理类和对象的组合;行为型模式对类或 阅读全文

posted @ 2017-08-02 17:48 SpartacusIn21 阅读(158) 评论(0) 推荐(0) 编辑

2017年7月31日 #

spy++捕获窗口消息

摘要: 打开spy++,窗口截图如下,点击窗口搜索按钮(红框标识) ,如果找不到对应的窗口,鼠标右键刷新即可。 鼠标左键点击窗口搜索图标,按住不放,拖到需要抓取消息的窗口上: spy++会自动在列表中高亮定位抓取到的窗口,如下图所示,notepad++的new1窗口被抓取到了。再点击菜单栏 监视->日志消息 阅读全文

posted @ 2017-07-31 12:36 SpartacusIn21 阅读(7081) 评论(1) 推荐(0) 编辑

导航