自定义博客皮肤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的博客

我不会告诉你他是一只葵鼠哒 O(∩_∩)O

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

前言 文中的培训均指代内部技术培训 本文是对《如何优化程序员的内部培训》的补充。http://blog.csdn.net/hursing/article/details/50147549 例子是针对iOS、Android客户端开发的,但不影响前后端的同学理解。 培训的发展过程培训的内容是技术知识,...

2017-07-18 17:16:17 7156 16

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

本文的主旨是列内部培训的提纲,特别对培训他人和写作技巧写得细一些,让大家明白很多东西可以培训和怎么传播知识。 虽然题为培训,但我还是想说一句:程序员其实不需要培训,只需要指点。原因有三: 1. 程序员的工作都必须去实践,几乎没有纯理论的领域。 2. 由于互联网的开放性,程序员能找到大量的资源...

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

原创 前端性能优化方法总结

0.前言 现今“前端”这个词涵盖的技术已经远不只HTML/CSS/JS了。我们先来看看数据的最长链路: 起点是浏览器地址栏输入框 浏览器缓存 浏览器网络请求 各级路由器和CDN Nginx或F5 网关缓存 Node.js Node层缓存 静态文件读取/数据库读取/服务器渲染 ...

2020-05-07 22:54:18 161 0

原创 Mac用Homebrew安装libimobiledevice

我的环境是macOS Catalina Version 10.15.2。请注意时效性。 第一步,安装Command Line Tools 到 https://developer.apple.com/download/more/?=for%20Xcode 安装最新版的Command Line Too...

2019-12-30 10:53:08 1102 0

原创 CentOS一键编译安装nginx,带http2/brotli/zlib/pcre/ssl,非root监听80端口

系统环境与依赖: 脚本示范的是CentOS 7.6。Ubuntu 18也是可以的,把脚本里的yum改成apt即可。 各依赖库的版本请看url里的数字。有升级的话,改一下版本数字即可继续用这个脚本。 脚本 说明在注释里: # 这一步需要root用户来执行 # 需要git来从GitHub上clone ...

2019-06-27 12:04:46 530 0

原创 解决Jenkins连接git时报错Permission denied (publickey)

环境 Ubuntu 18.04 LTS Jenkins 2.164.3。通过apt install jenkins安装的。 原因 通过apt安装的结果是Jenkins创建了一个jenkins用户,并作为service以这个用户来运行。所以无论是root还是当前用户的ssh key都是不生效的。 解...

2019-05-24 18:07:29 3405 0

原创 CentOS7+Confluence6+PostgreSQL11搭建指南

0.前言 本文是假定刚刚最小化安装完CentOS7系统。 Confluence的PJ方法是对6.X都能用的。 为什么选择PostgreSQL而不是MySQL?因为MySQL安装慢、要另外下载connector、安装后的设置多。所以PostgreSQL变成了数据库选择菜单里的默认项? 1.安装...

2019-05-23 15:08:25 602 0

原创 项目过程管理系列文章链接汇总

目录 团队分工与意识规范 工具与流程 文档组织规范 需求总表 需求文档 需求评审和工作量评估 排期和立项 延期和需求变更 设计师规范 开发规范 提测流程和免测标准 问题跟踪系统使用规范 测试报告 验收、发布、上线 线上故障 项目周报 结项 集体加班制度 参考文章 《从“结果导向”到“目标导向...

2019-02-28 16:20:58 1641 5

原创 项目过程管理(十八)集体加班制度

加班的标准 及时上线能带来可观收入 外力因素(政策、时事、市场、第三方故障等) 延期了太久,要把进度赶回来 别人过失导致的个人加班,应根据自己意愿决定是否加。不加是合理的,项目延期是符合流程的。如果选择加班,那是个人为项目顺利所做的努力,是高绩效的有力依据。加班完了最好有意识地记录自己的贡献,...

2019-02-28 16:19:43 752 2

原创 项目过程管理(十七)结项

1.结项会议 时间:上线三天后,有两天的线上情况观察时间 主持人:项目经理 参会人员:实际参于项目的所有人员,主管酌情参与 会前准备:把需要投影的东西给主持人,自己准备好发言提纲 会议流程分为两部分 第一部分,结果总结。按以下次序发言: 项目:简单回顾整体项目进度,消耗的人力时长,偏差多少与原因...

2019-02-28 16:19:13 1517 0

原创 项目过程管理(十六)项目周报

原则 有事起奏无事退朝 项目经理可在周一上午召开站会收集信息,各职能负责人需积极配合。 周一下午3点前发出邮件 邮件 接着立项邮件全体回复,每周接着上一周发直到结项 收件人:项目组群 标题:【项目周报】xxx(项目)mmdd(日期),例如 支付宝1018 正文示例: Dear All, (1-...

2019-02-28 16:18:49 2153 0

原创 项目过程管理(十五)线上故障

故障定义 发布生产环境并验收通过,确认放量后,还发现的bug都算线上故障 报告标准 什么情况的线上故障 需要 报告? 对营业额有大影响。例如无法打开页面,无法操作 对用户口碑有大影响。例如无法支付或提现 什么情况的 不需要 报告? 简单的用户体验或纯UI的问题 不影响用户使用核心功能的问题 ...

2019-02-28 16:18:32 535 0

原创 项目过程管理(十四)验收、发布、上线

验收者 产品、UI、后台系统使用者(运营、客服、风控等) 验收进入条件 测试流程结束的下一步是验收。进入验收的最理想标准是所有bug都已关闭。 如果时间紧张,可以放宽到 同时满足 这两个条件: 优先级为“下次提测前解决”的bug都 已关闭 优先级为“发布前解决”的bug 不超过人均2个 测试环...

2019-02-28 16:18:01 1242 0

原创 项目过程管理(十三)测试报告

原则 最终目标不是故意找茬,而是让管理者知道哪个环节有问题,能及时做调整 要能反映质量,不要写成在描述需求或业务 质量问题要具体到职能或人;不能模棱两可,看不出谁要为问题负责 记录测试手段,为线上故障的漏测找依据 邮件通知 收件人:项目组群 抄送:测试组群 标题:【测试报告】xxx项目y.y....

2019-02-28 16:17:23 689 0

原创 项目过程管理(十二)问题跟踪系统使用规范

报告规范 指派: 直接指派给你知道的负责人,否则先给测试负责人 提优化建议应指派给产品经理 模块/页面/类型: 尽量选对,不同模块通知到的负责人可能不同 不知道的话选其它,由测试负责人再修改 标题: 一句话总结出错的位置、现象;或者是建议做法 思考一下要搜索出这个bug时会用什么关键字,...

2019-02-28 16:16:54 877 0

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

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

2019-02-28 16:16:08 1484 0

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

Git git的用户名为自己名字的小写全拼,邮箱为公司邮箱,方便追溯提交者。命令行操作示例: git config --global user.name myname git config --global user.email myemail@example.com git commit的lo...

2019-02-28 16:15:27 1499 0

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

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

2019-02-28 16:14:50 445 0

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

延期 有延期风险时应及时通知项目经理,并由项目经理组织各负责人确认是否延期。 最终由项目经理发出邮件,列明延期原因、修改后的里程碑时间,同步更新文档。 邮件标题:【项目延期】xxx项目延期说明mmdd 需求变更 通知规则: 必须在需求文档的修订记录上有所体现 在IM群上@所有人 通知。如果增...

2019-02-28 16:14:07 1041 0

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

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

2019-02-28 16:13:38 2487 0

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

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

2019-02-28 16:13:07 2152 0

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

写作说明 写作思路和本模板的设计原理,请参考《如何写出受技术欢迎的需求文档》。 实际的示例,可参考《倒推盒马鲜生App产品需求文档》。 额外的要求: 文档的标题是1句话,跟需求总表里的一致。 需求描述的基本要求:条理清晰,逻辑严谨,用词专业,格式规范,易于阅读,重点词句标红 全体评审时,需求文档...

2019-02-28 16:12:43 1470 0

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

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

2019-02-28 16:12:16 672 0

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

总则 所有文档以在线文档系统(Online Documentation System,下文简称ODS)为中心进行管理,ODS不方便存放的东西才放到SVN(或Git)。因为ODS有URL链接可以点击直达,比起基于电脑文件系统的管理方便得多,且直接支持手机查看。 ODS规范 ODS通常以“空间”或者“...

2019-02-28 16:11:49 1457 0

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

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

2019-02-28 16:11:07 3086 0

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

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

2019-02-28 16:10:21 2422 0

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

需求分析 多轮抽奖,每轮只有3个环节:展示奖品图,人名闪动,停止闪动确定中奖名单 中奖分级,例如试用期员工不能中二等奖或以上 每轮抽奖的中奖人数不同。每个人只能中一次奖 可临时加场,现场输入奖品名、数量。额外窗口输入,避免被观众看到修改过程。 本地记录每轮的奖品和中奖名单 全屏显示。不确定现场的...

2019-01-05 15:27:28 5300 24

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

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

2018-12-26 11:35:56 4396 0

原创 Web API规范设计指引

关于RESTful 应认真考虑要不要使用RESTful规范,不要盲目跟风。它的缺点在小公司里特别明显: 高度抽象,需要一定的设计能力。初级程序员很容易破坏整体设计,这不可能都被Review到。接口使用者也未必能做好反馈 需要对HTTP协议有一定的理解 一般越好的设计就有越多的约束,也可能有越高复...

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

原创 移动App模块化设计

三层架构 基础层:构建程序骨架,处理原始数据的IO 业务层:控制数据流并进行加工 UI层 层次不等于文件组织,也不等于模块划分。一般按照界面划分模块后,同属该模块的业务层和UI层都放在同一目录下(还可以有子目录)。一个模块不会被层次限死,最多三层都可以跨越。 基础层 这层的目录命名有叫base...

2018-12-18 17:02:13 2412 1

原创 如何做好迭代规划

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

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

原创 需求评审的关注点

评审的目标是在写代码前发现所有的问题。不要吝惜把时间花在前期的沟通上,这能减少中后期的意外,不耽误最终的发布时间。我们可从这些思路出发来发现问题。 文笔 错别字,特别是界面上的文案。例如,登陆->登录 歧义 表达不清,模糊 没有统一术语,多处地方用不同词语来表示同一概念 是否杂乱无...

2018-11-29 15:06:44 1528 0

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

UI设计师是唯一要和程序员合作的设计师职业,我们看多了相互取笑的段子,那么怎样的UI设计师会是程序员眼中最牛的呢?这其中有3个层次。 1.懂UI 没错,首先是懂UI。UI设计师设计的是人机交互界面,界面的载体是设备。这是区别于其他设计师的地方。不同设备又有它的特性和要求,了解设备知识是程序员和设计...

2018-11-23 15:45:54 3529 0

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

综述 正如我们做出来的产品都希望受用户欢迎,开发和测试是需求文档的用户,产品经理也应该重视他们的想法和要求才能写得令人满意。 “写需求文档”说专业点是把用户(或运营、客服等)的需求转化成技术部门的话语,因此了解技术术语是产品经理的基本素质。要做到需求文档受欢迎,了解术语是不够的。虽然不可能写得像开...

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

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

dns-server A DNS server app written by pure Nodejs for develop and test use. Only support IPv4 now. To resolve specified domain name to specified I...

2018-07-27 14:10:35 2723 0

原创 JavaScript与WebView交互框架设计

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

2018-07-11 16:44:12 1364 0

原创 apk、ipa包size优化手段

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

2018-06-26 11:59:10 475 0

原创 Git分支管理规范

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

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

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

原则有几个原则可以帮助大家不看文档也能写出符合规范的代码: 如果是修改已有的代码,跟周围的风格一致 如果是使用系统SDK来开发,除非特别说明,风格要和系统SDK一致 新建文件写代码都按规范来写;旧文件中不符合规范的代码,找个合适的时间批处理格式化。 学会IDE如何设置默认的代码格式 如果无公司标准...

2017-12-02 09:58:07 1385 0

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

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

2017-01-10 11:50:54 1932 0

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