Node.js 项目持续集成实践

前端开发流程( 语法检查、编译、重载)的自动化我们在工作中已经用得比较溜了,这篇文章主要介绍 Node.js 应用部署到服务端过程(编译、测试)的自动化。

这里以开源的 API Mock 系统 AMP 的部署为例( https://iffe.leanapp.cn ),通过这套系统提供的 mock 服务,前端可以在接口定义完毕后就着手开发,与后端接口开发并行以提升项目整体效率。接口支持 CORS 跨域访问、支持 HTTPS 访问,为前端开发,尤其是移动端开发带来便利。

Read More

Share Comments

ATS ( App Transport Security )是什么,以及如何支持 ATS

今天明秋童鞋在需求文档中看到接入任意门需要满足 ATS 标准,我们就来了解了下什么是 ATS ;该标准对 web 开发的影响,及应对措施。

什么是 ATS

App Transport Security,简称 ATS,是苹果为了提高 App 与服务器之间数据安全,而在 iOS 9 当中首次推出的一项安全特性。在苹果全球开发者大会(WWDC)的一场演示中,该公司公布了一个最后期限——2017 年 1 月 1 日——即 App Store 当中的所有应用必须在这个日期之前启用这一重要安全功能。

Read More

Share Comments

全栈工程师培训笔记

有幸参加阮一峰老师为期两天的《全栈工程师培训》,获益良多,将训练营四讲内容分享如下:

纲要

第一讲:前端开发的历史和趋势

  1. 前端开发的历史演变
  2. 前端 MVC 框架的兴起
  3. 前后端分离
  4. 全栈工程师
  5. 前端开发的未来

Read More

Share Comments

Android WebView 前端开发调试

这篇是之前写的东东,因为iffe博客出问题,所以一直存着,今天借大师开的Github页发出来,PPT是上次应小龙邀请做移动端调试方法分享时准备的,一起放上来😄

在这次的参数RSA+AES加密需求(160310版本)中,由于涉及的接口众多,测试回归时需要在微信中到相关页面进行验证,工作量巨大,所以需要一个更高效率的移动端调测方式

这篇文章要里介绍了连接和抓包,其中出现远程调试安卓Webview的截图,很多同事尝试时在列表中只能看到chrome中打开的页面,通过 这篇文章可以知道,原因是其他app可能没有开启webContentsDebuggingEnabled,chrome的安全策略限制了这些网址的展示,要突破这一限制,需要用到一款叫Xposed的APP 。

Xposed的原理是利用动态劫持,通过替换/system/bin/app_process程序控制zygote进程,使得app_process在启动过程中会加载XposedBridge.jar这个jar包,从而完成对Zygote进程及其创建的Dalvik虚拟机的劫持。

Read More

Share Comments

Mac下Chrome浏览器设置跨域

前端开发经常会遇到跨域的问题,尤其是本地开发,经常需要调后端同事电脑或测试环境的地址,这就对本地开发阶段造成了一些困扰。好在一些浏览器对开发者提供了“禁用安全模式”,前端ER们在本地开发的时候就不用考虑跨域的问题了,各终端的命令如下:

Mac下的Chrome:

1
2
3
4
# 49以前的版本
open -a "Google Chrome" --args --disable-web-security
# 49以后的版本
open -a /Applications/Google\ Chrome.app --args --disable-web-security --user-data-dir

Windows下的Chrome:

1
chrome.exe --disable-web-security

Mac下的Safari:

1
open -a '/Applications/Safari.app' --args --disable-web-security

Windows下的Safari:

1
C:\Program Files\Safari\Safari.exe --disable-web-security

Share Comments

平安内网标装机远程调试安卓webview的方法

由于安全策略限制,我们的开发机只能连入内网,且需要经过标装。

平安内部主要用到两张网,一张是办公开发用的PA_WLAN,另一张是移动设备接入的MA网,开发机与测试机由于不在同一网段,也就只能上演人鬼情未了了(用Mac开发的土豪例外);

另一方面,标装过的机器木有管理员权限,无法通过共享wifi给手机来创建局域网环境,于是另一条路被宣告堵死。

以往的方法都不灵,只能另辟蹊径咯~ 最终希望寄托在连通二者的USB线。

Read More

Share Comments