恢复goland默认设置要删除什么文件夹
goland最近抽风,我只是改动一个配置文件,就会重新对整个project构建索引,导致mac非常卡,所以有必要恢复出厂设置。
查了好久,最终删除了一下文件夹解决:
Windows:
Configuration (idea.config.path): %APPDATA%\JetBrains\IntelliJIdea2020.3
Plugins (idea.plugins.path): %APPDATA%\JetBrains\IntelliJIdea2020.3\plugins
System (idea.system.path): %LOCALAPPDATA%\JetBrains\IntelliJIdea2020.3
Logs (idea.log.path): %...
Docker映射文件而不是文件夹时候的坑
docker映射文件而不是文件夹的语法跟映射文件夹的时候是一样的。
比如在docker-compose.yml里面这样写
volumes:
- "./logs:/opt/my_business/logs"
- "config.ini:/opt/my_business/config.ini
坑1
如果这样写的话,映射的时候,镜像里面的config.ini必须已经存在,不能运行时再创建。否则docker会认为镜像里不存在,docker会在容器启动的时候帮助镜像内创建文件夹名字为config.ini, 然后程序运行的时候在创建的时候就会报config.ini is directory not file了。
坑2
还有一个问题,docker映射的时...
Go底层总结(1):编译过程和理解可执行文件
以一个hello world的例子为例,说明下go语言编译的过程。
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
编译阶段
go程序不能直接运行,大体要经过词法分析,语法分析,语义分析来生成中间代码,也就是编译的过程,之后会形成汇编代码,然后再由汇编器把汇编代码1v1翻译成机器指令,最后要由链接器把多个文件链接在一起生成最终的可执行文件。
go编译
go编译器的代码位于src/cmd/compile路径下,链接器位于src/cmd/link路径下。
词法分析
扫描器位于src/cmd/compile/scanner.go下面
词法分析就是把源代码一堆字符里面去掉空格...
Github镜像加速
问题的源起
由于众所周知的原因,国内访问github,下载github上面的东西速度非常慢
解决方案
通过把域名更改为镜像网站下载。
https://hub.fastgit.org
举例如,本来下载地址为:
https://github.com/svenstaro/miniserve/releases/download/v0.17.0/miniserve-v0.17.0-x86_64-unknown-linux-musl
需要修改为
https://hub.fastgit.org/svenstaro/miniserve/releases/download/v0.17.0/miniserve-v0.17.0-x86_64-unknown-linux-musl
Docker Compose搭建带有mysql数据库如何初始化数据
问题的源起
搭建服务的时候如果服务依赖myql,那么需要docker-compose拉取mysql容器,然后执行一下初始化数据库的脚本创建数据库用户,创建数据库,创建表, 插入一些初始化数据。然后才能启动服务。
问题一
如何让server一直wait知道mysql初始化完成再启动。
问题二
mysql初始化数据放在哪里?我一开始想打包一个自己的mysql镜像,把数据都打进去。但是mysql的官方容器默认是VOLUMN /var/lib/mysql的。 所以即使有数据变更,创建了新的数据库数据表,docker commit的时候其他机器拉取镜像跑容器的时候还是没有数据。哪里放初始化数据,哪里放业务代码。
问题三
myql的默认配置很垃圾,一般都需要自己设置编码utfmb4,...
Linux登录配置文件加载顺序
疑问
当我们打开shell的时候,会加载哪些配置文件呢?加载的顺序又是怎么样呢?录linux的shell其实分两种,login shell和non-login shell,那么login shell 和non-login shell有什么区别呢?
用户输入用户名密码shell才启动,这是login shell,还有一种non-login shell,不需要登录就可以获取bash页面,例如x-window环境下启动终端,不需要输入用户名密码,这是non-login shell。
login shell读取配置文件流程
系统设置文件
只有login shell才读取系统设置文件/etc/profile,它是系统的整体的配置文件,该文件会调用
①/etc/inputrc用来设置bash...
阿章的go语言教程[2]-程序结构
命名
标识符
Go语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则:一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。大写字母和小写字母是不同的:heapSort和Heapsort是两个不同的名字。
所有你自己写的代码,定义的变量,函数等必须遵守标识符的原则。
有很少的一些go语言的关键字你不能当做变量的名字
以下这些,初次接触,不要被吓到,不要可以去记住,可以大概浏览一下,有个印象,后面我会一个一个讲到。
Go语言中类似if和switch的关键字有25个;关键字不能用于自定义名字,只能在特定语法结构中使用。
break default func in...
阿章的go语言教程[1]-安装和你的第一行代码
安装golang
教程的一开始当然是安装golang,已经安装好的同学可以跳过本章节。
mac windows安装
打开golang官方下载网站 Downloads - The Go Programming Language (golang.org) 可以看到各个平台的安装包
如果是windows的可以点击go1.17xxxx.msi下载,mac的选择macOs的xxx.pkg进行下载。如果是苹果M1芯片的mac可以下载darwin-arm64.pkg的进行下载。然后点击下一步下一步进行安装。
linux下载解压安装
也是在这个页面可以找到linux版本压缩包的下载地址,鼠标右键复制链接地址。然后执行命令下载解压
wget https://golang.o...
共计 84 篇文章,11 页。