Github Action 上线有一阵子了,大概两周前我的所有账号也是都陆陆续续开发了beta测试的权限。然后就来研究了下这个新的 CI 系统是怎么回事。看介绍,和之前碰到的一些CI系统不太一样的地方是,Github是做了一个商店的功能。这样大家就可以自己定义自己的Action,然后方便别人复用。同时也可以统一自己的或者组织在构建过程中的一些公共流程。
在本系列中,我们将构建一个基于NodeJS微服务,并使用Docker Swarm集群进行部署。
#### ATDD: Acceptance Test Driven Development(验收测试驱动开发)
Lyan,携程资深后端开发工程师,负责自动化测试框架及平台类工具开发,关注Devops、研发效能领域。
But,国庆长假过后,即将迎来新的一轮跳槽季,土叔来说说前端从业人员跳槽到新公司之后,如何才能站稳脚跟。
Docker 容器化技术是当今最重要的基础设施之一,或者说它已经成为服务程序 的标准化运行环境。
下面有个高赞回答:「想要尊重,题主就得去那些会被前端决定生死的公司。你可以找找什么软件一旦变丑或者操作渲染出bug就会导致客户退钱,然后就去那干。」
Gitlab的CI/CD[1]是通过Gitlab runner执行器实现的,它作为执行器运行我们在.gitlab-ci.yml中定义的一些逻辑行为。前面三篇讲述的是Gitlab的安装、通过一个flask web框架服务进行代码兼容性检查、编译、部署的整个pipeline.
在人工智能兴起的当下,AI正在重塑着很多行业。今天介绍的是一款位于github热榜榜首的,可轻松将您的代码库从一个框架或语言迁移到另一个框架或语言的AI应用:GPT-Migrate。
笔者花生 PeA,百度前端汪、ACGer。个人博客:pea3nut.blog;个人资料:pea3nut.info。
笔者:花生 PeA,百度前端汪、ACGer。个人博客:pea3nut.blog;个人资料:pea3nut.info。
近来打算带经理们探讨一下mvc,相信可以从中学到不少知识。、 以前只会用框架,却不懂他的内部是怎么运行的,自己学的php和别人学的php有什么不同。
云函数scf init 命令可以进行项目初始化操作。基于Git仓库模板项目可以快速创建出一个简单的模板项目,进行进一步的开发。
要让开发人员更加专注于业务代码的开发,那么架构师就得保障研发流程。合理全面的 CI/CD ,自动化研发流程 ,能够提高研发效率,增加系统稳定性。
Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。每周都会举行嘉宾分享,话题讨论等活动。 本期,我们邀请了蘑菇街 Android 开发工程师——小创,为大家分享《安卓单元测试:What, Why and How》。 分享内容简介: 单元测试一直是软件开发过程中保证软件质量、提高代码设计非常重要的一环,然后国内环境普遍不重视这点,移动开发圈更是如此。这次分享主要介绍什么是单元测试、为什么要做单元测试、以及如何在安卓平台上做单元测试。 下面是本期分享内容整理
架构师是技术的使用者而不是信徒 我承认我是标题党, 为什么要写这篇充满争议的文章?目前架构师这个职位特别火热,程序员的目标都是成为一个令人尊敬的架构师。但是我们真的理解架构师应该做些什么?很多人把架构师和框架师等同起来,认为研究框架多的才是架构师 下面说的情况请勿对号入座。 盲目的追新: 技术人员的喜好往往是什么技术流行就追什么技术。现在的技术发展快,前后端不断涌现各种框架,我们恨不得把这些框架都用在自己的项目里才行,要不然怎么好意思和别人打招呼啊。 我亲身经历,有个技术人员一定要把原来单元测试框架的xml
构建和部署通常来讲没那么复杂,但是却十分繁琐,尤其是手动的方式进行构建部署。重复操作多,流程长,非常消耗耐心和精力。
Nebula Graph 最早的自动化测试是使用搭建在 Azure 上的 Jenkins,配合着 GitHub 的 Webhook 实现的,在用户提交 Pull Request 时,加个 ready-for-testing 的 label 再评论一句 Jenkins go 就可以自动的运行相应的 UT 测试,效果如下:
这种事情完全可以交给CircleCI来处理。 CircleCI的好处(截止当前的政策2019.2):
| 导语 本文主要介绍在前端工程化的一些探索和实践,结合移动端的基础库重构和UI组件库开发这两个项目详细介绍工程化方案 。
在去年的文章里,我谈了 如何学习一门新的技术。那篇文章通篇形而上,讲大道理,读者颔首称赞,但回过头来在应用层面还是懵懵懂懂,不明就里。今天,我就我过去三周的经验,讲讲如何以正确的姿势在生产环境中使用一门新的语言。 过去三周,我在疯狂地使用 elixir,做了两个系统,一个是我上文提到的 policy engine,另一个是个尽可能通用的 activity stream / notification system。前者我花了一周,殚精竭虑,写下了 1600 行代码,production ready;后者我写了
在现代企业中,很难看到统一整个环境的单一整体应用程序。虽然仍然可能存在大型主机或其他系统来保存组织的主要数据和事实来源(SoT),但如今大多数环境都具有满足各种业务功能的中型到大型应用程序。根据企业的规模和复杂程度,这些应用程序可以从少数应用程序到数百种应用程序。
内置的质量实践确保每个解决方案元素在每个增量中都符合整个开发过程中的适当质量标准。
一个合理并且高效的部署方案,不仅能够实现快速升级,平滑切换,负载均衡,应用隔离等部署特性,而且配有一套成熟稳定的监控。
快速质量是大多数CIO的新口头禅。作为响应,Development Operations已经发展了其软件生命周期-变得更加敏捷和更具可扩展性,同时试图提供完美的体验。作为响应,公司不断向消费者提供新产品和更新,而对缓慢而复杂的测试过程的依赖限制了他们交付高质量代码和功能的速度。快速的变化步伐直接影响功能测试空间。如何在保持最高体验标准的同时快速交付产品?
过去五年中的变化,如迁移到公有云以及从虚拟机向容器的转变,已经彻底改变了构建和部署软件的意义。
软件行业正迅速看到使用容器作为一种为应用程序开发人员促进开发,部署和环境编排的方法的价值。这是因为容器可有效管理环境差异,提高可伸缩性并提供可预测性,以支持新功能的持续交付(CD)。除了技术优势外,容器还被证明可以大大降低复杂环境的成本模型。
随着业务的不断扩展,团队的项目越来越多,面对日益复杂的业务场景和代码逻辑,我们发现在前端工程化方面团队还停留在非常原始的阶段。现有的解决方案已经无法满足各种复杂的场景,我们每天都在疲于应付很多重复的工作,为此我们基于移动端基础库重构和UI组件库的建设这两个项目对团队的项目构建流程进行了详细的分析和梳理,并制定了一套适用于团队的工程化方案。
春风瑟瑟,华夏大地一片复苏。 尽管还在疫情之中,但春天已经逐渐出现生机,复工已经一个多月,复学也近在眼前,每天坐地铁上班的小E,已经找不到座位了,甚至去商场吃饭,也需要等位一个多小时…… 虽然中国哪里都是人山人海,但国外总感染人数已经超过50万了,这可让游学在外的留学生吓坏了,他们四处劝告放飞自我的歪果仁带口罩,在朋友圈宣传、出门派口罩、甚至微信头像也不放过…… 小E的留学生朋友,纷纷求会P图的小姐姐帮忙给微信头像P上口罩,但小姐姐拼尽全力,极限也只是10分钟P一张头像,根本应付不了姐妹们迫切的需求,
摘要 如果团队开发成员经常集成他们的工作,每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建来验证,从而尽快地发现集成错误。那么这个过程可以大大减少集成的问题,让团
在Nodejs的开发过程中,异步这个话题是无论如何都躲不过去的,关于异步的文章已经有过许多篇了,我也不打算写在开发Web应用的过程中,该如何在Nodejs中处理异步代码。在前些日子,我跟单元测试覆盖率这个指标杠上了,因为自己在写一个Nodejs的工程,我希望这个工程的测试代码量不要太少,目标是100%的行覆盖率,所以最近写了许多的单元测试代码。使用的测试框架是Mocha,断言库是Chai,那么今天我们就来聊聊在单元测试中,处理异步代码的各种姿势。
较早是从事传统软件开发,主要以交付项目为主,后来慢慢转向互联网,属先知后觉那一类。一直从事Java软件研发管理工作,时下热门的小程序、大数据、人工智能、机器学习等接触很少,一方面囿于工作环境,另一方面也是圈子所限,再者是可能方向度不够,兴趣偏差导致的错位。
在TW技术雷达上,有一个很重要的趋势,就是把在传统技术领域已经成熟的技术实践,比如持续集成,推广到新兴技术领域,比如移动开发和前端开发。 北京办公室的朱傲这次用自己的实践告诉我们如何在Android这
Rainbond 本身具有基于源码构建组件的能力,可以将多种编程语言的代码编译成 Docker 镜像,但是在持续集成的过程中,往往会需要对提交的代码进行静态检查、构建打包以及单元测试。之前由于 Rainbond 并没有 Pipeline 这种可编排的机制,所以用户往往只能通过集成外部的 CI ,如 Jenkins、Gitlab CI 等。这给开发者的使用增加了门槛。
做为一个略微看过nodejs语法,但又不懂nodejs的攻城狮,搭建hexo环境很是麻烦,要考虑到翻墙、版本兼容等问题。于是乎,博主每换一个电脑,为了能继续发博客,都需要在新电脑上花一天时间重新搞一下 hexo 环境,楼主感觉还是有简洁的方案来实现我一提交代码就可以自动发布博客,不需要再手动操作一波,这样岂不美哉。so,也就有了今天的经历,代码可以持续集成,博客也可以。楼主的解决方案是使用gitlab与gitlab-runner实现博客部署的持续集成,效果真的不要太好。
N-API 也发布一段时间了,社区中有很多 Native addon 也慢慢迁移到了 N-API,比如 bcrypt , sse4_crc32 等。N-API 弥补了之前 nan 最痛的跨 V8 版本 ABI 不兼容的问题。
GMTC·2019近日在深圳隆重召开。腾讯在线教育IMWeb团队的高级工程师袁龙在大会上发表了《在线教育小程序云开发工程化实践》的演讲,介绍了腾讯在线教育在小程序工程化,小程序CI、CD,以及云开发在多端开发的探索与实践经验。演讲内容整理如下。 一、腾讯在线教育业务背景 首先介绍下腾讯在线教育下的3个主要业务。 - 面向对成人职业化、兴趣化学习的腾讯课堂 - 面向小学、初高中K12领域的企鹅辅导 - 面向少儿英语学习的ABCmouse 这三块业务在各个端都有产品落地,来满足不同端用户的需求,当然也包括小程
接着上篇未完的话题,《前端工程化的个人思考》,前端工程化很庞大,涉及的点也比较多,笔者也只是想到那里就写到那里,要讨论的朋友可在文末留言讨论。
基于 Canvas 实现的高性能 Excel 表格引擎组件 OpenHarmonySheet。
ArchUnit是一个基于 Java 的测试库,用于检查代码的结构特性,如包和类的依赖关系、注解验证,甚至还能检查代码分层是否一致。我们很喜欢 ArchUnit 的地方是,它可以在现有的测试环境中以单元测试的方式运行,尽管只支持基于 Java 的架构。在CI环境或部署流水线中集成ArchUnit 测试套件,可以方便地在演进式架构中实现架构适应度函数。
在这篇文章中,我将向您展示如何在Ubuntu 18.04上安装Angular。 Angular是一个用于制作令人敬畏的网站的前端Web开发框架。
在 Linux 下我们通过 top 或者 htop 命令可以看到当前的 CPU 资源利用率,另外在一些监控工具中你可能也遇见过,那么它是如何计算的呢?在 Nodejs 中我们该如何实现?
昨天把这个博客网站的代码开源放在了github上,然后刚好不巧看到百度EFE写的文章前端开源项目持续集成三剑客,突然想起好多项目的ReadMe文件确实看着很酷炫,有很多的徽章,于是就想着自己博客代码也可以这样做,显得自己高大上(偷笑)。。于是花了一天,写了些单元测试,跑了一下CI,检测了下代码,哗啦啦地就把好多个徽章给加到自己的项目中去了。。最后的效果如图:
敏捷开发最强大易用的 HTTP 接口工具,机器学习零代码测试、生成代码与静态检查、生成文档与光标悬浮注释。集 文档、测试、Mock、调试、管理 于一体的一站式体验,还有一键 格式化、注释/取消注释 等高效易用的快捷键。
Dockerfile 是创建 Docker 镜像的起点,该文件提供了一组定义良好的指令,可以让我们复制文件或文件夹,运行命令,设置环境变量以及执行创建容器镜像所需的其他任务。编写 Dockerfile 来确保生成的镜像安全、小巧、快速构建和快速更新非常重要。
前面学院君分别给大家介绍了如何在 Windows 中基于 WSL 搭建 PHP 本地开发环境,以及在 WSL 虚拟机中基于 Docker 编排 LNMP 运行环境,并且学院君前面已经介绍过,WSL 本地开发环境的最佳实践是把 Windows 系统作为编码环境,把 WSL 虚拟机作为代码运行环境,这样,一方面我们就可以充分利用 Windows 图形界面的优势提升编码效率,另一方面可以利用 Linux 虚拟机与线上系统环境一致的优势对代码进行充分测试(基于 Linux 的代码运行环境搭建也更加简单),降低上线风险。
编写高质量代码是困难的。特别说明一下,简单的演示 API 用法或展示 UI ,这个是很简单的。难的是,我们如何让自己的代码对其他开发人员有吸引力,让他们对你的代码库进行贡献。下面我们从一下几方面进行探讨。
自从 github 提供了 github actions 后,个人或者依赖于 github 的公司可以考虑把持续集成方案迁到 github actions。
当我们讨论Microservices架构时,我们通常会和Monolithic架构(单体架构 )进行比较。 在Monolithic架构中,一个简单的应用会随着功能的增加、时间的推移变得越来越庞大。当Mo
领取专属 10元无门槛券
手把手带您无忧上云