自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hursing的博客

开源和免费是技术进步的阶梯

  • 博客(189)
  • 资源 (10)
  • 收藏
  • 关注

原创 项目过程管理(十一)提测流程和免测标准

规则有前端或客户端参与的需求,由他们来提测,否则是后端直接提测。提测记录可以写在IM群公告上,不要覆盖同版本的提测,每个版本发布后由测试同学剪切保存到ODS或测试报告中。如果有项目管理工具帮助或者研发有资源自己做一个提测记录系统那就更好了。(术语解释请参考《排期和立项》,tag的格式请参考《Git分支管理规范》)流程开发自测,确保主路径没问题。如果测试组有提供冒烟测试,必须冒烟都通过...

2019-02-28 16:16:08 5492

原创 项目过程管理(十)开发规范

Gitgit的用户名为自己名字的小写全拼,邮箱为公司邮箱,方便追溯提交者。命令行操作示例:git config --global user.name mynamegit config --global user.email [email protected] commit的log原则:必须说明提交的意义,不能是简单无意义的文字bug fix应写上是解决哪个bug,可复制禅......

2019-02-28 16:15:27 2623

原创 项目过程管理(九)设计师规范

前置说明这里只关注影响合作的规范,跟“好不好看”有关的标准是设计师内部的专业规范,这里不涉及。对设计师的要求,可参考《程序员眼中最牛的UI设计师是怎样的?》设计图规范预审的目标是让负责人评估可行性,设计稿着重表达出样式的位置、形状和交互即可,是原型还是设计稿都没关系。全体评审的目标是让开发准确评估工作量。对工作量影响极小的东西可以不是终稿,例如颜色值、字体大小、间距。终稿可在各需求...

2019-02-28 16:14:50 1012

原创 项目过程管理(八)延期和需求变更

延期有延期风险时应及时通知项目经理,并由项目经理组织各负责人确认是否延期。最终由项目经理发出邮件,列明延期原因、修改后的里程碑时间,同步更新文档。邮件标题:【项目延期】xxx项目延期说明mmdd需求变更通知规则:必须在需求文档的修订记录上有所体现在IM群上@所有人 通知。如果增加的工作量超过1人天的,必须发邮件会导致项目延期的变更,必须产品主管(最高可到boss)确认通知...

2019-02-28 16:14:07 2456

原创 项目过程管理(七)排期和立项

术语解释里程碑(时间):重要的时间节点,例如提测、发布。来自英文milestone。风险点:任何可能造成项目延期的事项立项:经过核心和高优先级的全体需求评审后,由项目经理收集各职能的工- 作量、风险、所需资源评估,协商得出里程碑时间,发出邮件。每轮提测叫t1、t2、t3,t = test每轮提测内提交的修改,叫patch。合起来看:第2轮提测打的第3个tag,叫t2p3全功能提测:...

2019-02-28 16:13:38 9345

原创 项目过程管理(六)需求评审和工作量评估

两轮评审流程:预审:产品提前2小时发出通知和初稿(不需要完善细节,可以只是原型),召集主管或负责人预审。未必需要开会,只要每个人能确认需求没大问题就好。全体评审:产品提前1天发出通知和需求链接(设计师已出完初步设计图),全体人员参加。应该在会前审完大部分问题,而不是会后。会上只是查漏补缺。跟运营有关的需求,应该在全体评审前由运营先审核完毕。产品经理根据问题修改完毕后,逐个找负责人确认。...

2019-02-28 16:13:07 6785

原创 项目过程管理(五)需求文档

写作说明写作思路和本模板的设计原理,请参考《如何写出受技术欢迎的需求文档》。实际的示例,可参考《倒推盒马鲜生App产品需求文档》。额外的要求:文档的标题是1句话,跟需求总表里的一致。需求描述的基本要求:条理清晰,逻辑严谨,用词专业,格式规范,易于阅读,重点词句标红全体评审时,需求文档上应该是设计稿,而不是原型图。如果是基于旧需求的补充完善,把旧需求复制到新版本,加上修订记录并标记修...

2019-02-28 16:12:43 3711

原创 项目过程管理(四)需求总表

执行说明产品经理应该先写需求总表再写需求文档,需求文档的完善程度与总表的优先级是一致的,优先级低的需求还可以在核心需求开发过程中再完善。整个项目组都按优先级做。核心和高优先级的可以做完一个提测一个。迭代规划是产品经理的专业技能,超出项目管理的讨论范围,所以请参考这篇文章《如何做好迭代规划》。表格样式需求名称优先级产品UI前端后端测试运维评论核心刘xx、洪...

2019-02-28 16:12:16 1611

原创 项目过程管理(三)文档组织规范

总则所有文档以在线文档系统(Online Documentation System,下文简称ODS)为中心进行管理,ODS不方便存放的东西才放到SVN(或Git)。因为ODS有URL链接可以点击直达,比起基于电脑文件系统的管理方便得多,且直接支持手机查看。ODS规范ODS通常以“空间”或者“目录”来区分项目,而“空间”会更独立。首先,由项目经理或产品经理为项目创建一个空间。空间内的目录规范如...

2019-02-28 16:11:49 3147

原创 项目过程管理(二)工具与流程

工具是高效工作的必需品,IM和电子邮箱肯定少不了。除此之外,可以辅助项目过程管理的工具还有这些:

2019-02-28 16:11:07 5463

原创 项目过程管理(一)团队分工与意识规范

团队构成本系列文章谈论的项目团队主要包括项目经理、产品经理、开发、测试、UI设计师这几种职能,也可以包括某些类型的运营人员,不包括商务、客服等。其中项目经理可以由其它职能的人兼任,也可以单独设立。单独设立时,项目经理通常会同时管多个项目或者兼任协调跨部门资源,否则会工作量不饱和。如果一种职能有多个人员,应该设立一个负责人(接口人)。如果管理岗位的人也参与,一般会由他直接兼任。职责定位一句话...

2019-02-28 16:10:21 6031

原创 年会抽奖程序:200行HTML+JavaScript写个桌面程序

需求分析多轮抽奖,每轮只有3个环节:展示奖品图,人名闪动,停止闪动确定中奖名单中奖分级,例如试用期员工不能中二等奖或以上每轮抽奖的中奖人数不同。每个人只能中一次奖可临时加场,现场输入奖品名、数量。额外窗口输入,避免被观众看到修改过程。本地记录每轮的奖品和中奖名单全屏显示。不确定现场的屏幕分辨率,故核心部分固定1024*768,居中显示;背景拉伸铺满全屏。技术选型搞桌面程序第一...

2019-01-05 15:27:28 8133 26

原创 团队开发如何评估工作量

先划分出各端(前端、客户端、后端),每个端单独评估。需要时间最长的端即为研发所需的最少时间。对每个端评估时,列出参与这个项目的所有人员。为了便于描述,我们把其中技术能力最强或工作效率最高的人称为 A。A 一天(除去加班、小憩时间)能完成的工作量定义为 1 人天(也有叫”人日“的,注意两个字合起来是一个量词/单位),同时 A 的战斗力定为 1.0。这个需求按照 A 的标准要几天才能完成,则它的工...

2018-12-26 11:35:56 10802

原创 Web API规范设计指引

关于RESTful应认真考虑要不要使用RESTful规范,不要盲目跟风。它的缺点在小公司里特别明显:高度抽象,需要一定的设计能力。初级程序员很容易破坏整体设计,这不可能都被Review到。接口使用者也未必能做好反馈需要对HTTP协议有一定的理解一般越好的设计就有越多的约束,也可能有越高复杂度,因此交接工作的学习成本高产品迭代很快时,接口可能变动很频繁导致版本升级也很快,各种为了好设计而...

2018-12-25 14:34:06 5752 3

原创 移动App模块化设计

业务模块内部一般是MVC、MVP、MVVM式设计,可是这些设计模式没解答跨模块的可依赖性。大部分人会认可基础层可被所有代码依赖,但少有人明确UI层可依赖所有业务层代码(例如A页面可依赖B页面的model)。一般按照界面划分模块后,同属该模块的业务层和UI层都放在同一目录下(还可以有子目录)。如果设计得好,这部分东西是不关联具体业务的,多数可以跨项目使用,由业务层做定制化后为所属项目服务。(层次是功能意义逻辑的划分,不代表每层都有一个类来封装上一层,有时候同一个类内的函数集就是一层)这层的目录命名可以叫。

2018-12-18 17:02:13 5564 2

原创 如何做好迭代规划

互联网产品的迭代速度越来越快,大家都想抢占市场,那么怎样才是正确的打开方式呢?确定迭代节奏如果产品已经进入维护阶段,即无论搞什么都不会造成利润大幅变动,那大家可以轻松点,每个需求都不限时,做完为止。在前中期,为了配合快速迭代或敏捷开发,则需要限时。一般会把迭代周期定成两周或一月。固定节奏有助于提高团队凝聚力和协调度。请注意,是迭代周期决定周期内做多少需求,而不是需求数量决定迭代周期。这会要求...

2018-12-14 14:37:25 3302 1

原创 需求评审的关注点

评审的目标是在写代码前发现所有的问题。不要吝惜把时间花在前期的沟通上,这能减少中后期的意外,不耽误最终的发布时间。我们可从这些思路出发来发现问题。文笔错别字,特别是界面上的文案。例如,登陆->登录歧义表达不清,模糊没有统一术语,多处地方用不同词语来表示同一概念是否杂乱无章,不便于阅读和查找信息逻辑需求的目标都没想清楚,为了有新版本而做需求流程的出入口:是否明确,是否过............

2018-11-29 15:06:44 4832

原创 程序员眼中最牛的UI设计师是怎样的?

UI设计师是唯一要和程序员合作的设计师职业,我们看多了相互取笑的段子,那么怎样的UI设计师会是程序员眼中最牛的呢?这其中有3个层次。1.懂UI没错,首先是懂UI。UI设计师设计的是人机交互界面,界面的载体是设备。这是区别于其他设计师的地方。不同设备又有它的特性和要求,了解设备知识是程序员和设计师共同的目标,也是他们找到共同语言的基础。设计师需要了解这些东西:可控制的基本属性:字体,字形,...

2018-11-23 15:45:54 6432

原创 如何写出受技术欢迎的需求文档

综述正如我们做出来的产品都希望受用户欢迎,开发和测试是需求文档的用户,产品经理也应该重视他们的想法和要求才能写得令人满意。“写需求文档”说专业点是把用户(或运营、客服等)的需求转化成技术部门的话语,因此了解技术术语是产品经理的基本素质。要做到需求文档受欢迎,了解术语是不够的。虽然不可能写得像开发人员写设计文档的一样专业,但产品经理如果能运用技术人员的思维多做些考虑,就能减少评审过程的反复沟通,...

2018-10-31 14:49:01 3913 1

原创 纯nodejs简易实现DNS解析服务器

dns-serverA DNS server app written by pure Nodejs for develop and test use. Only support IPv4 now.To resolve specified domain name to specified IP using keyword-matching algorithm. Useful for fron...

2018-07-27 14:10:35 4929

原创 JavaScript与WebView交互框架设计

总体设计现在最新的xcode都只支持iOS8.0以上的版本了,所以iOS应该直接使用性能高、功能多的WKWebView接口。UIWebView的注入对象方式需要依赖KVC,且有坑,不建议使用。本文都以WKWebView的接口来设计。数据从native传递到js只有一种方法: - ios是[webView evaluateJavaScript:@"some-js-code" compl

2018-07-11 16:44:12 2737

原创 apk、ipa包size优化手段

删除冗余代码和资源能简单用代码画的图形,不使用图片能使用系统API自己实现的,不使用第三方库。第三方库一般会考虑通用的情形,实际上不会用上它的全部功能。重构 抽离类似的代码做成通用的模块,减少复制粘贴出来的代码。删除过度设计的代码:看似抽象分层做得很好,但实际不会有作用的代码。(例如,只有一个子类的基类)算法优化,使用更少的代码来实现同一功能。启动图:不使用多张图片来匹配不同分辨率...

2018-06-26 11:59:10 1459

原创 Git分支管理规范

基本原则分支命名不能包含中文,英文不行就用全拼,不要在乎长度。不同渠道或不同语种的版本,应该通过工程配置来区分打包,用架构设计来消灭“不同版本使用不同分支”的做法。分支既然叫“分支”,就是要被“修剪”的。达成目的后的分支都该删除,否则就像僵尸代码。命名格式总览 分支类型 命名格式,大括号表示可变 示例 master(主干) master mas...

2017-12-13 10:42:33 4140 2

原创 移动开发代码规范与格式化工具

原则有几个原则可以帮助大家不看文档也能写出符合规范的代码:如果是修改已有的代码,跟周围的风格一致如果是使用系统SDK来开发,除非特别说明,风格要和系统SDK一致新建文件写代码都按规范来写;旧文件中不符合规范的代码,找个合适的时间批处理格式化。学会IDE如何设置默认的代码格式如果无公司标准,为了方便都使用谷歌的代码规范集,它已覆盖了很多流行的编程语言。规范iOSApple本身做了很好的规范,

2017-12-02 09:58:07 1899

原创 程序员内部培训与个人发展杂谈

前言文中的培训均指代内部技术培训本文是对《如何优化程序员的内部培训》的补充。http://blog.csdn.net/hursing/article/details/50147549例子是针对iOS、Android客户端开发的,但不影响前后端的同学理解。培训的发展过程培训的内容是技术知识,要了解培训的发展,首先要知道技术的发展。技术从无到有再到成为热门,相关的知识也需要不断积累的过程,这个过

2017-07-18 17:16:17 9770 18

原创 ViewPager实现Recycle机制和响应notifyDataSetChanged

1.目标主界面要求水平移动翻页效果,每次只能翻一页,可以翻无数页。2.实现思路针对“每次只能翻一页”这个要求,简单使用SDK的话只有用ViewPager。ViewPager的PageAdapter是没有实现RecyclerView的ViewHolder.itemView回收机制的。即使是子类FragmentStatePagerAdapter,也只是保存状态后销毁Fragment,Fragment本身

2017-01-10 11:50:54 2228

原创 Web开发须知的浏览器内幕 缓存与存储篇(2)

本文禁止转载,由UC浏览器内部出品。3. HTTP Cache综述HTTP Cache是完全按照IETF规范实现的,最新的RFC规范地址是 https://tools.ietf.org/html/rfc7234。它的作用就是保存可缓存的响应以备重新使用,在下次请求时可减少响应时间和网络带宽。只有GET和HEAD method会缓存。浏览器的优化浏览器是过滤了部分没有意义进行缓存的响应头才保存到磁盘

2016-09-23 11:06:55 4503

原创 Web开发须知的浏览器内幕 缓存与存储篇(1)

本文禁止转载,由UC浏览器内部出品。0.前言大纲浏览器缓存和存储相关的功能分为四类:加载流程 Memory CacheApplication Cache(简称AppCache)HTTP CacheCookie StorageJavascript API Web StorageIndexed DatabaseFile APICache Storage(Service Worker的

2016-09-23 11:02:28 5656

原创 客户端开发设计总结

1 基础设施程序最基本的处理就是数据IO以及为了并行计算所做的操作,它们通常会作为程序的底层框架,供上层使用。2 交互从PC到现在的移动设备还有VR,人机交互中的输入设备在不断自然化,可是展示界面的元素仍然还是这几种:静态文本、按钮、列表、输入框、选择菜单、进度提示、滚动条、标签页。每种UI框架都提供这些基本组件,可以说掌握它们就等于对这个框架入门了。高级的交互会跨越窗口、跨越程序,并能更智能化地响

2016-09-19 16:01:04 20486 3

原创 《Linux命令行与Shell脚本编程大全第2版》读书笔记

第1章可以cat /proc/meminfo文件来观察Linux系统上虚拟内存的当前状态ipcs命令专门用来查看系统上的当前共享内存页面Ubuntu使用一个表来管理在系统开机时要自动启动的进程,在/etc/init.d目录,可将开机时启动或停止某个应用的脚本放在这个目录下。这些脚本通过/etc/rcX.d目录下的入口启动,这里X代表运行级(run level)Linux才做系统有5个启动运行级。运

2016-08-17 13:47:35 3030

原创 HTTP(S)网络框架的设计

0.烦恼操作系统提供的网络接口都相对接近底层,使用时有诸多不便。但是我们不能期望系统API做得很高级,因为没有绝对合适的网络库,必须定制化从而达到适合某业务下的最佳性能。1.需求移动app使用网络库的场景不外乎三个:和自家(CS架构的)服务器通信下载文件Web浏览从方便和可扩展性出发,不少app会选择通信协议为HTTP(S),数据协议则为自定义。为了保护隐私,如果不使用HTTPS,数据都该自

2016-08-15 15:07:02 4301 1

原创 如何优化程序员的内部培训

本文的主旨是列内部培训的提纲,特别对培训他人和写作技巧写得细一些,让大家明白很多东西可以培训和怎么传播知识。虽然题为培训,但我还是想说一句:程序员其实不需要培训,只需要指点。原因有三: 1. 程序员的工作都必须去实践,几乎没有纯理论的领域。 2. 由于互联网的开放性,程序员能找到大量的资源自学。 3. 随着实践深入,会自然地遇到一些问题。解决这些问题除了靠智力外,大部分只需要知道答案的大致方位就能用时间来消

2015-12-21 10:06:07 14119 6

原创 跨平台客户端开发经验总结

1 前言因为《猫科动物和企鹅在窗口外看机器人吃苹果》这出戏太美,很多公司都希望能全平台同时发布新版本app,还要能复用代码以降低开发成本。这迫使一部分已熟悉某个平台的先锋们转岗到另一个平台边学习边开发。最终有少部分人在每个战场都打拼过,从而能全盘考虑以设计出良好的可复用架构。 革命总会出新知,今天已有一些开源框架能应对同时在5大平台Mac OS X、Linux、Windows、Android、iO

2015-09-22 16:25:21 16588 12

原创 boost::asio的http client应用笔记

1 踩过的坑1.1 io_serviceboost::asio::io_service::run()会一直运行到没有任务为止,如果中途调用stop(),则所有等待中的任务会立刻执行。解决方案是用run_one(),即while (keep_running) io_service_.run_one();keep_running是个bool值,要stop io_service的时候直接置fals

2015-07-09 10:16:24 13118 5

原创 boost全平台编译方法

0.通用规则boost自带一套编译工具bjam,bjam本身是跨平台的,并且也要自行编译出来。在boost目录下有bootstrap.sh和bootstrap.bat两个脚本分别用来编译*nix和windows下的bjam。bootstrap脚本可以传入参数,以在编译bjam过程中生成特定的编译boost的配置。编译bjam过程中生成的project-config.jam就是默认的配置,但还可以在运

2015-06-11 12:00:25 52628 15

原创 libevent2笔记(Timer和Http Client的应用和注意点)

1.初始化Windows上需要自己初始化系统网络库,即调用WSADATA WSAData;WSAStartup(0x201, &WSAData);结束使用时再WSACleanup();另外还需要初始化线程设置 windows上 evthread_use_windows_threads linux上 evthread_use_pthreads综上,使用其它libevent的函数前需要这样:#

2015-05-02 16:01:15 7044

原创 shell终端多目录间快速cd工具

1.解决的问题当需要在多个目录间cd的时候,需要输入一大串的路径。例如在不同的项目、不同的分支代码目录跳转,在桌面和文档目录跳转cd ~/Desktop/project_trunkcd ~/Download/cang_lao_shicd ~/code/branch-1.11/cd ~/code/branch-3.1/project/android 这个工具就能令这些cd简化成几个字符:g2tg2c

2015-03-06 12:53:43 4487 1

原创 脚本式快捷键:一个简化shell终端命令输入的工具

1.解决的问题当你需要一次输入很多个命令的时候,例如一次去多个目录删除文件cd dir1rm file1.tempcd ../../dir2rm -rf dir3当你懒得输入一个好长的命令或者直接就记不住那么长的命令的时候,例如生成ctagsctags --languages=C++ --exclude=third_party --exclude=.git --exclude=b...

2015-03-04 14:46:30 4676

原创 libevent2笔记(linux、windows、android的编译)

0. 前言我使用的版本是libevent-2.0.21-stable。高级的应用还是得看官网文档http://www.wangafu.net/~nickm/libevent-2.0/doxygen/html/1. 编译1.1 Linux版编译在目录下./configure && make即可在./.lib/下得到5个.a静态库。 sdfsdfdsf

2015-02-26 15:56:22 9229 1

原创 韩国水原市出差见闻

1 出发本地出差的地方是京畿道(Gyeonggi-do)水原市(Suwon-si)。“京畿道”:京是首都,畿指靠近国都的地方,道相当于省。京畿道是包围着首都首尔和仁川的省(就像河北包围北京和天津),省会设在水原市。办理韩国的旅游签证需要7个工作日左右,允许停留时间是30天。我停留了满满的一个月。入境是限制携带水果的,也许是防止外物种入侵。再次访问的话,不妨带点猪肉干、牛肉干送给他们,他们估计会很感

2014-12-10 17:29:34 14819 1

RTCA DO-325 MOPS for AFGCS航空自动驾驶仪标准

Minimum Operation Performance Standards (MOPS) for Automatic Flight Guidance and Control Systems and Equipment

2024-03-20

大话适航思考题参考答案

《大话适航(八)学习》(https://hursing.blog.csdn.net/article/details/136872062)一文中的思考题的参考答案

2024-03-20

支持SPDY协议的wireshark for linux 64bit

编译方法请参考。http://blog.csdn.net/hursing/article/details/20367381 能找到这来,相信你懂它用来干什么。

2014-03-06

获取UIWebVIew里的图片的demo

详情请参考http://blog.csdn.net/hursing/article/details/12868109

2013-10-19

Objective-C头文件导出工具class-dump

Objective-C头文件导出工具class-dump 。 Current version: 3.4 (64 bit Intel) Requires Mac OS X 10.7 or later. class-dump 3.4 (64 bit) Usage: class-dump [options] <mach-o-file> where options are: -a show instance variable offsets -A show implementation addresses --arch <arch> choose a specific architecture from a universal binary (ppc, ppc64, i386, x86_64) -C <regex> only display classes matching regular expression -f <str> find string in method name -H generate header files in current directory, or directory specified with -o -I sort classes, categories, and protocols by inheritance (overrides -s) -o <dir> output directory used for -H -r recursively expand frameworks and fixed VM shared libraries -s sort classes and categories by name -S sort methods by name -t suppress header in output, for testing --list-arches list the arches in the file, then exit --sdk-ios specify iOS SDK version (will look in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS<version>.sdk --sdk-mac specify Mac OS X version (will look in /Developer/SDKs/MacOSX<version>.sdk --sdk-root specify the full SDK root path (or use --sdk-ios/--sdk-mac for a shortcut)

2013-06-06

代码统计工具cloc的perl 1.58版

代码统计工具cloc的perl 1.58版 使用方法: perl cloc-1.58.pl

2013-06-05

xcode4创建dylib动态库的demo和工程模板

xcode4创建dylib动态库的demo和工程模板

2013-05-20

iOS伪亮度控制demo

详情请查看http://blog.csdn.net/hursing/article/details/8721719

2013-03-26

Xcode创建和使用iOS的dylib动态库

详情请参看 http://blog.csdn.net/hursing/article/details/8688861

2013-03-19

iOS两个线程间嵌套发送同步消息的demo

原理与使用方法请查看 http://blog.csdn.net/hursing/article/details/8688872

2013-03-19

AHCI Spec V1.3

AHCI,Advanced host controller interface, Spec,version 1.3

2009-10-02

SMBIOS specification V2.6.1

介绍了SMBIOS的结构,访问方法等知识。

2009-08-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除