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

特点CygwinMinGW/MSYSMSYS2
是否 GNU
更多软件支持支持绝大多数的 GNU 软件支持常用软件,Git、Vim 等软件需要独立支持支持大多数 GNU 软件
更类 LinuxCygwin 在 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
}

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