- 博客(472)
- 资源 (80)
- 收藏
- 关注

转载 如何利用MongoDB实现高性能,高可用的双活应用架构?
【51CTO.com原创稿件】投资界有一句至理名言——“不要把鸡蛋放在同一个篮子里”。说的是投资需要分解风险,以免孤注一掷失败之后造成巨大的损失。随着企业服务窗口的不断增加,业务中断对很多企业意味着毁灭性的灾难,因此,跨多个数据中心的应用部署成为了当下最热门的话题之一。如今,在跨多个数据中心的应用部署最佳实践中,数据库通常负责处理多个地理区域的读取和写入,对数据变更的复制,并提供尽可能高的可用性、...
2018-04-02 15:57:00
2520

转载 IT工程师的“五个等级”,你处在哪一级?
我想,不管过去的一年过的怎样,大部分工程师们对开年的的工作和生活都应该是有所憧憬和计划的,我也不例外。只不过我选择了把吴军(https://zh.wikipedia.org/zh-hans/吴军_(计算机科学家))老师《硅谷来信》上看到的《五级工程师和职业发展》重温了一下(版权原因,我这里无法提供原文的链接,但这一定阻挡不了聪明、求知若渴的你)。如果你看过原文,我依然觉得你不妨看看这里的思考,因为...
2018-04-02 15:55:45
26494
3

转载 互联网和物联网的区别,你有必要了解一下
区别:物联网的本质是感知与服务,物联网的数据可交易,对于大数据和云计算的价值巨大。移动互联网和互联网的本质是基于手机和PC的线上信息和内容推送和共享,信息会消失也会重造,对大数据和云计算价值有限。1. 物联网物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。其英文名称是:“Internet of things(IoT)”。顾名思义,物联网就是物物相连的互联网。基本优点:物联网...
2018-04-02 15:53:53
5631

转载 为什么拿着手机拍电脑屏幕会出现波纹?
这种波纹叫莫尔条纹。一言以蔽之,就是空间频率相近的两条线条相互干涉,由2组或多组不同的条纹重叠后所产生的干涉的影像。莫尔条纹是两条线之间以一定的频率发生干涉的视觉的结果,当人眼无法分辨了这两条线或两个物体时,实际上就是放大了条纹之间的差异。我们做个试验,比如在两张透明塑料纸上分别画上一排竖线,其中上面那张每隔 1 mm 画一条,而下面那张每隔 1.2 mm 画一条,我们就很容易发现,竖线每隔 12...
2018-04-02 15:42:11
4824

原创 关于C#编译方式的一些说明(x86\x64\anycpu)
最近在做的项目涉及到32位以及64位的问题,查看了很多资料,大部分都是如下这样的解释。一、在VisualStudio中,编译设置有如下选项: x86: 将程序集编译为由兼容 x86 的 32 位公共语言运行库运行。 x64: 将程序集编译为由支持 AMD64 或 EM64T 指令集的计算机上的 64 位公共语言运行库运行。 anycpu:(默认值)将程序集编译为在任意平台上运行。...
2018-04-02 13:30:39
11706

转载 VC中如何打开Com10及以上的串口
今天用以前的一个串口程序,发现串口怎么也打不开。因为用的串口不是常规的COM1、COM2而是大于Com10的端口,想着是很简单的增加几个选项就可以轻松搞定的,结果加上后测试,发现总是初始化失败,调试发现在CreateFile里总是失败,找到MSDN一看果然这里有区别。 Win32 API函数CreateFile()除了可打开普通文件外,还可以打开设备,比如可用于打开串口,获得串口句柄。
2015-09-09 15:00:22
6597
1

转载 do...while(0)的妙用
在C++中,有三种类型的循环语句:for, while, 和do...while, 但是在一般应用中作循环时, 我们可能用for和while要多一些,do...while相对不受重视。 但是,最近在读我们项目的代码时,却发现了do...while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。1. do...while(0)消除goto语句。通常,如果在一个
2013-03-11 16:48:12
816

原创 一个关于静态局部变量以及全局变量的例子
先看一段代码static int j;void fun1(void){ static int i = 0; i++; printf("i = %d \n", i);}void fun2(void){ j = 0; j++; printf("j = %d \n", j);}int main(int argc, char* argv[]){ for (int
2011-11-02 09:31:47
1697

转载 函数调用方式
__stdcall 被这些修饰关键字修饰的函数,其参数都是从右向左通过堆栈传递的(__fastcall的前面部分由ecx,edx传), 函数调用在返回前要清理堆栈,但由调用者还是被调用者清理不一定。 1、_stdcall是Pascal方式清理C方式压栈,通常用于Win32 Api中,函数采用从右到左的压栈方式, 自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后
2010-03-16 22:37:00
666
转载 纯技术之间的争夺 大数据会被区块链摧毁吗
笔者在写这个标题的时候,已经做好被喷的准备。你随便搜索一下“大数据 区块链”会发现,大数据与区块链的结合几乎是所有人都看好的。笔者并不反对这个观点,但如果从当下来看,大数据与区块链之间仍然存在着一些分歧,而这些分歧从某种意义上让大数据与区块链处在了对立的位置。我们先看近期两个非常热门的例子。第一个例子是大数据杀熟。一些平台的老用户发现,在花钱买服务的过程中,服务商报出的价格比新用户的要高,甚至苹果...
2018-04-02 15:54:39
1072
转载 iOS程序员这样面试,当场拿到offer的几率是80%?
一、概述面试,难还是不难?取决于面试者的底蕴(气场+技能)、心态和认知及沟通技巧。面试其实可以理解为一场聊天和谈判,在这过程中有心理、思想上的碰撞和博弈。其实你只需要搞清楚一个逻辑:“面试官为什么会这样问?他希望听到什么答案?”然后针对性的准备和回答就行了,无他。“你的优势是什么?”多年前我觉得这个问题很无聊,现在我经常这么问面试者,因为我真的想知道他的优势是什么,能给公司带来什么。最终能和面试官...
2018-04-02 15:51:11
3658
转载 为什么要做多活?饿了么多活技术架构及运维挑战
51CTO.com原创稿件】饿了么业务快速发展,给技术带来了海量请求和高并发、微服务的挑战,同时开发团队快节奏的版本迭代和服务快速上线的要求也驱动运维团队提供稳定、高效的运维服务。2017 年 12 月 01 日-02 日,由 51CTO 主办的 WOTD 全球软件开发技术峰会在深圳中州万豪酒店隆重举行。饿了么技术运营负责人程炎岭在创新运维探索专场与来宾分享了"跨越篱笆-饿了么多活运维上下求索"的...
2018-04-02 15:49:30
4621
转载 阿里资深技术专家:如何快速成为技术大牛?
你是否有类似这样的问题——“天天写业务代码的程序员,怎么成为技术大牛,开始写技术代码?”阿里资深无线开发专家李运华,系统梳理了自己的思考和理解,希望帮助更多同学少走一些弯路。不管是开发、测试、运维,每个技术人员心里多多少少都有一个成为技术大牛的梦,毕竟“梦想总是要有的,万一实现了呢”!正是对技术梦的追求,促使我们不断地努力和提升自己。然而“梦想是美好的,现实却是残酷的”,很多同学在实际工作后就会发...
2018-04-02 15:46:51
1531
原创 串口发短信程序的优化
最近在搞利用短信猫发送短消息的东西,在网上找了个现成的代码,但是对于每次都输入短信中心号码很繁琐,查询了AT相关指令,发现可以做一些改进,可以直接查询到短信中心号码。查询 AT+CSCA?\r返回的格式为+CSCA: "+8613800280500",145OK然后解析出来就行了。
2013-03-07 11:37:47
837
原创 ORACLE学习笔记
最近一段时间,项目不是很急,空闲时间学习了下ORACLE,基于文档《Oracle完全学习手册》,其中主要包括了基本的SQL语句,PQ/SQL语句,事务,存储过程,函数,触发器,处理库管理,SQL语句优化原则等内容,有兴趣的朋友可以到我的空间去下载相关的文档。下载
2013-03-06 12:47:21
611
原创 VC中如何使用 CRT 调试功能来检测内存泄漏
首先,检测内存泄漏的基本工具是调试器和 CRT 调试堆函数。为了使用调试堆函数,必须在要检测内存泄漏和调试的程序中添加下面的语句:#include#include#includeint main(){ //_crtBreakAlloc = 61; int *a = new int[3]; _CrtDumpMemoryLeaks(); _CrtMemState s
2013-01-08 16:52:11
775
转载 OTL之Oracle开发总结《转》
关于OTL,网上介绍的也不少,但看来看去也只是官方的那些文档。OTL很好用,结合官方提供的一些例子,多多尝试才能领悟。经过一个月左右的项目开发,对 OTL也有些了解,在这里总结一下,希望对刚接触OTL的新手有所帮助。其中有些地方,比如对网络异常的处理,可是费了我两天的时间才解决的,我那个汗哪。废话少说,开始正题:一、开始前的准备工作在使用OTL进行编程之前,要首先确定使用的Oralce版本
2012-12-12 15:26:24
640
转载 MFC中的消息路由
1.MFC中的消息分为三种(1)标准消息,也叫窗口消息(例:WM_PAINT,WM_CREATE,WM_LBUTTONDOWN,WM_CHAR)(2)命令消息,来自菜单,工具栏和加速键,都以WM_COMMAND表示(3)控件消息,控件消息又分为三小类,第一类和标准消息格式一样,第二类和命令消息格式一样(不过多了一个控件窗口的句柄),第三类是WM_NOTIFY.其具体细节不是
2012-09-04 17:23:58
1012
原创 如何得到唯一的硬盘序号
不正确的序列号利用GetVolumelnformation获取的计算机硬盘卷序列号,不是正确的唯一序列号: 01.voidCWJGISApp::Register() 02.{03. DWORDVolumeSerialNumber; 04. GetVolumeInformation("c:\\",NULL,NULL,&VolumeSeriaIN
2012-09-04 16:10:34
2718
原创 VC API常用函数简单例子大全
第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄函数的定义:HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCSTR lpWindowName);第一个参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时填两个参数的,也就是说,你只要知道窗口的类名或窗口的标题就可以了,没有的那个就用NULL代替。比
2012-09-04 15:01:26
1183
转载 架构设计:生产者/消费者模式
[0]:概述今天打算来介绍一下“生产者/消费者模式”,这玩意儿在很多开发领域都能派上用场。由于该模式很重要,打算分几个帖子来介绍。今天这个帖子先来扫盲一把。如果你对这个模式已经比较了解,请跳过本扫盲帖,直接看下一个帖子(关于该模式的具体应用)。看到这里,可能有同学心中犯嘀咕了:在四人帮(GOF)的23种模式里面似乎没听说过这种嘛!其实GOF那经典的23种模式主要是基于OO的(从书名《Des
2012-06-20 14:13:30
884
转载 VC项目调试基础
一.Debug版本和Release版本的区别Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。只有Debug版本的程序才能设置断点、单步执行、使用TRACE/ASSERT等调试输出语句。Release版本不包含任何调试信息,所以体积小、运行速度快
2012-06-20 13:58:35
609
转载 WinSock编程基础
在上一篇中,我们具体介绍了socket的相关概念,本节将概述套接字规范及操作的一些基础性知识。 一.套接字的一些基础知识1.Windows通信相关驱动netio.sys(Network I/O Subsystem)ndis.sys(NDIS Driver)ipnat.sys(IP Network Address Translator)tcpip.sys(TCP/IP D
2012-06-20 11:10:49
1998
转载 IPMSG(飞鸽传书)协议翻译
最近看到一些朋友在编写网络程序是遇到一些问题,故把以前做IPMSG时翻译的文档贴过来,希望对网络编程新手有所帮助,在寻找编程项目的同学们也可参照此文档写出自己的IPMSG。本文只包含其中几个比较重要的命令以及运行机制的中文翻译,更详细的内容请参照文后的IPMSG 协议英文文档声明:下述协议内容略去了一些在编写程序过程中没有用到协议内容,最初的Ipmsg协议是用日文写的,下面协议内容
2012-06-20 11:00:28
1124
转载 堆和栈的区别
最近太过执着于一些底层概念,《堆和栈的区别》这篇经典的博文已经被转载过N次,但还是转到这里,以方便日后查阅。谨对原创表示感谢! 一、预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执
2012-06-20 10:03:52
463
转载 细说shell编程
Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对
2012-06-18 16:29:52
656
转载 VC HID
1、头文件包含,库文件链接 在VC中开发HID应用程序时,需要包含setupapi.h和hidsdi.h,包含方式必须为extern "C",如下所示:extern "C" {// Declare the C libraries used#include "setupapi.h" // Must link in setupapi.lib#include "hidsdi.h"
2012-06-15 14:32:39
620
转载 USB有关的编程
现在USB设备却很多,因此对USB设备的查找与读写就必不可少了。但是能找到关于USB读写的资料很少。这里使用VC++示范了一些获得USB的信息的方法。一、枚举USB设备 通过枚举USB控制器->枚举此控制器上的USB HUB->枚举HUB的各个端口->获得设备信息。枚举控制器: view sourceprint?1.wsprintf(HCName,
2012-06-14 14:30:58
478
转载 五种I/O 模式
1.阻塞I/O 模式是最普遍使用的I/O 模式。大部分程序使用的都是阻塞模式的I/O 。缺省的,一个套接字建立后所处于的模式就是阻塞I/O 模式。对于一个UDP 套接字来说,数据就绪的标志比较简单:l 已经收到了一整个数据报l 没有收到。而TCP 这个概念就比较复杂,需要附加一些其他的变量。在图6-4 中,一个进程调用recvfrom ,然后系统调用并不返回知道有数据报到达
2012-06-12 11:12:20
730
原创 开发网络程序的调试方法
这几天在看Linux网络编程,发现一个比较有用的东西,现在和大家分享一下:技巧:如果你自己写了一个Server 和Client ,但是Client 却无法连上Server 而你又不知道究竟是哪个有问题的时候,你可以使用系统的工具telnet 来帮助你。如果你的Server 监听的端口是4000 ,那么可以直接使用telnet 去连接4000 端口。如果使用telnet 连接正常,那么你
2012-06-12 10:56:40
624
转载 什么是交叉编译?
什么是交叉编译? 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译 。简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Architecture)、操作系统 (Operating System)。同一个体系结构可以运行不同的操作系
2012-06-01 10:32:41
468
转载 CListCtrl 使用技巧
以下未经说明,listctrl默认view 风格为report相关类及处理函数MFC:CListCtrl类SDK:以 “ListView_”开头的一些宏。如 ListView_InsertColumn1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标
2012-05-31 17:08:07
401
原创 如何实现屏幕截图
BMP文件格式分析 简介 BMP(Bitmap-File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP图象文件格式称为设备相关位图DDB(device-dependent bitma
2012-05-31 14:19:29
1072
转载 mpx程序from 阿明
1、MapX折线图元的画法 CMapXPoints pts; CMapXPoint pt; CMapXStyle sty; CMapXFeature f,newobj,newobj1,newobj2; if(!pts.CreateDispatch(pts.GetClsid())) { TRACE0("Failed t
2012-05-29 16:28:39
625
VC助手完美版
2013-07-02
ORACLE学习笔记
2013-03-06
Linux 新手最全10多本培训书籍集-到高
2012-02-19
解决了关闭死锁的CSerialPort类项目
2012-02-06
Java 45款 游戏源代码
2011-12-11
Java学习笔记
2011-11-27
android界面效果全汇总
2011-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人