11 2024 档案
摘要:一,go-playground/validator官方代码地址 https://github.com/go-playground/validator 二,安装 $ go get -u github.com/go-playground/validator/v10 go: downloading git
阅读全文
摘要:一,创建索引 CREATE FULLTEXT INDEX ft_content ON table_name (content) WITH PARSER ngram; 表名和字段可以用``表示引用 说明:创建全文索引时,如果不添加WITH PARSER ngram;有可能会检索不到结果 二,测试: 1
阅读全文
摘要:一,代码 1,全局文件: // 日志消息结构体 type LogMessage struct { Level string Message string } //通道 var LogChan chan LogMessage //日志文件句柄 var GlobalLogFile *os.File //
阅读全文
摘要:一,现象: 如果填写参数时使用的是params类型,而value中包含+,则此时的值在提交到线上时会被替换成空格,原因是:使用params类型参数和值会拼接在url中 二,解决: 在body标签下,使用form-data类型,此时的各项值不会被拼接到url中,+也就不会被替换成空格了
阅读全文
摘要:一,代码: Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码, 以满足跨语言、跨平台进行文本转换、处理的要求 package controller import ( "encoding/json" "fmt" "github.com/g
阅读全文
摘要:一,代码: package main import ( "embed" "flag" "github.com/gofiber/template/html/v2" "net/http" "fmt" "runtime" "industry/config" "industry/routes" ) // 构
阅读全文
摘要:一,官方网站: https://gorm.io/ 如图: 二,安装: 从命令行安装gorm $ go get -u gorm.io/gorm go: downloading gorm.io/gorm v1.25.12 go: downloading github.com/jinzhu/now v1.
阅读全文
摘要:一,代码 1,模块 package page import "fmt" type Page struct { //定义分页的struct Total int `json:"total"` TotalPage int `json:"totalpage"` CurrentPage int `json:"
阅读全文
摘要:一,代码 func main() { app := fiber.New() app.Static("/", "./public") // => http://localhost:3000/js/script.js // => http://localhost:3000/css/style.css a
阅读全文
摘要:一,代码: 官网文档地址: https://docs.gofiber.io/api/middleware/session 1,全局变量 package config import ( "github.com/gofiber/fiber/v2/middleware/session" "github.c
阅读全文
摘要:一,代码 说明: 1,中文字符串的长度: golang中string底层是通过byte数组实现的,所以直接求len,实际是在按字节长度计算。中文字符在unicode下占2个字节,在utf-8编码下占3个字节,而golang默认编码正好是utf-8。所以一个汉字占3个字节算了3个长度。所以打印长度为8
阅读全文
摘要:一,现象: $ ./industry 2024/11/21 10:32:19.288954 app.go:999: [Warn] failed to load views: lstat ./views: no such file or directory 二进制文件启动时会报错找不到views目录
阅读全文
摘要:一,fastadmin菜单栏的默认逻辑 单击是切换选项卡,双击是刷新 参考官方文档: https://ask.fastadmin.net/question/740.html 二,如何使单击也刷新iframe? 找到下面的文件进行编辑 public/assets/js/backend/index.js
阅读全文
摘要:一,代码: 1, controller func (dc *ArticleController) ListArticle(c *fiber.Ctx) error { // 处理获取文章的逻辑 article1 := new(Article) article1.Id = 1 article1.Titl
阅读全文
摘要:一,代码: 1,controller func (dc *ArticleController) GetArticle(c *fiber.Ctx) error { // 处理获取文章的逻辑 article := new(Article) article.Id = 1 article.Title = "
阅读全文
摘要:一,代码 1,controller func (dc *ArticleController) GetArticle(c *fiber.Ctx) error { // 处理获取文章的逻辑 article := new(Article) article.Id = 1 article.Title = "三
阅读全文
摘要:一,安装模板库 $ go get github.com/gofiber/template/html/v2 go: downloading github.com/gofiber/template/html/v2 v2.1.2 go: downloading github.com/gofiber/uti
阅读全文
摘要:一,启动应用: 1,编译程序 $ go build 2,用nohup启动应用的二进制程序 $ nohup /data/goapp/industry/industry >> /data/logs/gologs/back.log 2>&1 & [1] 4896 3,检查应用是否启动: $ ss -lnt
阅读全文
摘要:一,代码: 全局中间件对所有的api生效, 如果有个别不想应用全局中间件的api,则需要从代码中进行排除:例如:支付宝或微信的回调接口 package middleware import ( "fmt" "github.com/gofiber/fiber/v2" "regexp" ) func Ap
阅读全文
摘要:一,代码: 1,userBusiness.go package business import ("fmt") //得到多个用户,按分页返回 func GetUserList(page int ,pageSize int) (string,error) { b := 0 a:=100/b fmt.P
阅读全文
摘要:一,安装第三方库时报错: 没添加代理时,会报错超时错误 # go get -u github.com/gofiber/fiber/v2 go: module github.com/gofiber/fiber/v2: Get "https://proxy.golang.org/github.com/g
阅读全文
摘要:一,代码 这里我们使用官方提供的github.com/gofiber/fiber/v2/middleware/logger这个现成的中间件 官方文档地址: https://docs.gofiber.io/api/middleware/logger/ routes.go package routes
阅读全文
摘要:一,代码: middleware.go package middleware import ( "fmt" "github.com/gofiber/fiber/v2" ) func Middle1(c *fiber.Ctx) error { fmt.Println("middle1 before")
阅读全文
摘要:一,目录结构: 二,代码 1,中间件代码 package middleware import ( "fmt" "github.com/gofiber/fiber/v2" "industry/config" ) // token校验 func CheckUser(c *fiber.Ctx) error
阅读全文
摘要:一,文档地址: https://learnku.com/docs/gofiber/2.x/error-handling/11732 二,当出错时,使进程不退出 1,现象 go代码: func (dc *UserController) GetUser(c *fiber.Ctx) error { var
阅读全文
摘要:一,代码: 1,controller/articleController.go package controller import ( "github.com/gofiber/fiber/v2" "industry/config" ) type ArticleController struct{}
阅读全文
摘要:一,修改go.mod中的名字 module myfiber go 1.23.3 修改后: module industry go 1.23.3 二,清理和整理模块文件 $ go mod tidy 三,重新build $ go build 可以看到编译后文件名已改变为新模块名字
阅读全文
摘要:一,go代码: controller/articleController.go package controller import "github.com/gofiber/fiber/v2" type ArticleController struct{} func NewArticleControl
阅读全文
摘要:一,代码: 1,自定义错误类: package config import ( "fmt" ) //定义错误代码和错误信息 type MyError struct { Code int Msg string } //需要定义通用的Error()方法 func (e MyError) Error()
阅读全文
摘要:一,官网 https://gofiber.io/ 中文文档: https://docs.fiber.org.cn/ 二,初始化项目: $ go mod init myfiber go: creating new go.mod: module myfiber go: to add module req
阅读全文
摘要:一,下载 官网: https://go.dev/ 从首页进入到下载页面: 如图: 选择适合自己系统的版本 复制下载地址,从命令行下载 $ wget https://go.dev/dl/go1.23.3.linux-amd64.tar.gz 二,安装 1,解压: $ tar -zxvf go1.23.
阅读全文
摘要:一,修改代码后使生效: # php artisan octane:reload INFO Reloading workers... 二,停止octane: 说明;用supervisor管理服务,此操作不生效 # php artisan octane:stop INFO Stopping server
阅读全文
摘要:一,配置 nginx 1,一个nginx的server段 在server段之外添加: map $http_upgrade $connection_upgrade { default upgrade; '' close; } 在server段中添加如下内容: location /index.php {
阅读全文
摘要:一,ubuntu安装supervisor 1, 用apt安装 # apt install supervisor 2,安装完成后查看状态: # systemctl status supervisor.service ● supervisor.service - Supervisor process c
阅读全文
摘要:一,报错信息 # apt install supervisor 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 您也许需要运行“apt --fix-broken install”来修正上面的错误。 下列软件包有未满足的依赖关系: libxpm-d
阅读全文
摘要:一,旧版本ubuntu上的apt源不能用了 # apt-get update 忽略:1 http://mirrors.aliyun.com/ubuntu hirsute InRelease 忽略:2 http://mirrors.aliyun.com/ubuntu hirsute-security
阅读全文
摘要:一,什么是octane? 1, Laravel Octane 通过使用高性能应用程序服务器为您的应用程序提供服务来增强您的应用程序的性能, 包括 Open Swoole,Swoole,和 RoadRunner。Octane 启动您的应用程序一次,将其保存在内存中,然后以极快的速度向它提供请求。 2,
阅读全文
摘要:一,pecl命令行安装: 1,注意切换为root权限: # /usr/local/soft/php8.3.9/bin/pecl install swoole 2,安装时的选项: enable sockets support? [no] : yes enable openssl support? [n
阅读全文
摘要:一,optimize创建的文件在哪里? 执行optimize: $ php artisan optimize INFO Caching framework bootstrap, configuration, and metadata. config .........................
阅读全文
摘要:一,使用venv中的python程序去执行 注意加绝对路径 # /data/loki/venv/bin/python3 /data/loki/search.py 二,执行venv/bin/activate之后再执行 因为有多行,我们写一个小脚本执行 #!/bin/bash cd /data/loki
阅读全文
摘要:一,代码: 以3分钟为例:分别得到3分钟后的时间和3分钟之前的时间 import datetime import time # 获取当前时间 now = datetime.datetime.now() # 打印当前时间 print(now) # 获取当前时间的年、月、日、时、分、秒 year = n
阅读全文
摘要:一,代码: import requests import json def send_alert(url,summary,description): data = [{ "labels":{ "job":"mysql", "alertname": summary, "severity": "crit
阅读全文
摘要:一,代码: import requests # loki的地址 loki_url="http://127.0.0.1:3100/loki/api/v1/query_range" # 请求参数 query_params = { "query": "{job=\"devlogs\"} |= `dev.E
阅读全文
摘要:一,在service文件中,指定日志的level 编辑service文件 [Unit] Description=Alert Manager wants=network-online.target After=network-online.target [Service] Type=simple Us
阅读全文
摘要:一,官方的文档: 参考地址: https://docs.golaravel.com/docs/middleware 二,演示: 功能:一个中间件负责验证用户是否已登录, 传递参数的作用是:在已登录基础是否验证真人身份核验,值为1时要核验,其他情况可以不用 1, 为中间件注册一个别名: bootstr
阅读全文