获得徽章 0
#青训营笔记创作活动#
2月17日 打卡day7之前tag没加 重新发一遍

今天阅读了《****写出漂亮代码的45个小技巧****》,以下是心得体会:

1.try catch中如果流程过长,可以把内部主逻辑抽象成一个单独的方法

2.if 条件如果太复杂,可以用几个有意义的bool值代替之

3.资源释放要写到finally,保证真正能够释放

4.谨慎使用异步:会导致两个线程不是一个事务的,异常之后无法正常回滚数据/ cpu负载过高

5.定义枚举量,不要直接使用数字

6.远程接口调用要设置超时时间

7.需要什么字段select什么字段,不然增加冗余信息,还可能无法使用到覆盖索引
展开
评论
#青训营笔记创作活动#
1月20日 打卡day3
之前发错tag没有计算,重发

今日阅读《****go基础语法50问,来看看你的go基础合格了吗?****》,补充了很多不知道的Go语法知识:

1.string类型的值不可以直接修改,需要转为[]byte 修改再转为string。

2.switch语句可以用fallthrough强制执行下一个case代码块

3.解析JSON时,默认将数值按照float64处理

4.recover不能直接调用,必须在defer函数中执行,直接defer revover()也不行

5.在局部函数里执行defer不会有问题,不会影响到外面

6.初始化嵌套结构体不能直接按顺序填参数,要注意嵌套**var**
s2 = stStudent{stPeople{false, "JimWen"}, 3}

7.在C++中,数组名时饮用,函数内部可修改,GO中,数组名是值传递,函数内部不能修改,传指针才能修改,切片(slice)、字典(map)、通道(channel)、接口(interface)。这些是引用

8.类型断言是用来从一个接口里面读取数值给一个具体的类型变量。类型转换是指转换两个不相同的数据类型。

9.在 range 迭代中,得到的值其实是元素的一份值拷贝,更新拷贝并不会更改原来的元素,想要修改直接用索引进行修改即可。

10.interface类型的类型和值均为nil时才等于nil,如果把一个其他类型的nil变量赋值给空接口,空接口有类型了,不为nil。
展开
评论
#青训营笔记创作活动#
2月13日 打卡day8
5分钟自建数据库可视化平台,在线管理数据库也太方便了!
Bytebase是一款面向开发者的数据库变更工具,主要有Bytebase,主要特性有SQL审核、SQL建议、SQL编辑器、备份恢复,对MySQL8支持友好,还支持手动备份与恢复,准备使用其作为项目的数据库管理平台。
展开
评论
#青训营笔记创作活动#
2月1日 打卡day7

随着时间的推移,每个开发者的记忆力都会不断下降,特别是对于MySQL中的命令/函数数量众多的情况,很难记住所有命令。为了解决这个问题,博客中将常用的SQL命令/函数全部罗列出来,以便开发者在需要用到时回来查找。总体来说,这篇博客对于开发者来说非常有帮助,因为它可以帮助他们更方便的使用MySQL命令,提高工作效率。
展开
评论
#青训营笔记创作活动#
为什么有HTTP协议,还要有websocket协议?
1月31日 打卡day6
扫一扫就是前端不知道用户扫没扫,而是不断询问后端服务器,1~2秒一次,所以扫完需要等一等才能跳转。可以改为长轮询,服务器只要收到扫码请求,立马返回客户端,如果超时,等客户端发下次请求。
网页游戏需要大量的数据从服务器送到客户端,需要websocket了,HTTP用半双工的TCP(TCP本身全双工),Websocket全双工HTTP,也是应用层协议。
握手:Websocket建立连接需要用到HTTP,客户端发Upgrade:Websocket,服务端回101状态码,表示协议切换
Websocket应用:网页游戏、聊天室、飞书
展开
评论
#青训营笔记创作活动#
1月16日 打卡day1

之前忘记加tag,重新发了一次

学习了一个三刷官方文档法:1.从头看到尾。2.手敲一遍。3.先只写注释,不看文档实现功能,遇到问题再和文档比较。

设计数据库表结构是最重要的环节。

DDD领域驱动设计
展开
评论
下一页
个人成就
文章被阅读 1,142
掘力值 156
收藏集
0
关注标签
4
加入于