![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工作杂言
文章平均质量分 79
小人物2014
作出好的产品给大家是我梦想
展开
-
中国软件业从业者何去何从?
杜思波 2011年杂文 湖南永州最近大家都在关注软件技术人员的从业生命期,但这主要集中在对程序员生命期的关注。作为软件技术人员梯队顶层的系统分析员其生命期又如何?下面就让我来谈谈我的个人看法。 中国软件业没有自己的核心技术,搞的是应用层二次开发;换句话说 中国软件业的工程项目不是核心技术型的工程,而是应用型工程。这意味着中国软件业技术人员的经验的含金量不高,且随着低层平台的变化而迅速贬值。这是为什么国外并没过多关注软件技术人员的从业生命期而国内则十分关注这一问题的根源之一;这也是国内软件技术人员不快乐的根源原创 2011-02-11 23:06:00 · 931 阅读 · 0 评论 -
校验和的相关算法和原理
校验和算法 经常看计算机网络相关的书时,每次看到关于IP或者是UDP报头校验和时,都是一笑而过,以为相当简单的东西,不就是16bit数据的相加吗!最近在学习Ping命令的源待时,看到里面有关于校验和的算法。一头雾水,后来查找资料,看到校验和是16bit字的二进制反码和。总是觉得很奇怪,为什么会用反码和,而不是直接求和呢?或者是补码和呢?因为在计算机里面数据是以补码的形式存在啊!经过看书查转载 2014-09-09 11:59:49 · 865 阅读 · 0 评论 -
混音编程接口
为了理解混音器API是如何工作的,必须先了解典型的声卡的硬件布局。我们有必要想象一下,声卡上有各种独立的,清楚的,但是却又互相连接的元件。先看一种典型的,最基本的声卡。首先,如果声卡有数字音频录音功能,它必定有一个麦克风输入接口(以及某种前置放大器(pre-amp)),还有一个模数转换器(ADC)用来转换麦克风的模拟信号为数字信号流。所以,声卡应该具有两个基本元件:麦克风输入元件,AD转载 2014-09-10 15:30:25 · 1912 阅读 · 0 评论 -
微信类似的UI设计
微信中的ListView有一个特点就是存在许多不同的Item,即并不是平常的ListView,所有的Item布局都是一样的。针对这种情况,Google的Adapter提供了两个方法getItemViewType和getViewTypeCount。通过覆盖这两个方法就可以实现一个ListView中存在多种不同的Layout。实现了更加个性化的ListView效果。我归纳了下微信中的Item可以分为7转载 2014-09-22 18:18:14 · 848 阅读 · 0 评论 -
分布式和集群的概念
简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。 例如: 如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。 采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是H转载 2014-09-15 14:22:15 · 465 阅读 · 0 评论 -
安卓多图引导界面
进入程序后会以动画的方式弹出引导界面,可以左右横向拖动,在最后一张图片的立即体验上触摸后可以关闭引导,回到主界面package com.zj.popupwindow2; import java.util.ArrayList; import android.app.Activity;import android.os.Bundle;import android.os.转载 2014-09-15 14:48:12 · 1045 阅读 · 0 评论 -
安卓左右滑动的实例
这段时间一直在忙Android的项目,总算抽出点时间休息一下,准备把一些项目用到的Android经验分享一下。在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法:public void overridePendi转载 2014-09-15 15:00:50 · 625 阅读 · 0 评论 -
android自动升级
由于Android项目开源所致,市面上出现了N多安卓软件市场。为了让我们开发的软件有更多的用户使用,我们需要向N多市场发布,软件升级后,我们也必须到安卓市场上进行更新,给我们增加了工作量。因此我们有必要给我们的Android应用增加自动更新的功能。既然实现自动更新,我们首先必须让我们的应用知道是否存在新版本的软件,因此我们可以在自己的网站上放置配置文件,存放软件的版本信息:upda转载 2014-09-17 11:08:54 · 425 阅读 · 0 评论 -
安卓的自定义progress,受用
很多的时候,系统自带的View满足不了我们功能的需求,那么我们就需要自己来自定义一个能满足我们需求的View,自定义View我们需要先继承View,添加类的构造方法,重写父类View的一些方法,例如onDraw,为了我们自定义的View在一个项目中能够重用,有时候我们需要自定义其属性,举个很简单的例子,我在项目中的多个界面使用我自定义的View,每个界面该自定义View的颜色都不相同,这时候如果没转载 2014-09-17 11:22:24 · 1275 阅读 · 0 评论 -
CppSqLite 对sqllite的二次封装
CppSqLite对SQLite的API进行了一次封装,让开发人员更加方便的使用SQLite。 1.准备一下(1)CppSQLite3.h 和CppSQLite3.cpp(2)sqlite3.h、sqlite3.lib和sqlite3.dll在使用这个类的时候,你需要确保几件事情:首先你要下载上诉5个文件。其次就是在你的工程中引入,sqlite3.lib,最转载 2014-10-31 17:52:18 · 871 阅读 · 0 评论 -
自动登录
最近Android项目需要一个自动登录功能,完成之后,特总结一下,此功能依靠SharedPreferences进行实现。SharedPreferences简介SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data//shared_prefs目录下。Sha转载 2014-09-21 01:51:20 · 548 阅读 · 0 评论 -
自定义对话框
在网上找了很多关于dialog的自定义样式的问题,还有很多人写得比较复杂,需要改动style什么的,或者是自定义dialog搞得很复杂,我最后还是找到了方法来实现。参考原文地址:http://jy0329.blog.163.com/blog/static/14746600220132204035120/ 下面是我的dialog布局xml文件:RelativeLayout xmlns:a转载 2014-09-19 14:44:00 · 424 阅读 · 0 评论 -
集群服务器消息通讯办法
对于一些基于TCP Socket的大型C/S应用来说,能进行跨服务器通信可能是一个绕不开的功能性需求。出现这种需求的场景类似于下面描述的这种情况。 假设,我们一台TCP应用服务器能同时承载10000人同时在线,而同时在线用户数量通常为5万多,那可想而知,我们需要部署6台TCP应用服务器来分担这些负载。再假设,我们的应用中,任意的两个客户端都有可能需要互发消息(比如,传送文件),这时问题就转载 2014-09-05 16:38:17 · 3267 阅读 · 0 评论 -
最近准备跳槽了,其实不想跳,只是公司让我不得不跳啊!
<br />最近打算跳槽了,新公司也联系好了,有两个去处,还在犹豫,等确定了和大家交代。<br /> <br /> <br />杜思波 湖南 永州原创 2011-03-30 20:11:00 · 1044 阅读 · 0 评论 -
会几门程序语言才脱离屌丝行列?
如果想成为一个好的程序员,甚至架构师、技术总监等,显然只精通一种编程语言是不够的,还应该在常见领域学会几门编程语言,正如我们要成为高级人才不仅要会中文还要会英文,甚至还要会德文、俄文一样,其实是每一种语言都给人另一种思维方式,编程语言也一样。汇编语言 每种架构CPU都有自己的汇编语言,如果不涉及很底层的修改,了解X86的即可,理解一下机器语言的工作方式,便于优化核心代码。原创 2012-10-12 15:44:20 · 1801 阅读 · 0 评论 -
string 常用功能封装
#include #include using namespace std;namespace strtool{string trim(const string& str){ string::size_type pos = str.find_first_not_of(' '); if (pos == string::npos)原创 2014-03-01 00:23:54 · 701 阅读 · 0 评论 -
IPersistStorage接口详解
允许一个ActiveX控件嵌入到容器中,这项技术已经很长时间了。OLE文档标准(当时称为复合文档,Compound Documents)于1991年创建,其中包含了OLE的主要内容。实际上OLE是Object Linking and Embedding(对象链接与嵌入)的首字母缩写。在ActiveX控件出现以后,OLE文档标准也得到了增强,它允许文档服务器向外公开programmatic功能。原创 2014-03-12 10:26:32 · 1904 阅读 · 0 评论 -
C++ Regex使用
C++ Regex C++中使用Regex一直是个麻烦事,为了小小的Regex安装boost库实在不是什么能让人感觉到兴奋的事情。http://iregex.org/的老大推荐了http://www.pcre.org/,感觉非常非常的不错。有兴趣的朋友绝对值得去研究一下。 Win下的版本可以从http://www.psyon.org/projects/p转载 2014-03-12 13:01:12 · 976 阅读 · 0 评论 -
OLe复合文档介绍
/////////////////////////////////////////////////结构化存储和OLE对象/////////////////////////////////////////////////1 引言目前,传统的二层C/S(Client/Server)结构应用软件已发展为多层结构的分布式应用系统[2]。为了改善系统的工作效率以及提高系统的伸缩性,很多软件开发人转载 2014-03-10 10:42:57 · 3197 阅读 · 0 评论 -
留个纪念
我要得到Richedit里面的内容,使用richedit的streamout。为何streamout后得到的数据变得那么庞大?解决方案 »The value of nFormat must be one of the following: SF_TEXT Indicates writing text only.SF_RTF Ind转载 2014-03-10 15:21:00 · 725 阅读 · 0 评论 -
内核对象详解
内核对象只是操作系统内核分配的一个内存块,并且只能由操作系统内核访问。该内存块是一种数据结构,它的成员负责维护该对象的各种信息。Windows提供一组函数创建和操作内核对象。调用一个创建内核对象的函数,函数会返回一个句柄,该句柄标识了这个内核对象,这个句柄可由当前进程中的所有线程调用。也可以通过跨进程边界共享内核对象,让其他的进程调用。 使用计数。内核对象有个使用计数数据成员,标识原创 2014-08-20 17:43:21 · 388 阅读 · 0 评论 -
Android分辨率自适应
Android设备有多种分辨率,到目前为止就有FWVGA,WVGA,VGA,HVGA,QVGA几种,其中 VGA是:Video Graphic Array显示标准为480 x 640 WVGA是Wide VGA,分辨率为480 x 800 FWVGA是Full Wide VGA,分辨率为:480 x 854 HVGA是Half VGA,分辨率为:转载 2014-09-05 14:24:33 · 725 阅读 · 0 评论 -
dshow的filter新建
学习directshow已经有几天了,下面将自己的学习心得写下来,希望对其他的人有帮助。 Filter实质是个COM组件,所以学习开发Filter之前你应该对com的知识有点了解。Com组件的实质是一个实现了纯虚指针接口的C++对象。关于com的东西,这里不多讲。 一、给vc配置DirectShow的开发环境 无论开发Filter还是开发Dshow的应用程序都要配置一下开发环境转载 2014-10-16 11:35:48 · 1245 阅读 · 0 评论