自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Golang - 90天从新手到大师】Day12 - 指针

【Golang - 90天从新手到大师】Day12 - 指针

2024-06-24 10:54:29 331

原创 【Golang - 90天从新手到大师】Day11 - 包的管理

【Golang - 90天从新手到大师】Day11 - 包的管理

2024-06-21 09:05:17 893

原创 【Golang - 90天从新手到大师】Day10 - 函数

【Golang - 90天从新手到大师】Day10 - 函数

2024-06-21 09:02:26 914

原创 【Golang - 90天从新手到大师】Day09 - string

【Golang - 90天从新手到大师】Day09 - string

2024-06-20 13:44:57 1020

原创 【Golang - 90天从新手到大师】Day08 - Map

【Golang - 90天从新手到大师】Day08 - Map

2024-06-20 13:36:15 707

原创 【Golang - 90天从新手到大师】Day07 - 切片

【Golang - 90天从新手到大师】Day07 - 切片

2024-06-20 13:32:49 684

原创 【Golang - 90天从新手到大师】Day06 - 数组

【Golang - 90天从新手到大师】Day06 - 数组

2024-06-20 13:29:59 1178

原创 【Golang - 90天从新手到大师】Day05 - 循环语句

Day05 - 循环语句

2024-06-20 13:24:31 1041

原创 【Golang - 90天从新手到大师】Day04 - 分支语句

Day04 - 分支语句

2024-06-20 10:22:38 644

原创 【Golang - 90天从新手到大师】Day03 - 数据类型&运算符

Day03 - 数据类型&运算符

2024-06-20 10:20:38 283

原创 【Golang - 90天从新手到大师】Day02 - 基本语法

Day02 - 基本语法

2024-06-20 09:32:49 443

原创 设计模式--创建型模式--原型模式

上一篇文章我们介绍了设计模式的七种面向对象设计原则,本篇文章我们将介绍设计模式中创建型模式的单例与多例模式。在了解单例模式之前我们先来了解一下设计模式的分类有哪些呢?设计模式的分类有哪些?设计模式是在软件开发中,经过验证的,用于解决在特定环境下、重复出现的或者特定问题的解决方案。而这些都是前辈们经过大量的实践总结出来的宝贵经验,学习和领会其中的设计思想,能让我们在面...

2024-06-20 09:10:28 469 1

转载 【Golang - 90天从新手到大师】Day01 - Go语言初识

Day01 - Go语言初识

2024-06-19 13:55:15 65

原创 linux将一个大文件按行拆分成小文件

split命令-l指定行数,每个文件多少行-b指定大小,每个文件100M.,这种担心会破坏一行的完整性-d指定用数字递增为生成的文件名编号 test111为前缀-a指定有几位数字这里指定了4位,则从0000开始split -l 700000 /data.csv -d -a 4 testsplit -b 100M /data.csv -d -a 4 test...

2020-07-06 21:30:36 1475 2

转载 Session锁和session_write_close和session_commit函数

session默认是文件存储,也可以存在数据库和内存,存入内存可以使用Memcached和Redis技术Session默认存在文件中,在这种情况下:使用session_start()函数之后就会对该sessionId文件锁定,直到还脚本执行完毕才存入文件和解锁,当一下情况会非常耗时:1:一个页面有多个ajax请求,并且多个ajax请求页都涉及到session,即都得操作同一个session文件,由于锁定ajax的执行必须是逐个执行的。2:同时访问一个网站的多个页面,各个页面都涉及se

2020-06-02 22:17:25 482

原创 PHP中9大缓存技术总结

1、全页面静态化缓存也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms;一种比较常用的实现方式是用输出缓存:Ob_start()******要运行的代码*******$content = Ob_get_contents();****将缓存内容写入html文件*****Ob_end_clean();2、页面部分缓存该种方式,是将一个页面中不经常变的部分进行静态缓存,而经常变化的块不缓存,

2020-05-17 09:10:20 312

转载 如何设计Web API?

大多数现代的Web应用程序都公开了客户端可以用来与应用程序交互的API。精心设计的Web API应该旨在支持: 平台独立性。无论内部如何实现API,任何客户端都应该能够调用API。这需要使用标准协议,并具有一种机制,使客户端和Web服务可以就要交换的数据格式达成一致。 服务演进。Web API应该能够独立于客户端应用程序进行演化和添加功能。随着API的发展,现有的客户端应用程序...

2019-12-09 17:37:31 403

转载 设计模式--创建型模式--原型模式

欢迎大家关注我的公众号,以后发布的文章会同步在csdn与公众号上!上一篇文章我们介绍了设计模式的创建型模式中单例与多例模式,本篇文章我们将介绍设计模式中创建型模式的原型模式。原型模式原型模式的定义及特点原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原...

2019-12-09 15:29:53 211

转载 设计模式--创建型模式--单例与多例模式

上一篇文章我们介绍了设计模式的七种面向对象设计原则,本篇文章我们将介绍设计模式中创建型模式的单例与多例模式。在了解单例模式之前我们先来了解一下设计模式的分类有哪些呢?设计模式的分类有哪些?设计模式是在软件开发中,经过验证的,用于解决在特定环境下、重复出现的或者特定问题的解决方案。而这些都是前辈们经过大量的实践总结出来的宝贵经验,学习和领会其中的设计思想,能让我们在面对相同问题时可...

2019-12-09 15:25:43 347

转载 设计模式--7种面向对象设计原则

软件设计模式的产生背景1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ralph Johnson)、约翰·威利斯迪斯(John Vlissides)等 4 位作者合作出版了《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Soft...

2019-12-09 15:15:57 389

原创 go mod 与 goproxy 的使用

go modules是 golang 1.11 新加的特性,Modules官方定义为:模块是相关Go包的集合。modules是源代码交换和版本控制的单元。 go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。使用把 golang 升级到 1.11(现在1.12 已经发布了,建...

2019-11-19 11:17:10 2982

原创 每日一道 Go 编程题

非常非常有意思的一道编程题package mainimport ( "fmt" "sync" "time")var mu sync.RWMutexvar count intfunc main() { go A() time.Sleep(2 * time.Second) mu.Lock() defer mu.Unlock() count++ fmt.Println...

2019-11-14 10:00:20 270

转载 Golang构建HTTP服务(二)--- Handler,ServeMux与中间件

Golang标准库http包提供了基础的http服务,这个服务又基于Handler接口和ServeMux结构的做Mutilpexer。实际上,go的作者设计Handler这样的接口,不仅提供了默认的ServeMux对象,开发者也可以自定义ServeMux对象。本质上ServeMux只是一个路由管理器,而它本身也实现了Handler接口的ServeHTTP方法。因此围绕Handler接口的方法S...

2019-11-12 11:32:09 1117

转载 Golang构建HTTP服务(一)--- net/http库

实现一个最简单HTTP server需要多少代码?只需要一行,Python2的python -m SimpleHTTPServer,ruby的ruby -run -e httpd . -p 8888。对于Golang,实现一个最简单的http server也用不着几行,却能带来更具杀伤力的性能。一个Go最简单的http服务器:package mainimport ( "fmt...

2019-11-12 11:22:13 514

转载 golang实现RPC的几种方式

什么是RPC远程过程调用(Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。 该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。 如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用或远程方法调用。维基百科:远程过程调用用通俗易懂的语言描述就是:RPC允许跨机器、跨语言调用计算机程序方法。打个比方,我...

2019-11-12 10:51:53 334

原创 Go 实现RESTful

RESTful,是目前最为流行的一种互联网软件架构。因为它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。本小节我们将来学习它到底是一种什么样的架构?以及在Go里面如何来实现它。什么是RESTREST(REpresentational State Transfer)这个概念,首次出现是在 2000年Roy Thomas Fielding(他是HTTP规范的主要编写者之...

2019-11-12 10:25:25 840

原创 Linux CentOS7 安装 Chrome

下载 wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 安装依赖包 yum install -y lsbyum install -y libXScrnSaveryum install -y liberation-fontsyum install ...

2019-10-27 12:28:55 942

转载 三次握手和四次挥手

希望大家能带着如下问题进行阅读,收获会更大。请画出三次握手和四次挥手的示意图 为什么连接的时候是三次握手? 什么是半连接队列? ISN(Initial Sequence Number)是固定的吗? 三次握手过程中可以携带数据吗? 如果第三次握手丢失了,客户端服务端会如何处理? SYN攻击是什么? 挥手为什么需要四次? 四次挥手释放连接时,等待2MSL的意义?...

2019-10-09 09:44:39 110

原创 今天的想法

引用史蒂夫·乔布斯的话:您的时间有限,所以不要浪费时间过别人的生活。不要被教条所困-教条是与他人思维的结果一起生活的。不要让别人意见的喧闹淹没您内心的声音。最重要的是,要勇于跟随自己的内心和直觉。他们已经以某种方式知道您真正想要成为什么。其他一切都是次要的。保持饥饿。保持愚蠢。...

2019-09-30 13:13:28 136

原创 Centos7 防火墙 firewalld 实用操作

一.前言Centos7以上的发行版都试自带了firewalld防火墙的,firewalld去带了iptables防火墙。其原因是iptables的防火墙策略是交由内核层面的netfilter网络过滤器来处理的,而firewalld则是交由内核层面的nftables包过滤框架来处理。 相较于iptables防火墙而言,firewalld支持动态更新技术并加入了区域(zone)的概念。简单来说,区...

2019-09-14 20:10:28 261

原创 Linux CentOS7 安装 Nginx PHP7 并设置开机启动

所有操作需要在root用户下安装路径:/usr/local/php先安装如下依赖包:yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-deve...

2019-09-13 17:43:25 485

原创 Linux CentOS7 下安装 Mysql5.7 并设置自启动

安装软件:mysql5.7说明:使用官方编译好的二进制文件进行安装1.检查操作系统是否自带mysql[root@localhost local]# rpm -qa|grep mysqlmysql-libs-5.1.73-8.el6_8.x86_64比如我这里自带了一个mysql。使用yum命令,因为yum命令可以自动删除与mysql相关的依赖;如果使用rpm命令,则还需要手...

2019-09-12 17:16:08 3601

转载 基于go的 rpc框架实践

我们先回顾一下 rpc 的历史,再介绍我们常用的两个Go RPC框架。一个是 rpc 本身的官方库,还有就是大家常用的 Grpc 框架,我并不想在这个分享会推广我的框架,而是想跟大家分享一下我在做这个框架的过程中考虑的一些问题。大家如果没有用过 rpc 的框架的话可以了解一下这方面的知识,正在用的同学也可以熟悉一下使用rpc框架的时候需要考虑的方面, 如果碰巧你正在做rpc框架,可...

2019-09-07 18:55:57 525

原创 Redis,Memchche,MongoDb的区别

一、Nosql介绍1.Nosql简介2.Nosql的特点和关系型数据库的区别3.Redis,Memcache,MongoDb的特点与区别4.参考文章Nosql介绍Nosql的全称是Not Only Sql,这个概念早起就有人提出,在09年的时候比较火。Nosql指的是非关系型数据库,而我们常用的都是关系型数据库。就像我们常用的mysql,sqlserver一样,这些数据库一般...

2019-09-07 14:04:50 154

原创 git下载出现:Failed to connect to 127.0.0.1 port 1753: Connection refused拒绝连接错误

一、git拒绝连接原因分析使用git从远程仓库下载代码出现上述的错误是因为使用了proxy代理,所以要解决该问题,核心操作就是要取消代理二、错误解决方式1、查看Linux当前有没有使用代理方式一:通过git的配置文件查看有无使用代理(没有成功)查询是否使用代理:git config --global http.proxy1注: 我在使用该方法并没有返回任何信息,也没有返回代理使用...

2019-09-03 19:40:35 1827

转载 go语言核心—channel学习

这周来学习一下go语言的核心之一-channel,都知道go语言支持高并发,其原因就是goroutine-协程的存在,这是一种逻辑上等同于线程,而实际和线程又和线程有所不同,关于协程的学习,等下次结合这线程一起学习对比一下。今天主要简单的学习一下线程之间通讯的方式-channel。一、channle的基本概念channels是go中不同goroutines交互数据的一种通道,也就是说如果两...

2019-09-02 20:27:01 201

原创 如何 优雅的关闭 channel

在使用Go channel的时候,一个适用的原则是不要从接收端关闭channel,也不要在多个并发发送端中关闭channel。换句话说,如果sender(发送者)只是唯一的sender或者是channel最后一个活跃的sender,那么你应该在sender的goroutine关闭channel,从而通知receiver(s)(接收者们)已经没有值可以读了。维持这条原则将保证永远不会发生向一个已经关...

2019-09-02 20:22:24 1154

原创 Go中的Channel——range和select

数据接受者总是面临这样的问题:何时停止等待数据?还会有更多的数据么,还是所有内容都完成了?我应该继续等待还是该做别的了?对于该问题,一个可选的方式是,持续的访问数据源并检查channel是否已经关闭,但是这并不是高效的解决方式。Go提供了range关键字,将其使用在channel上时,会自动等待channel的动作一直到channel被关闭 示例代码1 package...

2019-09-02 20:11:42 427

原创 Go语言完整的学习路线图

Go语言完整的学习路线图

2019-09-01 19:57:17 8321

转载 知乎社区核心业务 Golang 化实践

导读:Go 语言是近年来迅速发展的新编程语言,国内已经有大量公司从其他语言转换到Go 语言。知乎作为国内 Python 语言大厂之一,也开启了切转换 Go 语言的大门。他们为何要做这样的转换?又是怎样转换的?碰到了什么问题?又是怎样解决这些问题的?本文作者一一为你解答。背景众所周知,知乎社区后端的主力编程语言是 Python。随着知乎用户的迅速增长和业务复杂度的持续增...

2019-09-01 19:53:40 251

空空如也

空空如也

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

TA关注的人

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