《web前端黑客技术揭秘》读书笔记
发表于 | 分类于 读书笔记
在项目中,往往更侧重的是前端业务逻辑,而对于web安全这块并没有过于关注。只是大概知道xss
和csrf
等术语,而具体的防范操作也只限于输入校验和表单提交增加_token
字段。
最近在复习web安全这一块的内容,突然想起之前还没有看完的《web前端黑客技术揭秘》,因此重新翻阅,并整理相关笔记。
一个web项目的总结
发表于 | 分类于 后端
来公司快一年了,除了日常APP内webview活动页面开发之外,最主要的工作就是重构了公司的web项目,包括PC站、Wap端、微信公众号和小程序。
除了前端开发工作之外,还负责后端路由和视图对接,以及一些业务功能的实现。现在回过头来整理一下整个项目,包括技术选型、开发环境搭建、项目分组等细节。
《网络是怎样连接的》读书笔记
发表于 | 分类于 网络
在春运的路上把《网络是怎样连接的》这本书基本看完了,这本书从在地址栏输入URL到看到网页这个问题入手,详细地介绍了网络相关的知识,下面整理相关的读书笔记。
在前端实现图片压缩上传
最近在整理之前实现的一些插件,刚好碰到了图片压缩上传这个问题,在移动端中,由于网速有限而手机照片往往比较大,导致图片上传比较缓慢,当时是通过HTML5中文件和二进制数据接口,配合Canvas实现在前端进行图片压缩的。这里稍作整理,权当复习。
JavaScript的垃圾回收机制
发表于 | 分类于 编程语言/JavaScript
JavaScript 在定义变量时就完成了内存分配,我们创建基本类型、对象、函数……所有这些都需要内存,那么内存是在什么时候被回收的呢?了解JavaScript内存分配和垃圾回收是必不可少的技能,本文将整理这个问题。
初识Grid布局
这里谈论的网格布局不是Bootstarp中的网格布局(貌似前几天Bootstarp发布v4.0版本了~),而是浏览器支持的一种新的布局方式。之前虽然略有耳闻,但一直没有去了解,最近发现貌似浏览器的支持还不错,于是决定系统地学习一下。
好像很久没有正儿八经地学习CSS了~
初识weex
发表于 | 分类于 客户端
现在公司的项目是基于weex开发的,我负责的前端业务也是采用Vue,早先学了点Android的东西,前段时间一直在学习Vue的源码,于是现在打算来理一理weex相关的知识,后面也可以跟客户端的同学探讨一下。
Vue源码阅读笔记之路由管理(六)
我们可以通过Vue
和Vue-router
来构建单页面应用。在传统的web项目里面,往往存在多个页面映射不同的功能,而在单页面应用中,不同的页面对应的是不同的组件。
在之前的博客同构渲染实践和history与单页面应用路由中,我尝试实现了单页面的路由管理,不过十分简陋,现在让我们来看看Vue-router的实现原理。
Vue源码阅读笔记之组件系统(五)
这是”Vue源码阅读笔记”系列第五篇文章。在之前我们分析了Vue的模板编译和渲染过程,以及响应式数据的原理,但是却有意识地避开了一个很重要的地方:组件。组件系统是Vue最强大的功能之一,接下来我们就从源码中,一步步揭开组件的神秘面纱。
Vue源码阅读笔记之语法细节(四)
这是”Vue源码阅读笔记”系列第四篇文章。上一章我们分析了Vue的模板编译和渲染过程,却忽略了模板中的很多细节,比如属性绑定、事件绑定、指令和计算属性等。此外还有混合、自定义属性监听等一些细节没有处理,由于后续的分析中这些细节不可避免,因此趁热打铁,来梳理一下Vue相关的一些细节。
Vue源码阅读笔记之模板渲染(三)
这是”Vue源码阅读笔记”系列第三篇文章。在前面我们分析了Vue响应式数据系统,并了解到当数据变化时会通知变化属性的Watcher,然后更新视图。渲染模板和更新视图的逻辑均由Vue内部封装,我们只需要关注数据的逻辑即可,接下来就让我们学习Vue的模板系统。
Vue源码阅读笔记之响应式原理(二)
这是"Vue源码阅读笔记"系列第二篇文章。前一篇文章中我们提到initState
中调用的initData
方法,调用observe(data)
完成了对数据的观察。
在很早之前的对象描述符与响应式数据这篇文章中,对于defineProperty
做了简单的整理,并实现了一个比较粗糙的响应式数据更新视图的例子。接下来让我们深入Vue的核心部分:响应式数据的工作原理。
Vue源码阅读笔记之项目结构和Vue对象(一)
vue
是我接触到的第一个MVVM框架,在工作中使用也比较频繁。早前曾尝试过阅读源码,奈何功力不够,草草了事,收获的东西有限,现在决定重新阅读Vue及相关技术栈(vue-router
,vuex
,axios
等)源码,并整理相关知识。除了加深对于Vue的理解之外,还希望能够提升阅读源码的能力~
iOS基础之webview
iOS中的Webview与Android中的Webview有一些差异,包括网络权限、加载页面、与JS交互等。不过大体使用思路是类似的,下面总结一下iOS中的Webview。
Objective-C基础入门
发表于 | 分类于 编程语言/Objective-C
《同构JavaScript应用开发》读书笔记
发表于 | 分类于 读书笔记
自定义Hexo主题
发表于 | 分类于 杂项
从学前端开始貌似一直在折腾各种各样的博客,之前免费的云服务器快要到期了,加之最近用不了梯子,决定重新回到静态博客,于是重拾Hexo
,打算将之前使用SSR搭建的博客主题移植过来,于是有了这篇博客,主要整理自定义Hexo
主题以及使用Travis CI
自动化部署的实践心得。
webpack折腾记(三)
webpack在提供便利的同时会带来一些新的问题,将所有的工具代码打包到不同的页面文件中,会导致页面脚本体积太大,且不利于缓存。一种解决思路是将很常用的模块(以及整个项目的依赖库文件)放在CDN,通过导入externals
来使用外部模块,对于那些只在几个页面内公用的模块,可以将他们进行打包。
然而,webpack只是打包工具,对于externals
的外部模块,不提供对应的模块加载器功能,而手动在页面上导入大量的外部脚本不是一件很合理的事儿。
这篇文章是关于如何处理webpack与cdn资源之间尝试(写完感觉又钻进了某个死胡同)。