Please enable Javascript to view the contents

月度分享第一期

 ·  ☕ 4 分钟

给大家分享一下,最近一个月,关注的一些技术动态。同时,也有一些工具、学习资料、小技巧等有意思的内容。

前端

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.0

Vue CLI 的核心目标是为基于 Webpack 4 构建的预配置,提供构建设置。目标是最大限度地减少开发人员配置的次数。

官方文档:https://cli.vuejs.org/zh/guide/

后端

Python

版本更新:Python 3.7.0 & 3.6.6 已经放出

学习资料:

  1. RealPython:Socket Programming in Python (Guide) :https://realpython.com/python-sockets/
  2. RealPython:Python Code Quality: Tools & Best Practices:https://realpython.com/python-code-quality/
  3. Python 101 : subprocess 模块:https://python101.pythonlibrary.org/intro.html

Python 相关工具

  1. Jupyter Notebook 是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示的程序。Jupyter Notebook 101 Preview Chapter : http://www.blog.pythonlibrary.org/
  2. PyCharm 2018.2 Out Now,相关链接:https://blog.jetbrains.com/pycharm/2018/07/pycharm-2018-2-out-now/
  3. Nice Vim trick for Python code:https://jugad2.blogspot.com/2018/08/nice-vim-trick-for-python-code.html
  4. Seaborn 是一个在 matplotlib 的基础上,进行了更高级的 API 封装的数据可视化工具:https://seaborn.pydata.org/

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 工具:

特点 Cygwin MinGW/MSYS MSYS2
是否 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 ?以管理员权限执行如下命令:

1
 @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

有意思的

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
}

微信公众号
作者
微信公众号