- 博客(78)
- 收藏
- 关注
原创 Kitex踩坑 [Error] KITEX: processing request error,i/o timeout
Kitex超时控制,导致无法调用服务
2023-10-28 17:30:33 518
原创 介绍grpc
它基于HTTP/2协议传输,使用Protocol Buffers(ProtoBuf)作为默认的序列化机制,支持多种编程语言,并提供了强大的功能和特性。单向通道(Unary Channel):也称为普通通道,它是最常用的gRPC通道类型。这种通道适用于一次性请求和响应的情况。双向通道(Bidirectional Channel):双向通道是一种全双工通信方式,客户端和服务端可以同时发送和接收多个请求和响应。通过使用这两种通道,gRPC可以满足不同的通信需求,从简单的一次性请求和响应到复杂的双向流式处理。
2023-10-19 13:15:08 179
原创 Java基础面试,ArrayList和LinkedList的区别
ArrayList因为其内存空间的限制和查询效率的优势,更适合于存储大量数据且不需要频繁增删改查的场景;而LinkedList则更适合于需要频繁增删改查的场景。
2023-10-08 18:33:51 292
原创 MVC架构和DDD架构的区别?
MVC是一种用于构建用户界面和应用程序逻辑分离的架构模式,而DDD是一种软件开发方法论,强调通过领域驱动设计来解决业务问题。MVC关注于将应用程序分解为模型、视图和控制器,以实现关注点分离和代码组织。DDD关注于深入理解业务领域,通过领域模型和领域专家的协作来解决复杂业务问题。MVC是一种通用的架构模式,适用于各种类型的应用程序,而DDD更加专注于解决复杂的业务领域问题。MVC将应用程序划分为模型、视图和控制器,而DDD将重点放在领域模型、领域驱动设计和领域专家的参与上。
2023-10-03 17:10:08 1852
原创 如果使用pprof来进行性能的观测和优化
在优化后的代码中,我们引入了 Goroutine 和 sync.WaitGroup 来实现并发处理。在优化过程中,始终进行压力测试和基准测试,以确保你的优化没有引入新的问题并且确实提升了程序性能。在将代码部署到生产环境之后,持续监控程序的性能,并进行必要的调优。选择正确的数据结构和算法是优化程序性能的关键。根据你的需求,选择最适合的数据结构来提高代码的执行效率。通过逐步优化,每次只专注于一个问题,以确保你的优化是有效的,同时避免引入新的错误。在开始优化之前,首先需要确定你的程序的性能瓶颈在哪里。
2023-10-02 23:02:08 834
原创 设计模式之代理模式
做一个简单的形象的例子吧,就好比师傅想要化缘,但是师傅心高气傲又怎么肯?于是师傅把碗给了二师兄,于是二师兄就成了一个代理对象,由代理对象来执行化缘的过程。**方法实际上就是执行的业务逻辑。细心的大师兄肯定会发现很多地方有冗余,所以完全可以创建一个代理对象然后然后代理对象去统计耗时的问题,这样代码就会简洁多了。以经济公司代理歌手来实现,歌手不会参与卖票,租场地之类的活,只会进行表演,所以累活全部由经济公司承担。这样业务明显就被简化了,很大程度上减少了代码的冗余,这不就是Spring的AOP思想么?
2023-10-01 22:48:57 759
原创 Java基础面试,什么是面向对象,谈谈你对面向对象的理解
谈到面向对象,那就不得不谈到面向过程。面向过程更加注重的是完成一个任务的过程,而面向对象更加注重的是完成任务需要哪些对象来参与。封装内部细节相对于外部的调用更加透明,外部调用者无需关心内部的实现,差不多就是把公共模块,或者需要复用的模块抽成一个工具类封装的思想就是为了代码的复用性更强继承子类共性的方法或者属性都是直接调用父类的,而不是自己定义,只需扩展自己的个性化。通俗一点来说,继承就是为了更容扩展多态多态的三个条件?继承,方法重写,父类的引用指向子类的对象。
2023-10-01 15:12:37 233
原创 参加第十二届中国软件杯比赛感想以及经验
今年我作为参赛选手参加了中国软件杯南京线下赛,参加了总决赛答辩环节,下面总结一些参加比赛的经验以及感受。
2023-09-27 10:10:23 520 3
原创 Git的正确使用姿势与最佳事件:团队协作开发和版本控制的最佳实践
大家在合作开发的时候会用到git,本文详细讲述git如果使用以及日常的报错处理。
2023-09-27 10:08:06 259 1
原创 计算机类软件方向适合参加的比赛
博主是一名计算机专业的大三学生,在校时候参加了很多比赛和训练营,现在给大家博主参加过的几个的比赛,希望能给大一大二的学生提供一点建议。
2023-09-26 12:49:33 5645 1
原创 ElasticSearch自学笔记
要求名字包含如家,价格不高于400的,在坐标31.21.121.5周围10km范围内的酒店。multi_match:与match查询相似,只不过允许同时擦汗寻多个字段。对酒店数据按照用户评价降序排序,评价相同的按照价格升序排列。推荐使用match字段来查询。order指定聚合的排序方式。size指定聚合结果的数量。实际上是一种相关度的匹配。aggs代表数据的聚合。field指定聚合字段。
2023-09-26 12:14:15 300
原创 golang并发编程基础
默认情况下,channel是双向的,但是我们经常一个channel作为参数进行传递,希望对象也是单向使用。开启两个gorountine对total进行相同此时的加减,但是这一段程序的运行结果每一次都不一样。锁实际上是将并行的代码串行化了,使用lock肯定影响性能,即使是设计所,也应该尽量保证并行。这是一道经典题目,在Java中也有提到,交替打印这个序列。有缓冲channel适用于生产者和消费者之间的通讯。无缓冲的channel也容易出现deadlock。更加优雅的方式,使用golang的原子包。
2023-09-13 14:42:45 221
原创 go并发编程基础
默认情况下,channel是双向的,但是我们经常一个channel作为参数进行传递,希望对象也是单向使用。开启两个gorountine对total进行相同此时的加减,但是这一段程序的运行结果每一次都不一样。锁实际上是将并行的代码串行化了,使用lock肯定影响性能,即使是设计所,也应该尽量保证并行。这是一道经典题目,在Java中也有提到,交替打印这个序列。有缓冲channel适用于生产者和消费者之间的通讯。无缓冲的channel也容易出现deadlock。更加优雅的方式,使用golang的原子包。
2023-08-25 11:29:51 302
原创 Protobuf类型
这些是原始的基本数据类型,用于存储数值和字符串。doublefloatint32int64uint32uint64sint32sint64fixed32fixed64sfixed32sfixed64boolstringbytes枚举类型用于定义一组可能的取值。每个枚举字段都有一个与之关联的整数值。你可以为每个枚举值指定一个名称和一个整数值。消息类型是 Protocol Buffers 中最重要的类型之一。它们用于定义复杂的数据结构,可以包含其他字段和消息类型。你可以嵌套消息类型以创建更复杂的数据结构。
2023-08-09 12:32:13 1820
原创 浅谈设计原则
什么是单一职责原则,在我理解看来就是一个东西如果发生问题那么就有且仅有一个原因导致它发生问题。它的准确解释就是,就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于耦合度加大,当变化发生时,设计会受到破坏。最好的例子就是将界面和业务进行分离。做设计应该让类只有一个职责。
2023-08-03 23:35:56 71
原创 设计模式思考,简单工厂模式和策略模式的区别?
简单工厂模式是一种,它主要涉及对象的创建和实例化。。简单工厂模式通常用于创建不同类的对象,因此,可以将简单工厂模式理解为一种“类创建”模式,它可以让客户端更加方便地创建所需的对象。
2023-07-30 23:46:48 615 1
原创 设计模式,简单工厂模式实现商场促销问题。
自始至终觉得编程是一门技术,更是一门艺术,不能只满足于写完代码运行后的结果完事,还应该让后人能读懂,容易修改,容易扩展和复用。又由于自己经常写出屎山代码,所以准备苦学设计模式,尽力写出更加优雅的代码。
2023-07-25 23:32:48 63
原创 还在因为代码写的不规范被骂吗?还在因为代码写的不好被同学嘲笑吗?Go代码规范一篇就够了!
和目录保持一致,见名知意,不要和标准库重名,采用全部小写。
2023-07-22 23:43:49 63
原创 Go新手速成-string
byte就是unit8rune就是int32都可以代表字符型,但是必须格式化打印,要不然打印出来就是ASC码,参考c语言。
2023-07-18 23:23:50 797
原创 Go速成-常量
Go语言常量,定义的值是不能进修修改的,定义常量就是const,常量定义建议全部大写在定义常量的时候如果没有声明值,就会沿用上面的值,常量类型只可以定义bool,数值类型,字符串,常量没有必须使用的要求。
2023-07-18 23:17:45 879
原创 Eureka与Zookeeper的区别
Eureka会造成短暂的数据不一致性,这是可以容忍的,但是zookeeper在主服务器down的时候,要选取新的主服务器,造成的时间导致服务注册长期不可用时难以容忍的,所以推荐使用Eureka,再加上Eureka集成Spring Cloud是十分方便的,所以推荐大家使用Eureka作为服务注册中心。
2023-05-12 20:53:34 1446 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人