获得徽章 1
- #青训营笔记创作活动#
2月7日 打卡day08
通俗易懂的一篇关于计算机网络的一篇帖子,加深了我对于计算机网络的认识和理解,让我学到电路交换和转发之间相互的联系。评论3 - #青训营笔记创作活动#
2月6日 打卡day07
只会用MySQL,从来没有像这篇文章一样了解过MySQL这么深的层次,今天也算是大开眼界了,让我对于MySQL的整体架构有了一点基本的认知。评论3 - #青训营笔记创作活动#
2月5日 打卡day3
今日学习
通过阅读本篇文章,我知道了分库分表的原因:
单机数据库的存储能力、连接数是有限的,它自身就很容易会成为系统的瓶颈。当单表数据量在百万以里时,我们还可以通过添加从库、优化索引提升性能。一旦数据量朝着千万以上趋势增长,再怎么优化数据库,很多操作性能仍下降严重。为了减少数据库的负担,提升数据库响应速度,缩短查询时间,这时候便需要进行分库分表。展开评论1 - #青训营笔记创作活动#
2月5日 打卡day06
学习这篇文章让我更能明白为什么要写出漂亮的代码是一件非常重要的功底了,漂亮的代码让人赏心悦目,让人见名知义,能够让团队之间配合的更加默契。评论3 - #青训营笔记创作活动#
2月4日 打卡day2
今日学习
通过阅读本篇文章,我知道了以下几点:
1.使用值为 nil 的 slice、map时,允许对值为 nil 的 slice 添加元素,但对值为 nil 的 map 添加元素,则会造成运行时 panic。
2.检查 key 是否存在可以用 map 直接访问,检查返回的第二个参数即可。
3.string类型的值不能修改,尝试使用索引遍历字符串,来更新字符串中的个别字符,是不允许的。string 类型的值是只读的二进制 byte slice,如果真要修改字符串中的字符,将 string 转为 []byte 修改后,再转为 string 即可。
4.switch 语句中的 case 代码块会默认带上 break,但可以使用 fallthrough 来强制执行下一个 case 代码块。
5.可以直接在处理 HTTP 响应错误的代码块中,直接关闭非 nil 的响应体;手动调用 defer 来关闭响应体。展开评论1 - #青训营笔记创作活动#
2月4日 打卡day05
人找书是很难的,但是书找书是容易的,越读书,越知道该读什么书。从这篇文章中学到了很多东西,学会结合文档去学习语法,用“笨”方法去找到适合自己的路。评论3 - #青训营笔记创作活动#
2月3日 打卡day1
今日学习(通过阅读本篇文章,我知道了一下5点:
1.TCP协议本身是全双工的,但我们最常用的HTTP1.1,虽然是基于TCP的协议,但它是半双工的,对于大部分需要服务器主动推送数据到客户端的场景不友好,因此我们需要使用支持全双工的websocket协议。
2.在HTTP1.1中,只要客户端不问,服务端就不答。基于这样的特点,对于登录页面这样的简单场景,可以使用定时轮询或者长轮询的方式实现服务器推送(comet)的效果。
3.对于客户端和服务端之间需要频繁交互的复杂场景,比如网页游戏,都可以考虑使用websocket协议。
4.websocket和socket几乎没有任何关系,只是叫法相似。
5.正因为各个浏览器都支持HTTP协议,所以websocket会先利用HTTP协议加上一些特殊的header头进行握手升级操作,升级成功后就跟HTTP没有任何关系了,之后就用websocket的数据格式进行收发数据。)展开评论1 - #青训营笔记创作活动#
2月3日 打卡day04
开篇就以实际生活中最烦人的小广告入手,引起我对于这篇文章的兴趣。我学会了什么是长轮询,websocket是什么以及干什么用。websocket和socket几乎无任何关系。评论3 - #青训营笔记创作活动#
2023年1月19日
在我之前学过的线程池中又让我加深了对于java线程池的理解,之前只是表面了解线程池,这个原理讲的也很清晰透彻。评论3