今天接手了一个用Golang写的后端代码,记点笔记。

最后更新于2021年8月2日 11:59:43

问题:goproxy.io 和 goproxy.cn 是什么关系 差不多,区别不大。。
GO 命令教程

一些shell脚本命令的学习,奇怪的知识增加了!!!
$(dirname $0)
cat <<EOF
linux下制作deb的方法总结

2021年6月9日 14:09:54:我知道项目里打包了哪些东西,但是我为啥要打包这些东西呀。。。我怎么知道我要打包哪些东西呀。。。
circus是什么?马戏团?Circus: A Process & Socket Manager(教程tutorial)
How do you remove pip from a pc if you installed by “get-pip.py”
2021年6月10日 13:28:23:安装马戏团:

wget https://bootstrap.pypa.io/pip/3.5/get-pip.py
sudo python3 get-pip.py
pip install circus

virtualenv:python虚拟机设置,为了成功创建python虚拟机,需要换pip源。在$HOME目录下执行以下操作:

mkdir .pip
touch .pip/pip.conf
gedit .pip/pip.conf

复制以下内容进pip.conf:

[global]
index-url = http://e.pypi.python.org/simple

这里不换国内源是因为换国内源会报错找不到url,原因是国内源根本没有同步这部分内容还是怎么的。
我是挂代理从这个url下载的,不知道不挂代理能不能下载。
然后创建虚拟机,我用的是py3.5:

virtualenv -p '/usr/bin/python3.5' venv

终于创建成功了,累死我了,activate激活虚拟机:

cd ./venv
source ./bin/activate

Step-by-step tutorial 按照这个circus教程安了一堆东西,由于pip的版本问题,可能还要在虚拟机里再使用get-pip.py更新一遍pip版本,心累。
按着教程做,目前没碰到别的问题。
从今天(六月十号)早上来了一直搞到现在下午一点半,恶心心。之前试了一遍不通过虚拟机,直接跑,就是跑不通,也是很奇怪的说。

2021年6月10日 14:19:40:尝试跑了一下项目里的ini文件,看看能不能用circusctl看出什么东西来。
Circus 常用命令:
circusd --daemon *.ini 启动目标ini
circusctl 进入交互模式后list ${program名字} 查看进程的PID编号。help查看帮助
2021年6月10日 14:40:02:看一下Circus和Nginx是如何共存的,真恶心啊。
pip install报错:Missing dependencies for SOCKS support解决方法
circushttpd 绝对有问题,我更新到python3.7建立虚拟环境都报错。这个不搞了。

还没开始接触本体,已经写了快小两千字的博客了,麻了麻了。

2021年6月11日 09:48:42GOlang官方教程:Tutorial: Get started with Go
pkg.go.dev 这个是官方教程给的小网站,用来搜索go package的。
中文教程:
交互式指南,先看这个:欢迎使用 Go 指南
再看这个,这个里面的“Go语言之旅”就是上面一个链接

2021年6月21日 11:32:49:出差一周,受益良多,刚回来。
Golang要调用外包,函数名必须首字母大写,我服了,怎么会有这种人啊?
Go的json解析:Marshal与Unmarshal
Golang 关于通道 Chan 详解
一看就懂系列之Golang的goroutine和通道
[golang]golang signal.Notify 信号,如何优雅的退出
Go语言defer关键字 把defer解释的很清楚

需要本地安装redis
dummy里面那个本地的pushurl到底用什么东西存的信息??
生成的total文件应该是总行程吧,用来叠加从使用以来的总信息。
robotDummyNode大概跑明白了,接下来是robotTestProxy
2021年6月23日 09:55:49
How to set password for Redis Server ?
redis db0-db15

阿三写的redis教程网站,关键写的还挺好的你敢信,不知道是不是第一手的,比国内机翻的强。
这教程格式有问题,不会也是抄的吧。
看了一下他的java教程,感觉这网站真的可以xdm,叫javatpoint。
redis教程留着晚上看。

os.mkdir(),os.OpenFile()等函数,0755赋予目录,0644赋予文件,详见golang文件操作

Golang里面这if err := XXXXX; err != nil 写的满地是,我觉得还不如trycatch。。。
都有了NewSqlite方法,为什么还要自己实现呢?

HTTP头部详解 看不懂
HTTP 简介 | 菜鸟教程
Origin 源
浏览器同源政策及其规避方法
杂文(18)学一下HTTP协议,笔记
一点感想:我通过域名访问公司服务器和通过ip地址直接访问公司服务器,不能记住我的登录状态,得登录两次的原因就是因为同源政策??
golang web框架——gin使用教程(一)

2021年6月24日 10:24:59


碰到问题:
在这里插入图片描述
在go env中设置GO_ENABLED值为1,即:
go env -w GO_ENABLED="1"
操作完成后发现新问题:解决Ubuntu编译error:fatal error: sys/cdefs.h: No such file or directory


golang中package的介绍和使用
2021年6月24日 15:18:50
gin中文文档 别的都能放,这个现在就得看,代码我实在理解不了了,无论是语法和项目结构,为什么要这么分文件、类型的结构为什么要这么组成,都要看。

golang变量作用域问题-避免使用全局变量:很重要的问题,Golang中全局变量的作用域是整个package,也就是说我在这个go文件中定义的全局变量,在另一个go文件中也能用,只要在同一个包下就可以!!! 我已经因为这个造成误会了。init.go和redis.go两个文件加起来连40行都没有咱能写一起不???

api.List, api.Detail, api.Update 需要看

2021年6月25日 10:09:40
《Gin 文档》之路由篇
Gin(二):路由Router

2021年6月25日 15:41:39
map_api和task_api的大部分接口都需要完善

2021年6月28日 10:53:47
安装基于python2.7的pip
根据以上命令安装完后,pip2 -V 是可用的。然后我再sudo apt install python-pip 安装了apt的默认pip,算了我就不整这花活儿了,只根据上面命令安装一个pip就好了,不太明白这两段命令之间是什么原理。。

2021年6月28日 15:44:04
由于使用的是python2.7,因此诸如sip、numpy等都需要找对应的旧版本去安装
SIP 4.19.1 Installation
已知端口号,查看占用当前端口的程序:lsof -i :PORT
Redis设置密码重启后失效的解决方案

2021年6月29日 11:15:44
rospkg.common.ResourceNotFound: tf2_ros 这错是哪里来的???服了
2021年6月29日 15:05:03
上面那个bug修好了:一个究极sima问题:pycharm中报错:rospkg.common.ResourceNotFound tf2_ros
一杯茶一包烟,一个bug修一天。
2021年6月29日 15:23:59
又有新bug,我都看不懂:ImportError: liborocos-kdl.so.1.3: cannot open shared object file: No such file or directory
解决办法:sudo apt install liborocos-kdl1.3
2021年6月29日 16:06:07
tornado是什么??
跑起来了,读代码。
2021年6月29日 19:31:50
读懂python中的self

2021年6月30日 09:55:03
Ubuntu ifconfig view network card information lo enp2s0 wlp3s0 specific meaning
网卡等设备是连接在pci总线上的,诸如p2s0、p3s0这样的标注了网络设备在pci总线上的坐标(bus2\slot0、bus3\slot0)
ROS中编写Publisher和Subscriber的方法(Python版) gaoshou
ROS学习笔记六:理解ROS服务和参数
解决:While reading from ‘/Users/***/.pip/pip.conf’ [line 4]: option ‘extra-index-url’ in section ‘global’ already exists

2021年6月30日 15:35:36:巨大问题,为啥我的ubuntu使用circusctl的reload功能之后,circus就会timeout呢???

IOError: [Errno 13] Permission denied .ros/rosdep/sources.cache/index 一个非常奇怪的权限报错,可能是我在安装rosdep时过度使用了sudo权限,解决方法:

sudo rosdep init
rosdep update //可能是我当时加了sudo

go在64位环境下编译出32位程序 坑啊,搞成32位的,放到小车上跑不起来。

2021年7月1日 14:39:35: 我今天不把路径问题搞明白我不往下做了好吧,所有的路径错综复杂的一大堆根本没法继续工作。

2021年7月1日 15:54:51
pycharm的绿色三角执行按钮不知道哪里有问题,建议以后都用写脚本的方式执行。
记得在.bashrc中添加PYTHONPATH来解决找不到自定义包的问题,python会按照从前到后的顺序查找自定义包,如果要通过打print或者log的方法测试代码正确性,记得搞清楚在哪个py文件里打log。
edit configuration里面可以为os.environ添加参数。
site.py可以修改sys.path找到的环境变量,但是我真没看懂,还是直接用改PYTHONPATH的方式吧。
路径的话还是要具体问题具体分析,能跑就好,别管它怎么跑的,debug难一点就难一点吧,比大脑爆炸要好多了。

2021年7月1日 18:18:07
Golang代码:安装在服务器上,接收机器人信息并存入redis。
Python代码:从ros获取机器人信息,额。。打印出来??没仔细看。
读一下python代码。
2021年7月1日 19:05:14
python中的from后面一个点或者两个点是什么意思
python中logging日志模块详解
python以下划线开头的变量和函数的作用
2021年7月2日 17:17:20
准备出差啦!做好准备,配置了一天。
2021年7月2日 19:41:29:
python中lambda关键字–定义匿名函数
2021年7月4日 09:44:16
ROS中TF变换详解
四元数与三维旋转
坐标变换学习笔记—代码篇ROS

2021年7月6日 15:35:25
项目中的cache是什么?

2021年7月12日 10:05:04
又是一周出差,大体了解了项目在模拟车上怎么跑,现在我想借一个真车去,问一下真车有没有GPS,做一下node通断测试。
跟前端沟通一下,看缺少哪些功能,做起来。
先别急着借车,随便找个rosnode通断一下看看,反正原理都是一样的。可以使用shell脚本控制通断或者python控制通断,或者我下面想的干脆就写入gin中。

直接写入gin中是否可行????专门写一个判断条件用于通断测试。目前我的想法是使用一个flag去记录节点断开状态。执行新的step前先判断阶段名称,如果是GPS断开路段且节点未断开,则使用goroslib操作GPS node断开(名称不知道)。不是断开路段且节点已断开则操作node连接。其余两种状态就continue。为了实现上述目标,首先需要知道怎么通过goroslib控制节点,先读api吧。然后写判断逻辑就可以了。
gps只是硬件部分的其中一个点而已,先熟读golang代码,确保能搞定服务端再说。

2021年7月13日 16:02:27
Go invalid memory address or nil pointer dereference错误

2021年7月14日 15:16:17
现在test_service基本都看懂了,只剩下其中最主要的start函数,这个函数后面跟了一堆东西,看完就差不多了。
看完这个我就把别的test端口都合并进来,调的没问题了就修改结构,主要是想把mission部分合并起来。

Go的json解析:Marshal与Unmarshal 晚上累了看
Go 面向包的设计和架构分层 很关键
golang 任何类型interface{}
1[golang] interface{} 2golang 任何类型interface{}
2021年7月15日 10:11:37
go语言结构体组合函数介绍
golang中的new创建的是一个指针
2021年7月15日 16:34:01
有的人写代码的原则真的是能用就行
2021年7月22日 13:22:39
五分钟理解golang的init函数 顺便提了一些简单的golang初始化顺序问题
Difference between initialization and zeroing, and new() and make() in GoLang (超级详细)
2021年7月27日 16:42:49
为什么Go写的程序,还需要glibc呢
没事干的话就把CGO_ENABLED这玩意儿关掉!改成0!今天做gitlab-ci,自动打的deb包就是一直报错,输入ldd --version命令可知:使用docker的Golang:1.16镜像打包的deb包,需要Glibc版本>2.28才行,出现这种情况就是因为把CGO打开了。

2021年8月2日 11:59:28
下午改写一下业务代码

2021年8月13日 17:09:32
so文件生成命令:gcc -fPIC -shared 文件名.c -o so文件名.so。例:gcc -fPIC -shared des.c -o libdes.so。

2021年8月13日 17:38:38
在线转换应该也是16000的采样率,我看能不能转换一下

猜你喜欢

转载自blog.csdn.net/weixin_44445507/article/details/117731350
今日推荐