自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 ssh:connect to host github.com port 22: Connection timed out

git22端口不可用 换端口

2022-06-22 19:19:01 880 1

原创 redis命令总结

redis命令

2022-06-21 17:42:13 252

原创 路由选择协议

互联网使用的路由选择协议都是自适应的,能随着网络通信量和拓扑结构的变化而自适应地进行调整。互联网可以划分为许多较小的自治系统 AS,一个 AS 可以使用一种和别的 AS 不同的路由选择协议。可以把路由选择协议划分为两大类:RIP 是一种分布式的基于距离向量的路由选择协议。距离是指跳数,直接相连的路由器跳数为 1,跳数最多为 15,超过 15 表示不可达。RIP 按固定的时间间隔仅和相邻路由器交换自己的路由表,经过若干次交换之后,所有路由器最终会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器地址。距

2022-06-15 16:18:15 4275

原创 侧重于讲述前端的网站开发流程

网站开发流程1. 策划阶段每一个网站的建立同时,都伴随着诸多尚未解决的需求。为什么要做这个网站?是制作之处需要想到的问题,无论是为了宣传业务、提升业绩,还是表达观点、传递价值,一个网站都会承载着诸多的功能需求。那么,在策划阶段,就要围绕着需求及功能点,将其一一解析出来,并整理成册为:PRD产品需求文档。通常这部分是由产品经理(PM)完成,需要在与客户详细交谈过数次后,才能一并输出。如果项目中途突然加个需求,程序和设计的心里一定会很难过的,所以一个新站的策划初期,至少要考虑到未来2~3年,网站的功

2022-06-06 17:58:56 691

原创 前端技术概要

1、web1.0时代的网页制作网页制作是web1.0时代的产物,那个时候的网页主要是静态网页,所谓的静态网页就是没有与用户进行交互而仅仅供读者浏览的网页,例如一篇QQ日志、一篇博文等展示性文章。在web 1.0时代,用户能做的唯一一件事就是浏览这个网站的文字图片内容,这时用户也不能像现在在大多数网站都可以评论交流(缺乏交互性)。大多数人都听过“网页三剑客Dreamweaver+Fireworks+Flash”吧,这个组合就是web 1.0时代的产物。:网页三剑客指的是“Dreamweaver、Fi

2022-06-06 17:51:42 226

原创 HTTP修炼之道

终端 前端路由 页面 状态管理,API接口层HTTP请求请求解析 后端路由 业务逻辑 数据库HTTP协议什么第一个版本是HTTP0.9,1991超文本传输协议(Hypertext Transfer Protocol)为什么需要协议需要明确的边界 开始 结束能够携带的信息,什么消息,消息类型、协议有什么请求行/状态行方法名/URL/协议版本协议版本/状态码/状态码描述请求头/响应头请求体/响应体请求流程业务层服务治理层,中间层路由层协议编码层传输层不足与展望HTTP1队头阻塞传输效率低明文传输不安全HTTP2

2022-06-06 17:50:56 82

原创 SQL与GOPRM

基本用法Quick Start db,err := sql.Open("mysql","user:password@tcp(127.0.0.1:3306)/hello") rows,err := db.Query("select id, name form users where id = ?",1) if err != nil { return err } defer rows.Close()var users []Userfo

2022-06-04 15:13:20 140

原创 Go语言性能优化与优化实例(体系)

内存管理优化编译器优化自动内存管理和Go内存管理机制编译器优化的基本问题和思路性能问题和优化方案提升软件系统处理能力,减少不必要的消耗,充分发掘计算机的算力用户体验: 带来体验的提升资源高效利用 :降低 成本,提高效率业务代码 针对特定场景,具体问题,具体分析,容易获得较大性能收益SDK基础库语言运行时 (GC 调度器) 解决更通用的性能问题 考虑更多场景OS 数据驱动优化 自动化功能分析工具 pprof依靠数据而非猜测 首选优化是最大瓶颈软件质量至关重要测试用例:覆盖尽可能多的场景,方便回归 文档 隔离

2022-06-04 11:39:22 310

原创 Go编码规范 以及性能调优pprof

降低资源占用成本,服务资源,使用简单的代码逻辑,注意代码的质量,编写简洁清晰的代码,容易改动,且知道代码改动之后的影响。高质量编程,编码规范,性能优化,函数调用,性能调优,性能分析工具实际应用的场景千变万化,各种语言的特性和语法各不相同,但是高质量编程遵循的原则是相同的 简单性 消除多余的复杂性,以简单清晰的逻辑编写代码 可读性 代码是写给人看的,而不是机器 编写可维护代码的第一步就是要确保代码可读 生产力,团队整体效率2非常重要gofmt Go语言官方提供的工具,能够自动格式化Go语言为官方统一风格 go

2022-06-03 23:56:31 152

原创 ssh: connect to host github.com port 22: Connection refusedfatal: Could not read from remote reposi

今天和往常一样打开我的goland,打算push我写的一个项目,但是爆出了这样的错误,被拒绝访问,于是我第一印象就是更换公私钥,重新配置远端仓库,把git初始化的流程重新走一遍,但是问题不像我想的那样。直接说最终的结果吧 向ssh文件中添加config文件,配置如上,亲测有效...

2022-06-03 10:12:06 1176

原创 网络知识点 全

自己对网络的理解,看这篇文章就如同在交流

2022-06-01 21:23:28 155

原创 什么是架构

对架构的理解,大厂

2022-06-01 21:21:53 256 1

原创 git常用命令行即拓展

是一个软件管理器,分布式,有一个本地仓库,中心服务器,代码提交到本地仓库再推送到中心服务器上,保障工作可以一直是正常执行,即使中心服务器挂git init 之后会产生一个.git自己的本地仓库,一是与中心服务器产生连接,更新最新代码到自己的git仓库,二是将一个已经存在的项目克隆到自己的木灵成为自己的git仓库config就是配置文件 有中心服务器和分支信息,logs目录是相关操作产生的日志,日志是我们操作的唯一凭证 HEDA文件指向当前的分支 object存储的是所有的数据,也就是快照,refs

2022-05-26 09:32:59 117

原创 保证缓存和数据库的一致性

如何保证缓存和数据库的一致性在日常开发中为了提高数据的响应速度,可能会讲一些热点数据保存在缓存中,这样不用每次去数数据中查询了,可用有效提高服务端的响应速度 最常用的缓存就是redis数据对实时性和精确性要求很高 则直接操作数据库选中合适的数据存入到redis之后,每当读取数据的时候,就先去redis看有没有,如果有则直接返回 如果没有则取数据库中读取,并且将从数据库中读取到的数据缓存到redis中,如何做到一致性Cache-Aside 旁路缓存模式 尽可能地解决缓存与数据库不一致堵塞

2022-05-20 10:06:04 415

原创 常用的发布方式总结

1 蛮力发布顾名思义,这种方式简单而粗暴!直接将新的版本覆盖掉老的版本。其优点就是简单而且成本较低,但缺点同样很明显,就是发布过程中通常会导致服务中断进而导致用户受到影响,这种方式比较适应于开发环境或者测试环境或者是公司内部系统这种对可用性要求不高的场景,有些小的公司资源稀缺(服务器资源,基础设施等)的时候也会采用这种方式。2 金丝雀发布(灰度发布)金丝雀发布是灰度发布的一种。灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。即在发布过程中一部分用户继续使用老版本,一部分用户使用新版本,不断

2022-05-15 14:33:10 2180

原创 Python源码小项目圣诞树直接给 不啰嗦

import turtle as timport randomimport timedef drawlight(): """ 画彩灯 """ if random.randint(0, 30) == 0: t.color('tomato') t.circle(6) elif random.randint(0,30) == 1: t.color('orange') t.circle(3) else: t.

2022-05-12 23:08:50 236

原创 Mysql/InnoDb逻辑存储架构图

Mysql逻辑构图1) 第一层负责连接处理,授权认证,安全等等每个客户端连接都会在服务器进程中拥有一个线程,服务器维护了一个线程池,因此不需要为每一个新建的连接创建或者销毁线程。 当客户端连接到Mysql服务器时,服务器对其进行认证,通过用户名和密码认证,也可以通过SSL证书进行认证。 一旦客户端连接成功,服务器会继续验证客户端是否具有执行某个特定查询的权限。2)第二层负责编译并优化SQL这一层包括查询解析,分析,优化,缓存以及所有的的内置函数。 对于SELECT语句,在解析查询前,服务

2022-05-10 21:12:46 320

原创 前后端分离的状况分析

1 为什么要前后端分离随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高,后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。2 目前的前后端分离开发模式现有的前后端开发模式:“后端为主的MVC时代”代码可维护性得到明显好转,MVC 是个非常好的协作模式,从架构层面让开发者懂得什么代码应该写在什么地方。为了让 View 层更简单干脆,还可以选择 Velocity、Freemaker 等模板,使

2022-05-08 21:12:39 508

原创 Gin中context取参数和BIND参数API

gin框架中强大的context,方便人们取参,绑定参数绑定参数// 绑定 JSONtype Login struct { User string `form:"user" json:"user" xml:"user" binding:"required"` Password string `form:"password" json:"password" xml:"password" binding:"required"`}func main() { rou

2022-05-06 08:21:40 871

原创 周期定时器Ticker单一事件定时器(深入浅出)

简介go语言中有些方便的定时器来对程序进行控制,如周期定时器Ticker单一事件定时器Tiker和Timer实现方式Timer1 数据结构type Timer struct { // Timer代表一次定时,时间到来后仅发生一个事件。 C <-chan Time r runtimeTimer}是单一的定时器,经过指定时间后会触发一个事件,Timer执行一次就结束2 代码timer.NewTimer(d Duration)Ticker1 数据结构type T

2022-05-04 21:33:06 811

原创 Redis基础(二)

随着运行时间的增长,执行的命令越来越多,会导致AOF文件越来越大,当AOF文件过大时,redis会执行重写机制来压缩AOF文件。这个压缩和上面提到的RDB文件的算法压缩不同,重写机制主要是将文件中无效的命令去除。比如:同一个key的值,只保留最后一次写入 已删除或者已过期数据相关命令会被去除 这样就避免了,aof文件过大而实际内存数据小的问题(如频繁修改数据时,命令很多,实际数据很少)重写的触发方式:手动执行 bgrewriteaof 触发AOF重写 在redis.conf文件中配置重写的条

2022-05-04 20:49:11 144

原创 学习Redis必备知识点(一)

Redis底层数据结构--压缩列表什么是压缩列表Redis 中的压缩列表是由一系列特殊编码的连续内存块组成的顺序型数据结构。列表中每个节点可以存储一个字节数组或者一个整数值。它的存在主要是为了节约内存。压缩列表应用场景压缩列表在 Redis 中主要作为了 List 列表和 Hash 哈希两种数据结构的底层实现之一。在 List 列表中,要是列表中的存储元素数量少且每个元素是小的整数值或者长度较短的字符串,那么列表将使用压缩列表结构作为底层实现。在 Hash 哈希中,要是哈希中的存

2022-05-02 21:29:38 114

原创 使用过程中蓝牙驱动突然消失

在和我的蓝牙键盘快乐共舞的时候,突然间,键盘就不能使用了,仔细一看,是蓝牙这个功能就消失了,记录一下1 试错心得,不要下载一键驱动安装管家 没用2 在联想驱动官网下载找到设备驱动之后,不要直接点下一步安装 没有用讲讲有用的给笔记本放放静电 将笔记本的所有外接设备移除,如U盘,蓝牙鼠标长按笔记本关机键20+秒关机,之后开机蓝牙功能就恢复正常 亲测有效...

2022-05-02 21:03:28 1747 2

原创 并发/并行

在操作系统中,并发和并行是非常基础的一个概念,网络上也有很多漫画类型的概念展示,然而,漫画类型很容易出现狭义上的概念介绍,并发是在同一时刻执行不同的进程,并行是多个处理器执行多个进程,真的就这么浅显吗,究竟什么是并发和并行呢,下面做一个总结操作系统中的,多进程和多线程的概念。一个处理器会在一个时间片里比如20纳秒执行一个进程,当时间片用完了或者发生了中断比如进程抢占事件,当前进程上下文会被保存,然后处理器开始处理另外一个进程,这样频繁地切换执行,切换和执行的速度特别快,就产生了貌似程序们都在同时执行,其

2022-04-30 11:20:34 96

转载 go中Handler、ServeMux、Server

1.Handler是什么?AHandlerrespondstoanHTTPrequest. 这是源码中的注释,说的就是:一个Handler响应一个HTTP请求。Handler的定义type Handler interface{ ServerHTTP(ResponseWriter, *Request)}2. Handler的实现者及他们之间的关系// 实现一:HandlerFunc// HandlerFunc是对是用户定义的处理函数的包装,实现了S...

2022-04-28 20:46:38 758

原创 go中net/http包客户端与服务端

Go语言标准库内建提供了net/http包,涵盖了HTTP客户端和服务端的具体实现。使用net/http包,我们可以很方便地编写HTTP客户端或服务端的程序。http服务端的创建流程在使用http/net包创建服务端只需要两个步骤 绑定处理器函数func(ResponseWriter, *Request)与 启用监听http.ListenAndServe。package mainimport "net/http"func main() { http.HandleFunc("/"...

2022-04-28 20:40:56 340

原创 Go语言内含容器,堆,链表,环(heap、list 和 ring)

链表type Element func (e *Element) Next() *Element func (e *Element) Prev() *Elementtype List func New() *List func (l *List) Back() *Element // 最后一个元素 func (l *List) Front() *Element // 第一个元素 func (l *List) Init() *List // 链表

2022-04-27 15:55:13 282

原创 go语言必记知识点

1 for range循环的时候会创建每个元素的副本 而不是元素的引用 所以m[key] = &val取得是变量val得地址,所以最后map中所有元素得值都是变量val的地址,2 new(T)会为T类型的新值分配已置零的内存空间,并返回地址(指针),即类型为*T的值,换句话说就是,返回一个指针,该指针指向新分配的,类型为T的零值,适用于值类型,如数组,结果体等make(t,args)返回初始化之后的T类型的值,这个值并不是T类型的零值,也不是指针*T,是经过初始化之后的T的引用,make()只

2022-04-26 13:59:50 295

原创 golang中的ioutil和log包

funcNopCloser​func NopCloser(r io.Reader) io.ReadCloser​NopCloser用一个无操作的Close方法包装r返回一个ReadCloser接口。funcReadAll​func ReadAll(r io.Reader) ([]byte, error)​ReadAll从r读取数据直到EOF或遇到error,返回读取的数据和遇到的错误。成功的调用返回的err为nil而非EOF。因为本函数定义为读取r直到EOF,它不会将..

2022-04-24 20:21:24 573

原创 git操作命令大全

git是一个软件管理器,分布式,有一个本地仓库,中心服务器,代码提交到本地仓库再推送到中心服务器上,保障工作可以一直是正常执行,即使中心服务器挂lgit init 之后会产生一个.git自己的本地仓库,一是与中心服务器产生连接,更新最新代码到自己的git仓库,二是将一个已经存在的项目克隆到自己的木灵成为自己的git仓库config就是配置文件 有中心服务器和分支信息,logs目录是相关操作产生的日志,日志是我们操作的唯一凭证 HEDA文件指向当前的分支 object存储的是所有的数据,也就是快..

2022-04-23 16:22:43 1093

原创 网络中web安全--了解与预防

什么是CSRFCSRF:中文名称是跨站请求伪造,也称为:one click attack/session riding,缩写为CSRF/XSRFCSRF指的是一种攻击方式,:攻击者可以盗用你的登录信息,以你的身份模拟发送各种请求。,通过QQ等聊天软件发送的链接(有些还伪装成短域名,让人很难分辨),比如说,在你登录网上银行查看余额的时候,点击了一个QQ好友的链接,那么你在银行的钱财就有可能被转移到指定的额账户中。CSRF,可以理解为cookie劫持,在你登陆一个网站以后,产生了一个cookie,在没有退

2022-04-22 19:30:54 2762

原创 kail中安装yum

yum安装会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包基于这种功能让yum这个工具,大幅出现在课堂中,使得其“英明远扬”,受人欢迎然而 yum是用于RedHat系列包括centos系统中在kail这种Debian系列,也有一个相同的命令 apt-get基本上将yum install 换成apt-get instal 就有相同的作用如果真的对yum情有独钟,当然也有办法安..

2022-04-21 10:11:10 16723

原创 Windows最常用的命令行,运行命令

Windows中的命令行有很多,记忆起来也很难,而其中的一些命令行对我们很难用到,而一些对我们真的有用,这里,我选取了一些有用的命令行进行学习记忆windows键+R* notepad--------打开记事本* sndrec32-------打开录音机*calc-----------启动计算器*mspaint--------画图板*write----------写字板*snippingtool----------截图工具---------------------------

2022-04-20 19:52:51 1690 1

原创 goland中npm无法使用

明明已经成功安装且配置了环境到windows上,而且goland上的配置也丝毫无错,但是就是不能使用npm,让人苦恼,如果你也遇到了这样的问题,希望这篇文章可以帮到你。出现的错误代码是这样的PS C:\Users\Lenovo\GolandProjects\shop_client1> npm installnpm WARN logfile could not be created: Error: EPERM: operation not permitted, open 'D:\AAA\n

2022-04-19 19:19:24 6674 4

原创 一站式解决MySQL5升级为MySQL8遇到的问题my.ini

首先推荐一个软件“everything”,一个轻巧的遍历电脑所有文件的工具,可以帮忙找到已安装的包进行删除首先【window+R】进入cmd 输入命令 net stop mysql【window】向输入框搜索服务 停止MySQL服务【winodw+R】 进入控制面板,点击程序下面的卸载程序,找到MySQL。不要犹豫,卸载【window+R】 输入regedit,ctr+F,搜索关键词mysql,多次输入,并删除,直到搜不出关于MySQL的词条【wiodow】 进入高级系统设置,删除已经添加的M

2022-04-18 14:40:15 3581

原创 解决代理服务器出现问题,无法连接校园网

和往常一样,打开电脑,却遇到了这样的问题不要慌,这就说解决的办法window+R 向搜索框输入控制面板,不要直接打开控制面板,点击右边的internet选项然后进入接下来的页面,点击连接到局域网设置,s设置为自动检测设置,其它点击取消,至此,点击确定,问题就解决了...

2022-04-18 13:57:43 11936 14

原创 MVCC详解

什么是MVCC全称Multi-Version Concurrency Control,即多版本并发控制,主要是为了提高数据库的并发性能。多版本并发控制(MVCC) 是通过保存数据在某个时间点的快照来实现并发控制的。也就是说,不管事务执行多长时间,事务内部看到的数据是不受其它事务影响的,根据事务开始的时间不同,每个事务对同一张表,同一时刻看到的数据可能是不一样的。简单来说,多版本并发控制 的思想就是保存数据的历史版本,(注意是数据的多个版本而不是数据库的多个版本)通过对数据行的多个版本管理来实现数据库的

2022-04-17 14:06:47 1982

原创 Web基础

Web工作方式对于普通的上网过程,系统其实是这样做的:浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器后,要求建立TCP连接,等浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开始处理请求包,服务器调用自身服务,返回HTTP Response(响应)包;客户端收到来自服务器的响应后开始渲染这个Response包里的主体(body),等收到全部的内容随后断开与该服务器之间的TCP连

2022-04-16 11:45:56 45

原创 go语言中time包总结

在我们开发的过程中,每个项目都需要时间这一类的函数,此时,对time这个包的研究深度就显得尤为重要,现在,对time包中的各种函数做出一个总结,加深一些记忆,时间类型Go语言中,time.Time类型表示时间。我们可以通过time.Now函数获取当前时间的对象,然后从时间对象中获取到年,月,日,时,分,秒等信息,代码如下// timeDemo 时间对象的年月日时分秒func timeDemo() { now := time.Now() // 获取当前时间 fmt.Printf("current

2022-04-15 18:01:27 1286

原创 索引基础概论

索引定义索引是对数据库表的一列或多列的值进行排序的一种结构,使用索引可以快速凡哥维纳数据表中的特定信息优点大大加快了数据检索的速度 将随机I/o变成顺序I/o因为B+树的所有叶子节点都是连接在一起的 加速表与表之间的连接 缺点需要占用物理空间 创建和维护索引都需要花费时间B+树 所有的数据都放在叶子节点上,所有查找的效率非常搞,并且支持排序和范围查找哈希索引一般多用于精确的等值查找全文索引 哈希索引 B+树索引 空间数据索引索引的种类 主键索引

2022-04-13 09:41:42 87

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除