gin.Default() 默认带有中间件(日志和恢复)的路由 gin.New() 不带中间件的路由 router.GET/POST/PUT/DELETE … martini restful风格 参数获取c *gin.Content uri args c.Param("balabla") query args (c.Request.URL.Query().Get("balabala")) c.Query("balabla") c.DefaultQuery("balabala", "defaultValue") form args c.PostForm("balabala") c.DefaultPostForm("balabala", "defaultValue") 组路由 g1 := router.Group("/v1") g1.POST("/login", handler) g1.POST("logout", handler) 数
最近要加一个文件同步的服务,以daemon的方式部署在每台机器上,其他服务进程如果需要访问本机磁盘文件时,如果访问不到需要告诉文件同步服务去
列表解析器 It can be used to construst lists in a very natural, easy way, like a mathematician is used to do. [expr for iter_var in iterable if cond_expr] 这个语句的核心是 for 循环,它迭代 iterable 对象的所有条目。前边的 expr 应用于序列的每个成员
0x0背景 在基于openresty的项目中文件按照一定规则进行组织,类似下面: [gerrard@gerrard or_demo]$ tree src/ src/ ├── bar │ └── api.lua └── foo └── api.lua 最后对应到业务逻辑
最近对有道云笔记上记录的linux小命令做了整理,列出了针对一些常见问题,对应linux命令的用法,有助于提升工作效率或者排查问题。 linux 用dd
启动方式 直接启动 vimdiff file1 file2 vim -d file1 file2 vim 中启用diff模式 竖屏 :vertical diffsplit FILE_NAME 横屏 :diffsplit FILE_NAME (同vim 可以使用c-w L/K/J/H 调整) 关闭当前窗口diff模式 :diffoff ==> :diffoff 相对于di
这本书主要提出了单核工作法这一简单、灵活、强大的时间管理方法,并从削减待办任务、现在专注一件事、永不拖延、循序渐进、简化协作和给创意充电这六
事情起因 早上合代码的时候,get merge 解决完代码冲突后,迷迷糊糊敲下了git add . git status 一看把一些还没写好的文件也add到merge的分支里了, 情急
REDIS协议定义 redis客户端使用一种叫做RESP(REdis Serialization Protocol)的协议与REDIS服务器通信。RESP协议虽然是为re
awk 函数 awk 内建算术函数 函数 返回值 atan2(y,x) y/x的反正切值,定义域在-π到π之间 cos(x) x的余弦值,x以弧度为单位 exp(x) x的指数函数,e^x int(x) x的整数部分,当x