2019-07-05 12:34:38    19    0    0
# 需求 主要是希望学生在上完课程之后老师可以在 App 上登记一下,然后后台自动发送短信给学生家长 ## 需求概览 1. 学生信息录入 2. 课程信息录入 3. 学生课程录入 4. 学生消费课程记 5. 短信模板管理 ## 详细需求 TBD
2019-03-06 09:02:24    41    0    0
# 提名图书统计 陶哲轩实分析(第3版) http://www.ituring.com.cn/book/1822 陶哲轩教你学数学 http://www.ituring.com.cn/book/2049 数学分析八讲(修订版) http://www.ituring.com.cn/book/1622 Spark高级数据分析(第2版) http://www.ituring.com.cn/bo
2018-06-19 03:42:21    41    0    0
Repost from [https://codeburst.io/javascript-es-2017-learn-async-await-by-example-48acc58bad65](https://codeburst.io/javascript-es-2017-learn-async-await-by-example-48acc58bad65) > Async/Await expla
2018-06-15 06:37:42    135    0    0
# 生成自签CA以及证书 ## 1. 生成X509格式的CA自签名证书 ``` openssl req -new -x509 -keyout ca.key -out ca.crt # 去除密码 openssl rsa -in ca.key -out ca.key ``` ## 2. 生成服务端的私钥(key文件)及csr文件 ``` openssl genrsa -des3 -out s
2018-05-25 03:39:33    109    0    0

Line Chart

Bar Chart

Horizontal bar chart

Grouped bar chart

Radar Chart

Polar Area Chart

Pie Chart

Doughnut Chart

Bubble Chart

Mixed chart

2018-05-24 14:04:59    178    1    0

Sequence

It is powered by js-sequence, which would turn following code block into rendered diagrams:

Created with Raphaël 2.1.0AliceAliceBobBobHello Bob, how are you?Bob thinksI am good thanks!

Please refer here for syntax explanation.

Flowchart

It is powered by flowchart.js, which would turn following code block into rendered diagrams:

Created with Raphaël 2.1.0StartYour OperationYes or No?Endyesno
Created with Raphaël 2.1.0http://www.google.comStarthttp://www.google.comMy Operationhttp://www.google.comYesor No?http://www.google.comcatch something...http://www.google.comEndhttp://www.google.comMy Subroutineyesno

Mermaid

Typora also has integration with mermaid, which supports sequence, flowchart and gantt.

Sequence

see this doc

2018-05-24 14:04:55    133    1    0
## Emoji `:cn:` `:smile:` `:100:` `:v:` You can find more Emoji from [https://afeld.github.io/emoji-css/](https://afeld.github.io/emoji-css/) ## Block-level Custom Containers ::: success :tada:
2017-12-24 07:23:20    80    0    0

Use unexported variables

The unexported variables

unexport/i.go

  1. package unexport
  2. var i int
  3. func init() {
  4. i = 2
  5. }

The new variables points the unexported variables

main.go

  1. package main
  2. import (
  3. "fmt"
  4. _ "unsafe"
  5. _ "unexport"
  6. )
  7. //go:linkname I unexport.i
  8. var I int
  9. func main() {
  10. fmt.Println(I)
  11. }

Use unexported functions

  1. package main
  2. import (
  3. "fmt"
  4. "github.com/alangpierce/go-forceexport"
  5. )
  6. func main() {
  7. var timeNow func() (int64, int32)
  8. err := forceexport.GetFunc(&timeNow, "time.now")
  9. if err != nil {
  10. // Handle errors if you care about name possibly being invalid.
  11. fmt.Println(err)
  12. }
  13. // Calls the actual time.now function.
  14. sec, nsec := timeNow()
  15. fmt.Printf("%v %v", sec, nsec)
  16. }
2017-12-02 14:39:35    34    0    0

Tcpdump advanced filters

Original publication: 2007-10-01

Last update: 2016-02-14

Repost from https://blog.wains.be/2007/2007-10-01-tcpdump-advanced-filters/

Introduction

In this article, I will explain how to use tcpdump to:

  • know if IP options are set
  • find DF packets (packets which we don't want to be fragmented)
  • find fragmented packets
  • find datagrams with low TTL
  • find particular TCP flag combinations
  • find datagrams with particular data (here, packets with command MAIL from the SMTP protocol and GET command from HTTP)

Notes

I usually type tcpdump -n -i eth1 -s 1600 before my filter but I won't do that throughout the article. -n prevents DNS lookups, -i specifies the interface and -s specifies the size of the packets (default is 65536 bytes). Be careful if you use -s 0 because depending on the version, you might be capturing 64K or full-lenght packets.

All commands are typed as root.

Feel free to contact me f

2016-11-09 01:16:01    28    0    0

Introduction

Using a firewall is as much about making intelligent policy decisions as it is about learning the syntax. Firewalls like iptables are capable of enforcing policies by interpreting rules set by the administrator. However, as an administrator, you need to know what types of rules make sense for your infrastructure.

While other guides focus on the commands needed to get up and running, in this guide, we will discuss some of the decisions you will have to make when implementing a firewall. These choices will affect how your firewall behaves, how locked down your server is, and how it will respond to various conditions that are likely to occur from time to time. We will be using iptables as an example to discuss specifics, but most of the actual decisions will be relevant regardless of the tools used.

Deciding on a Default Policy

When constructing a firewall, one of the fundamental decisions that you must make