ARTS打卡第三周

2023-09-14 17:47:39

概述

        infoq的arts打卡学习,贯彻左耳朵耗子的学习理念,活到老学到老,每天都精进一点,上个星期没有写打卡文档,只能用工作太忙为借口为自己开脱了

一、Algorithm 一道算法题

        最近工作使用算法场景较少,基本上是基于数据统计对系统进行优化,因此结合工作的算法暂时没有,最近在学习go,就用go来写一些经典算法吧,再配上单元测试,加深对go的理解

        二分查找法go的实现,接收两个参数:有序数组arr和待查找的值target。通过循环迭代的方式,在每次迭代中更新查找范围的起点和终点,直到找到待查找的值或者确认查找范围为空。若找到待查找的值,则返回它在数组中的索引位置;若未找到,则返回-1。  

// 冒泡排序法
func AscSort(arr []int) []int {
	maxInter := len(arr) - 1
	for i := 0; i < maxInter; i++ {
		for j := maxInter; j > i; j-- {
			if arr[j-1] > arr[j] {
				temp := arr[j]
				arr[j] = arr[j-1]
				arr[j-1] = temp
			}
		}
	}
	return arr
}

单元测试

func TestAscSort(t *testing.T) {
	Convey("冒泡排序", t, func() {
		// 排好序的情况
		arr := []int{1,3,4,5,7,9,10}
		res := AscSort(arr)
		So(res, ShouldResemble, arr)
		// 乱序
		arr1 := []int{7,1,5,3,9,4,10}
		res = AscSort(arr1)
		So(res, ShouldResemble, arr)
		// 逆序
		arr2 := []int{10,9,7,5,4,3,1}
		res = AscSort(arr2)
		So(res, ShouldResemble, arr)
	})
}

二、Review 读一篇英文文章

        英语单词,推荐使用「摸鱼单词」,每天早到公司15分钟,开启「摸鱼单词」记忆单词熟悉发音

        英语每日一读, 微信公众号 - 「夏说英文晨读」或「友邻优课app」,最近时事,每天一遍,跟读录音review,感觉挺好

        

三、Technique/Tips 分享一个小技术

        在高并发场景下,使用go取代php,在实现上有更多的思路(方案)提升性能。提升性能的本质之一是减少io

        场景: 寻址系统 - 在一堆服务器中为设备选出最优(连接数最少、负载最低)一台,让设备与服务器保持长连接。

        现状:初始时,已经将php代码优化到了极致,但一次寻址仍然存在20次io,主要是和redis的交互,而存储在redis中的信息配置数据几乎不怎么修改。

        优化:使用php已经无法再优化;
        1、go使用etcd做配置中心,将改动频率低的数据写入到etcd中,有变更时实时更新到程序内存中。 

        2、当前php限流依赖于redis中滞后的redis、mongo的操作数和连接数,存在redis io,改用go sentinal,没有io,并且限流及时,不会滞后,更好地保护下游服务。

四、Share 分享一个观点

        知识不是一成不变的真理。

知识不是对现实的客观纯粹反映,是人们对事物的解释、假说和假设,随着人们对事物的认识程度的深入而不断变革、深化,出现新的解释和假说。

比如地心说和日心说,我们现在看知道这两种说法都是错误的。但地心说提出的时候,人们都认可地心说,随着人们对事物认识程度的深入,阿利斯塔克、哥白尼又提出了日心说,日心说经过300多年的发展,随着开普勒、伽利略和牛顿工作的进展,特别是恒星光行差和视差的发现,终于否定了地心说和日心说,提出了大爆炸说。天文学的发展表明,太阳仅仅是一个普通恒星,它并不在宇宙的中心。

        

  

更多推荐

开源教育对话大模型 EduChat

文章目录一、🚀前言二、🤖本地部署三、👨‍💻使用示例四、🔎总结🍉CSDN叶庭云:https://yetingyun.blog.csdn.net/一、🚀前言教育是一项对人类身心发展产生影响的社会实践活动,旨在从内在激发人们固有或潜在的素质。因此,我们必须坚持以人为本的教育理念,重点关注个性化、引导式和身心全面

拓世科技集团到访考察吉安青原区:共谋AIGC数字经济产业园发展大计

千帆竞发立潮头,奋勇争先谋发展,在中国这片广袤的大地上,先行者的每一次拓进都是历史的华章,远谋者的每一次交汇都是未来的预言。当红色江西大地与现代科技脉搏共振,当青原区的绿意拥抱拓世科技的AIGC科技,一场关于科技与地区发展的交响曲就此奏响。在这个充满变革与机遇的时代,拓世科技集团与吉安青原区政府携手共谋AIGC产业布局

计算机毕业设计 高校普法系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌🍅文末获取源码联系🍅👇🏻精彩专栏推荐订阅👇🏻不然下次找不到哟————————————————计算机毕业设计题目《10

深眸科技自研工业AI视觉检测设备,检测精度99.9%加速智造进程

随着机器视觉技术的持续升级,国内制造行业不断发展,工艺水平持续优化,产品的数量和种类与日俱增。当前社会将产品质量标准提高,在满足正常的性能使用外,还需要具有良好的表面外观质量。但在工业制造过程中,受到产品工艺、生产设备、现场环境等因素的影响,制造产品表面往往存在各种各样的缺陷,包括裂纹、堵孔、凹凸、破损等。这些表面缺陷

爬虫异常处理实战:应对请求频率限制和数据格式异常

作为一名资深的爬虫程序员,今天我要和大家分享一些实战经验,教你如何处理爬虫中的异常情况,包括请求频率限制和数据格式异常。如果你是一个正在进行网络爬虫开发的开发者,或者对异常处理感兴趣,那么这篇文章将帮助你更好地完成爬虫任务。第一部分:请求频率限制的处理当我们进行网络爬虫时,有些网站会设置请求频率限制,以防止过多的请求对

【2023 睿思芯科 笔试题】~ 题目及参考答案

文章目录1.题目&答案单选题编程题问题1:解析1:问题2:解析2:声明名称如标题所示,希望大家正确食用(点赞+转发+评论)本次笔试题以两种形式考察的,分别是:选择题(包括单选和多选)和编程题。这里强调的是笔试全英文!!!其实不光这一家公司,很多都是这样的,所以,英语还是那么的重要!一共5个选择+2个编程题。PS:大家在

跨境电商如何更好地备战销售旺季?

跨境电商秋促来临!不知道各位卖家是否做好准备了呢?据外媒报道,TikTokShop于近日开启了年度最大规模的黑五大促,而为了抢占旺季流量,继周二亚马逊宣布将于10月10日至11日举办第二届“PrimeBigDealDays”大促后,周三沃尔玛、Target和BestBuy也都宣布将推出自己的大促,提前开启假日促销。这几

Docker进阶:mysql 主从复制、redis集群3主3从【扩缩容案例】

Docker进阶:mysql主从复制、redis集群3主3从【扩缩容案例】一、Docker常规软件安装1.1docker安装tomcat(默认最新版)1.2docker指定安装tomcat8.01.3docker安装mysql5.7(数据卷配置)1.4演示--删除mysql容器,里面的数据是否能正常恢复1.5docke

HTML的学习 Day01

《网页设计与制作》是web前端开发技术中静态网页中的内容,主要包括html、css、js中的静态内容部分,是专业基础课程。随着5G时代的到来,人工智能与物联网结合行业的飞速发展,更多的互联网的崛起。这肯定就比如伴随着对移动互联网领域新的开发场景的需求,需要大量的前端和移动前端开发来呈现。【技术越来越成熟就越要想每一个给

认识面向对象-PHP8知识详解

面向对象编程,也叫面向对象程序设计,是在面向过程程序设计的基础上发展而来的,它比面向过程编程具有更强的灵活性和扩展性。它用类、对象、关系、属性等一系列东西来提高编程的效率,其主要的特性是可封装性、可继承性和多态性。面向对象编程的主要好处就是吧编程的重心从处理过程转移到对现实世界实体的表达。这十分符合人们的正常思维方法。

鞋服零售企业如何进行数字化运营

企业进行信息化和数字化都是在解决同一个问题,降本增效,用信息产生数据,用数据解读业务。在信息化行业操盘十多年,在我的大脑中始终有一个伟大的蓝图,那就是“作战室”,特别是在鞋服零售各种解决方案非常成熟,对作战室的建设几率又大大增加。作战室不仅是数据的可视,更重要的是能指挥作战,如线上线下同步,而线下店铺可视,在通过一个销

热文推荐