获得徽章 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 申明替换,不需要改代码
展开
评论
day7
主要解决了在服务端渲染的dom,在客户端也要修改它返回渲染的dom(这个过程为水合也就是hyration),客户端同时会去比对服务端的dom结构,并对代码做重新渲染,那么同一代码片段渲染了两次的性能损耗是很大的问题。

Qwik的做法是将全部的渲染逻辑放在了服务端,那么我们在页面如何做交互呢,控制服务端返回的字符串渲染动态的的dom呢,答案是Qwik直接编译出不同的代码片段,我们每一个行为,比如你定义的click事件,他会单独生成一个js文件,用户在触发这个事件后,我们可以直接请求服务端获取click的代码片段。所以Qwik会产出大量的交互的js文件,所以他是细粒度的按需加载。
展开
评论
day6 日常开发中,都用 padding 和 margin ,margin 一般用做边距,让两个元素隔开一点距离,但是对于一些场景下,我们很难通过计算得到一个除的尽的值,比如 100px 我要让 3 个元素等分,且每个元素隔开 10px,这就很尴尬了。
没关系!我们可以用 gap 属性,gap 属性它适用于 Grid 布局、Flex 布局以及多列布局,并不一定只是 Grid 布局中可以使用。
展开
评论
day5 在golang中需要使用一些驱动包来对指定数据库进行操作,比如MySQL需要使用github.com/go-sql-driver/mysql库,而Sqlite需要使用github.com/mattn/go-sqlite3库来支持,不过好在gorm框架中对各个驱动包进行了简单包装,可以让我们在写程序时可以更方便的管理驱动库.
支持的数据库以及导入路径如下:

mysql: github.com/jinzhu/gorm/dialects/mysqlpostgres: github.com/jinzhu/gorm/dialects/postgressqlite: github.com/jinzhu/gorm/dialects/sqlitesqlserver: github.com/jinzhu/gorm/dialects/mssql
展开
评论
day4
NFS 是Network File System的缩写,即网络文件系统。类似于windows下的文件共享一样,可以使不同的主机系统之间可以共享文件或目录,以便实现数据共享。

NFS主要由两部分组成,服务端和客户端。NFS主机分享的目录,挂载到本地客户端当中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,在客户端端看起来,就像访问本地文件一样。

展开
评论
day3在 Gin 中,Context 是一个非常重要的概念,用于处理 HTTP 请求和响应。在 Gin 的处理流程中,Context 贯穿整个处理过程,用于传递请求和响应的信息。

Context 中封装了原生的 Go HTTP 请求和响应对象,同时还提供了一些方法,用于获取请求和响应的信息、设置响应头、设置响应状态码等操作
展开
评论
下一页
个人成就
文章被阅读 610
掘力值 52
收藏集
0
关注标签
0
加入于