owenzhang的博客

owenzhang的博客

学习笔记和思考感悟

loading
程序员如何交代清楚事情
有个项目要推动别人修改,或者有个会议要邀请别人审批。结果程序员在群里说了很多,最后没有人回答,整个群里都是一个人的语言,很尴尬。 如果让别人做事情,要先交代好背景,然后指出,让每个人干什么,需要什么支持,必要时直接@某个人。让人家知道要干什么。不要一直说,特别是很多人的群,大家都不知道到底要人家干啥。
第四章——《管理者如何发挥人的长处》
思考组织把人集中在一起,要想发挥作用,达到目标,必须用人所长。通过运用每个人的长处,共同完成任务。就像一个篮球队,队员的身材、技能、脾气都不同,但是发挥每个球员的长处,才能让球队取得好的成绩。 如何发挥每个人的长处,作为管理者,要能看到每个人的长处,而不是关心每个人的不足。关心每个人贡献什么,而不是他不能做什么。让每个人发挥自己的长处,才是最重要的,对组织才是最有利的。 要了解一个人的长处,才能对他的绩效提出要求,提出更有挑战的绩效目标。能够充分调用积极性,发挥自身长处。用人的时候,必须能够容忍人的短处。(这里说的短处是有底线的,指的是在技能或其他方面对组织无害的短处。如果突破了道德,或...
程序员如何处理好时区问题
写国际化的程序,经常会遇到两种问题:字符编码、时间问题。今天我们就聊聊程序中如何处理时间问题。 首先,要了解一些基本的概念,只有对概念有清晰的掌握,才能明白解决方法。 基本概念GMT时间:格林尼治标准时间(英语:Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台当地的平太阳时,因为本初子午线被定义为通过那里的经线。 由于地球每天的自转是有些不规则的,而且正在缓慢减速,因此格林尼治平时基于天文观测本身的缺陷,已经被原子钟报时的协调世界时(UTC)所取代。 UTC时间:协调世界时(英语:Coordinated Universal Time,法语:Temp...
如何设计「前后端交互协议」
客户端和服务器交互,web页面和后端交互,都需要设计前后端交互协议。究竟怎么样设计最好,是否有些方法论呢?有的。 方法很简单:前端侧重展示,后端侧重逻辑;轻前端,重后端。 理由如下: 安全性无论是客户端,还是web页面,在黑客面前,都是可以修改逻辑的。所以重要的逻辑,都是要做在后端,即使是游戏为了性能和体验,在后端也要做校验逻辑。 逻辑在后端是省不掉的,至于前端,能省则省。不用相同的逻辑实现两次,以后升级修改,只要改后端就可以了,前端只要保证根据后端传过来的展示规则,正常展示就可以。 易于升级web页面还好,可以控制发布。但是客户端,分发就要用很久,而且用户不一定马上升级。所以对协议的制...
代码中的一致性问题
在分布式系统中,数据一致性是一个很难题。通常都是保证可用性,实现最终一致性。最近在review代码过程中,发现代码一致性也很重要,很多小伙伴都容易忽略。 案例一个发奖脚本,有两个功能: 1.打印获奖名单,发送邮件供产品经理审核。 2.给获奖名单的用户发送奖品。 开发同学在实际实现功能时,分别写了两个函数,逻辑大部分类似。只是打印函数加了发邮件和数据格式化功能,发送奖品函数调用发奖服务接口。 分析这样做是有几个问题。 一、逻辑一致性维护的问题 同样的逻辑,分布在两个函数中,必须要保证两个地方函数逻辑一致。让以后维护代码增加了难度。一旦改漏,会导致审核和发送逻辑不同,很有可能导致事故。即使...
代码中的奥卡姆剃刀原理
如无必要,勿增实体。 过早的优化是万恶之源。 背景一个抽奖活动,要求在展示奖品股票时,显示股票价格。开发在实现这个功能的时候,用redis缓存每只股票的价格,每两小时调用行情服务更新一次。 问为什么要做个缓存,而不是直接访问行情服务直接读取,给出了几个理由: 减少对行情的请求,直接访问redis一次就能查很多。 用缓存速度快。 奖品展示、获奖排行榜都要用行情数据,防止不一致。 用行情的地方很多,不用每次请求行情服务。 前端需要拉取的数据,在需求范围内,可以接受两小时不变,不用每次重新计算。 但是这些理由都站不住脚,直接访问行情服务并不会有问题。 优化过渡,过早加了缓存,增加了代码...
培养学习能力的三个阶段
随着科技的进步,各行各业都突飞猛进地发展,拥有良好的学习能力是职场必备技能。 怎样培养学习能力呢?一般要经过三个阶段:在人指导下进行学习;寻找学习机会,学以致用;总结提炼,帮助他人学习。 这三个阶段从初级到高级,一步一个脚印,就像打怪练级一样。 在人指导下进行学习对于程序员来说,这是学习的初级阶段,一般是刚入行1-2年。这时最重要的是学习的意愿,能够在别人的指导,或者要求下进行学习。了解学习的目的,学以致用。能够通过指定的学习资源掌握做好自身岗位工作所需要的知识、技能、工具和信息等。 是「不知道自己不知道」的时候。要虚心请教,当知道自己哪个方向有空白,需要学习的情况下,能够去主动学习,积...
如何设计抽奖活动
如何设计抽奖活动 抽奖的意义抽奖是一个很好的运营手段,通过抽奖,能够短时间内吸引大量用户,让用户集中使用产品。是运营活动中最常用的方法。 抽奖中的注意事项设计一个完美的抽奖活动,需要思考很多细节,最本质只有一个词「可控」。 所有的细节都是围绕着可控来实行的。 概率可控这是最基本的,抽奖要能控制概率。大奖概率低,小奖甚至不中奖概率高。如果人人可中,那是福利。如果人人都不中,就成了耍猴。 在设计抽奖奖品的时候,要有抽中概率字段。一般直观想到的是按百分比,例如有两个奖品。配置表如下: A 25%B 25% 但是这种配置方法是不对的。为什么呢?扩展性不强。 因为把概率总和定位100了,每次增减或...
毕业生如何准备技术类面试
又到了一年一度的校园招聘时间,最近面试了上百个毕业生,发现很多学生没有准备好面试,也不会面试。 毕业生究竟如何准备校园招聘呢?写些建议,希望能够对毕业生有所帮助。 了解自己的需求。自己的兴趣是什么,擅长什么技术,对自己有个清晰的认识。到底适合什么公司,什么岗位,有目标的准备面试,会节约时间,提升通过率。 了解公司的需求。通过师兄师姐,网上搜集,对心仪的公司有一定的了解。衡量下公司是否和自己的需求相匹配。还要知道公司的要求,因为找工作是双向选择。 公司都要经过笔试面试等几轮筛选,才能选中一个候选人。不同公司,不同岗位的面试规则都不大一样,毕业生可以通过网络搜索。甚至有些 面试题网上都有,可...
我能贡献什么-《卓有成效的管理者》第3章
第三章 我能贡献什么有效的管理者注重贡献,并懂的将自己的工作与长远目标结合起来,强调责任。 重视贡献是有效性的关键。有效性包括: 1. 自己的工作,包括工作内容、工作水准及其影响; 2. 自己与他人的关系,包括上司、对同事和下属; 3. 各项管理手段的运用,例如会议或报告等。 但大多数人只重视勤奋,忽略成果。 一个重视贡献的人,注意对成果负责的人,才算是管理人员,因为对整个机构的经营绩效负责。 所以,每个管理者都要经常思考一个重要的问题 「我能贡献什么」。 管理者的承诺要注重外部需求,而不是局限于自己的技术,所属部门等。只有外部世界才是产生成果的地方。 许多工作看起来辉煌,但是与潜在的贡...
avatar
owenzhang
一个热爱学习和生活的程序员大叔