
软件开发
文章平均质量分 90
xjbclz
有多年APP与手机软件开发和管理工作经验,出版了两本书:《Android APP开发实战》和《App Inventor2定制与二次开发》
展开
-
中间件技术的思想、概念和分类
一、为什么要中间件 计算机技术迅速发展。从硬件技术看,CPU速度越来越高,处理能力越来越强;从软件技术看,应用程序的规模不断扩大,特别是Internet及WWW的出现,使计算机的应用范围更为广阔,许多应用程序需在网络环境的异构平台上运行。这一切都对新一代的软件开发提出了新的需求。在这种分布异构环境中,通常存在多种硬件系统平台(如PC,工作站,小型机等),在这些硬件平台上又存在各种各样转载 2016-06-19 13:35:38 · 5001 阅读 · 0 评论 -
常用DOS命令祥解
常用DOS命令祥解 net命令详解许多 Windows NT 网络命令以 net 开始。这些 net 命令有一些公共属性: 通过键入 net /? 可查阅所有可用的 net 命令。 通过键入 net help 命令可在命令行中获得 net 命令的语法帮助。例如,要得到 net accounts 命令的帮助,请键入 net help accounts。 所有 net转载 2016-06-20 21:28:27 · 355 阅读 · 0 评论 -
如何编写高质量“软件需求说明书”
如何编写高质量“软件需求说明书” 你的工程应该有个好的起点。一个小组要带领客户进入需求启发阶段而且你要写软件需求说明书。这份说明有些大,但客户会很重视,所以说明必须得到赞同。 现在你正在设计其中的一个特性,已经发现了需求的一些问题。你可以用多种不同的方式解释需求15;需求9 的说明正好与需求21相反,你因该相信哪一个?需求24非常含糊,你根本不明白它的意思;你不得不转载 2016-06-20 21:29:07 · 1654 阅读 · 0 评论 -
函数可重入性及编写规范
、可重入函数1)什么是可重入性?可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反,不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入函数要么使用本地变量,要么在使用全局变量时保护自己的数据。2转载 2016-06-20 21:32:42 · 262 阅读 · 0 评论 -
信号(signal)介绍
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。 信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。1.信号的基本概念 本节先介绍信号的一些基本概念,然后给出转载 2016-06-20 21:46:50 · 6229 阅读 · 0 评论 -
关于软件开发团队的一些思考
概述:目前一些软件开发团队,特别是中小型团队,由于在低成本模式下运行,加之对软件过程管理的不尽规范,在团队建设上只重视代码开发,不重视设计,只重视编程技术,不重视需求分析、架构设计等技术,只重视开发过程,不重视测试过程,只重视任务,不重视风险等问题,是许多软件公司不能很好的以高效率模式开发出稳定可靠的软件产品的重要原因。 软件产品的开发,技术路线确定以后,团队组织以转载 2016-06-20 21:48:40 · 6371 阅读 · 0 评论 -
用C语言实现面向对象的编程方式
主要利用结构体和函数指针,实现面向对象编程中的封装、继承和多态;//base.htypedef struct BaseClass{ int m_Data; void *pComponentPrivate; //指向子类结构体的指针 void (*GetComponentVersion)();//声明虚函数 //指针参数,相当于C++成员函数原创 2016-06-04 22:35:57 · 2549 阅读 · 0 评论 -
有限状态机原理及实现
有限状态机(Finite State Machine)又称有限状态自动机或简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型,由一组状态、一个初始状态、输入和根据输入及现有状态转换为下一个状态的转换函数组成。typedef struct StateTable{ int nMessageID; struct StateTable * (*fun) ();原创 2009-03-11 17:42:00 · 1841 阅读 · 0 评论 -
软件经理基本素质
软件经理基本素质 是什么造就一个优秀的软件经理? 作者:Mark I. Himelstein 翻译:tianxinet(胖猴) 多数软件经理并非一开始就是经理,而是作为一个开发者开始他们的职业生涯。 作者简介:Mark是一个在软件行业有25年经验的软件管理顾问。-------------------------------------------转载 2016-06-21 22:47:02 · 297 阅读 · 0 评论 -
关于软件文档 这些你知道吗?
软件文档(document)也称文件,通常指的是一些记录的数据和数据媒体,它具有固定不变的形式,可被人和计算机阅读。它和 计算机程序共同构成了能完成特定功能的计算机软件(有人把源程序也当作文档的一部分)。我们知道,硬件产品和产品资料在整 个生产过程中都是有形可见的,软件生产则有很大不同,文档本身就是软件产品。没有文档的软件,不成其为软件,更谈不到软件 产品。软件文档的编制(documentat转载 2016-06-20 21:27:04 · 577 阅读 · 0 评论 -
汉字的编码
中国大陆的汉字编码总体上可以分为三个层次: GB2312-80 全称是GB2312-80《信息交换用汉字编码字符集基本集》,1980年发布,是中文信息处理的国家标准,在大陆及海外使用简体中文的地区(如新加坡等)是强制使用的唯一中文编码。P-Windows3.2和苹果OS就是以GB2312为基本汉字编码, Windows 95/98则以GBK为基本汉字编码、但兼容支持原创 2016-06-20 21:25:56 · 741 阅读 · 0 评论 -
理解敏捷开发的常见误区
1. 敏捷是“一个”过程敏捷不是一个过程,是一类过程的统称,它们有一个共性,就是符合敏捷价值观,遵循敏捷的原则。敏捷的价值观如下:个体和交互 胜过 过程和工具可以工作的软件 胜过 面面俱到的文档客户合作 胜过 合同谈判响应变化 胜过 遵循计划由价值观引出的12条敏捷原则:我们最优先要做的是通过尽早的转载 2016-06-20 21:25:10 · 772 阅读 · 0 评论 -
系统中的插件和控件
插件可以封装一定的业务,同样控件也具有封装性。可以说控件的出现大大简化了我们开发的工作量。作为一个插件系统来说,实现一个通用的插件能在更大粒度上进行复用。插件是比控件更加高层的一种模块封装方式。插件和控件有相同的地方:封装和复用。本文分析了它们的异同,并且提出另外一个比较有趣的概念——伪插件。请大家继续往下读一读。一、插件和控件的比较发布控件编译到系统中,和系统作为转载 2016-06-19 13:36:41 · 393 阅读 · 0 评论 -
软件开发文档编制的质量要求
文档编制的质量要求 为了使软件文档能起到前节所提到的多种桥梁作用,使它有 助于程序员编制程序,有助于管理人员监督和管理软件开发,有助于用户了解软件的工作和应做的操作,有助于维护人员进行有效 的修改和扩充,文档的编制必须保证一定的质量。质量差的软件文档不仅使读者难于理解,给使用者造成许多不便,而且会削弱对 软件的管理(管理人员难以确认和评价开发工作的进展),增高软件的成本(转载 2016-06-19 13:38:40 · 2285 阅读 · 0 评论 -
软件架构要达成的目的究竟是什么?
1、软件架构要达成的目的究竟是什么?它与软件工程中的概要设计、详细设计有什么联系? 答:软件架构要达成的目的,说得通俗些就是对系统进行部署,给系统搭架子。所以软件架构师可以不一定精通编程,他更多的是关心平台之上的东西。 在软件工程中,有三大重要的设计文档《需求规格说明书》、《概要设计说明书》、《详细设计说明书》。如果按照国标GB8567——88来严格要求这三大文档转载 2016-06-19 13:39:58 · 2497 阅读 · 0 评论 -
软件工程的七条基本原理
1、用分阶段的生命周期计划严格管理有人经统计发现,在不成功的软件项目中有一半左右是由于计划不周造成的,可见把建立完善的计划作为第一条基本原理是吸取了前人的教训而提出来的。在软件开发与维护的漫长的生命周期中,需要完成许多性质各异的工作。这条基本原理意味着,应该把软件生命周期划分成若干个阶段,并相应地制定出切实可行的计划,然后严格按照计划对软件的开发与维护工作进行管理。Boehm 认为,在软件转载 2016-06-19 13:40:57 · 5418 阅读 · 0 评论 -
如何进行软件需求分析
1.概念需求的定义包括从用户角度(系统的外部行为),以及从开发者角度(一些内部特性)来阐述需求。关键的问题是一定要编写需求文档。我曾经目睹过一个项目中途更换了所有的开发者,客户被迫与新的需求分析者坐到一起。系统的分析人员说:“我们想与你谈谈你的需求。”客户的第一反应便是:“我已经将我的要求都告诉你们前任了,现在我要的就是给我编一个系统”。而实际上,需求并未编写成文档,因此新的分析人转载 2016-06-19 13:41:53 · 19159 阅读 · 1 评论 -
批处理一(摘自网友文集)
大家知不知道默认共享这回事?这东西用不着的地方可就不是好东西了.所以就要删掉.但这东西是每次系统重起后都会重新创建的.所以每次都要重新打开cmd重新删掉一下.极为麻烦.但有了批处理文件就不一样了,先把命令输入到批处理文件中,然后加入到启动项中,每次启动就会自动运行,免去了每次输入命令的麻烦. 如何创建批处理文件?将记事本打开,什么都不用写,然后选择文件,保存.保存类型选择所转载 2016-06-19 13:43:02 · 282 阅读 · 0 评论 -
内核线程、软中断和定时器有何区别
内核线程、软中断和定时器有何区别?在慢速中断的过程中,允许别的中断发生 Re: 内核线程、软中断和定时器有何区别?2.4中还有慢速中断吗? Re: 内核线程、软中断和定时器有何区别?转载 2016-06-19 13:44:27 · 1798 阅读 · 1 评论 -
批处理文件语法
批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。当然我们的这个版本的主要内容是介绍批处理在入侵中一些实际运用,例如我们后面要提到的用批处理文件来给系统打补丁转载 2016-06-19 14:07:07 · 935 阅读 · 0 评论 -
SWI 软中断详解
SWI 软中断详解软中断:编程异常通常叫做软中断软中断是通讯进程之间用来模拟硬中断的 一种信号通讯方式。中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号对应的功能 软中断是软件实现的中断,也就是程序运行时其他程序对它的中断;而硬中断是硬件实现的中断,是程序运行时设备对它的中断。 1.软中断发生的时间是由转载 2016-06-21 22:47:44 · 370 阅读 · 0 评论 -
Modules的概念及使用
By Wing, 出处:Linuxaid 一、什么是 modules? modules 的字面意思就是模块,在此指的是 kernel modules;简单来说,一个模块提供了一个功能,如 isofs、minix、nfs、lp 等等。传统来讲,模块化有两个方法解决:设计者可以把各项功能分离到单独的叫做线程的处理中去,或者是将内核以包含/排除一些功能的方式重新编译。如果把转载 2016-06-21 22:49:01 · 1964 阅读 · 0 评论 -
合并两个git仓库
为了让大家看的明白,我重新描述下case如下:有2个git仓库:repo1、repo2;想将repo1中的文件移入repo2;repo1的历史日志要保留;首先,快速创建2个仓库。12345678910111213mkdir repo1cd repo1git initecho "repo1.txt" >转载 2016-10-16 16:06:44 · 497 阅读 · 0 评论 -
使用七牛上传视频调用视频播放器的推荐方案
转自:http://www.cnblogs.com/huangcong/p/5179449.html视频应用通常要求播放器具备以下的基本特性:多客户端支持。包括:PC端(Web播放)和移动端(iOS,Android等)。具备多平台支持的播放器有助于简化开发,规避平台之间的差异。 常用的音视频编码格式支持。常用编码格式主要是:视频H264;音频MP3和AAC。这些音视频格转载 2016-11-07 17:31:08 · 1297 阅读 · 0 评论 -
使用Jenkins搭建iOS/Android持续集成打包平台
背景描述根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包。而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品、运营、测试等人员)通过手机扫描二维码后就能直接安装测试包。该需求具有一定的普遍性,基本上所有开发APP的团队都可能会用到,因此我将整个需求实现的过程整理后形成此文,并且真正地做到了零基础上手,到手即飞、开箱即转载 2016-11-07 18:37:42 · 489 阅读 · 0 评论 -
中国开源项目哪家强?看看阿里,百度,腾讯,360等都开...
奇虎360开源github地址:https://github.com/Qihoo3601.MySQL中间层 AtlasAtlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公转载 2016-10-30 22:01:14 · 6363 阅读 · 0 评论 -
XML与JSON的对比
XML与JSON的对比1、各自定义XML扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界转载 2016-11-14 17:33:43 · 309 阅读 · 0 评论 -
JSON 数据格式
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。基础结构JSON建构于两种结构:1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(ob转载 2016-11-14 17:34:43 · 701 阅读 · 0 评论 -
浏览器内核控制Meta标签说明文档
浏览器内核控制Meta标签说明文档背景介绍由于众所周知的情况,国内的主流浏览器都是双核浏览器:基于Webkit内核用于常用网站的高速浏览。基于IE的内核用于兼容网银、旧版网站。以360的几款浏览器为例,我们优先通过Webkit内核渲染主流的网站,只有小量的网站通过IE内核渲染,以保证页面兼容。在过去很长一段时间里,我们主要的控制手段是一个几百k大小网址库,一个通过长期人工运营收转载 2016-11-14 18:33:16 · 623 阅读 · 0 评论 -
回调函数和发消息的作用比较
一回调函数我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢?使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而 那个函数在需要的时候,利用传递转载 2016-09-25 14:00:12 · 4604 阅读 · 0 评论 -
git的submodule功能详解
git的submodule功能详解1. 前言项目的版本库在某些情况下需要引用其他版本库中的文件,例如有一套公用的代码库,可以被多个项目调用,这个公用代码库能直接放在某个项目的代码中,而是要独立为一个代码库,那么其他要调用公用的代码库该如何处理?分别把公用的代码库拷贝到各自的项目中会造成冗余,丢弃了公共代码库的维护历史,这些显示不是好的办法,现在要了解的git子模组(git subm转载 2016-09-19 17:25:54 · 4652 阅读 · 0 评论 -
设计基于HTML5的APP登录功能及安全调用接口的方式(原理篇)
最近发现群内大伙对用Hbuilder做的APP怎么做登录功能以及维护登录状态非常困惑,而我前一段时间正好稍微研究了一下,所以把我知道的告诉大家,节约大家查找资料的时间。你是否真的需要登录功能?把这个问题放在最前面并不是灌水,而是真的见过很多并不需要登录的APP去做了登录功能,或者是并不需要强制登录的APP把登录作为启动页。用户对你的APP一无所知,你就要求对方注册并登录,除非A转载 2016-09-19 14:16:28 · 508 阅读 · 0 评论 -
概要设计说明书(GB8567——88)
1引言1.1编写目的1.2背景1.3定义1.4参考资料2总体设计2.1需求规定2.2运行环境2.3基本设计概念和处理流程2.4结构2.5功能器求与程序的关系2.6人工处理过程2.7尚未问决的问题3接口设计3.1用户接口3.2外部接口3.3内部接口4运行设计转载 2016-06-21 22:50:16 · 2740 阅读 · 0 评论 -
进程间使用管道通信
By 书生, 出处:only_you4.进程间使用管道通信 前几节中我们讲述了有关进程的操作,我们已经学会产生一个新的进程,改变进程的执行图像等操作。然而,子进程与父进程,子进程与子进程之间,还缺少数据交换的方法。这一节,我们就来看一种比较简单的数据传送的方法,即通过管道传送数据。 管道允许在进程之间按先进先出的方式传送数据,管道也能使进程同步执行。管道传统转载 2016-06-21 22:51:47 · 815 阅读 · 0 评论 -
文件
文件文件的基本概念 所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的, 在使用时才调入内存中来。从不同的角度可对文件作不同的分类。从用户的角度看,文件可分为普通文件和设备文件两种。 普通文件是指驻留在磁转载 2016-06-21 22:55:19 · 450 阅读 · 0 评论 -
操作手册(GB8567——88)
1引言1.1编写目的1.2前景1.3定义1.4参考资料2软件征述2.1软件的结构2.2程序表2.3文卷表3安装与初始化4运行说明4.1运行表4.2运行步骤4.3运行1(标识符)说明4.3.1运行控制4.3.2操作信息4.3.3输入一输出文卷4.3.4输出文段转载 2016-06-22 21:14:24 · 1119 阅读 · 0 评论 -
序员的28种能力之三 汇报的能力
技术再出色,如果没有良好的沟通能力,也不会成为一名好的程序员的。沟通是双方的互动,把自己得信息传达给对方,再从对方获得反馈,如此循环往复。那就先说说把自己这一方的信息准确地传达出去的能力。首先一个是写报告。程序员经常要写日报,周报,月报,在很多人的眼里,这是一个可有可无,对日常工作没有什么帮助的体力活。可是真的是这样么?报告里面要记录自己完成了什么工作,出了什么问题,怎么解决之类的一些信息转载 2016-06-22 21:15:14 · 265 阅读 · 0 评论 -
程序员的28种能力之四 信息整理的能力
会议的资料不知道哪里去了。? ? ? ? ? ? 以前的一个客户的名片没有了。? ? ? ? ? ? 那个有关需求定义的电子邮件找不到了。? ? ? ? ? ? 某某类的设计文档在哪里? ? ? ? 日常工作中,有各种各样的找不到的情况,想找却找不到东西也是五花八门,但是归根结底,我们找不到并不是什么东西,而是附着于该物体上的信息。解决这个问题的最好办法就是转载 2016-06-22 21:15:51 · 455 阅读 · 0 评论 -
软件项目版本号的命名规则及格式
版本控制比较普遍的 3 种命名格式 :一、GNU 风格的版本号命名格式 :主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]]Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]示例 : 1.2.1, 2.0, 5.0.0 build-13124二、Windows转载 2016-08-24 17:39:02 · 11842 阅读 · 0 评论 -
产品设计原则:3秒、3次原则和费茨定律
那么如何才是好的产品设计呢?其中又有哪些值得大家借鉴和吸取的原则呢?今天摘选黄彦鸣产品笔记中关于产品设计的知识和各产品经理分享产品设计的一些基本原则。3秒钟原则现代人的生活节奏都很快,网页间的切换速度也越来越快。所谓“3秒钟原则”,就是要在极短的时间内展示重要信息,给用户留下深刻的第一印象。当然,这里的3秒只是一个象征意义上的快速浏览表述,在实际浏览网页的时候,并非真的严格遵守3秒转载 2016-08-25 17:31:58 · 920 阅读 · 0 评论