Word标题自动编号设置

进入word后,点击"多级列表"

多级列表

选择"定义新的多级列表"

定义新的多级列表

多级列表设置

多级列表设置

如果框不是这样的话,应该要点击左下角的"更多"。

C# 跨线程更新UI

消息机制

windows程序消息机制

Windows GUI程序是基于消息机制的,有个主线程维护着一个消息泵。这个消息泵让windows程序生生不息。

Windows GUI程序的消息循环

Windows程序有个消息队列,窗体上的所有消息是这个队列里面消息的最主要来源。这里的while循环使用了GetMessage()这个方法,这是个阻塞方法,也就是队列为空时方法就会被阻塞,从而这个while循环停止运动,这避免了一个程序把cpu无缘无故地耗尽,让其它程序难以得到响应。当然在某些需要cpu最大限度运动的程序里面就可以使用另外的方法,例如某些3d游戏或者及时战略游戏中,一般会使用PeekMessage()这个方法,它不会被windows阻塞,从而保证整个游戏的流畅和比较高的帧速。

定时任务cron表达式详解

CRON表达式

示例

表达式 含义
0 * * * * ? 每1分钟触发一次
0 0 * * * ? 每天每1小时触发一次
0 0 10 * * ? 每天10点触发一次
0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发
0 30 9 1 * ? 每月1号上午9点半
0 15 10 15 * ? 每月15日上午10:15触发
*/5 * * * * ? 每隔5秒执行一次
0 */1 * * * ? 每隔1分钟执行一次
0 0 5-15 * * ? 每天5-15点整点触发
0 0/3 * * * ? 每三分钟触发一次
0 0 0 1 * ? 每月1号凌晨执行一次

稳定器三种模式的区别

横滚

俯仰

开机默认跟随模式,或者叫左右跟随模式。

左右跟随

跟随模式横滚、俯仰锁定,水平朝向随握把方向平滑转动。也就意味着,操作者水平转动握杆,相机会缓慢的转动至握把朝向的方向拍摄;操作者俯拍或者仰拍,相机仍然朝最初的俯仰方向拍摄;操作者左右摆动稳定器,相机仍然保持水平方向拍摄。在这个模式下,UP/DOWN键,改变的是相机的俯仰角度。

Windows 配置 Aria 及 AriaNg

Aria是什么

Aria2 是一个多平台轻量级,支持 HTTP、FTP、BitTorrent 等多协议、多来源的命令行下载工具。Aria2 可以从多个来源、多个协议下载资源,最大的程度上利用了你的带宽。Aria2 有着非常小的资源占用,在关闭磁盘缓存的情况下,物理内存占用通常为 4M(正常 HTTP/FTP 下载的情况下),BitTorrent 下载每秒2.8M/S的情况下,CPU 占有率约为 6%。Aria2 支持 JSON-RPC 和 XML-RPC 接口远程调用。

服务启动时报错The service did not respond to the start or control request in a timely fashion

案例环境

启动一台数据库服务器(Windows Server 2003)的Reporting Service(SQL Server 2008 R2)服务时,出现如下错误信息:

System.InvalidOperationException: Cannot start service ReportServer on computer ‘xxx’. —> System.ComponentModel.Win32Exception: The service did not respond to the start or control request in a timely fashion — End of inner exception stack trace — at System.ServiceProcess.ServiceController.Start(String[] args) at System.ServiceProcess.ServiceController.Start() at ReportServicesConfigUI.Panels.ServerInformationPanel.StartStopServiceTask(Boolean start)

Quartz.net 设置任务中同时最多运行一个实例 [DisallowConcurrentExecution]

Quartz定时任务默认都是并发执行的,不会等待上一次任务执行完毕,只要间隔时间到就会执行, 如果定时任执行太长,会长时间占用资源,导致其它任务堵塞。

C++11 智能指针与垃圾回收

程序员在处理现实生活中的C/C++程序的时候,常会遇到诸如程序运行时突然退出,或占用的内存越来越多,最后不得不定期重启的一些典型症状。这些问题的源头可以追溯到C/C++中的显式堆内存管理上。通常情况下,这些症状都是由于程序没有正确处理堆内存的分配与释放造成的,从语言层面来讲,我们可以将其归纳为以下的一些问题:

C++11 智能指针学习

C#、Java、python和go等语言中都有垃圾自动回收机制,在对象失去引用的时候自动回收,而且基本上没有指针的概念,而C++语言不一样,C++充分信任程序员,让程序员自己去分配和管理堆内存,如果管理的不好,就会很容易的发生内存泄漏问题,而C++11增加了智能指针(Smart Pointer)。主要分为shared_ptr、unique_ptr和weak_ptr三种,使用时需要引用头文件。c++98中还有auto_ptr,基本被淘汰了,不推荐使用。而c++11中shared_ptr和weak_ptr都是参考的boost库中实现的。

C++11 容器相关特性

cbegin和cend

原来的begin和end返回的iterator是否是常量取决于对应的容器类型,但是有时,即使容器不是常量类型,我们也希望获得一个const_iterator,以避免不必要的修改行为。C++11新标准中提供了cbegin和cend函数,无论容器类型,都固定返回const_iterator。