给大家分享一下,最近一个月,关注的一些技术动态。同时,也有一些工具、学习资料、小技巧等有意思的内容。
前端
Webpack
在今年 2 月份,Webpack 已经推出 4.0.0 的版本。Wepack 4 不再支持 Node.js 4,在编译速度上也有很大优化提升。同时,Webpack 4 移除了 commonchunk 插件,改用了optimization 属性进行更加灵活的配置,这部分可能是升级改造中最复杂的一部分。
Fastpack
Fastpack 是一个 JavaScript 应用打包器,目标是做到对于中型应用(约1000个模块)的打包时间小于1000ms,增量重新打包时间低于100ms。下面是基准测试结果:
Vue CLI 3.0
尤雨溪在 Medium 上宣布正式发布 Vue CLI 3.0Vue CLI 的核心目标是为基于 Webpack 4 构建的预配置,提供构建设置。目标是最大限度地减少开发人员配置的次数。官方文档:https://cli.vuejs.org/zh/guide/
后端
Python
版本更新:Python 3.7.0 & 3.6.6 已经放出学习资料:
Python 相关工具
celery
2018.07.18 版本更新: v4.2.1相关链接:http://docs.celeryproject.org/en/latest/whatsnew-4.2.html更新特征如下:
## Result Backends
### New Redis Sentinel Results Backend(Sentinel:哨兵模式,高可用)
### Cassandra Results Backend(cassandra: Apache 分布式 NoSQL 数据库)
### DynamoDB Results Backend(DynamoDB:Amazon 完全托管、无缝扩展的 NoSQL 数据库)
### Python 2/3 Compatibility Fixes
## Canvas
## Tasks
### Bound Tasks as Error Callbacks
### Task Representation
### Custom Requests
### Retries with Exponential Backoff(Exponential Backoff:指数退避算法)
## Sphinx Extension(Sphinx:一种文档工具,它可以令人轻松的撰写出清晰且优美的文档,已成为Python项目首选的文档工具)
redis
redis 最近发布了 5.0 版本,其中添加了一个新的数据结构 stream,该结构是一个支持多播的可持久化消息队列,并且 Redis 的作者坦言 stream 的设计很大程度上借鉴了 Kafka 的设计。
工具
Windows 下的 Console
Windowns 下使用 CMD、PowerShell 通常不能完全满足开发需求。这里给大家介绍几种 Console 工具:
是否 GNU | 否 | 是 | 是 |
更多软件支持 | 支持绝大多数的 GNU 软件 | 支持常用软件,Git、Vim 等软件需要独立支持 | 支持大多数 GNU 软件 |
更类 Linux | Cygwin 在 Windows 中就好像 Wine 在 Linux 中 | 实现了 Bash 等主要的 Linux 程序 | 原生 64/32 bit 支持 |
GCC 编译 | 内含 MingGW32 交叉编译功能,既支持依赖 cygwin.dll 的程序编译,也支持独立的 Windows 程序编译;可以直接编译 Linux 下的应用程序 | 支持独立的 Windows 程序编译 | 支持独立的 Windows 程序编译 |
中文支持 | 直接支持中文显示和输入法 | 需要配置才能支持中文显示和输入,删除一个中文字符需要删除 2 次 | 支持中文显示和输入法,中文帮助系统和中文提示(部分软件) |
运行速度 | 慢 | 快 | 快 |
Windows 下的包管理工具:chocolatey
官方网站:https://chocolatey.org/如何安装 chocolatey ?以管理员权限执行如下命令:
|
|
有意思的
Chrome 是如何把 html 文档渲染为页面上的像素的
视频:https://drive.google.com/file/d/1Ky59m-F79ULs4ydMbD4Mp1dBXvs_eDes/view文档:https://docs.google.com/presentation/d/1boPxbgNrTU0ddsc144rcXayGA_WF53k96imRH8Mp34Y/edit#slide=id.g25ae9c179b_0_75
小技巧
Webpack 通过代理解决跨域问题
在本地开发调试时,通常需要访问线上数据, http://localhost:8008/api -> http://online.com/api , 通过代理能够有效解决跨域问题。通过配置代理,可以有效避免 django-cors-headers 留下的安全隐患。
const proxyPath = [
'/api'
]
const proxyRule = {}
proxyPath.forEach(item => {
proxyRule[item] = {
target: 'http://online.com',
secure: false,
changeOrigin: true
}
})
devServer: {
port: 8008,
public: 'localhost',
hot: true,
proxy: proxyRule
}