获得徽章 0
#挑战每日一条沸点#

包管理模式的特性:
1. 自动下载依赖包
2. 项目不必放在gopath/src目录下了
3. 项目内会生成一个go.mod文件,列出包依赖
4. 对于已经转移的包,可以用replace 申明替换,不需要改代码
展开
评论
#挑战每日一条沸点#
Redis 是互联网技术领域中使用最广泛的存储中间件,它是 Remote Dictionary Service 三个单词中加粗字母的组合。你别说,组合起来后念着挺自然的。
Redis 以超高的性能、完美的文档、简洁的源码著称,国内外很多大型互联网公司都在用,比如说阿里、腾讯、GitHub、Stack Overflow 等等。它的版本更新非常的快,功能也越来越强大,最初只是用来作为缓存数据库,现在已经可以用它来实现消息队列了。
展开
评论
#挑战每日一条沸点#
学习了空值:每个值类型的变量在初始化后且未被分配值时都会被赋予空值,空值取决于值类型。
nil:每个引用类型的变量 初始化后且未被分配值时都会被赋予nil(类似于Java的null)。这里需要注意nil的类型问题。将一个并没有类型 nil 的值赋给 a 是不对的,编译器不知道它该给 a 分配什么类型。
展开
评论
#挑战每日一条沸点#
开发Web项目需要:路由匹配,参数获取,ORM持久化操作,日志,Redis,ES以及rpc远程调用。
Go没有Spring那样的生态,需要自己拼装各种框架,仍然需要手动管理依赖。
Gin是go编写的httpweb框架,拥有极好的性能
第一步:引入项目依赖
第二步:创建一个路由引擎
第三步:GO Router配置
第四步:Gin启动
展开
评论
#挑战每日一条沸点#
1xx 类状态码属于提示信息,是协议处理中的一种中间状态,实际用到的比较少。

2xx 类状态码表示服务器成功处理了客户端的请求,也是我们最愿意看到的状态。

「200 OK」是最常见的成功状态码,表示一切正常。如果是非 HEAD 请求,服务器返回的响应头都会有 body 数据。

「204 No Content」也是常见的成功状态码,与 200 OK 基本相同,但响应头没有 body 数据。

「206 Partial Content」是应用于 HTTP 分块下载或断点续传,表示响应返回的 body 数据并不是资源的全部,而是其中的一部分,也是服务器处理成功的状态。

展开
评论
#挑战每日一条沸点#

URI(Uniform Resource Identifier) 是统一资源标志符,可以唯一标识一个资源。URL(Uniform Resource Locator) 是统一资源定位符,可以提供该资源的路径。它是一种具体的 URI,即 URL 可以用来标识一个资源,而且还指明了如何 locate 这个资源。URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL 是一种具体的 URI,它不仅唯一标识资源,而且还提供了定位该资源的信息。
展开
评论
#挑战每日一条沸点#
计算机五大核心组成部分

控制器:是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。

运算器:运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。

存储器:存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。

输入:输入设备是计算机的重要组成部分,输入设备与输出设备合你为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。

常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。

输出:输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来,微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。
展开
评论
#挑战每日一条沸点#

DNS 服务器有哪些?DNS 服务器自底向上可以依次分为以下几个层级(所有 DNS 服务器都属于以下四个类别之一):根 DNS 服务器。根 DNS 服务器提供 TLD 服务器的 IP 地址。目前世界上只有 13 组根服务器,我国境内目前仍没有根服务器。顶级域 DNS 服务器(TLD 服务器)。顶级域是指域名的后缀,如com、org、net和edu等。国家也有自己的顶级域,如uk、fr和ca。TLD 服务器提供了权威 DNS 服务器的 IP 地址。权威 DNS 服务器。在因特网上具有公共可访问主机的每个组织机构必须提供公共可访问的 DNS 记录,这些记录将这些主机的名字映射为 IP 地址。本地 DNS 服务器。每个 ISP(互联网服务提供商)都有一个自己的本地 DNS 服务器。当主机发出 DNS 请求时,该请求被发往本地 DNS 服务器,它起着代理的作用,并将该请求转发到 DNS 层次结构中。严格说来,不属于 DNS 层级结构
展开
评论
#挑战每日一条沸点#

PING 基于网络层的 ICMP(Internet Control Message Protocol,互联网控制报文协议),其主要原理就是通过在网络上发送和接收 ICMP 报文实现的。ICMP 报文中包含了类型字段,用于标识 ICMP 报文类型。ICMP 报文的类型有很多种,但大致可以分为两类:查询报文类型:向目标主机发送请求并期望得到响应。差错报文类型:向源主机发送错误信息,用于报告网络中的错误情况。
展开
评论
#挑战每日一条沸点#

URI(Uniform Resource Identifier) 是统一资源标志符,可以唯一标识一个资源。URL(Uniform Resource Locator) 是统一资源定位符,可以提供该资源的路径。它是一种具体的 URI,即 URL 可以用来标识一个资源,而且还指明了如何 locate 这个资源。URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL 是一种具体的 URI,它不仅唯一标识资源,而且还提供了定位该资源的信息。
展开
评论
#挑战每日一条沸点#

HTTP 是一种不保存状态,即无状态(stateless)协议。也就是说 HTTP 协议自身不对请求和响应之间的通信状态进行保存。那么我们保存用户状态呢?Session 机制的存在就是为了解决这个问题,Session 的主要作用就是通过服务端记录用户的状态。典型的场景是购物车,当你要添加商品到购物车的时候,系统不知道是哪个用户操作的,因为 HTTP 协议是无状态的。服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了(一般情况下,服务器会在一定时间内保存这个 Session,过了时间限制,就会销毁这个 Session)。
展开
评论
#挑战每日一条沸点#

SSH(Secure Shell Protocol,安全的网络传输协议):基于 TCP 协议,通过加密和认证机制实现安全的访问和文件传输等业务RTP(Real-time Transport Protocol,实时传输协议):通常基于 UDP 协议,但也支持 TCP 协议。它提供了端到端的实时传输数据的功能,但不包含资源预留存、不保证实时传输质量,这些功能由 WebRTC 实现。DNS(Domain Name System,域名管理系统): 基于 UDP 协议,用于解决域名和 IP 地址的映射问题。
展开
评论
#挑战每日一条沸点#

HTTP(Hypertext Transfer Protocol,超文本传输协议):基于 TCP 协议,是一种用于传输超文本和多媒体内容的协议,主要是为 Web 浏览器与 Web 服务器之间的通信而设计的。当我们使用浏览器浏览网页的时候,我们网页就是通过 HTTP 请求进行加载的。SMTP(Simple Mail Transfer Protocol,简单邮件发送协议):基于 TCP 协议,是一种用于发送电子邮件的协议。注意 ⚠️:SMTP 协议只负责邮件的发送,而不是接收。要从邮件服务器接收邮件,需要使用 POP3 或 IMAP 协议。POP3/IMAP(邮件接收协议):基于 TCP 协议,两者都是负责邮件接收的协议。IMAP 协议是比 POP3 更新的协议,它在功能和性能上都更加强大。IMAP 支持邮件搜索、标记、分类、归档等高级功能,而且可以在多个设备之间同步邮件状态。几乎所有现代电子邮件客户端和服务器都支持 IMAP。FTP(File Transfer Protocol,文件传输协议) : 基于 TCP 协议,是一种用于在计算机之间传输文件的协议,可以屏蔽操作系统和文件存储方式。注意 ⚠️:FTP 是一种不安全的协议,因为它在传输过程中不会对数据进行加密。建议在传输敏感数据时使用更安全的协议,如 SFTP。Telnet(远程登陆协议):基于 TCP 协议,用于通过一个终端登陆到其他服务器。Telnet 协议的最大缺点之一是所有数据(包括用户名和密码)均以明文形式发送,这有潜在的安全风险。这就是为什么如今很少使用 Telnet,而是使用一种称为 SSH 的非常安全的网络传输协议的主要原因。
展开
评论
#挑战每日一条沸点#

为什么网络要分层?说到分层,我们先从我们平时使用框架开发一个后台程序来说,我们往往会按照每一层做不同的事情的原则将系统分为三层(复杂的系统分层会更多):Repository(数据库操作)Service(业务操作)Controller(前后端数据交互)复杂的系统需要分层,因为每一层都需要专注于一类事情。网络分层的原因也是一样,每一层只专注于做一类事情。好了,再来说回:“为什么网络要分层?”。我觉得主要有 3 方面的原因:各层之间相互独立:各层之间相互独立,各层之间不需要关心其他层是如何实现的,只需要知道自己如何调用下层提供好的功能就可以了(可以简单理解为接口调用)。这个和我们对开发时系统进行分层是一个道理。提高了整体灵活性:每一层都可以使用最适合的技术来实现,你只需要保证你提供的功能以及暴露的接口的规则没有改变就行了。这个和我们平时开发系统的时候要求的高内聚、低耦合的原则也是可以对应上的。大问题化小:分层可以将复杂的网络问题分解为许多比较小的、界线比较清晰简单的小问题来处理和解决。这样使得复杂的计算机网络系统变得易于设计,实现和标准化。 这个和我们平时开发的时候,一般会将系统功能分解,然后将复杂的问题分解为容易理解的更小的问题是相对应的,这些较小的问题具有更好的边界(目标和接口)定义。
-
展开
评论
#毕业考研还是工作?#

什么是 POM? 每一个 Maven 工程都有一个 pom.xml 文件,位于根目录中,包含项目构建生命周期的详细信息。通过 pom.xml 文件,我们可以定义项目的坐标、项目依赖、项目信息、插件信息等等配置。对于开发者来说,Maven 的主要作用主要有 3 个:项目构建:提供标准的、跨平台的自动化项目构建方式。依赖管理:方便快捷的管理项目依赖的资源(jar 包),避免资源间的版本冲突问题。统一开发结构:提供标准的、统一的项目结构。
展开
评论
#封校后的操场生活#
454两数相加

● HashMap.getOrDefault():这个函数有两个参数,可用于统计频率。
● 设置一个hashmap将key设为sum,value为该sum出现的频率。
● 这道题可以将四数,二二分开
● 设置一个全局变量,如果有符合条件则加,这样很方便
展开
评论
#挑战每日一条沸点#

#原子性(Atomicity,又称不可分割性)
事务的数据操作,要么全部执行成功,要么全部失败回滚到执行之前的状态,就像这个事务从来没有执行过一样。

#隔离性(Isolation,又称独立性)
多个事务之间是相互隔离,互不影响的。数据库允许多个并发事务同时对其数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。


四种隔离状态:
1. 读未提交(Read uncommitted)
2. 读提交(Read committed)
3. 可重复读(Repeatable read)
4. 串行化(Serializable)
#一致性(Consistency)
在事务操作之前和之后,数据都是保持一个相同的状态,数据库的完整性没有被破坏。

原子性和隔离性,对一致性有着至关重要的影响。

#持久性(Durability)
当事务操作完成后,数据会被刷新到磁盘永久保存,即便是系统故障也不会丢失
展开
评论
#挑战每日一条沸点#
● Java堆是垃圾回收器的主要区域。
● 现在的收集器都采取分代垃圾收集算法,Java堆可以分为新生代、老年代;再细分为:Eden, Survivor, Old。
● 之前的版本堆分为:新生代、老年代、永久代。
● Eden和Survivor的s0,s1都属于新生代,Old属于老年代。
● 之后,永久代被元空间替代,元空间使用本地内存
展开
评论
#挑战每日一条沸点#
● JVM内存空间:分为运行时数据区与本地内存。
● 运行时数据区:
1. 线程共享:堆(字符串常量池)
2. 线程私有:程序计数器、虚拟机栈、本地方法栈
● 本地内存:
1. 线程共享:元空间(原方法区):运行时常量池
2. 线程共享:直接内存
● 栈帧都拥有:局部变量表、操作数栈、动态链接、方法返回地址。
● 局部变量表:主要存储了各种编译期可知的各种数据类型、对象引用
● 操作数栈:主要储存方法调用的中间结果,如:计算过程中的临时变量。
● 动态链接:通常用于一个方法中调用另一个方法的场景,将符号引用转换为方法的直接引用。符号引用一般在类的常量池中,通常为类的全限定名,必须要通过解析和加载才能获得直接内存地址。直接引用则不需要解析加载就是内存地址的指针。
● 函数调用陷入无限循环,会导致压入的栈过多,栈的深度变大。如果超过最大深度则抛出StackOverFlowError。
● StackOverFlowError:栈不允许动态拓展,则超过最大深度抛出异常。
● OutOfMemoryError:栈允许动态拓展,无法申请到足够的内存空间抛出异常。
展开
评论
下一页
个人成就
文章被点赞 2
文章被阅读 170
掘力值 33
收藏集
1
关注标签
3
加入于