《web前端黑客技术揭秘》读书笔记

发表于 | 分类于 读书笔记

在项目中,往往更侧重的是前端业务逻辑,而对于web安全这块并没有过于关注。只是大概知道xsscsrf等术语,而具体的防范操作也只限于输入校验和表单提交增加_token字段。

最近在复习web安全这一块的内容,突然想起之前还没有看完的《web前端黑客技术揭秘》,因此重新翻阅,并整理相关笔记。

一个web项目的总结

发表于 | 分类于 后端

来公司快一年了,除了日常APP内webview活动页面开发之外,最主要的工作就是重构了公司的web项目,包括PC站、Wap端、微信公众号和小程序。

除了前端开发工作之外,还负责后端路由和视图对接,以及一些业务功能的实现。现在回过头来整理一下整个项目,包括技术选型、开发环境搭建、项目分组等细节。

《网络是怎样连接的》读书笔记

发表于 | 分类于 网络

在春运的路上把《网络是怎样连接的》这本书基本看完了,这本书从在地址栏输入URL到看到网页这个问题入手,详细地介绍了网络相关的知识,下面整理相关的读书笔记。

常见的Web安全问题

发表于 | 分类于 前端/前端业务

本文将整理Web业务中常见的安全问题,包括JavaScript语言安全、XSS、CSRF、SQL注入等。

在前端实现图片压缩上传

发表于 | 分类于 前端/前端业务

最近在整理之前实现的一些插件,刚好碰到了图片压缩上传这个问题,在移动端中,由于网速有限而手机照片往往比较大,导致图片上传比较缓慢,当时是通过HTML5中文件和二进制数据接口,配合Canvas实现在前端进行图片压缩的。这里稍作整理,权当复习。

JavaScript的垃圾回收机制

发表于 | 分类于 编程语言/JavaScript

JavaScript 在定义变量时就完成了内存分配,我们创建基本类型、对象、函数……所有这些都需要内存,那么内存是在什么时候被回收的呢?了解JavaScript内存分配和垃圾回收是必不可少的技能,本文将整理这个问题。

初识Grid布局

发表于 | 分类于 前端/CSS

这里谈论的网格布局不是Bootstarp中的网格布局(貌似前几天Bootstarp发布v4.0版本了~),而是浏览器支持的一种新的布局方式。之前虽然略有耳闻,但一直没有去了解,最近发现貌似浏览器的支持还不错,于是决定系统地学习一下。

好像很久没有正儿八经地学习CSS了~

初识weex

发表于 | 分类于 客户端

现在公司的项目是基于weex开发的,我负责的前端业务也是采用Vue,早先学了点Android的东西,前段时间一直在学习Vue的源码,于是现在打算来理一理weex相关的知识,后面也可以跟客户端的同学探讨一下。

Vue源码阅读笔记之路由管理(六)

发表于 | 分类于 源码分析/Vue

我们可以通过VueVue-router来构建单页面应用。在传统的web项目里面,往往存在多个页面映射不同的功能,而在单页面应用中,不同的页面对应的是不同的组件。

在之前的博客同构渲染实践history与单页面应用路由中,我尝试实现了单页面的路由管理,不过十分简陋,现在让我们来看看Vue-router的实现原理。

Vue源码阅读笔记之组件系统(五)

发表于 | 分类于 源码分析/Vue

这是”Vue源码阅读笔记”系列第五篇文章。在之前我们分析了Vue的模板编译和渲染过程,以及响应式数据的原理,但是却有意识地避开了一个很重要的地方:组件。组件系统是Vue最强大的功能之一,接下来我们就从源码中,一步步揭开组件的神秘面纱。

Vue源码阅读笔记之语法细节(四)

发表于 | 分类于 源码分析/Vue

这是”Vue源码阅读笔记”系列第四篇文章。上一章我们分析了Vue的模板编译和渲染过程,却忽略了模板中的很多细节,比如属性绑定、事件绑定、指令和计算属性等。此外还有混合、自定义属性监听等一些细节没有处理,由于后续的分析中这些细节不可避免,因此趁热打铁,来梳理一下Vue相关的一些细节。

Vue源码阅读笔记之模板渲染(三)

发表于 | 分类于 源码分析/Vue

这是”Vue源码阅读笔记”系列第三篇文章。在前面我们分析了Vue响应式数据系统,并了解到当数据变化时会通知变化属性的Watcher,然后更新视图。渲染模板和更新视图的逻辑均由Vue内部封装,我们只需要关注数据的逻辑即可,接下来就让我们学习Vue的模板系统。

Vue源码阅读笔记之响应式原理(二)

发表于 | 分类于 源码分析/Vue

这是"Vue源码阅读笔记"系列第二篇文章。前一篇文章中我们提到initState中调用的initData方法,调用observe(data)完成了对数据的观察。

在很早之前的对象描述符与响应式数据这篇文章中,对于defineProperty做了简单的整理,并实现了一个比较粗糙的响应式数据更新视图的例子。接下来让我们深入Vue的核心部分:响应式数据的工作原理。

Vue源码阅读笔记之项目结构和Vue对象(一)

发表于 | 分类于 源码分析/Vue

vue是我接触到的第一个MVVM框架,在工作中使用也比较频繁。早前曾尝试过阅读源码,奈何功力不够,草草了事,收获的东西有限,现在决定重新阅读Vue及相关技术栈(vue-routervuexaxios等)源码,并整理相关知识。除了加深对于Vue的理解之外,还希望能够提升阅读源码的能力~

iOS基础之webview

发表于 | 分类于 客户端/iOS

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资源之间尝试(写完感觉又钻进了某个死胡同)。