寒梦 
  • 归档
  • 分类
  • 标签
  • 关于
  • 读书
  • 友链
  • RSS
  •   
  •   

深入理解Go是怎样构建HTTP服务器的

实际上我很早就看过《Go Web编程》这本书,其中的一章很详细地介绍了Go中构建一个最简单的服务器的方法, Go在标准库中为我们提供了一个net/http包,这个包中提供了完善的功能来帮助我们构建一个Web服务器,Go中很多Web框架的底层实际上也是借助了这个标准库来实现自己的功能。 当时看完这本书后,觉得自己已经掌握了相关的知识,但在前两天打算写一个最简单的服务器打包成Docker镜像来进行Ku

2022-05-08
笔记
Go

Docker 镜像体积优化

在我使用docker对我目前负责的一个项目进行部署时,遇到了这样的一个问题,使用dockerfile构建出的docker镜像的体积太大了。当时我只觉得这是不可避免的,毕竟容器的底层还是运行着一个操作系统,加之Golang的编译环境,再加上项目的代码以及静态资源,最终构建出的镜像体积为1.1G似乎是一件再正常不过的事情。 Version 1 以下是我第一版用于构建docker镜像的dockerfil

2022-03-15
笔记
Docker 后端

动手实现一个Go的协程池

前言 前几天听学长们回忆面试的经历,其他的内容大多都不记得了,只记得他们提到面试官问了线程池的相关概念,线程池对我来说不算熟悉也不算陌生。 按照我的理解,线程池主要应用在多线程服务器中,是为了解决存在大量请求时,为了使每个请求可以被迅速处理,而为每一个请求创建了一个处理线程,但每个处理请求本身所需要消耗的时间是很短暂的,在处理请求的任务完成后,运行时会销毁线程、进行GC等一系列操作,导致在处理请求

2022-03-04
笔记
后端 Go

Redis 分布式锁的实现

前言 本文是阅读《Redis 实战》期间的学习笔记,书中的主要功能使用使用Python进行实现,本文使用Golang对功能进行复现。 Redis为开发者们提供了事务的功能,具体的实现为:以特殊命令MULTI开始,接着输入要执行的多条命令,最后输入特殊命令EXEC标志着事物的结束,同时还需要配合WATCH命令以保持数据的一致性,在WATCH期间,当客户端执行EXEC时,若Redis检测到,有其他

2022-02-10
笔记
数据库 Redis

Clash For Windows代理端口为0问题

问题 之前的正常使用中,我的Clash的代理端口一直都是被设置为7890,但是在一次系统更新后,我发现不光是以往需要代理才能访问的网站,甚至是平时不需要代理就可以正常访问的网站,全部无法访问了,并且原因是由于Clash造成的。 在排除了Clash代理的配置文件是否过期和机场提供商是否跑路的问题后,我发现了一个严重的问题,我的代理端口变为了0,0号端口是一个非法端口,使用这个端口进行转发,毫无疑问

2022-01-31
笔记
瞎折腾 网络

Talent Plan( 路径二)Project 1

Project1的主要内容是实现一个单机的K/V存储引擎,并通过gRPC为上层提供服务,通过RPC调用该存储引擎可以执行Put、Delete、Get、Scan四种操作。存储引擎的底层借助badger作为底层K/V数据库实现。 该项目的任务可划分为以下两个步骤,包括: 实现一个单机的存储引擎。 借助实现的存储引擎,实现K/V服务。 虽然在Project1阶段,涉及的代码量并不多,只要明确工作内容

2022-01-30
笔记
Go 比赛

记2021

2021年就要过去了,我不想怀念他。 悄悄地,2021也走到了尾声,不过我的2021相比2020过得更加充实,这一年中我也有了更多的收获与感悟。 2021年我的生活中少了一些人,也多了一些人,少了一些事,也多了一些事。这些人和事有让我欣喜的、意外的、惋惜的以及怀念的。但我知道这都是我的生命中不可或缺的,他们成为了我人生中的一部分,也在悄悄地改变着我的人生。 关于今年 与大家的分别 2021年

2022-01-09
日记
日记

SSH 连接 Hyper-v 中创建的虚拟机

首先新建一个新的虚拟网络交换机,交换机的类型选择内部,因为这个交换机我们只是用来进行SSH连接的。 新建后,可以在控制面板的网络连接面板上,看到你新建出的虚拟网络交换机(实际上是建立了一块虚拟网卡)。 对虚拟网卡的属性进行配置 IP地址和子网掩码这里可以参照图中进行配置,也可以自行修改(前提是你确认自己修改的没问题)。 将虚拟机上新建的虚拟网卡进行配置 进入相应目录

2021-12-28
笔记
瞎折腾 网络

MIT 6.824-Lab1

前言 早在保研时,对分布式感兴趣的我想要涉猎一些这个领域的知识,于是在网络上搜寻相关的学习资料,就发现了很多前辈都推荐学习者阅读一下谷歌的三大论文——MapReduce、GFS、BigTable,此外还推荐了一个课程——MIT 6.824,这是一个关于分布式系统的课程,授课的教师是大名鼎鼎的蠕虫病毒的发明者——Robert Morris,听这样的大牛讲课本身就是一种享受,并且在听了两节课之后,觉得

2021-09-24
笔记
Go 分布式

浅尝Golang反射

0. 前言 对反射的尝试来源于项目中某个CRDU功能的开发,当时我使用Go做一个WEB项目的后端开发,数据库选用的是MongoDB,功能其实也非常的简单,查询数据库某个表中的一条数据,并将得到的数据返回。使用伪代码描述逻辑即为: 1234567891011121314type A struct{ ...}func query_data_A(...) []A {

2021-08-23
笔记
后端 Go
123…8

搜索

Hexo Fluid
总访问量 次 总访客数 人
京ICP备18023389号