获得徽章 0
- day17
http0.9只是一个简单的协议,只有一个GET方法,没有首部,目标用来获取HTML。
http0.9的流程:客户端,构建请求,通过DNS查询IP地址,三次握手建立TCP连接,客户端发起请求,服务器响应,四次挥手,断开TCP连接。(与服务器只有一个来回)HTTP1.0协议大量内容:首部,响应码,重定向,错误,条件请求,内容编码等
http1.0的流程:客户端,构建请求,通过DNS查询IP地址,三次握手建立TCP连接,客户端发起请求,服务器响应,四次挥手,断开TCP连接。(与服务器有两个来回)、展开评论点赞 - 互联网中一个项目的上线会需要各个工种间的配合,以研发为视角上会承接产品需求,下会交给测试验证,最终完成项目交付上线。其实除此之外,还会有业务、运营、UI设计、运维,来配合项目的发起、使用和运维维护。评论点赞
- day15
Appsmith 是一款开源低代码框架,主要用于构建管理面板、内部工具和仪表板等,允许拖放 UI 组件来构建页面,通过连接到任何 API、数据库或 GraphQL 源,并使用 JavaScript 语言编写逻辑,可以在短时间内创建内部应用程序。评论点赞 - day14大多数的程序都是处理输入,产生输出;这也正是“计算”的定义。但是,程序如何获取要处理的输入数据呢?一些程序生成自己的数据,但通常情况下,输入来自于程序外部:文件、网络连接、其它程序的输出、敲键盘的用户、命令行参数或其它类似输入源。评论点赞
- day13
background-clip:background-clip 设置元素的背景(背景图片或颜色)是否延伸到边框、内边距盒子、内容盒子下面。
而 background-clip: text 可以实现背景被裁剪成文字的前景色。使用了这个属性的意思是,以区块内的文字作为裁剪区域向外裁剪,文字的背景即为区块的背景,文字之外的区域都将被裁剪掉。展开评论点赞 - day12 JSON,即JavaScript对象符号,是一种用于存储、发送和接收信息的流行文本格式。由于JSON的结构简单,使用有序列表格式化为键值对,因此很容易编写和理解。
JSON是独立于语言的,这意味着它可以与任何编程语言一起使用。许多语言都有对JSON的内置支持。评论点赞 - day11
boring方法负责向控制台输出当前的循环次数,main方法的第一行为这个方法开启了一个协程,也就是说,main方法不会等待boring方法执行完毕。main方法在输出I'm listening后,进入为期2秒的睡眠,随后唤醒结束main函数。由于main函数结束会带来整个程序的结束,所以开启的boring协程也会结束。
展开评论点赞 - day10
构建高可用、高性能的通信服务,通常采用服务注册与发现、负载均衡和容错处理等机制实现。根据负载均衡实现所在的位置不同,通常可分为以下三种解决方案:
1、集中式LB(Proxy Model)
2、进程内LB(Balancing-aware Client)
3、独立 LB 进程(External Load Balancing Service)展开评论点赞 - day9 我们可以使用本地缓存+redis分布式缓存来高并发问题,对于一些热点读数据,更新不大的数据,我们可以将数据保存在本地缓存中,比如Guava等工具类,当然本地缓存的过期时间要设置的短一点,比如5秒左右,这时候可以让大部分的请求都落在本地缓存,不用去访问redis
如果这时候本地缓存没有,那么再去访问redis,然后将redis中的数据再放入本地缓存中即可
加入了多级缓存,那么就会有相应的问题,比如多级缓存如何保证数据一致性。展开评论点赞 - day8 go1.1在不使用额外的工具的情况下,Go的依赖包需要手工下载,
第三方包没有版本的概念,如果第三方包的作者做了不兼容升级,会让开发者很难受
协作开发时,需要统一各个开发成员本地$GOPATH/src下的依赖包
引用的包引用了已经转移的包,而作者没改的话,需要自己修改引用。
第三方包和自己的包的源码都在src下,很混乱。对于混合技术栈的项目来说,目录的存放会有一些问题
新的包管理模式解决了以上问题
自动下载依赖包
项目不必放在GOPATH/src内了
项目内会生成一个go.mod文件,列出包依赖
所以来的第三方包会准确的指定版本号
对于已经转移的包,可以用replace 申明替换,不需要改代码
展开评论点赞