代码review是代码质量保障的手段之一,同时开发成员之间代码review也是一种技术交流的方式,虽然会占用一些时间,但对团队而言,总体是个利大于弊的事情.如何借助现有工具在团队内部形成代码review的流程与规范,是team leader或技术管理者需要考虑的问题.本文分享一种基于Gitlab代码merge流程的code review方法,以供参考与探讨.如有更好的方法,欢迎交流. 1. 设置成员角色 首先需要对你团队的成员分配角色,在Gitlab groups里选择一个group,然后左边菜…
Gitlab来做代码review 代码review是代码质量保障的手段之一,同时开发成员之间代码review也是一种技术交流的方式,虽然会占用一些时间,但对团队而言,总体是个利大于弊的事情.如何借助现有工具在团队内部形成代码review的流程与规范,是team leader或技术管理者需要考虑的问题.本文分享一种基于Gitlab代码merge流程的code review方法,以供参考与探讨.如有更好的方法,欢迎交流. 1. 设置成员角色 首先需要对你团队的成员分配角色,在Gitlab group…
看了 Pivotal 公司的发展历史,这尼玛就是一场商业大片呀. 我们刚开始学习 Spring Boot 的时候肯定都会看到这么一句话: Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程. 这里的 Pivotal 团队肯定就是 Spring Boot 的研发团队了,那么这个 Pivotal 团队到底是个什么来头呢?和 Spring 又有那些关系?不着急且听我慢慢道来. 要说起这个 Pivotal 公司的由来,我得先…
为什么使用Git 随着互联网时代的来临与发展,尤其分布式开发的大力引入,对于开发工程师来说,代码管理变成了头等难题.10多个人或者更多的成员的研发团队如何管理同一份代码,异地办公如何跟同事有效的维护同一份代码?下面直接介绍Git,就不对Git和其他的版本管理工具进行比较了. Git属于分布式的版本控制系统,它具有以下特点: Git中每个克隆(clone)的版本库都是平等的.你可以从任何一个版本库的克隆来创建属于你自己的版本库,同时你的版本库也可以作为源提供给他人,只要你愿意. Git的每一次提取…
一.Job 简介 Job 类似于数据库中的作业,多用于实现定时执行任务.适用场景主要包括定时轮询数据库同步.定时处理数据.定时邮件通知等. 我们的 Job 分为操作系统级别定时任务 WinJob 和 HttpJob,其中,WinJob 使用开源的任务调度框架 Quartz.NET+ ZooKeeper 实现,HttpJob 的服务端是自主开发实现的,可以直接定时调用你的计划任务如微服务.下面分别予以介绍. 二.WinJob WinJob 使用 Quartz.NET+ZooKeeper 来实现,Q…
是时候给大家介绍 Spring Boot/Cloud 背后豪华的研发团队了. 2019/01/03 http://www.ityouknow.com/springboot/2019/01/03/spring-pivotal.html 看了 Pivotal 公司的发展历史,这尼玛就是一场商业大片呀. 我们刚开始学习 Spring Boot 的时候肯定都会看到这么一句话: Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过…
今天是2月5日,春节假期结束后的第三天了.为了能够应对来势汹汹的疫情,众多互联网企业纷纷开启了远程办公模式.不知道各团队前两天的远程办公效果如何,我们 Worktile 管理层在大年初四就开始讨论远程办公的事情,并且将可能出现的问题都尽量提前想到并做了准备.从这两天实际执行的情况看,我所在的研发团队执行的还不错,基本没有受到什么明显的影响.因此我们希望将我们远程办公的一些思考.准备和实践分享给大家,共渡难关. 先简单介绍下,我是 Worktile 基础平台部的负责人,部门包括负责核心组件开发的平…
中小研发团队架构实践之生产环境诊断工具WinDbg 生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具,Dump文件类似于飞机的黑匣子,记录着生产环境程序运行的状态.本文主要介绍了调试工具WinDbg和抓包工具ProcDump的使用,并分享一个真实的案例.N年前不知谁写的代码,导致每一两个月偶尔出现CPU飙高的现象.我们先使用ProcDump在生产环境中抓取异常进程的Dump文件,然后在不了解代码的…
分享一个公司规模近200,研发占一半的创业公司 Worktile 在研发团队管理方面的玩法,仅供百人左右研发团队参考~ 什么是研发团队?简单的说,你熟悉的那帮穿格子衬衫,以程序员为核心组成的团队,就是研发团队. 本来,你以为格子男们是很乖很闷骚的那种,管理和协作起来比销售和业务简单很多,而实际情况是,格子男们并不那么容易管理,面向代码世界的复杂度,可能远比面向财物世界的复杂度还要高. 作为致力于团队协作的公司,我们研究了很多国内和海外牛逼公司的研发模式和研发管理,例如OKR在谷歌.Faceboo…
说明 经常玩Github的人肯定都知道大名鼎鼎的octotree吧,这款chrome插件可以说是浏览代码的神器,利用左侧的树形菜单可以很方便的打开目录.浏览文件等,加上Github全站本身使用了pjax技术,基本全程无刷新,用户体验非常好. 本着不要重新发明轮子的原则,搜遍了整个互联网发现确实还没有一个可以在gitlab 上浏览代码的插件. 现阶段几乎每家用git管理源代码的公司都用上了配套的gitlab服务,一般都会部署在企业内网.而且,在octotree的issue里有好多老外也在跪求作者做…
1.创建代码仓库,这里说一下为什么要创建仓库,Git不能够作为源代码管理器,vs中自带的也只能够在本地进行管理,要和他们共享的话必须要有服务器端去存储代码,类似于SVN,它就有客户端和服务器端,这里推荐用GitHub做代码仓库 首先需要在GitHub上注册一个账号,这里就不说注册账号的流程了,直接上仓库 上图中的链接大家一定要记好,这个在下文中有大用处. 2.vs将源代码管理器改为Git 3.vs配置GitHub仓库地址 下图中需要输入刚才从GitHub的用户名和注册邮箱 4.到这里所有的前期工…
「 OKR 」现在非常的火爆,很多公司都在使用,不仅国外的 Google.英特尔等大公司在用,国内的一线知名互联网企业今日头条和一些创业团队也都在使用. 那为什么「 OKR 」这么受欢迎呢,因为把它可以帮助团队 达成共识.加深信任.加强协同. 并且「 OKR 」这套方法,不仅可以帮助我们开展工作,还可以用它来管理个人生活.例如互联网大牛 吴军 就是固定使用「 OKR 」来管理他个人年度目标和计划的. 乘着假期,我也仔细读了两本关于「 OKR 」的书籍,<OKR工作法>.<这就是OKR&g…
1.创建代码仓库,这里说一下为什么要创建仓库,Git不能够作为源代码管理器,vs中自带的也只能够在本地进行管理,要和他们共享的话必须要有服务器端去存储代码,类似于SVN,它就有客户端和服务器端,这里推荐用GitHub做代码仓库 首先需要在GitHub上注册一个账号,这里就不说注册账号的流程了,直接上仓库 上图中的链接大家一定要记好,这个在下文中有大用处. 2.vs将源代码管理器改为Git 3.vs配置GitHub仓库地址 下图中需要输入刚才从GitHub的用户名和注册邮箱 4.到这里所有的前期工…
研发团队(如果不是外包,不是机械性的活动)如果进行的是creative的有创造性的智力活动,那么应该不适合用量化KPI的绩效考核和激励,不应该用工时.bug数(难度大的bug可能多,测试人员可能没有经验瞎提bug).代码行数(大量复制粘贴).review代码每千行问题数(有效的review机制).上线后bug数等来量化考核,会抹杀他们的创造性.智力团队的合作的重要性要远大于竞争. 如何管理21世纪的人才?!看看这个TED视频:<The surprising science of motivati…
一.写在前面 使用过分布式中间件的人都知道,程序员使用起来并不复杂,常用的客户端 API 就那么几个,比我们日常编写程序时用到的 API 要少得多.但是分布式中间件在中小研发团队中使用得并不多,为什么会这样呢? 原因是中间件的职责相对单一,客户端的使用虽然简单,但整个环境搭起来却不容易.所以对于系列中的几篇中间件文章,我们重点放在解决门槛问题,把服务端环境搭好(后期可云或运维解决),把中间件的基本职责和功能介绍好,把客户端 Demo 写好,让程序员抬抬脚,在调试代码中即可轻松入门. 根据我们以往…
今天受邀和微软公司的朋友一起,为北京某银行科技部的两个Java研发团队做了一场TFS系统的技术培训. 按照需求分析>开发>编译>发布>测试的流程为研发团队做了全流程的介绍. 这样的培训已经做过无数次,但是每次和不同类型的开发人员沟通,都会获得新的启示和新的需求.ALM和DevOps涉及的知识面太广,与不同的开发团队沟通的越多,越感觉自己只是的缺乏. 不聊了,回家补课去! (微软ALM MVP 张洪君 http://www.cnblogs.com/danzhang) --…
一.ZooKeeper 是什么 Apache ZooKeeper 由 Apache Hadoop 的子项目发展而来,于 2010 年 11 月正式成为了 Apache 的顶级项目. 相关厂商内容 优秀程序员应该了解的开发实践案例 从C#看开放对编程语言发展的影响 Netflix的工程文化:是什么在激励着我们? 百度贴吧之父:产品经理的发现和成长 Apache Kafka的过去,现在,和未来 相关赞助商   ZooKeeper 是一个开放源代码的分布式协调服务.它具有高性能.高可用的特点,同时也具…
Redis的使用难吗?不难,Redis用好容易吗?不容易.Redis的使用虽然不难,但与业务结合的应用场景特别多.特别紧,用好并不容易.我们希望通过一篇文章及Demo,即可轻松.快速入门并学会应用. 一.Redis 简介 Redis是一个开源的Key-Value存储,但又不仅仅是Key-Value存储,用官网上的话来说,Redis是一个数据结构存储,可用作数据库.缓存和消息中间件.相对于传统的Key-Value存储Memcached来说,Redis具有如下特点: 速度快 丰富的数据结构,除Str…
原文:中小研发团队架构实践之RabbitMQ快速入门及应用 使用过分布式中间件的人都知道,程序员使用起来并不复杂,常用的客户端API就那么几个,比我们日常编写程序时用到的API要少得多.但是分布式中间件在中小研发团队中使用得并不多,为什么会这样呢?原因是中间件的职责相对单一,客户端的使用虽然简单,但整个环境搭起来却不容易.所以对于中间件的使用,我们重点放在解决门槛问题,把服务端环境搭好(生产环境可直接使用云或运维解决),把中间件的基本职责和功能介绍好,把客户端Demo写好,让程序员抬抬脚,在调试…
原文:中小研发团队架构实践之分布式协调器.Net版ZooKeeper 一.ZooKeeper是什么  Apache ZooKeeper是由Apache Hadoop的子项目发展而来,于2010年11月正式成为了Apache的顶级项目. ZooKeeper是一个开放源代码的分布式协调服务.它具有高性能.高可用的特点,同时也具有严格的顺序访问控制能力(主要是写操作的严格顺序性).基于对ZAB协议(ZooKeeper Atomic Broadcast,ZooKeeper原子消息广播协议)的实现,它能够…
目录 一.理论概述 1.什么是gitlib 2.GitLab服务构成 3.Git对比SVN 二.部署 1.简单操作GitLab 三.项目实践:SVN代码迁移至GitLab 环境 1.Linux下部署SVN服务器及简单实用 2.Linux下SVN客户端进行测试及简单使用 3.先将SVN服务器上代码迁移至Git 四.项目实践:GitLab之间的代码迁移(环境迁移) 五.总结 一.理论概述 1.什么是gitlib Gitlab 是一个基于Git实现的在线代码仓库托管软件,你可以用Gitlab自己搭建一…
近几年,经常能听到不少技术管理者在倡导:用 OKR 来管理及打造一个高执行力的研发团队. 据我了解,OKR 最成功的落地公司是在 Google --一家有着非常浓厚工程师文化的公司,后来陆续在 Facebook.Amazon.LinkedIn 等公司成功落地,国内的互联网巨头们,腾讯.百度.滴滴.小米等互联网公司也都在积极引入 OKR. 那,OKR 到底是何方神圣?它跟 KPI 的区别又是什么? OKR 被称为"目标与关键结果工作法",由 Objectives(目标)和 Key Res…
新冠疫情下,家里蹲的日子继续延长.部分企业虽然受困于不能回公司办公,但都陆续开启了远程协作办公,远程协作领域被推上了风口.但「远程协同」看不见摸不着工作伙伴,个人的自律能力也无法保证,难免出现沟通响应不及时.工作节奏不一致.工作效率低下等问题,也是企业团队进行数字化办公的一次重大考验. 研发团队如何更好地提高远程协作效率,不影响产品的迭代更新?CODING 作为一站式 DevOps 研发管理平台,为研发团队提供一系列的在线开发及协作工具,通过可视化的项目协同以及 DevOps 自动化工具链来帮助…
上一篇我们主要聊了下代码质量管理平台sonarqube的安装部署以及它的工作方式做了简单的描述和代码扫描演示:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13822428.html:今天我们来聊一下使用持续集成工具jenkins结合代码质量管理平台sonarqube来做代码扫描的相关配置: 通过前面对jenkins的介绍使用,我们知道jenkins是一款高度插件化的软件,其扩展性非常好:我们需要对其jenkins赋予某种功能,那么我们直接安装对应的插件即…
楔子 最近公司推行统一构建平台(基于 Jenkins + Kubernetes 插件创建 slave),原来部门自建的 Jenkins 不让用了. 迁移上统一构建平台的最大阻力是前端模块发布的问题: 前端单仓库全量构建/发布,安装依赖有缓存在小型机上跑着效率还行,如果迁到公司平台上性能相对低些,又没依赖缓存,构建一次需要拉下约 15G 的依赖! 迭代分支仅允许合并分支,通过 GitLab API 取不到 Merge Request 变更文件列表. 基于这个问题,研究了一下午 GitLab Plu…
Atitit.研发团队的管理原则---立长不立贤与按资排辈原则 1. 组织任命原则概述1 2. 历史的角度看,大部分组织使用的立长不立贤原则1 3. 论资排辈 立长不立贤原则1 3.1. 资格和辈分是硬指标,不容易争议,能够持久.2 3.2. 权力的轮流坐庄,实现一定的管理民主化2 4. 选贤任能模式属于补充原则2 5. 无为而治 抽签大法(这个也可以作为补充原则)3 6. 管理的权利分散民主化原则3 6.1. 2.2. 管理问题的解决------分权制衡-最高七大组织机构3 6.1.1. 2.…
Atitit.研发团队与公司绩效管理的原理概论的attilax总结 1. 四个理念 1 1.1. 绩效管理的三个目的.四个环节.五个关键2 1.2. 绩效目标smart2 2. 考核对象2 3. 绩效管理模式2 3.1.1. 德能勤绩2 3.2. 6.2 检查评比2 3.3. 6.3 共同参与2 3.4. 6.4 自我管理2 4. 绩效实施流程 2 5. 绩效方法(BSC.KPI及360度考核)3 5.1. kpi3 6. 第9章 绩效管理与绩效评价 9.1 绩效管理和绩效评价的基本概念 9.2…
Atitit 研发团队建设----福利法案--非物质福利与物质福利法案 1.1. 何为非物质福利法案??1 1.2. 福利类型1 1.2.1. 公共福利1 1.2.2. 个人福利2 1.2.3. 组织内公共福利2 1.2.4. 生活福利2 2. 具体福利种类2 精神福利与物质福利,这里暂时先讨论非物质为主的福利方案..物质福利需要有一定的物质基础,我们先讨论精神福利吧,这个容易实施.. 1.1. 何为非物质福利法案?? 福利制度是组织在制度范围内为所有对象普遍提供在一定的生活水平上尽可能提高生活…
对于一个r \\ u0026研发团队的目的,标准化的工作流程资产不可或缺的一部分,特别是对于初创的r \\ u0026研发团队方面.很多r \\ u0026研发管理是不够完整.如何理解的研发团队中的各种角色,充分利用现有资源团队,为了确保最终用户的需求和产品管理是开发管理者需要考虑的问题. 測试流程就是须要标准化的协作流程中的一种,是一套用于规范需求.开发和測试人员进行服务公布质量控制的流程性指南和说明,确保整个团队对产品质量保证有一个统一认识.促进过程的可记录性和可跟踪性,提高团队协作的信息透…
如何安装jenkins和gitlab我就不重复了,请自行搜索我的博客 那么,jenkins如何获取gitlab上的代码呢? 具体配置步骤如下 1.在gitlab上配置个人访问令牌.注意事项:姓名那里需要记录下来,以为jenkins那边可能也需要用到,日期不用选,范围那里勾选api即可.那个访问令牌只会出现一次,需要记下来.jenkins要获取那个gitlab的项目,就要把该用户加入到哪个gitlab项目中 2.登录jenkins,安装gitlab插件.在可选插件里面找到gitlab,选中点击最下…