09 2023 档案
摘要:背景: 在go语言里,常用的与数据库进行交互的包有:gorm、xorm,今天我们讲解的是:ent ,本ent系列的教程基于Mac开发环境,归属于 go-study 项目。 一、准备工作 1 阅读ent官方的上手教程 https://entgo.io/docs/getting-started 2 创建
阅读全文
摘要:背景:Mac下使用Another Redis Desktop Manager客户端,删除key,遇到报错:MISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk.
阅读全文
摘要:背景: Mac 13.5.2 + kratos + docker + mysql 8.0.14 + navicat 16 在使用kratos进行接口开发之前,假设你已经安装了 go 、protoc 、protoc-gen-go 、 kratos,如果还没有安装,请先执行下面的命令进行安装: brew
阅读全文
摘要:背景:开发中,免不了要对代码进行debug调试,go也不例外,使用go-zero框架时,该怎么对项目进行调试呢? 以user模块为例,找到service/user/api/user.go,这是user模块的入口,打开user.go可以看到main函数。 TRANSLATE with x Englis
阅读全文
摘要:背景:提到线程池,我们会有大概的印象,通常我们对线程池的理解是:一组活跃的线程,但是这种理解是片面的,不完整的,为此,在手写线程池之前,我们一定要明确线程池到底是什么?不要以我以为的方式去写代码。 一、线程池有以下要素组成 线程队列(Task Queue):用于存储待执行的任务,通常是一个先进先出(
阅读全文
摘要:步骤如下: 一、安装vite npm install -g create-vite 二、创建vue程序,不需要先创建好空的文件夹,直接执行下面的代码即可 create-vite test --template vue 三、使用npm引入element-plus npm install element
阅读全文
摘要:背景:学校开学,3位同学要买票回校上课了,就有了这样一个购票程序,当然,实际情况复杂的多,本文仅供参考。 package main import ( "fmt" "sync" ) type Train struct { station map[string]int mu sync.Mutex } f
阅读全文
摘要:背景:线程的合作执行,体现的是团结协作,应该是比较理想的状态,如果人人都能够少一些算计、多一点互帮互助,那该有多好啊?班主任不是资本家,班级更应该提倡团队精神,学生之间不应该竞争,应该互相协作!本文以团结协作为出发点,讲解线程的合作执行。 为了适应线程协作的场景,我们需要先搞明白下面的几个关键点:
阅读全文
摘要:背景:本文是对:go并发编程系列四:线程分组及控制线程的交替执行 的扩展,假定场景基本一致,唯一不同的是:本文中的张三、李四需要按序执行,通俗的讲就是:张三、李四对应的线程虽然同属于一组,但谁的线程先执行,就由谁优先完成班主任规定的一组任务。 拆分为技术片段的话,意味着:张三、李四对应的线程由普通线
阅读全文
摘要:背景:在上一篇中,作为班主任的你,对班级的管理初见成效,但理想和现实总有差距,理想情况下,从接手一个调皮的班级到班级的管理井井有条,是从0到1的跨越,没有中间的过渡阶段,然而,现实是:班级里少不了调皮的学生,对于这样的情况,应该怎么办呢?这篇文章讲解的正是现实中从0到1的过渡阶段,本文仅以讲解技术为
阅读全文
摘要:背景:在go并发编程系列二,你作为班主任,接手了有三个学生的班级,现状是这三个学生很调皮,看起来乱糟糟的,三个学生就是三个线程,怎么变的有序呢?答案是:给线程加锁!加锁需要使用go标准包的sync.Mutex,这是一个互斥锁。 给线程加锁的代码: package concurrent import
阅读全文
摘要:新建concurrent文件夹,在该文件夹下创建concurrent.go,代码如下: package concurrent import ( "fmt" "time" ) func ThreadZhangSan() { for i := 1; i <= 3; i++ { fmt.Println("
阅读全文
摘要:在go语言中,使用线程的格式是: go 函数名 当然,你也可以使用匿名函数,我们建立三个线程,代码如下: go test1() go test2() go func() { }() 是不是很简单? 在下一系列中,我们将扩展这三个线程,进一步讲解go的并发编程! TRANSLATE with x En
阅读全文