GitHub’s search supports a variety of different operations. Here’s a quick cheat sheet for some of the common searches.
For more information, visit our search help section.
package main | |
import ( | |
"testing" | |
"github.com/jinzhu/gorm" | |
_ "github.com/jinzhu/gorm/dialects/mysql" | |
) | |
type Post struct { |
GitHub’s search supports a variety of different operations. Here’s a quick cheat sheet for some of the common searches.
For more information, visit our search help section.
PlantUML is a really awesome way to create diagrams by writing code instead of drawing and dragging visual elements. Markdown is a really nice documentation tool.
Here's how I combine the two, to create docs with embedded diagrams.
Get the command-line PlantUML from the download page or your relevant package manager.
原文:CSDN大数据
↑ 点击上方蓝字关注我们,和小伙伴一起聊技术!
作者 | 吴瑞诚
文章来源GitChat,CSDN独家合作发布,点击「阅读原文」查看交流实录
Because Travis CI can automatically execute scripts after successfully (or unsuccessfully!) executing tests, it is an obvious choice for a deployment tool. In order to deploy to a Git repository on a remote server, the process generally is as follows:
Short (72 chars or less) summary
More detailed explanatory text. Wrap it to 72 characters. The blank
line separating the summary from the body is critical (unless you omit
the body entirely).
Write your commit message in the imperative: "Fix bug" and not "Fixed
bug" or "Fixes bug." This convention matches up with commit messages
1.打开网页,网页跳出一个登陆二维码 | |
* 这时候网页已经和服务器建立了一个阻塞的长连接(或者是轮询也可以),此时会有一个唯一UUID(并且这个UUID嵌到了登录二维码中) | |
* 网页和服务器会通信(长连接或轮询) | |
2.用户看到二维码后,会用手机扫码(譬如微信登录就用微信扫码) | |
* 这时候对应的APP会把用户信息token和UUID(二维码中识别的)打包发送到相应的服务器 | |
* 虽然二维码是暴露的,但是用户信息是只有这个APP能获取的,因此不用担心第三方可以直接登录 | |
3.服务器验证通过后,得知这个UUID登陆成功,则会允许网页登录 | |
* 这时候就登录成功了,会为这个UUID网页对应的Session分配一个token,(在限定的条件下)可以访问服务 | |
4.登录成功后,对应的APP可以给出相应的提示,提升体验 |
# Requirements | |
# debian/ubuntu | |
apt-get -y update && apt-get -y upgrade | |
apt-get -y install strongswan xl2tpd libstrongswan-standard-plugins libstrongswan-extra-plugins | |
VPN_SERVER_IP='' | |
VPN_IPSEC_PSK='y' | |
VPN_USER='' | |
VPN_PASSWORD='' |