如何使用 `Cypress` 进行端到端测试

简介cypress 是一个端到端(end to end)测试框架。它基于mocha式 API ,提供一整套端到端测试的解决方案,无需再安装其他的测试库,对webpack友好,并提供一套强大的图形界面工具,语法简单符合直觉,上手容易。测试浏览器基于Chrome或者Chrome的变种浏览器,比如electron、Chromium     阅读全文
Pang Jian's avatar
Pang Jian 5月 17, 2019

如何在 Win10 上打造一个漂亮的终端

Win的同学一定都会羡慕玩Mac的同学那一套漂亮的Shell吧,iTerm2 && Oh My Zsh搭配出来的效果让人流口水。下面就是我找到的别人搭配的终端效果图。     阅读全文
Pang Jian's avatar
Pang Jian 2月 01, 2019

再次切换评论系统

最早使用了一段时间的 Disqus,在国内公开、平等、有序 的 网络审查 地区下访问不了。后来切换到了多说,多说是我使用时间最长的评论系统,后来多说关停了。无奈之下切换到了替代品搜狐畅言。但是感觉畅言虽然很多地方和多说很像,但是心里总觉得有一点点山寨,有一点点乡村非主流。而且万一哪天也关停了怎么办。于是将评论系统切换到了 Valine,一个开源的评论系统,数据托管在 LeanCloud 上,界面也很简洁,据说是基于 Vue.js 开发的。 但是,搜狐畅言的导出数据功能居然不能导出全部数据,及时勾选了”全部”,也仅仅导出了几条记录。于是乎更坚定了我要放弃搜狐畅言的决心。这次切换付出的代价就是,丢失了之前全部的留言数据。但是为了更好地体验,这个代价还是值得的,起码,以后再切换评论系统的时候,数据全部由我自己掌控。     阅读全文
Pang Jian's avatar
Pang Jian 9月 13, 2018

IHS、Apache、Ngnix 的负载均衡和 session 亲和配置探究(一)

最近机缘巧合研究了一下各个Web服务器负载均衡时 Session 亲和性的配置,记录和分享一下。网上已经有一些零散的资料了,但是有很多已经年代久远,很多信息已经不适用了。另外 IHS 的配置是与 IBM 的 WebSphere 的工程师聊过的,应该算是比较准确了。     阅读全文
Pang Jian's avatar
Pang Jian 9月 03, 2018

凡是超过 90 秒的事情都要自动化,开发辅助工具介绍

Alex 是英国一家客户支持服务初创企业的创始人,他写过一篇博客,名字叫做《 Now that’s what I call a Hacker 》(这才是我所谓的黑客)。故事的主角是他的前同事的前同事。这位老兄离开后Alex的前同事检查他的代码的时候惊讶的发现,原来这个家伙凡是需要超过90秒以上的工作全都不自己干,他会编写脚本,让程序自动执行完。这些工作包括向老婆大人汇报、自动修复客户数据库、编不上班借口、自动泡咖啡等等。 凡是超过90秒的事情都要自动化,这句话深深的触动了我。     阅读全文
Pang Jian's avatar
Pang Jian 8月 03, 2018

写给后端开发者看的 Vue 前端介绍(二)-- 单元测试

上一篇“基础篇”聊到了一些Vue、Nodejs、Webpack的基本概念。本篇将着重讲解 Vue前端工程如何做单元测试。学习一个新技术,必须要清楚两个W,”What && Why”。”XX 是什么?”,”为什么要使用 XX ,或者说 XX 有什么好处”,最后才是”XX 怎么使用”。本文也将从“前端单元测试是什么”、“为什么要做单元测试”进行讨论。 前端单元测试是什么? 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。——百度百科     阅读全文
Pang Jian's avatar
Pang Jian 1月 12, 2018

TiD 大会感想之浅谈前端工具化与工程化

今年有幸参加了一天的质量竞争力大会,众多的课程当中,无法分身的我听了其中两节。分别是“终端重构之旅”以及“微服务下的持续交付”。由于“终端重构之旅”涉及硬件终端,与我们平时工作相距较远,所以本文着重谈谈对“微服务下的持续交付”的感想。 微服务下的持续交付微服务(Micro Service)是一种将复杂的业务逻辑拆分成多个高度自制的独立系统的架构设计。微服务为构建可扩展、可维护的大规模服务集群带来了很大的便利。持续交付:交付是指将最终产品发布到线上环境,给用户使用。持续交付就是指在软件开发过程中,从需求识别到交付的过程中,总是能够以较短的周期完成需求的小粒度频繁交付。频繁的交付带来了对软件更迅速的反馈,相比于传统的模式,有着更少的浪费。来自ThoughtWorks的两位讲师,利用一个简单的电商需求,演示了如何使用微服务来完成需求,并且将微服务做到持续交付。介绍了从构建、测试、部署到环境监控分析等一整套工具链。我认为要做到持续交付很重要的一点一定是要做到工程的工具化以及工程化。虽然网银还未做到微服务化,但是网银目前的前后端分离架构也有着许多微服务的特点。也急需进行工具化和工程化。前期一直在进行新一代前端框架的预研,很多思路与讲师产生了共鸣。针对我自己的理解和实践介绍一下前端的工具化与、工程化。     阅读全文
Pang Jian's avatar
Pang Jian 7月 31, 2017

写给后端开发者看的 Vue 前端介绍(一)-- 基础篇

不懂“前端 er”说的 virtual dom、React、Angular、Vue,也不懂 ES6 为什么就这么优雅,更不知道为什么用 Bootst...     阅读全文
Pang Jian's avatar
Pang Jian 4月 05, 2017

迈向 PWA!利用 serviceworker 的离线访问模式

微信小程序来了,可以利用WEB技术在微信打造一个有着Native应用体验的应用,业界非常看好这种形式。但是你们也许不知道,Google早已有类似的规划,甚至层次更高。那就是PWA(渐进式增强WEB应用)。PWA有以下几种特性: Installablity(可安装性) App Shell Offline(离线能力) Re-engageable(推送通知能力) 所有这些特性都是“优雅降级、渐进增强的”,给支持的设备更好的体验,不支持的设备也不会更差。这就和微信小程序这种二流设计的根本不同之处。     阅读全文
Pang Jian's avatar
Pang Jian 2月 08, 2017

全站 HTTPS 改造

HTTPS大势已来,2016年6月苹果宣布要求所有iOS Apps在2017年初全部使用HTTPS,11月Google宣布,从17年1月开始,对没有使用HTTPS的网站竖起“不安全”的小红旗。15年,淘宝、天猫也启动了HTTPS迁移。国内网络环境也不太好,经常会有运营商篡改页面的情况,为了更安全的客户体验,避免各种情况同事顺应大势所趋,本博客也进行了全站HTTPS化。     阅读全文
Pang Jian's avatar
Pang Jian 1月 24, 2017