- 博客(35)
- 资源 (6)
- 收藏
- 关注
原创 Go 并發場景-仅需任意任务完成、所有任务完成才退出
Channel类型Channel类型的定义格式如下:ChannelType = ( "chan" | "chan" "<-" | "<-" "chan" ) ElementType .它包括三种类型的定义。可选的<-代表channel的方向。如果没有指定方向,那么Channel就是双向的,既可以接收数据,也可以发送数据。chan T // 可以接收和发送类型为 T 的数据chan<- float64 // 只可以用来发送 float64 类型
2020-05-08 23:45:40 205
原创 k8s中 pod,service,deployment,ingress的使用场景
学习 k8s 之前首先对 k8s 中具体的组件做个简单的了解。1、Pod 是 k8s 中集群部署应用和服务的最小单元;2、RC 是 k8s 集群中最早的保证 Pod 高可用的 API 对象。它的作用就是保证集群中有指定数目的 pod 运行;3、RS 是新一代 RC,提供同样的高可用能力,是目前主要使用的对象;4、Deployment 提供了一种对 Pod 和 ReplicaSet 的管理方式,RS 的使用都是结合 Deployment 来完成的。
2023-12-12 17:21:35 1184
原创 k8s常用操作命令
必须以字母或数字开头,最多包含63个字符,可使用:字母、数字、连字符" - " 、点"."和下划线" _ "。如果指定了--resource-version,则更新将使用此资源版本,否则将使用现有的资源版本。可以指定计算资源需求(CPU-单位m、内存-单位Mi),即使用的最小资源请求(Requests),限制(Limits)的最大资源需求,Pod将保证使用在设置的资源数量范围。:使用补丁修改,更新资源的字段,也就是修改资源的部分内容。:配置应用的一些特定资源,也可以修改应用已有的资源。
2023-12-11 20:45:46 952 3
原创 头条golang面试题
1.0 5个人去一个海岛寻宝,最后一共找到了100枚金币。他们约定了一个分配方案,如下:五个海盗按照抽签的顺序依次提出方案,某一个人提出方案之后,剩余存活的人投票表决:方案需要获得超过半数人的认可之后才能被通过,否则方案提出者将会被扔进大海喂鲨鱼,某一个方案被通过后游戏就结束。注:每个人的投票都是在追求自己利益的最大化:保证自己不会被喂鲨鱼的前提下,尽量使自己分到更多的金币。题目的意思应该很清楚了,五个人依次按照抽签顺序给出自己的分配方案,如果某个方案没有获得通过,那么该方案的提出者就会被扔进大海喂鲨鱼
2021-01-28 23:55:50 775 1
原创 golang面试题整理
1.go的调度调度器有三个基本结构, 称为 G, M 和 P. 一个 G 是一个 goroutine, 一个 M 是一个操作系统线程, 一个 P 是一个(逻辑)处理器.调度器有确切的 GOMAXPROCS 数量的 P (GOMAXPROCS是一个环境变量和运行时函数, 用来设置程序中的并发度). 为了让 M 执行一个 G, 它必须获得一个P, 然后运行 G 直到停止. G 通过进行诸如 I/O 操作的系统调用, 阻塞一个 channel 操作, 调用 C 函数, 正在被预抢占(pre-emption
2021-01-28 23:37:32 1225
原创 插入排序
插入排序插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。1. 算法步骤将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当.
2020-12-29 17:36:37 126
原创 算法-选择排序
编译器:goland编程语言 go选择排序的基本思想:每一趟在n-i+1(i=1,2,3…,n-1)个记录中选取关键字最小的记录与第i个记录交换,并作为有序序列中的第i个记录。例如:待排序列: 43,65,4,23,6,98,2,65,7,79第一趟: 2,65,4,23,6,98,43,65,7,79第二趟: 2,4,65,23,6,98,43,65,7,79第三趟: 2,4,6,23,65,98,43,65,7,79第四趟: 2,4,6,7,43,65,98,65,2...
2020-12-25 15:03:55 158
原创 二分查找方法
二分查找将一组有序数组一分为二,将要查找元素与分割点比较,有三种情况:1.查找元素比分割点大 。->在分割点右侧继续查找2.查找元素比分割点小。->在分割点左侧继续查找3.查找原始等于分割点。->直接返回。 使用二分查找方法,每经过一次查找,查找范围缩小一半,如果数组元素个数为n,假设n是3的幂。第一次查找后,剩下N/2个元素继续查,第二次(n/2)/2个元素需要继续查。则第i次比较后,剩下n/2i个元素需要继续搜索。当i=log2n(以2为底n的对数),只剩下一..
2020-12-24 22:12:42 613
原创 快速排序(golang版本实现)
1. 快速排序算法算法描述:是对插入算法的一种优化,利用对问题的二分化,实现递归完成快速排序 ,在所有算法中二分化是最常用的方式,将问题尽量的分成两种情况加以分析, 最终以形成类似树的方式加以利用,因为在比较模型中的算法中,最快的排序时间 复杂度为O(nlgn).算法步骤将数据根据一个值按照大小分成左右两边,左边小于此值,右边大于 将两边数据进行递归调用步骤1 将所有数据合并 package mainimport "fmt"func QuickSort(array []in.
2020-12-24 21:41:12 195
原创 golang并发实战一 并发介绍
进程和线程 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。 一个进程可以创建和撤销多个线程;同一个进程中的多个线程之间可以并发执行并发和并行多线程程序在一个核的cpu上运行,就是并发。多线程程序在多个核的cpu上运行,就是并行。协程和线程协程:独立的栈空间,共享堆空间,调度由用户自己控制,本质上有点类似于用户级线程,这些用户级线程的调...
2020-12-20 20:31:40 110
原创 golang中Context的使用场景总结
场景一:RPC调用在主goroutine上有4个RPC,RPC2/3/4是并行请求的,我们这里希望在RPC2请求失败之后,直接返回错误,并且让RPC3/4停止继续计算。这个时候,就使用的到Context场景二:PipeLinepipeline模式就是流水线模型,流水线上的几个工人,有n个产品,一个一个产品进行组装。其实pipeline模型的实现和Context并无关系,没有context我们也能用chan实现pipeline模型。但是对于整条流水线的控制,则是需要使用上Context的。这篇文章Pi
2020-12-20 17:24:12 1033
原创 GO性能优化
go性能优化1 内存优化1.1 小对象合并成结构体一次分配,减少内存分配次数做过C/C++的同学可能知道,小对象在堆上频繁地申请释放,会造成内存碎片(有的叫空洞),导致分配大的对象时无法申请到连续的内存空间,一般建议是采用内存池。Go runtime底层也采用内存池,但每个span大小为4k,同时维护一个cache。cache有一个0到n的list数组,list数组的每个单元挂载的是一个链表,链表的每个节点就是一块可用的内存,同一链表中的所有节点内存块都是大小相等的;但是不同链表的内存大小是不等
2020-12-20 16:59:38 152
原创 基于C#、bootstap、三层架构 培训机构教务管理系统
这个系统没有MVC、没有ORM、数据库表都没设外键关系、级联删除等,所有需要级联操作的地方都是事务提交。界面上的所有操作基本都是jquery发ajax请求ashx处理,ashx处理后输出json前台接收处理并配合bootstrap的组件响应给用户。基本没什么门槛,代码轻松易懂。 适用场景:教务管理、校园管理、收费管理;框架使用OA、ERP、BPM、CRM、WMS、TMS...
2020-09-01 02:43:12 3667 4
转载 Linux wget命令详解
wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。 wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成 wget 可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作”递...
2020-08-27 22:12:14 143
原创 /usr/bin与/usr/local/bin/区别总结
一.很多应用都安装在/usr/local下面,那么,这些应用为什么选择这个目录呢?理解了最根源的原因后,也许对你理解linux组织文件的方式有更直观的理解。而GUN下面绝大部分应用的编译系统都是用automake。于是乎,你看到的很多很多应用都安装在了/usr/local/目录 二.首先注意usr 指 Unix System Resource,而不是User,然后通常/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变/usr/local/bin目录是给用户放置自己的可执行程...
2020-08-27 22:09:36 5311
原创 教务培训系统使用手册
校务管理系统操作手册业务咨询qq: 2878659797微信:fengxh03928882020年3月24日目录项目简介 1登录 1功能描述 13.1. 销售管理模块 23.1.1. 添加客户 23.1.2. 我的客户 33.1.3. 公海 33.1.4. 资源分配 43.1.5. 回访统计 53.1.6. 客户列表 53.1.7. 校区统计 53.1.8. 渠道统计 63.1.9. 来源统计 63.1.10. 课程顾问统计 73.2. 系统管理模块 73.2.
2020-06-07 23:54:27 1403
原创 Go Channel
Go Channel 详解Channel类型blockingBuffered ChannelsRangeselecttimeoutTimer和Tickerclose同步Channel是Go中的一个核心类型,你可以把它看成一个管道,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)。它的操作符是箭头 <- 。ch <- v // 发送值v到Channel ch中v := <-ch // 从Channel ch中接收数据,并将数据赋
2020-05-08 23:38:36 140
原创 go语言中的defer、panic、recover处理异常
go语言中的defer就像c++中的析构函数,但是go语言中defer的对象是函数(或者对象的方法),defer能保证在函数结束最后执行该方法(函数),但是有例外:如果在定义的方法中defer定义的方法如果在panic后面,defer定义的方法就无法执行到。panic 是用来表示非常严重的不可恢复的错误的。在Go语言中这是一个内置函数,接收一个interface{}类型的值作为参数。panic...
2020-04-30 07:54:19 273
原创 Go多态实现
Go本身不具有多态的特性,不能够像Java、C++那样编写多态类、多态方法。但是,使用Go可以编写具有多态功能的类绑定的方法。Go使用struct构建类,根据不同类调用不同的方法, 使用struct对象类型来消除了方法的模糊性。直接撸代码package ch12import ( "fmt" "testing")//实现多态type Code stringtype P...
2020-04-29 00:14:02 606
原创 Go——空接口与断言
经常地我们对一个接口值的动态类型是不确定的,如方法的形参为接口类型时,此时就需要检验它是否符合我们需要的类型。类型断言是一个使用在接口值上的操作。断言类型的语法:x.(T),这里x表示一个接口的类型,T表示一个类型(也可为接口类型)。一个类型断言检查一个接口对象x的动态类型是否和断言的类型T匹配。类型断言分两种情况:第一种,如果断言的类型T是一个具体类型,类型断言x.(T)就检查x...
2020-04-29 00:09:22 452
原创 GO 错误机制
与其他编程语言的差异1.没有异常机制2.error类型实现 error接口 Type error interface{Error() String}4.可以通过errors.New() 快速创建错误实例最佳实践: 及早失败,避免嵌套,直接上代码:package ch14import ( "errors" "testing")func ...
2020-04-28 23:58:12 154
原创 Go中字符串切分与组合
1.go 中主要使用 strings.Split 对指定分隔符进行分割存放在slice里,然后可以通过range 遍历取值2.可以使用 strings.Join 对slice用指定符号拼接组合一起3.使用 strconv.Itoa可以把数字转化为字符串直接撸代码:func TestStringFn(t *testing.T) { m := "A,B,C" parts := ...
2020-04-24 00:22:48 760
原创 go 闭包
Go语言支持匿名函数,可以形成闭包。匿名函数在想要定义函数而不必命名时非常有用。函数getSequence()返回另一个函数,它在getSequence()函数的主体中匿名定义。返回的函数闭合变量i以形成闭包。当调用intSeq()函数,将结果(一个函数)分配给nextInt。这个函数捕获它自己的i值,每当调用nextInt时,它的i值将被更新。通过调用nextInt几次来查看闭包的效果...
2020-04-24 00:17:25 133
原创 GO 中实现扩展与复用
GO语言中没有继承,但是提供了一种扩展与复用。废话少说,直接上代码:package ch11import ( "fmt" "testing")type Pet struct {}func (p *Pet) Speak() { fmt.Printf("...")}func (p *Pet) SpeakTo(host string) { p.Spe...
2020-04-24 00:03:29 389
原创 Go语言中的Array、Slice、Map和Set使用
GO 数组Array在 Go 语言中数组是固定长度的数据类型,它包含相同类型的连续的元素,这些元素可以是内建类型,像数字和字符串,也可以是结构类型,元素可以通过唯一的索引值访问,从 0 开始。数组是很有价值的数据结构,因为它的内存分配是连续的,内存连续意味着可是让它在 CPU 缓存中待更久,所以迭代数组和移动元素都会非常迅速。数组声明和初始化数组声明和初始化通过指定数据类...
2020-04-23 00:17:24 409
原创 Go语言基础知识点分享
最近在加深对GO语言基础知识学习,巩固下基础,同时分享给朋友们go中单元测试通过 go test 进行测试go 中给我们提供一个包:testing,Go 为我们提供一些很好的功能,我们可以在不需要太多学习的情况下使用它们。若要在 Go 中开始使用测试,首先需要定义要测试的包。如果还没有,请创建一个名为 testing101 的包,并创建文件 sum.go,添加上下面的代码:p...
2020-04-22 23:43:04 194
原创 Go 语言函数作为实参
/* Go 语言可以很灵活的创建函数,并作为另外一个函数的实参*/package mainimport ( "fmt")type cb func(int) intfunc main() { fmt.Print("执行开始调用函数作为参数传递->") testCallback(1,callback) testCallback(2, func(...
2019-12-12 23:31:35 310
转载 rabbitMQ 消息队列
一、rabbitMQ是什么: RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上。 学过websocket的来理解rabbitMQ应该是非常简单的了,websocket是基于服务器和页面之间的通信协议,一次握手,多次通信。 而rabbitMQ就像是服务器之间的socket,一个服务器连上MQ监听,而另一个服务器只要通过MQ...
2018-08-31 10:21:05 184
原创 python爬虫实战(一)做个图片自动下载器
制作爬虫的基本步骤环境 pyton 3.7顺便通过这个小例子,可以掌握一些有关制作爬虫的基本的步骤。一般来说,制作一个爬虫需要分以下几个步骤:分析需求 分析网页源代码,配合F12(没有F12那么乱的网页源代码,你想看死我?) 编写正则表达式 正式编写python爬虫代码效果: 恩,让我输入关键词,让我想想,输入什么好呢?好像有点暴露爱好了。好了,...
2018-08-05 16:20:24 3175 3
原创 Python中操作mysql的pymysql模块详解
这篇文章给大家演示了如何安装以及使用Python中操作mysql的pymysql模块,本文介绍的很详细,对大家学习Python具有一定参考借鉴价值,有需要的朋友们一起来看看吧。前言pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。本文测试python版本:3.7。mysql版本:5.6...
2018-08-05 11:00:02 442
原创 Scrapy(官网 http://scrapy.org/)爬虫(一)
Scrapy(官网 http://scrapy.org/)是一款功能强大的,用户可定制的网络爬虫软件包。其官方描述称:"Scrapy is a fast high-level screen scraping and web crawling framework, used to crawl websites and extract structured data from their page...
2018-08-05 09:36:03 5500
原创 企业OA系统
需要程序的可以联系我哦:业务qq:2878659797一、源码特点 1、包含常用办公所有功能(财务,档案,人力资源,审批,会议,文件,业务等功能); 2、多年的技术积累和大量用户需求的汇总调整,保证了系统的安全性稳定性、易操作、管理维护简单的特点; 3、系统设计开发的规范性与全面性,利于系统的实现、测试、维护、版本升级...
2018-07-31 22:38:55 1888 1
酒店管理系统(extjs+sqlserver2005)
2013-02-21
流风通用管理框架源码
2013-02-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人