细碎知识点
主要是go后端,也会设计到python、java的知识,懒得分类整理,所以都写在一篇文章里面了,方便自己查看笔记。
- context.BindJSON获取POST请求中的json数据
- gin.H封装了生成json的方式
common.ReturnJSONSuccess(c, gin.H{"token": tokeResponse.Data["nickname"]})
- context:gin.Context 对象包含了许多有关请求和响应的信息,例如请求参数、请求头、响应状态等
func Login(c *gin.Context) {}
- 同一模块内的功能接口,有相同的接口前缀,gin提供了路由组,对路由进行分类。
func HTTP(g *gin.Engine) {
api := g.Group("/api")
api.POST("/login", serviceinfo.Login)
svc := api.Group("/service_info"){
svc.POST("add",serviceinfo.Add)
}
}
- /etc:系统配置文件
- /mnt: 访问到windows上文件
- sudo -iu root 进入用户权限
- lsof 查看当前系统文件的工具
- wget 下载文件的工具,支持HTTP、HTTPS、FTP协议
- scp 跨服务器拷贝文件
- cp 本机拷贝文件,不能跨服务器
- docker 安装
- which wget 检查是否安装wget
- sudo apt-get update 升级包管理器
- sudo apt-get install wget 安装wget
- wget -qO- https:/get.docker.com/ | sh 下载docker
- sudo service docker start 启动docker
- sudo docker run hello-world
- 创建一个django项目
- django-admin startproject helloWorld 创建django项目
- 新建视图函数view.py文件
from django.http import HttpResponse
def hello(request):
retur
- 绑定url.py和视图函数view.py
urlpatterns = [
path("", views.hello, name="hello"),
]
- Django 规定,如果要使用模型,必须要创建一个 app。使用以下命令创建一个 TestModel 的 app:
django-admin startapp TestModel
- 在TestMode/models.py下,添加模型:
class Test(models.Model):
name = models.CharField(max_length=20)
- 命令行运行:
python3 manage.py makemigrations TestModel # 让 Django 知道我们在我们的模型有一些变更
python3 manage.py migrate TestModel # 创建表结构
14、ShouldBind
在 Gin 框架中,ShouldBind 通常与 c.ShouldBindJSON、c.ShouldBindQuery 或其他相关方法一起使用。这些方法用于从 HTTP 请求中提取数据,并将其绑定到指定的 Go 结构体上。
if err := c.ShouldBind(&input); err != nil {
common.ReturnJSONFail(c, component.InvalidParameter, err)
return
}
15、redis
- redis中都是键值对
- redis-cli进入redis
- redis-cli -h host -p port -a password
- auth password 验证身份
- ping 请求通不通
- info 查看redis的详细信息
- select [index] 选择第几个数据库
- get 键值对 查看该键值下的信息
- keys * 查看所有的键值对
- keys:该数据库中有多少个键;
- expires:其中设置过期时间的键有多少个;
- avg_ttl:所有带有过期时间的键的平均 TTL(Time To Live),即这些键剩余存活时间的平均值,单位是秒。
//在这个例子中,这个平均值非常大,可能是由于某个键的 TTL 非常大,导致整体平均值也很大。
db0:keys=3229,expires=3206,avg_ttl=2760329007
16、DNS解析域名
windows:
nslookup www.example.com
linux:
dig www.example.com
nslookup www.example.com
17、_create_end2end_dag 开头的下划线是什么意思
在Python中,使用一个下划线作为变量或方法名的前缀通常表示这是一个"内部"或"私有"的成员,即不鼓励外部直接访问。这是一种约定,而不是强制性的限制。
在 _create_end2end_dag 这个方法名中,前面的单个下划线 _ 表示这个方法是内部使用的,而不是作为公共API供外部使用的一部分。这是为了提醒开发者在外部不要直接调用或依赖这个方法,因为它可能在未来的版本中发生变化。