2.6k 2 分钟

# 从零开始写 HTML。。。 无语了,为了实现一些项目。。。。必须学一下前端知识了。。。 <div> 元素没有特定的含义。除此之外,由于它属于块级元素,浏览器会在其前后显示折行。 # html5 新增的特性: 用于绘画的 canvas 元素 用于媒介回放的 video 和 audio 元素 对本地离线存储的更好的支持 新的特殊内容元素,比如 article、footer、header、nav、section 新的表单控件,比如 calendar、date、time、email、url、search Canvas 是重点!我需要的就是绘图界面。。。 #...
2.8k 3 分钟

# 插入一条数据: func main() { var ( client = mongodb.MgoCli() err error collection *mongo.Collection iResult *mongo.InsertOneResult id primitive.ObjectID ) // 选择数据库 my_db 里的某个表 collection = client.Database("my_db").Collection("my_collection") // 插入某一条数据 logRecord :=...
2k 2 分钟

# 连接数据库 打开 sshtunnel 获取 client # 获得 collection func GetNpmRecords() *mongo.Collection { client := MgoCli() db := client.Database("admin") s, _ := db.ListCollectionNames(context.TODO(), bson.M{}) fmt.Printf("s: %v\n", s) npm_records :=...
912 1 分钟

因为 mongoDB 里和 aggregate 实在是太强大了,导致他有一堆指令。。。。这个文章主要为了记录我在使用 MongoDB 是否遇到的各种各样命令。 指令基本格式: db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)它类似这样的命令格式: db.orders.aggregate([ { $match: { status: "A" } }, { $group: { _id:...
5.4k 5 分钟

最近一直被这个连接问题给困恼。。。怎么都没法连接上阿里云的云服务器。对于 golang 我用的是 github.com/mongodb/mongo-go-driver ,每一项都按照了文档去设置但是死活连接不上,于是更换为 github.com/globalsign/mgo ,这样就可以正常连接。对于 python,如果使用了 pymongo4.0.1 版本也是无法连接,但是更换为 pymongo3.6 就可以正常连接。 这两个现象都非常奇怪,但都有相同的特点,无论是 golang 里的 mgo 库还是 python 的 pymong3.6 都是挺老的版本。 # golang...
963 1 分钟

基本语法: 可以参考:正则表达式语法 * :零次或多次 + :一次或多次 . :任意字符 # 简单匹配的实例代码 package mainimport ( "fmt" "log" "regexp")func main() { r, err := regexp.Compile(`<.+?>`) // ? 表示最短匹配 errDeal(err) str :=...
1.7k 2 分钟

# 下载 客户端和服务器都要下载这个文件 frp_0.38.0_linux_amd64.tar.gz # 解压 请在客户机(也就是需要进行内网穿透的本地机)和服务器执行相同操作: 解压: tar -xvf frp_0.38.0_linux_amd64.tar.gz 放到 local 目录下: mv frp_0.38.0_linux_amd64 /usr/local/frp cd /usr/local/frp # 服务器配置 登录到腾讯云服务器,下载解压步骤。 ls 查看目录: frps 是服务器对应的执行文件,frps.ini 是服务器配置文件。 修改 frps 配置文件: vim...
1.2k 1 分钟

# cookies cookies 说白了就是放在浏览器的缓存,服务器通过 setCookies 将应该保存的信息发送给客户端浏览器,客户端收到后将 cookies 进行保存,然后下一次访问该网站时,就把对应的 cookies 放在请求头里发送给客户端。 func Handler(c *gin.Context) { // 获得 cookie s, err := c.Cookie("username") if err != nil { // 说明客户端发送过来的 request 请求头没有携带 cookies,或者没有对应的...
2.2k 2 分钟

# 多路复用器 也就是 ServeMux,它的作用就是实现 url 与处理器 handler 的映射(这里虽然说是处理器,但是实际上就是处理函数) golang 中的实现: type ServeMux struct { mu sync.RWMutex m map[string]muxEntry es []muxEntry // slice of entries sorted from longest to shortest. hosts bool // whether any patterns contain hostnames}我们使用 http...
2k 2 分钟

context 包用于做并发控制,它可以携带各种上下文,一般来说只要涉及到并发的场合,都会使用 context。context 一般作为函数的第一个参数。 # 继承 在搞懂 context 包之前,首先需要搞懂 golang 里的继承,这是 context 可以一层一层携带信息的基础。 package mainimport ( "errors" "fmt" "log")type runner interface { name(string) error run() stop()}type car...