9月
06
既然 go 的迁移、seeder 等不好用,还是用 laravel 来搞吧。
开始
composer create-project laravel/laravel youme.com --prefer-dist
这样就创建了一个最新的 laravel 项目,项目文件在 youme.com 里。在本地,做了 host 映射。通过 youme.com 就可以打开。
上边就是默认的。
创建 git 版本控制,提交。
git init -b main
git add .
git commit -m 'laravel initialize'
继续阅读
9月
05
在 Go 1.5 及后续版本中,可以通过创建 internal 代码包让一些程序实体仅仅能被当前模块中的其他代码引用。这是第三种访问权限:模块级私有。
- 导出路径包含internal关键字的包,只允许internal的父级目录及父级目录的子包导入,其它包无法导入。
9月
05
https://github.com/danceyoung/paper-code/blob/master/package-oriented-design/packageorienteddesign.md
序
本篇内容主要讲解golang项目的面向包设计准则和基础的架构分层。
信息来自原文
内容进行翻译、加工、整合及结合个人的实践经验,并附有一个真实的例子来解释本篇内容。
当然你也可以直接阅读英文原文。
当然高手如云,只是懒得写罢了。
百年太久,只争朝夕,不负韶华,不枉少年,来日怎方长。
继续阅读
7月
28
很多时候,都是终端里看信息。多色的信息就很好看了。我是一个实在人,就从零开始搞一个。其实是别人搞好了,我拿来用。
开始
终端高亮,我们用这个 https://github.com/mgutz/ansi
先建立一个 go 项目
mkdir artisan
cd artisan
go mod init artisan
再安装 ansi
go get github.com/mgutz/ansi
然后再封装一个调用方法包
mkdir -p pkg/console
touch pkg/console/console.go
console.go
// Package console 命令行辅助方法
package console
import (
"fmt"
"os"
"github.com/mgutz/ansi"
)
// Success 打印一条成功消息,绿色输出
func Success(msg string) {
colorOut(msg, "green")
}
// Error 打印一条报错消息,红色输出
func Error(msg string) {
colorOut(msg, "red")
}
// Warning 打印一条提示消息,黄色输出
func Warning(msg string) {
colorOut(msg, "yellow")
}
// Exit 打印一条报错消息,并退出 os.Exit(1)
func Exit(msg string) {
Error(msg)
os.Exit(1)
}
// ExitIf 语法糖,自带 err != nil 判断
func ExitIf(err error) {
if err != nil {
Exit(err.Error())
}
}
// colorOut 内部使用,设置高亮颜色
func colorOut(message, color string) {
fmt.Fprintln(os.Stdout, ansi.Color(message, color))
}
最后,新建一个 main.go 然后,调用
touch main.go
package main
import "artisan/pkg/console"
func main() {
console.Success("多少恨昨夜梦魂中,还似旧时游上苑。车如流水马如龙,花月正春风。")
}
go run main.go
这个时候就可以看到绿色的输出了。
7月
21
6月
17
在做 go 测试的时候,经常会有端口被使用,而没停止。停掉该进程就很有必要。
操作一波
# 以 3000 端口为例
lsof -i:3000
# 通过 lsof 命令找到 pid ,杀掉 pid
kill -9 xxxx
6月
15
利用air(git)实现 go 项目的热重启。安装完 air 后,运行 air 出现 zsh: command not found: air 报错。air 是安装在 gopath 的 bin 目录下,终端找不到这个文件。
解决方法
vim ~/.zshrc
# 在末尾追加下边语句,保存
alias air='$(go env GOPATH)/bin/air'
# source 使得配置生效
source ~/.zshrc
再运行 air 发现就可以了。如果不行,是终端对应的配置文件不是这个。
__ _ ___
/ /\ | | | |_)
/_/--\ |_| |_| \_ , built with Go
可是,如果又安装了一个呢。是不是又得再加。这样好麻烦。把 GOPATH BIN 目录加入到环境变量中就可以了的。
vim ~/.zshrc
# 加入下边的,保存
export PATH="$(go env GOPATH)/bin:$PATH"
# source 使得配置生效
source ~/.zshrc
6月
02