Ubuntu默认安装的Nodejs版本都是比较低的(差很多),无法编译Vue,所以要安装最新版本。
思路是先安装旧版本,再升级到最新版本。
安装(失效)
网络原因,无法安装。
1 | # 1. 先安装旧版 |
Ubuntu默认安装的Nodejs版本都是比较低的(差很多),无法编译Vue,所以要安装最新版本。
思路是先安装旧版本,再升级到最新版本。
网络原因,无法安装。
1 | # 1. 先安装旧版 |
1 |
|
Ubuntu默认安装的PostgreSQL版本都是比较低的(差很多),通过官方源来安装最新的版本。
1 | $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' |
gradle在中国有cdn了:
修改 gradle-wrapper.properties 中的
services.gradle.org 为 downloads.gradle-dn.com
2019年09月17日 JDK 13 发布,非 LTS 版本。
新特性: http://openjdk.java.net/projects/jdk/13/
中文
断点下载HTTP协议中有支持,一般的Web服务器都会支持,如 nginx。
HTTP 协议范围请求允许服务器只发送 HTTP 消息的一部分到客户端。范围请求在传送大的媒体文件,或者与文件下载的断点续传功能搭配使用时非常有用。
用 axios 请求二进制文件,一般会得到 Blob 或者 ArrayBuffer。
需要将
axios的请求设置为responseType: 'blob'或者'arraybuffer'请求二进制文件,一般会得到Blob或者arraybuffer。'
Blob对象是一个代表二进制数据的基本对象,生成Blob对象有两种方法:一种是使用Blob构造函数,另一种是对现有的Blob对象使用slice方法切出一部分。
有时候有些静态网站:如文档类的,放在公网,希望要用户认证才能访问,Nginx的ngx_http_auth_basic_module 模块基于 “HTTP Basic Authentication” 协议实现了用户认证,可以很方便的实现用户认证。
1 | server { |
userpasswd 这个文件的一行代表一个用户,格式是: user:passwd ,其中密码是加密的,可以通过 htpasswd 工具来生成。
1 | $ htpasswd -cb ./userpasswd test 123456 |
** 浏览器授权访问 **
Nginx可以提供一个简单的Web页面站点为你提供文件下载服务。
1 | server { |
** 效果: **


有些文件放在nginx下,如果不做速率限制,当客户端的网络环境比较好的话,下载速度非常快。这本来是好事,但假如服务器带宽只有10M,而有一个客户下载速率达到10M的话,其他的客户将无法访问服务器。
所以,要对单独一个连接进行速率限制。
为方便局域网内测试,这里将限制值设置的比较小。
1 | server { |
limit_rate_after 是一个门阀,表示客户下载 10m 或者 100k 的byte之后开始触发速率限制。limit_rate 是速率限制,最高 50k 。
本文以Windows平台下编译Linux应用举例,记录一下Golang交叉编译。
1 | # help |
1 | $ set GOARCH=amd64 |
在终端CMD输入没用,我直接在环境变量设置了
GOARCH和GOOS。这样就无法在Windows运行,因为go run的也是指linux平台。
1 | $ curl -v URL |
1 | $ curl -v -X POST http://localhost/ping |
之前写的《深入解析HTTP–Chunk分块发送》 和 《深入解析HTTP–Multipart》 都是关于用POST请求上传文件,本文要讲的,是指POST请求传递字符数据。
我们用PostMan作为客户端,SpringBoot作为服务端,Wireshark抓包,分析一下每个请求的包结构,了解一下其中的区别。
服务端代码:
1 | @PostMapping("/post") |
自带的sphinx主题
【sphinx-doc】是基于python的文档生成器(使用文档推荐【这个】),它使用 reStructuredText 语法(类似markdown)编写文档,通过编译,可以生成html,epub,man,pdf等多种格式,现在也可以通过安装扩展来支持简单的Markdown语法。