日常杂事

前言 在现代新建一个 JS 相关的项目往往都是从 package.json 文件开始的,不过这个文件里需要的字段实在是太多了,正常人都记不住,所以 npm 官方提供了 npm init 命令帮助我们快速初始化 package.json 文件。执行之后会有一个交互式的命令行让你输入需要的字段值,当然如果你想直接使用默认值,也可以使用 npm init -y 来超速初始化。
2018-09-22
2分钟阅读时长
Featured Image
什么是 CSRF 在了解 CSRF 之前我们需要科普两个前提。首先是登录权限验证的方式有很多种,目前绝大多数网站采用的还是 session 会话任务的方式。session 机制简单的来说就是服务端使用一个键值对记录登录信息,同时在 cookie 中将 session id(即刚才说的键)存储到 cookie 中。另外我们又知道浏览器中 HTTP(s) 请求是会自动帮我们把 cookie 带上传给服务端的。这样在每次请求的时候通过 cookie 获取 session id,然后通过它在服务端获取登录信息即可完成用户权限的校验。
2018-09-19
4分钟阅读时长
Featured Image
75CDN 是一个由奇舞团维护的静态资源托管平台,创立至今已经稳定运行了两年多的时间。近期我们增加了 ES Module 的支持,成为国内首个拥抱 ES Module 服务的静态资源库。
2018-09-12
2分钟阅读时长
什么是 SSRF 大家使用的服务中或多或少是不是都有以下的功能: 通过 URL 地址分享内容 通过 URL 地址把原地址的网页内容调优使其适合手机屏幕浏览,即所谓的转码功能 通过 URL 地址翻译对应文本的内容,即类似 Google 的翻译网页功能 通过 URL 地址加载或下载图片,即类似图片抓取功能 以及图片、文章抓取收藏功能 简单的来说就是通过 URL 抓取其它服务器上数据然后做对应的操作的功能。以 ThinkJS 代码为例,我们的实现方法大概如下:
2018-09-10
5分钟阅读时长
Featured Image
遇到的问题 在小程序开发过程中,代码提交突然变成了一件非常头疼的事情。因为小程序的开发、编译、预览到最后的上传发布过程中,任何一步其实都和 Git 没有任何关系。所以之前自己一个人开发的时候,经常性的就忘记了 commit 代码,亦或是 commit 了但是没有对远端进行 push 操作。一个人开发的时候还好,多个人开发的时候再是这种操作习惯可就要把人坑惨了。
2018-09-09
3分钟阅读时长
Featured Image
代码调试按照调试方式大致分为**日志(Log)和断点(Breakpoint)**两种办法。其中日志就是手动的在代码中增加日志打印获取过程信息来判断问题。这种方法的好处是调试简单,一个对业务熟练的工程师通过线上良好的日志记录可以非常快的发现业务问题。但是它的缺点也非常明显,获取的内容比较单一,动态调试需要不断的在业务中增加日志打印代码。
2018-08-04
4分钟阅读时长
Featured Image
公司内部使用的是 Gitlab 仓库套件管理项目代码,之前把玩过的 Drone CI 是可以很好的支持 Gitlab 的,前提是需要在 Gitlab 中申请一个管理员权限的密钥方便其读取项目目录并设置 Webhook 等操作。而公司的 Gitlab 仓库权限管理很严格,我暂时还没有权限申请这个就只能放弃了。最近他们使用 Gitlab 8 (不要问我为什么是这么早的版本毕竟我们一直都在用7的)搭建了一个新的仓库,自带支持了 Gitlab CI 的功能,于是就拿来试了下。
2018-07-08
4分钟阅读时长
Featured Image
话说最近真是流年不利,感觉各种BUG犹如天灾一样全部冒出来了,这不昨天又解了一个非常无语的问题,大概是关于换行和正则的臭虫,下面给大家吐槽一下。
2018-06-16
5分钟阅读时长
前段时间我开源了一个叫 Animaris 的项目,这个项目是使用 ThinkJS + MongoDB + React + Antd 开发的移动端 WebView 接口文档系统。平常大家见到的接口文档无非就是 HTTP API 接口文档,要么就是框架/库提供的接口方法文档。对于这种 WebView 的接口提供文档基本上没有。借着业务的需求我做了这么一个项目,用来解决以下两个问题:
2018-06-03
5分钟阅读时长
Featured Image
小程序以免安装用完即走的特性自发布初就很火,即使是现在也是热度不减。小程序虽然是一个 HTML5,但是通过限制开发者的写法,提供一套自定义的组件以及写法,并且将一部分耗费性能的组件使用客户端渲染来极大的提高网页的性能。
2018-05-26
6分钟阅读时长