C++

VC++小技巧-Output窗口输出定位

在使用VC++时,经常使用OutputDebugString往往Output窗口写一些调试信息,如果输出信息遵循某种格式,那么在Output窗口中点击相应输出文本就会跳到相应的代码行中。具体格式MSDN中有说,简单的说法,在输出文本的最前面是"文件名(行号):"的格式就可以了。一个例子,用在我的内存泄露检测代码中:wsprintf(output_temp,"%s(%d):>>>>>>>>>>>>memleaks!size=%d",memory_alloca

系统 2019-08-29 22:28:29 3251

Python

Python 计算列表数值乘积结果末尾 0 的个数

前言给你一个正整数列表L,输出L内所有数字的乘积末尾0的个数。(提示:不要直接相乘,数字很多,相乘得到的结果可能会很大)。例如:L=[2,8,3,50],则输出:2。在网上看到这么一道题目,根据自己当时的想法编写代码,虽然成功实现了,但是我们可以从更多的思维角度来分析。实战分析思路1:判断2和5的个数,取当中的最小值。因为2*5等于10,所以只要计算得出它们的个数最小值,就可以知道乘积结果末尾0的个数。importtimeitL=[5,8,3,50,35,

系统 2019-09-27 17:55:10 3250

Java

一致性哈希算法与Java实现

一致性哈希算法是分布式系统中常用的算法。比如,一个分布式的存储系统,要将数据存储到具体的节点上,如果采用普通的hash方法,将数据映射到具体的节点上,如key%N,key是数据的key,N是机器节点数,如果有一个机器加入或退出这个集群,则所有的数据映射都无效了,如果是持久化存储则要做数据迁移,如果是分布式缓存,则其他缓存就失效了。因此,引入了一致性哈希算法:把数据用hash函数(如MD5),映射到一个很大的空间里,如图所示。数据的存储时,先得到一个hash

系统 2019-08-29 21:58:41 3250

编程技术

boost源码剖析之:Tuple Types(rev#2)

boost源码剖析之:TupleTypes(rev#2)刘未鹏(pongba)C++的罗浮宫(http://blog.csdn.net/pongba)Note:并非新作,04年曾放在blog上,后来删掉了,不过网上到处有转载。这是修改之后的版本。动机[1]假设你有这样一个函数:它接受两个整型数据并返回它们整除的结果,像这样:intDevideInts(intn,intd){returnn/d;}但是我们可能需要更多信息,比如,余数。函数的返回值已被占用,我

系统 2019-08-29 22:26:50 3249

编程技术

下载YouTube视频字幕的方法

YouTube跟国内的优酷、土豆等视频网站比起来不仅广告时间短、可以“跳过广告”播放,而且很多视频上提供了字幕,有些视频甚至提供了20多种语言的字幕。因为YouTube在国内是无法访问的,我经常会想着把一些YouTube上的视频下载下来,上传到国内的视频网站上供大家分享,但发现有个问题,YouTube上的字幕和视频是独立的,没有合成到一起,所以,下载下来的视频是不含字幕的。这当然不行的,英语无字幕的视频估计没有几个人会喜欢。那么,如何能把字幕也下载下来呢?

系统 2019-08-12 09:30:10 3248

Android

【Android Developers Training】 100. 使用Int

注:本文翻译自Google官方的AndroidDevelopersTraining文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好。原文链接:http://developer.android.com/training/contacts-provider/modify-data.html这节课将会向你展示如何使用一个Intent来插入一个新的或者修改一个现有的联系人数据。与直接访问ContactsProvider不同,一个Intent会启

系统 2019-08-12 01:54:45 3248

redis

Redis的sds

Redis源码中的sds,是一个动态字符串库(Adynamicstringlibrary).结构如下:structsdshdr{intlen;intfree;charbuf[];};len是字符串长度,free是缓存区中的剩余大小,其中的内存分配当然用zmalloc。typedefchar*sds;sds类型的指针退sizeof(sdshdr)个字节就是sdshdr。这个库接口比较丰富,包括增长(sdsMakeRoom,sdsgrowzero,sdscat

系统 2019-08-12 01:53:31 3247

Android

在Android使用 SAX 方式进行异步解析

对XML文件进行解析有两种:DOM方式和SAX方式。在Android应用中,多采用SAX方式。这种方式是基于方法回调的,解析速度快,内存消耗小。我们在SAX解析中增加了异步更新主线程的代码,使用户体验更佳。一、主线程主线程是Activity,实现了自定义接口AsyncSaxResponse。该接口定义了3个方法,分别是:publicvoidparserUpdateNotify(ArrayList>al);publicv

系统 2019-08-29 23:53:36 3246

编程技术

信息熵 information Entropy

IntroductionEntropyisameasureofdisorder,ormorepreciselyunpredictability.Forexample,aseriesofcointosseswithafaircoinhasmaximumentropy,sincethereisnowaytopredictwhatwillcomenext.Astringofcointosseswithacoinwithtwoheadsandnotailshasz

系统 2019-08-29 23:37:45 3245

Java

java程序获得SqlServer数据表的表结构

/***取得一张表的结构信息*使用DatabaseMetaData与ResultSetMetaData结合的方式获取全部属性*@paramconn数据连接*@paramtableName表名*@return表结构中列的存储对象*@throwsSQLException*/publicTableInfogetTableInfo(Connectionconn,Statementst,StringtableName)throwsSQLException{Table

系统 2019-08-12 01:52:11 3245

编程技术

OpenJWeb用ext2.1做的带portlet风格的后台管理

下面是参考ext2.1和extblog制作的带portlet风格的后台管理界面样式,其中的portlet窗口是可以拖动/最小化和关闭,在实际应用开发中可自己开发一个portlet库定制到页面上(当然ext实现是一个portlet的样式,而不是真正的portlet),下图中可以拖动我的工作区的portlet窗口并放到新的位置:OpenJWeb用ext2.1做的带portlet风格的后台管理界面

系统 2019-08-12 01:32:49 3245

编程技术

推荐原版《Spring in Action, 2 Edition》

这本书适合所有Java开发人员,特别是对企业级Java开发人员更有帮助。Spring最突出之处在于它使企业级系统开发变得简单,所以,企业级系统开发人员会更加欣赏本书中的示例代码。没有看过本书的朋友,给推荐一个清晰版的电子书《SpringinAction,2Edition》计算机电子书,大家可以到偶要雷锋电子书这个站去下载,这个名字有点意思,有很多经典好书。推荐原版《SpringinAction,2Edition》

系统 2019-08-29 22:39:23 3244

编程技术

IE9的 InPrivate 和 SmartScreen 功能大揭秘

第一部分序言在近日推出的IE9测试版中,我们发现IE8中的几个实用的安全功能被保留了下来,并被进一步的完善,其中就包括InPrivate浏览和InPrivate筛选,以及在IE8中成功阻止10亿次试图下载恶意软件行为的SmartScreen筛选器。图1:各版本IE功能比较在这篇文章中,我们就要向大家介绍如何在IE9中使用这几项安全功能,来保护个人隐私,保障系统安全。第二部分InPrivate浏览很多时候,我们不得不使用公用的电脑浏览网页,但是并不想让他人知

系统 2019-08-12 09:29:41 3244

编程技术

Express Learning Struts Menu

ExpressLearningStrutsMenuThefirtsgostrutsmenuofficialsitedowloadstruts-menu-X.X.X.warfile,把文件放到Tomecate目录webapps目录下,然后启动tomcate,访问http://localhost:9090/struts-menu-X.X.X,youwillshoulteffect。Thefollowingintroductionexpresscreatestr

系统 2019-08-29 23:25:29 3243

编程技术

压缩原理初探

这里讨论的仅仅是简单的字符压缩算法,对于更高级的文件压缩便是无能为力了。总步骤分为六步:第一、统计全文中各种字符出现的次数;第二、根据每个字符出现不同的次数富裕权值并由此建立哈弗曼树;第三、根据哈夫曼树来对全文中每个字符进行哈弗曼编码;第四、将每个字符的哈弗曼编码连续写入,每8位截断,并计算出这8个0,1字节串所对应的字符并以字符串的形式存储编码后的字符;第五、将最后的不足8位的位数补足并记录补位的个数写入到文件中第六、将此哈弗曼树存储到文件末尾例:将aa

系统 2019-08-29 23:05:00 3243