JAVA8 十大新特性详解 > 本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API上的改进,比如流,函数式接口,Map以及全新的日期API “Java is stil...

阅读全文 »

通过Node.js脚本来调用AStyle.exe格式化代码。 src:需要格式化的代码目录 params:AStyle参数,默认使用linux风格 filterNameList:不进行格式化的目录,跳过这些目录 regSuffix:需要格式化的文件名正则 ...

阅读全文 »

![一张图展示google c++ 代码规范](http://omqnkdrdg.bkt.clouddn.com/o_1ci8lqdh71vog1el0gms1qmp8fna.png) > 如果看起来太小可以在新的标签页中打开。...

阅读全文 »

我们使用Qt官方提供的安装包制作框架qt-installer-framework来打包我们的应用程序,同时它支持三个平台:Windows,Linux,OS X。 功能强大,用起来也很方便,这里只介绍一下基本用法,完全能满足我们的要求。 qt-installer-framework下载地址...

阅读全文 »

使用visual studio IDE经常要进行一些工程属性的配置,通常是引入第三方库。如果库比较多的话每次建新工程都要配置一下比较麻烦,.props文件可以帮助我们把一些固定的配置写好,下次使用的时候直接import到vcxproj文件中就可以了。.props中的配置相当于vcxproj配置中的一...

阅读全文 »

每次clone项目非常慢只有几十kb,稍微大一点的项目要花费蛮长的时间而且中途可能会断掉,下面方法可以解决这个问题。 获取github域名对应的IP地址 访问[https://www.ipaddress.com](https://www.ipaddress.com)(如果不行的话可能要翻...

阅读全文 »

环境:腾讯云服务,nodejs服务,nginx反向代理 获取证书 获取证书有多重途径,我是在腾讯云申请免费版DVSSL证书(一年期限) * 登录腾讯云 * 选择云产品->域名与网站->SSL证书管理->申请证书 上传证书 根据不同服务器选择相应的证书文件,我用的是ng...

阅读全文 »

最近尝试使用了一下Boost.Asio,不知道是否因为各大公司都有自己相对成熟的网络库的缘故,网络上Asio相关的资料实在不多,而且很多翻来覆去就是那几个简单的示例,所以打算自己小结一下。总的来说Boost.Asio是个非常易用的库,避免了你在各种系统底层API之间的挣扎,让你可以非常迅速的开发出高...

阅读全文 »

如将字符串"abcdef"的前两个字符翻转到后面变成"cdefab"。 整个字符串可以分为左边和右边两部分,翻转思路是: * 将左边字符串反序("ab"变成"ba") * 将右边字符串反序("cdef"变成"fedc") * 左右部分反序后的组合是"bafedc" * 最后将整个字...

阅读全文 »

大的方面:程序架构,算法,数据结构。 1 关于继承:不可否认良好的抽象设计可以让程序更清晰,代码更看起来更好,但是她也是有损失的,在继承体系中子类的创建会调用父类的构造函数,销毁时会调用父类的析构函数,这种消耗会随着继承的深度直线上升,所以不要过度的抽象和继承。 2 对象的复合:对象的复...

阅读全文 »

class Rational { public: Rational(int a = 0, int b = 1) : a_(a), b_(b) { } Rational(const Rational &rhs) : a_(rhs.a()), b_(rh...

阅读全文 »

虚基类中要实现virtual析构函数 否则,在下面的例子中子类Dog得不到释放 include <iostream> include <memory> class Animals { public: Animals() { std::cout << "A...

阅读全文 »

收集的一些比较实用的函数,头文件依赖(不包括全部): include <TlHelp32.h> include <psapi.h> include <Windows.h> include <time.h> include <algorithm> include <i...

阅读全文 »

bug修复,for循环倒叙遍历的时候千万不要用size_t 如下代码: std::vector<int> x = { 1, 2, 3, 4, 5 }; for (size_t i = x.size() - 1; i >= 0; i--) { std::cout << x...

阅读全文 »

正确实现String可以考察C++的一些基本功,稍不注意就会出错,下面来列举一下关键点: 1. 构造函数,拷贝构造,赋值操作符是必须的; 2. 成员初始化列表执行顺序; 3. c_str()不要返回空指针; 4. 实现swap函数; 5. 分配内存的时候要用外面传进来的size; 6. ...

阅读全文 »

我的云服务器上目前部署的是我的博客,每次重启服务器都要重启一下所有程序蛮麻烦的,所以这次把它自动化了。重启系统后自动执行脚本部署所有服务。 目前服务器上如下服务需要重启: * nginx:反向代理 * mongodb:数据库 * 3inns:我的博客 * ningto:新版博客(rea...

阅读全文 »

1.firewalld的基本使用 启动: systemctl start firewalld 查看状态: systemctl status firewalld 停止: systemctl disable firewalld 禁用: systemctl stop firewa...

阅读全文 »

在输入框进行搜索的时候,通常我们每输入一个文字都要进行一次搜索,这样能得到实时的搜索结果。如果搜索速度很快的话当然是没问题的。 如果搜索的速度慢,当用户快速输入的时候就会很卡了。 其实在用户快速输入的时候对中间搜索的结果并不感兴趣,最后的结果才是我们想要的,所以中间过程的频繁搜索中是有些...

阅读全文 »

碰到了一个内存释放的问题,在进行某个复杂的操作时内存释放后否则会造成崩溃。经过多方面调查发现此时根据就不能释放内存(历史原因),否则会造成不可预知的问题。所以我打算把要删除的指针暂时保存起来,并不立马delete,等到10秒钟还没有操作的时候(稍微空闲)再把保存的指针都销毁掉。 后来顺利的解决...

阅读全文 »

系统自带的tooltip太简单了,自定义tooltip就灵活多了,可以定义各种各样的控件样式。 从QDialog继承 class Tooltip : public QDialog 设置无边框属性 setWindowFlags(Qt::Framel...

阅读全文 »