记vue大型表单项目的一个性能问题

问题场景 身为一个表单表格工程师,自然日复一日的写着表单表格,本以为已经没啥难点的时候转眼间就来了一个有意思的情况,在超大量 数据绑定在 vue 的时候出现了表单操作起来卡顿的情况。 这里先贴上本项目出现的情况演示的 github 上的地址,tag1.0.1 如图所见,当在 input 输入数据的时候,连续输入会感觉明显的延迟。 那么,这到底是怎么回事? 代码 上述的表单数据项修改频繁由后端返回,于是在前端需要渲染从后端返回的 68kb 的一个 »

数据模拟神器 easy-mock 正式开源

开源公告 由大搜车无线团队出品的 easy-mock 在线数据模拟服务上线至今已经有几个月时间了,近期网站刚更新了焕然一新的 2.0 版本,与此同时,我们还带来一个更重磅的消息: 今天正式将整个服务的代码在 github 开源(https://github.com/easy-mock/easy-mock) 以此,你可以将功能完整的 easy-mock 服务部署到内网,并且与内网的开发流程(例如 swagger)集成到一起, »

芋头 芋头 访问数:2778

杭州 NodeParty 第四期总结

简单的总结 本期 NodeParty 又有几个新的突破,先跟大家介绍下。 1. 我们有钱了! 本次我们有一个突破性的想法,并将其付诸实践,那就是 NodeParty 开源基金会。 NodeParty 开源基金会是一个新型的、纯公益性质的、开源的基金会,建立此开源基金会的初衷是利用社区活动或者企业赞助产生的资金,不计回报地回馈给社区。例如支持社区相关活动的支出、支持在社区有突出贡献的个人开发者,以及在社区有贡献的小型初创公司等。 目前,在没有大规模宣传的背景下,基金会已经收到 32 笔共 »

芋头 芋头 访问数:1384

一次大胆的尝试 - 社区开源基金会

初衷 大概两周前,参加完 JSConf 之后,突然脑子里冒出一个大胆的想法,这个想法也是依托于一直想筹备的杭州 NodeParty 这个活动,因为年前我们举办 NodeParty 的时候,为了保证参会质量,象征性的对参会者收取10元20元的门票,但是最后门票的收入何去何从却把我难住了。最基本的,这个门票不能进我们举办方的私人口袋,对于我们这些组织者来说,除了准备一下报名事宜之外,也没有付出太多的精力,而对于场地和现场的零食饮料,都是由我们公司(大搜车)报销的(事实上也花不了多少钱),所以我们没有权力也没脸收取这部分费用。 »

芋头 芋头 访问数:1288

我理解中的“大前端”/“大无线”

本文内容较长,大概需要15分钟时间阅读。 内容包含五部分:前言,NodeJS职能变化,ReactNative的大规模应用,专门的架构组职能,总结。主要是介绍我所在团队最近的一些变化和思考。 前言 最近,我所在的团队做了一些结构调整,其实我一直想讲讲这次调整,希望能够带给同行一些思考,但因调整后很多事情还未走上正轨,一直拖延着,现在终于有时间把一些想法写下来记录成文字。 今天早晨,还看到一篇文章,讲“大前端”,文中展望了近年来“前端”影响的领域,从美工时代刀耕火种的时代到现在延伸到 NodeJS »

芋头 芋头 访问数:4759

如何做一个RN容器-iOS

1.如何引入RN 如何依赖 我们在用react-native init的时候,他会生成一个iOS的工程,进去后我们发现,他依赖的库都是以子工程的方式引入的,但是如果需要引入我们目前的工程,用pod管理依赖,这样的方式显然是不能接受的。在npm的管理包里面,我们会发现有一个react.podspec,所以许多人建议直接用podspec的path去引入,例如这样: pod 'React', :path => '../node_modules/react-native', :subspecs => »

大风车Android客户端的架构演进

前言 以下内容不牵涉具体代码实现,也不包含插件化相关知识。 没有银弹,只有根据当前的与可预见的业务情景不断调整的架构方案。 阅读正文将花费您大约30分钟。 本文会随时间持续改动。 大风车从第一版发布开始到现在已经走过了两个多年头,陆续上线发布了二十多个版本,从一开始的提供web容器包装h5的简陋版本,发展到现在由九个专职原生开发同学及数位前端同学支持的12w行(统计数据来自SonarQube)代码的规模。架构的可用性半衰期随着业务体量的增长而缩短,那么如何支撑现有业务的维护及后续的业务开发是对我们的一大挑战,而本人作为经历了从零开始的开发人员,下面带大家回顾一下这两年来的大风车Android客户端的架构变化。 组件化与模块化 首先来明确两个概念:模块(module)和组件(component)。 什么是组件? 组件是语言层面的划分,侧重于功能重用。 »

DosLin 访问数:2585

Vue.js 2.0 迁移指南

前言 自vue 2.0 发布之后,就有将项目迁移到 2.0 的计划。对于一个不算小的项目,这样的工作量是巨大的,往往伴随着很多坑要踩。老实说,迁移 2.0 将导致项目的改动不少于 250 处。下面我会把迁移带来的一些问题及注意事项列出来,以防走弯路。 注意 迁移之前,你需要思考以下几个问题,再决定是否迁移。 如果项目过大, »

chuangker chuangker 访问数:4997

ReactNative 学习笔记 —— TextInput

ReactNative 文档中API介绍主要分两块(COMPONENTS,APIS)。COMPONENTS 使用 JSX 语法渲染原生视图,APIS 使用函数调用调取原生特性。文档中带有Android或iOS后缀的API为特定平台独有,常用的 API 官方为我们做了跨平台实现 (View,ScrollView,Text,TextInput,Image,TouchableOpacity)。需要注意的一点是:某些基础 API 在不同平台的样式表现并非完全一致。 TextInput 在 »

创创 访问数:2775

种子爬取心得

简介 今天分享的主题是“使用nodeJs爬取磁力链接”,本文以探讨严肃的学术研究为目的。本文共分几块内容: 明确需求 程序结构 细节补完 程序优化 避免被反爬虫 一、明确需求 知己知彼百战百胜,想要爬种子必须要明确:希望得到什么样的资源?以及去什么地方寻找资源? 希望得到什么样的资源 资源的番号通常可以代表一个口味系列,比方说笔者喜欢轻口味的,并且无码的片子,不喜欢看凌虐情节,那么应该找SMD系列的资源,SMD意为super model,其番号通常是SMD-xx。 那么也有人会也喜欢轻口味系列的, »

子云兄 子云兄 访问数:6467

Git 自动回滚 和 应用发布的二三事

昨天在朋友圈讲了一个笑话:刚写了一个自动回滚的脚本,写完后运行了一下,成功把脚本自己回滚没了。。。很多人可能关注点在笑话本身,而不是在这个“自动回滚”的脚本到底是个什么东东,今天就介绍下,顺便讲讲与其关联的一些发布应用过程中的概念。本文适用于任何 JS 语言开发的前后端项目。 本文主题结构: [1] Git Tag 与 应用版本号 [2] 自动回滚 [3] 题外话:发布脚本 [1] Git »

芋头 芋头 访问数:5032

Nodejs 线上服务稳定性保障体系

本文会有条理的将我们团队在稳定性保障方面做的一些事情与大家分享,文中着重强调“线上”服务的保障,尽量不会涉及开发过程中的话题,改天会就开发过程的质量保障另外介绍。另外,我们在此方面也并非完全成熟,大家可以作为参考,但也许并非最佳实践,本文我会尽量讲我们的解决问题的思路,而不是最终如何执行。 说到线上保障,我觉得主要是以下几个问题需要解决(从前到后): 开发过程中,如何保障代码质量? 发布前,如何及早提前发现潜在问题? 发布过程中,如何保障上线过程? 发布后,如何快速处理回滚? 线上故障之后,如何最短时间发现问题? 发现问题后, »

芋头 芋头 访问数:5734

ReactNative学习笔记

写了一段时间的ReactNative,打算把自己的一些心得体会写下来,可以作为初学者的入门参考。 之前是在学React,四五月份的时候芋头让我研究研究Weex和ReactNative,Weex那会儿还不成熟,就先接触了ReactNative,感觉ReactNative好牛逼,它只做一件事情: 把iOS和Android的原生API和组件以React组件的方式暴露给外界。目前每两周一次的版本迭代几乎都在解决暴露的过程中所产生的一些问题。 开发思路的转变 接触ReactNative之前,我对客户端的了解仅限于WebView,原来客户端有那么多的View,有最常用的View,有用来滚动的ScrollView,还有用来渲染列表的ListView,还有渲染动画的Animated.View。我们前端看页面是一个一个DOM元素,客户端看页面是一个一个视图,WebView只是客户端众多View中的一个。 从前端走近ReactNative最大的转变可能就是对视图的理解,开发HTML网页的时候,设计稿有多长我们就一直往下写, »

创创 访问数:3267

Node.js 定时任务状态监控思路与实现

在实际生产环境中,避免不了有很多后台运行的任务和定时任务,对任务状态的监控与及时告警可以尽量减少程序出错时对用户造成的影响。针对常见的两种任务类型:定时任务、守护进程内批处理任务,利用 Node.js child_process 实现了任务状态的监控、重启与邮件告警。 思路 现在的互联网已经不是单机作战的时代了,分布式部署是非常常见的方式,一个项目中的任务可能运行在多台服务器上,我们的监控平台要做到重启某个任务就需要知道任务运行的具体服务器,针对这一个问题我们需要获取到任务与服务器关系的确切信息,所以每台运行任务的服务器需要在启动任务时向任务状态管理平台注册自己的信息。 任务状态的维护依赖于任务运行服务器的心跳上报,每个任务设置一个超时时间,在任务启动时向任务状态管理平台发送开始运行信号,在任务运行结束后向管理平台发送运行完成信号。任务管理平台根据任务设置的超时时间,在超时后仍然没有接收到任务完成信号则判定任务失败, »