2016年工作中做过最自豪的两件事情:
- 把 Vue.js 和 Webpack 技术栈引进公司并逐步成为前端规范;
- 开源 iView 项目。
初识 Vue
第一次接触
使用 Vue.js 已经有一年半时间了,在接触 Vue 之前,有写过半年多的 Angular,所以刚了解 Vue 时,与很多开发者一样,认为 Vue 是一个轻量级的或是移动端的 ng,就好比 zepto 之于 jQuery。直到 15 年 10 月,打算用 Vue 开发一个个人项目时,才开始认真地学习它,发现 Vue 的使用方法和 API 设计如此优美简洁,而且中文文档甚是详细,我觉得这也是 Vue 受很多中国开发者喜爱的原因,许多初中级开发者、英文不好的、jQ导向的,在刚接触 MVVM 时,这点很有价值,再者 Vue 的使用和学习门槛相比 ng 和 React 的要求都要低,概念理解起来也容易。
比起 Angular,Vue 最大的特点就是对数据双向绑定这件事处理的很优雅。ng 中你需要注入依赖服务,比如 $scope 和 $rootScope,变量写起来也散落在各处,而且有时候还得用 $apply 来告知,这对于很多初学者来说是很麻烦的事情。我以前是写 jQuery 的,所以还是喜欢用 jQ 的很多东西,比如 ajax,而 Vue 在数据使用上很灵活,可以引用外部变量,可以在各种情况下直接修改,不需要额外的工作,所以当看到 Vue 双向绑定这一特性时,就决定尝试用它了。
一个人搞了一个产品
从 14 年毕业到 15 年底,就一直在两个规模不大的创业团队工作,先后做了 5 款产品,都是 App,涉及的面也很广,比如 Canvas、Hybrid 什么的。在初创团队工作就像打了鸡血一样,每天早上起床都迫不及待地开始写代码,对工作的热爱绝对不是只把它当做一件赚钱的事情,所有人都是有理想和技术追求的,所以那段时间我做的东西都很用心、精致。
两年的创业经历也把我锻炼成了一个对产品有理解、追求细节、美观的一个人。
从 15 年中旬开始,由于项目需要,我开始接触 Python,这也是我第一次接触后端语言,以前对服务端的开发是一点不懂的。不知道是 Python 本身的原因,还是我理解的快,上手其实并不难,而且没多久就已经可以熟练的写起来了(现在接触的东西多了,觉得那时学习的快,是有一套很好的架构和有人带,先能写,然后慢慢了解其中奥妙,这种办法对于程序员掌握一门新技术还是很有效的)。
我相信但凡写过 Python 的人,都会用优雅来形容它,比如一行代码带有循环的赋值:
user_hash = dict((str(user.id), user.to_base_dict()) for user in users)
其实写后端和写前端,很多地方是想通的,只是概念上有区别。只不过后端专注在数据的获取、缓存和整理上,加以各种服务,前端则在获取数据、整理数据、可视化数据。
学会了 Python,发现这个时候可以自己独立做一点东西了,于是就有了 一个人搞了一个产品 。不卖关子了,这个产品就是 TalkingCoder,从产品、设计、前端、后端、运维、iOS & Android 客户端,几乎都是我一人撸的了,只不过在写移动 App 时,有两位兄弟帮忙写了个壳。
从产品和技术复杂度上,TalkingCoder 很接近 知乎 和 Segmentfault,基于关注内容推荐的 Feed 流、文章、提问(最佳实践)。看一下用到的技术栈:
后端当然是基于 Python 了,主要用 Tornado 框架提供 Framework 和 WebService 及 APIService(也巧,貌似 知乎 和 Segmentfault 也用的Tornado)。Tornado 是一个单线程、单进程、非阻塞式的 Web框架,性能很不错。Sqlalchemy 提供 ORM(Model层),这东西很好,尤其是对于我这样不太擅长写 sql 的人。Celery 提供了 worker ,完成一些不影响用户使用的定时任务(统计)、耗时任务(发邮件)等,通过异步,不阻塞主线程。Redis 主要用于存储用户的 token,数据库用的是 MySQL(阿里云RDS),同时还用了下阿里云的 SLB 负载均衡(其实没有什么好均衡的,量又到不了知乎那级别,主要还是做https的支持和域名绑定,对Nginx不是很熟,17年要学一下了,毕竟 SLB 的费用一年也好几百呢
顶
踩
相关推荐
执行vue init webpack 命令报错,连接超时是因为去github下载webpack-template 而很多公司屏蔽了github vue-cli · Failed to download repo vuejs-templates/webpack: connect ETIMEDOUT 使用步骤 1.c/users/xxxxx/...
解决vue-cli · Failed to download repo vuejs-templates/webpack: connect ETIMEDOUT 20.205.243.166:443问题,方便在...2、执行vue init webpack your_vue_app --offline即可
vue2 项目 + webpack 打包工具,是一个非常经典的组合,但是在...小记:这只是配置的 package.json 文件,更有配置好的 webpack.config.js 文件,以及整个完整的 vue2+webpack5 整个的项目,因为上传的规定可以找我来拿
vue+webpack结构,支持多页面打包。重点看配置,还可支持css引用图片。
毕业设计:考勤系统(Vue+Webpack+ElementUI) 毕业设计:考勤系统 前端:Vue+Webpack+ElementUI 服务端:nodejs(KOA) 数据库:mysql
Vue Webpack入门我想要一个Vue.js轻量级入门模板,其工具版本比官方Vue-cli中使用的工具要少,因此我从头开始创建了自己的工具。 该模板可供使用,可以开始使用Vue.js单个文件组件开发单页应用程序。 它使用Webpack...
Egg-Vue-Webpack-样板 基于Egg + Vue + Webpack SSR服务端渲染和CSR前端渲染工程框架项目,包括前台系统(SSR MPA)和后台管理系统(SSR SPA)。 文件 系统功能 前台博客系统 采用Egg + Vue服务端渲染 博客首页 文章...
前端选型文档主要针对之前的开发模式JQ+css+SVN 跟VUE+webpack+less+git的一个对比
基于Vue + Webpack构建的简单chat示例,聊天记录保存在localStorge。简单演示了Vue的基础特性和webpack配置。
vue2+iview+webpack 和vue3+vben+vite的技术对比的ppt,用于解释为什么使用新技术和框架
vue-webpack-template vue+webpack模版脚手架
vue2.5,webpack4.16,vue-router15 基础开发模板
Vue事件 v-on vue计算属性&watch vue组件 vue路由 webpack打包 vue-cli-脚手架
vue 组件化 webpack 模板
devexreme-vuets-webpack 一个DevExtreme Vue.ts项目 构建设置 # install dependencies npm install # or yarn install # serve with hot reload at localhost:8080 npm run dev # build for production with ...
基于webpack5构建的vue3项目,可用来学习webpack5的常用配置,和常见优化。https://webpack.docschina.org/plugins/image-minimizer-webpack-plugin/#root。 基于webpack5构建的vue3项目,可用来学习webpack5的常用...
Vue-Webpack-样板 功能齐全的Webpack设置,包括热重载,保存时不掉毛,单元测试和CSS提取。 该模板与Vue 2.0兼容。 对于Vue 1.x,请使用以下命令: vue init webpack#1.0 my-project 文献资料 :回答了该模板特有的...
毕业设计:考勤系统(Vue+Webpack+ElementUI)