第一次接触scrum是在加入天天动听之后,前两年实习公司由于都比较小,还停留在家庭作坊式阶段,当时对软件开发流程的了解一直还停留在学校教科书上的瀑布流模式,整个过程可以抽象为UI与客户沟通需求——设计——开发——UI测试——交付几个步骤,因此整个流程走完,UI+开发基本搞定一个项目。 在接触scrum软件开发模式后,给我最大的印象就是敏捷,两个字说起来简单,做起来不易。关于scrum具体有哪些东西等基本理论,我就不做过多介绍,有兴趣的朋友可以参考scrum百度百科。接下来主要谈谈在实际项目中我们是如何应用s
在日常开发中,开发者经常需要频繁地与远程仓库进行交互,这时每次操作都要输入用户名和密码,不仅麻烦,还容易出错。Git 提供了一种解决方案,叫做 Credential Cache,可以缓存我们的凭证,使我们的开发流程更加顺畅。
快应用是基于手机硬件平台的新型应用形态,标准是由主流手机厂商组成的快应用联盟联合制定。其标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台,以平台化的生态模式对个人开发者和企业开发者全品类开放。快应用具备传统 APP 完整的应用体验,无需安装、即点即用;覆盖 10 亿设备,与操作系统深度集成,探索新型应用场景。快应用 ── 复杂生活的简单答案,让生活更顺畅。
git 2005年诞生,是一种分布式版本控制工具。最初是Linus Torvalds为了管理Linux 内核开源项目而开发的。
有时候想想为什么写程序?写程序的初心是什么?这个代码写时间长了有时候就忘记了。为生计?为房贷?都不是。我想做自己喜欢的东西。就想一个一个画家画出了自己想表达的东西,一个木匠做了一个家具,一个铁匠铸造了一把绝世好剑。所以我要学很多东西,移动端,前端,后端,我写程序的初心不是产品说今天我们要做一个这个,做一个那个,改完bug,上完线下班。
在我们每个人独立开发项目的时候,都会不知不觉的用到版本控制,只是我们并不知道“版本控制”这个名词,没有过多的在意~
本文介绍了对iOS覆盖率检测算法的研究,分享一种可以嵌入到现有开发流程中,并对开发透明的增量代码测试覆盖率工具的实现。
PS:本文只是先开个头,思考如何应对这种挑战。 如果只是从系统来考虑,标题里虽然说的是 “分布式” 规范治理,但是更多的时候是指多仓库的规范治理。而多仓库本身也充斥着一些不合理性,诸如于一个代码仓库内,可能包含着多个模块,如 monorepo。从这个角度来看,只是讨论分布式系统,可能有一些单薄。但是呢,我们在写规范,针对的是系统吗?难道不是团队中的开发人员?所以,我们所想的治理的是分布式协作的规范性问题。 回顾开发规范及其工具化 对于软件研发来说,效能的提升是一个非常宏大的史诗级话题,在这个话题里,规范的建
许多公司的开发团队都采用 Git 来做代码版本控制。如何有效地协同开发人员在开发、测试、上线各个环节的工作,可能都有各自的流程与规范。本文就分享作者一直沿用的团队项目 Git 分支管理规范,希望给有缘阅读的人加以参考,如果有更好的实践,也欢迎探讨、交流,谢谢!
Git 是一个分布式的代码管理容器,本地和远端都保有一份相同的代码。 Git 仓库主要是由是三部分组成:本地代码,缓存区,提交历史,这几乎是所有操作的本质,但是为了文章更加简单易懂,就不围绕这块展开了,有兴趣的可以去了解下。 开门见山,我们直接来说说 Git 有哪些常见的操作。
前面我们已经介绍过远程仓库的相关概念,不过那时并没有深入探讨,只是讲解了如何创建远程仓库以及推送最新工作成果到远程仓库,实际上远程仓库对于团队协同开发很重要,不仅仅是团队协同开发的基础,也是代码备份的保障手段,现在我们先简单回忆下相关概念,以便为接下来的协同开发做好铺垫!
和往常一样,每个人团队开发者都在自己的本地分支上进行日常工作,相互独立又相互联系,一直以来相安无事,可是某天下午,上级领导突然急冲冲的打电话告诉你线上出bug了,需要你紧急修复,下班之前必须解决!
对苹果开发者而言,由于平台审核周期较长,客户端代码导致的线上问题影响时间往往比较久。如果在开发、测试阶段能够提前暴露问题,就有助于避免线上事故的发生。代码覆盖率检测正是帮助开发、测试同学提前发现问题,保证代码质量的好帮手。
Facebook机器学习指南是由Facebook机器学习团队开发的视频系列,由六部分组成。该系列分享了现实世界实践,提供了如何将机器学习功能应用于实际问题的实用技巧。
抛弃xib 最近项目工期比较宽裕,做了比较多refactor的事情,最重要的一件事情是把项目中的很大一部分的nib/xib文件移除了。关于项目中是否应该使用IB的争论一直很多(如reddit),也没有好的结论。但对于团队开发而言,拒绝IB无疑是一个明智的选择,至少从目前的经历而言,使用nib/xib有以下不足之处: 1. 不方便团队其他成员进行review,nib/xib文件是采用xml,目前主流的review工具(如reviewborad)支持不够好,比较难看明白。 2. nib/xib的xml Sche
大家好我是鱼皮,Git 和 GitHub 是如今团队协作开发必不可少的技能,且不说程序员,就连很多产品也在学习它们。今天分享一下我自学 Git 和 GitHub 的经验,希望起到一个 导学 的作用,帮助大家抓住重点,节省时间、更高效地自学。
作者: 潘伟洲(HaHack) 说到版本控制,就不得不提到分支管理策略。就像学开车必须学学交通规则。分支管理策略是代码版本控制的基础组成部分。为团队定制一套合适的分支管理策略,就好比制定了一套合理的交通规则,可以让团队的代码的更加有序地演进,尽可能降低多分支带来的复杂度,并避免由于分支混乱引发的各种“车祸”。本文将简单讨论下我们在开发过程中尝试的各种分支管理策略,在面对各种复杂场景下呈现的优势与不足,以及我们的妥协和后续期望。 Github-Flow 作为 Github 的重度用户,我首先考虑的当然是 Gi
Git 和 GitHub 是如今团队协作开发必不可少的技能,且不说程序员,就连很多产品也在学习它们。今天分享一下我自学 Git 和 GitHub 的经验,希望起到一个 导学 的作用,帮助大家抓住重点,节省时间、更高效地自学。
【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】
大厂的实习,环境确实太多,很多系统,一开始接触是一头雾水的,面试造飞机,进来造轮子,就这么真实,但是造轮子也能学习一些东西吧。自己在造轮子中碰到的一些问题经常是通过向导师,同事,自己排查。记得当时他们给我说了三句话,现在记忆深刻,也时刻铭记于心!
在 2005 年的某一天,Linux 之父 Linus Torvalds 发布了他的又一个里程碑作品——Git。它的出现改变了软件开发流程,大大地提高了开发流畅度!直到现在仍十分流行,完全没有衰退的迹象。
续前文:gitflow 开发流程学习(第一部分) | 线上猛如虎,线下怂如鼠(WhyNotBetter) 如何做好版本的发布?(tag) 先补充一部分前文的内容,前文说明了一般的 git 开发流程会遇
自从转到git上之后,已经一年多没有code review了(哈哈,捂住无辜的小脸)。但是坦白来说,code review绝对是利大于弊的。不仅可以让自己把控代码质量,还可以增加团队对代码的认知深度。而且最近问了下身边的兄弟们,发现用git的大部分都没有code review,因此写了这篇文章。
从事软件测试行业,每天面对的被测对象都是软件。如果想要更好的去完成测试工作,首先需要对被测对象,也就是对软件要有基本的了解。
作者简介: Ruddy Lee(李智桦)老师,DevOpsDays北京站金牌讲师,中国台湾著名精益布道师,敏捷专家,著有《精益开发与看板方法 》。 中国台湾敏捷大师李智桦老师手把手教你
前置条件:你已经在Linux下搭建好了Jenkins的服务且安装了相应的plugin
【前置条件:你已经在Linux下搭建好了Jenkins的服务且安装了相应的plugin】
作者:陈光 上汽集团 | 高精度地图&环境建模工程师 量子位 已获授权编辑发布 转载请联系原作者 作为一个在公司义务给应届生和实习生培训的“小师”,结合我自己学习的经历,从操作手册的角度,手把手教你“
如果一个团队在使用 Git 时没有一些规范,那么将是一场难以醒来的噩梦!然而,规范固然重要,但更重要的是个人素质,在使用 Git 时需要自己养成良好的习惯。
本文要从具体实践角度,尤其是在团队协作中,阐述如何去好好地应用 Git。既然是讲在团队中的应用实践,我就尽可能地结合实际场景来讲述。
本文转载自:https://segmentfault.com/a/1190000004963641[1]
远程仓库不一定非得是 github 那种专门的"中央服务器",甚至局域网的另外一台电脑也可以充当"中央服务器"的角色,因为它存在的最初目的只是方便大家交换彼此的提交记录而已!
如今的 Serverless 可以说是一大有潜力的新技术方向,尤其在当下上云的热潮中,Serverless 因其免运维、自动扩容、支持多种编程语言等优势,对前端来说,是一大提升服务开发、维护效率的利器也是可尝试全栈发展的方向,但也因为其新,对落地到团队开发中,结合团队开发流也是遇到了一些挑战,本文将分享 IMWEB 团队对 Serverless 的实践方案。
今天给大家翻译一篇由大名鼎鼎stackoverflow创始人写的:关于如何改善代码的12点建议。下面我们就来领略一下大牛见解。
解决 Git 合并冲突是每个开发人员都讨厌的事情之一,尤其是当你准备进行生产环境部署时!
相信很多招聘要求上都会写明需要3-5年经验才可以达到架构师要求,并且针对其中一些必要的技术储备大家已经能够耳熟能详,那究竟为什么需要这么久时间,以及具体每项技能需要掌握到什么程度才可以担当这个角色呢?
测试过程在瀑布式开发中作为开发流程中的一个环节,只能在实现软件基础后开始运行,这种模式很大程度上导致了人力资源的浪费。而在敏捷开发模式中,为了解决人力资源浪费的问题,团队的开发过程需要践行敏捷,同样,测试阶段也要践行敏捷。
在《高效设计 I 云端库的工作方式》中,我们提出了云端库的工作方式,重点解决的是设计师之间的协同问题,云端库的工作方式保证了设计的输出质量和体验一致性。然而,在整个项目流程中,设计与开发之间的协作,也是完成整个项目的关键环节。设计师如何与开发之间进行高效协作呢?这是我们想要解决的问题。本文将从分析现有的设计开发协作方式存在的问题出发,然后探索一种新的协作方式—Git资源库的协作方式,希望对大家有所帮助。 现有设计师与开发协作的问题 腾讯文档作为一款跨平台的工具协作产品,目前涵盖了多个平台多个端,包括手
1. 请简述一下什么是敏捷开发(Agile Development),以及什么是持续集成。 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。、 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格JAVA软件工程师所要具备的。
有几种方法可以在 DevOps 环境中管理您的云基础架构。DevOps 是一种鼓励快速流动的应用程序开发以及促进 IT 团队开发、测试、发布过程无缝无缝衔接的方法。
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格Java软件工程师所要具备的。 一、专业技能 熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。 熟悉基于JSP和Servlet的JavaWeb开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编
当我们说起组件时,是指应用程序中的一个规模相当大的代码结构,它具有一套定义良好的 API,而且可以被另一种实现方式代替。 对于一个基于组件的软件系统来说,通常其代码库被分成多个相互分离的部分,每个部分通过个数有限的定义良好的接口提供一些服务行为,与其他组件进行有限的交互。
对于 web 服务,不管是上新,还是平时产品运营,节假日活动等,在这之前都需要评估现网压力承受能力,提前进行扩容,并做到防患于未然。所以对网站性能压力测试是必不可少的,这样才能充分了解自己部署的 web 服务 QPS。
作者:fredboxiong 腾讯CSIG项目管理 |导语 现今ToB私有化产品形态多样,具有各自特点,项目越来越多的同时也给大家流程操作带来了很大的困扰和挑战。私有化项目运作流程不同于公有云产品,较之更复杂,关键事项/环节更加多面。项目流程地清晰化、科学化、实操化能使项目运作产出更加高效、质量进一步提升。 流程的重要性:如果把产品/项目比如成汽车,那么流程就如同汽车行驶的道路。要想汽车跑的顺畅、跑的安全,就需要把道路修建好。 对已在运行的项目进行流程改善优化,我们遵循解决问题方法:观察&发现问题→分
领取专属 10元无门槛券
手把手带您无忧上云