avatar
文章
179
标签
47
分类
46

首页
文章
  • 归档
  • 标签
  • 分类
  • ToDo
  • 友情链接
留言板
关于
Echin の 博客
搜索
首页
文章
  • 归档
  • 标签
  • 分类
  • ToDo
  • 友情链接
留言板
关于

Echin の 博客

测试
发表于2024-03-18|更新于2024-03-18|NX青训营|NX青训营
不得不说,学这个之前我只会APIfox点一点…… 回归测试:质量保证人员手动测试项目可用性(刷抖音、看评论)top1 集成测试:对系统功能的测试(对暴露的接口自动化测试)top2 单元测试:开发者对单独的函数模块测试 top3 单元测试规则 所有测试文件都以 _test.go 结尾 测试函数写成 func TextXxx(t *testing.T) 初始化逻辑放到 TestMain 中(准备测试的数据->跑测试->释放资源) 123└─test print.go print_test.go 如果要测试print.go中的函数输出是否正确 123456// print.gopackage testfunc HelloTom() string { return "John"} 然后建立print_test.go,其实这个时候会发现这个吉祥物就有点不一样,而且整个goland文件有入口可以运行了,而不是只能从main.go进入,下面就填写Testxxxx(T &testint.T){} 最后三角 ...
Goroutine
发表于2024-03-18|更新于2024-04-13|Go|Go
Goroutine 并发x并行x串行并发: 并发是一个核运行多线程程序,说人话就是一个程序分为好多个子程序,然后一个人干,这个人一会干这个一会干那个,类似于ABCBCABCA….这样子干,因为计算机运行速度很快,就给人一种“多线程”的感觉,一个人在同时做很多事情 并行: 并行就是多核运行多线程程序,说人话就是多个人一起干多个程序 串行: 多线程程序中,要先干完线程A,再干线程B…… 并发就是一个人同时吃三个馒头,并行是三个人吃三个馒头 在Go实战中描述 并行是让不同的代码片段在不同的物理处理器上执行,关键是同时做很多事情 并发是指同时管理很多事情,这些事情可能做了一半就被暂停就去做别的事情了 一般来说,我们总觉得并行更好,因为他多步进行,但是事实上操作系统上的资源总是少得可怜,从”使用较少的资源做更多的事情”的哲学出发,并发只使用了很少的资源,却能够管理很多事情,注意这里是管理。 线程和协程线程: 内核态,线程跑多个协程,栈MB级别 协程: 用户态,轻量级线程,栈KB级别 没啥好理解的,反正协程就是轻量 12345678910func hello(i int) { ...
Socks5
发表于2024-03-17|更新于2024-03-18|NX青训营|NX青训营
这个是NX的Socks5的书写,实不相瞒,写完后Any告诉我这个都没什么用,配网啥的都是靠工具来配的,看个乐子就行 原理RFC 1928 - SOCKS 5 协议中文文档「译」 - 光韵流转 (quarkay.com) 认证 客户端向服务端发送 12345678910// +----+----------+----------+// |VER | NMETHODS | METHODS |// +----+----------+----------+// | 1 | 1 | 1 to 255 |// +----+----------+----------+// VER: 协议版本,socks5为0x05// NMETHODS: 支持认证的方法数量// METHODS: 对应NMETHODS,NMETHODS的值为多少,METHODS就有多少个字节。RFC预定义了一些值的含义,内容如下:// X’00’ NO AUTHENTICATION REQUIRED// X’02’ USERNAME/PASSWORD 服务端响应 12345// +----+--------+/ ...
在线字典
发表于2024-03-17|更新于2024-03-17|NX青训营|NX青训营
学习链接 流程 控制台输入单词 go run main.go world 将这个 world 当作请求的body一部分,传给相应的翻译网站 网站翻译后获取Responsebody print result 难题 如何连接相应的翻译网站 如何获取相应的翻译网站 如何实现通用 准备的翻译网站 其实具体连接获取代码都是有网站可以实现的 只要输入相应的URL bash 就可以转成相应的Go语言 具体的怎么操作就不展现了,反正就是跟着NX做的 有个小问题就是那个转Go的网站翻译出来的有问题 所以我直接抄NX的代码,发现可以用就直接用了 123456789101112131415161718192021222324252627282930313233343536373839404142434445package mainimport ( "fmt" "io/ioutil" "log" "ne ...
猜随机数
发表于2024-03-17|更新于2024-03-17|NX青训营|NX青训营
随机数12345maxNum := 100fmt.Println("Create a random number")//rand.Seed(time.Now().UnixNano())random := rand.Intn(maxNum)fmt.Println(random) 不用设立种子也能生成随机数。 用户输入输出猜随机数小游戏 1234567891011121314151617181920212223242526272829303132func main() { maxNum := 100 secretNumber := rand.Intn(maxNum) // fmt.Println("The secret number is ", secretNumber) fmt.Println("Please input your guess") reader := bufio.NewReader(os.Stdin) for { input, err := reader.ReadString(' ...
事务
发表于2024-03-16|更新于2024-03-16|Gorm|Gorm
普通事务/嵌套事务1234567891011121314151617181920212223242526272829// 事务操作type TMG struct { ID uint Name string}func TestTransaction() { Db.AutoMigrate(&TMG{}) flag := false // 如果外层的事务出错,内层事务完好,则所有事务都不能执行 // 如果内层的事务出错,外层事务完好,则除了内层事务之外的操作都能执行 if err := Db.Transaction(func(tx *gorm.DB) error { tx.Create(&TMG{Name: "汉子"}) tx.Create(&TMG{Name: "威武"}) // 多重事务开启 tx.Transaction(func(tx *gorm.DB) error { tx.Create ...
多态
发表于2024-03-16|更新于2024-03-16|Gorm|Gorm
什么是多态 一开始我也不是很理解,那么我用我学了三天的JAVA基础来理解 首先多态只存在于 Has One 和 Has Many 中 把多态用类的思想去理解,把一整个结构体当作一个类 而某个类的属性,比如说纸飞机类,有很多人的纸飞机类 由此就会产生多态 12345678910111213141516171819type A struct { ID uint Name string C C `gorm:"polymorphic:Owner;"`}type B struct { ID uint Name string C C `gorm:"polymorphic:Owner;"`}type C struct { ID uint Name string OwnerType string OwnerID uint} GORM 入门笔记(九)多态的概念与使用 | NX の 博客 (nickxu.me) 算了描述不清楚……….. 到时候用到了再 ...
关联
发表于2024-03-16|更新于2024-03-16|Gorm|Gorm
tips: 关联自动创建,更新 关联模式Association() 要启动关联模式,请指定源模型和关系的字段名称。 源模型必须包含主键,并且关系的字段名称应与现有关联匹配。 12Db.Model(&User).Association(&Teacher)...// delete,replace,append...// Model-源模型 Teacher是关系的字段 关联标签 标签 描述 foreignKey 指定在联接表中用作外键的当前模型的列名。 references 指示连接表的外键映射到的引用表中的列名。 polymorphic 定义多态类型,通常为模型名称。 polymorphicValue 设置多态值,通常为表名(如果未另行指定)。 many2many 命名多对多关系中使用的联接表。 joinForeignKey 标识联接表中映射回当前模型表的外键列。 joinReferences 指向联接表中链接到引用模型表的外键列。 constraint 为关联指定关系约束,如 。OnUpdate``OnDelete Be ...
Gorm配置
发表于2024-03-14|更新于2024-03-15|Gorm|Gorm
Gorm因为没有深入了解过Gorm,了解一下 配置之前连接有个细节没注意 1234567891011121314151617dsn := "user:password@tcp(127.0.0.1:3307)/shortURL?charset=utf8mb4&parseTime=True&loc=Local" db, err := gorm.Open(mysql.New(mysql.Config{ DSN: dsn, }), &gorm.Config{ SkipDefaultTransaction: false, //跳过事务控制,但是关掉后不保证数据一致性 NamingStrategy: schema.NamingStrategy{ TablePrefix: "test_", // 表名前缀,`User` 的表名应该是 `t_users` SingularTable: false, // 使用单数表名,启用该选项后,`User` 的表名应该是 `t_u ...
dockerfile尝试
发表于2024-03-13|更新于2024-03-13|docker|docker
给短链系统收个尾,写个dockerfile,本来就很害怕写这个东西 然后这个东西一写就是半天过去了 而且基本上就是在蒙蔽状态下度过的 代码写写很快,但是没啥用 Dockerfile1234567891011121314151617181920212223# 第一阶段:使用Go语言环境构建应用程序FROM golang:1.21 as builderENV GOPROXY https://goproxy.cn,direct# 设置工作目录WORKDIR /app# 将当前目录的内容复制到容器内的/app目录COPY . .# 构建应用程序,生成可执行文件RUN CGO_ENABLED=0 go build -a -installsuffix cgo -o main .# 第二阶段:从一个空镜像创建最终的镜像FROM alpine:3.12WORKDIR /app# 复制第一阶段构建的可执行文件到最终镜像的/app目录COPY --from=builder /app/main /app/main# 暴露应用程序监听的端口EXPOSE 8080# 设置容器启动时运行的命令CMD [" ...
1…101112…18
avatar
Echin-h
keep learning
文章
179
标签
47
分类
46
Follow Me
公告
love is accumulated, not love, too.
最新文章
北京租房2025-07-21
Linux命令补充2025-02-27
非唯一索引加锁规则实操2025-02-19
sls日志接入2025-01-18
操作系统概论2024-12-08
分类
  • CD/CI1
  • CI/CD1
  • Gin10
  • Go26
  • Gorm9
  • JAVA2
  • Linux4
  • MQ1
标签
flamgo CI/CD 简历 代码随想录 ngrok casbin 分布式锁 配置文件 Go 八股文 CD/CI JAVA语法 oauth Gin git vim rpc none NX青训营 flamego 设计模式 Linux docker JWT pinnacle 我爱记单词 sls 计算机网络 博客 Mysql MQ 前端 北京北京 随笔 Gorm 设计原则 k8s 算法 Session 图解HTTP
归档
  • 七月 20251
  • 二月 20252
  • 一月 20251
  • 十二月 20243
  • 十一月 20243
  • 十月 20248
  • 九月 20249
  • 八月 20246
网站资讯
文章数目 :
179
已运行时间 :
本站访客数 :
本站总访问量 :
最后更新时间 :
©2023 - 2025 By Echin-h
框架 Hexo|主题 Butterfly
today is a beautiful day
搜索