- 博客(545)
- 收藏
- 关注
原创 【Prometheus】Prometheus的样本
在 Prometheus 中,样本是一个时间序列的基本单位,由度量名称、标签、数值和时间戳组成。Prometheus 通过这种方式存储和管理大量的度量数据,从而使得我们能够对系统进行详细的监控和查询。通过 PromQL 查询语言,我们可以灵活地提取和分析这些样本数据,帮助我们更好地理解系统的健康状况和性能瓶颈。
2024-12-17 17:23:45
918
2
原创 计算机网络基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
但是你不被允许走出大门,你想与外界发生的一切联系,都必须由门口的李大爷(网关)用电话帮助你联系。假如你想找你的同学小明聊天,小明家住在很远的另外一个院子里,他家的院子里也有一个看门的王大爷(小明的网关)。但是你不知道小明家的电话号码,不过你的班主任老师有一份你们班全体同学的名单和电话号码对照表,你的老师就是你的DNS服务器。于是你在家里拨通了门口李大爷的电话,有了下面的对话:小不点:李大爷,我想找班主任查一下小明的电话号码行吗?李大爷:好,你等着。
2024-11-27 22:53:55
1047
4
原创 【Linux】查看文件权限
所有者权限,这一点相信你应该明白了,至于所属用户组权限,是指你所在的用户组中的所有其它用户对于该文件的权限,比如,你有一个 iPad,那么这个用户组权限就决定了你的兄弟姐妹有没有权限使用它破坏它和占有它。:链接文件是分为两种的,另一种当然是“硬链接”(硬链接不常用,具体内容不作为本课程讨论重点,而软链接等同于 Windows 上的快捷方式,你记住这一点就够了)。命令了,如你所见,我们用它来列出并显示当前目录下的文件,当然这是在不带任何参数的情况下,它能做的当然不止这么多,现在我们就要用它来查看文件权限。
2024-11-26 11:46:15
1253
原创 【Zookeeper 和 Kafka】为什么 Zookeeper 不用域名?
如果是容器化部署或者 IP 动态变化,给 Zookeeper 配域名也不是不行,但大部分情况下,直接用 IP 地址就够啦!Zookeeper 通信是高频、低延迟的,域名解析(DNS)会增加额外开销,直接用 IP 地址性能更稳。万一 DNS 挂了,Zookeeper 和 Kafka 的集群通信就会出问题,直接用 IP 地址更安全。Zookeeper 运行在内网里,只有 Kafka 需要跟它打交道,对外不暴露,域名就显得多余啦!比如你用 Kafka 的客户端,不会想记住一堆 IP 地址吧,域名方便又优雅~
2024-11-26 11:34:48
1078
原创 非 Portal 域名 vs Portal 域名:你需要了解的区别与选择
Portal 域名指的是那些用于门户网站(Portal Site)的域名。门户网站是信息和服务的聚合平台,旨在成为用户访问互联网的“入口”。这些网站通常以多功能为主,提供从资讯到工具的一站式服务。
2024-11-25 16:32:39
652
1
原创 Linux 网络命令全解析:全面掌控你的网络配置与调试
Linux 提供了丰富的网络命令工具,从基础信息查看到高级调试和性能监控,应对各种网络问题得心应手。
2024-11-25 16:24:23
2065
22
原创 Mac 全系选购指南
在现在这个时点购买 Mac,我所能想到的考虑要点,都在这里了。无论现在 Mac 的产品线有多乱,我们作出购买决定,总还是离不开两个要素:需求和预算。希望这篇文章能够带你梳理好自己的需求,考虑到自己的需求到底落在乔布斯「四象限」的哪个位置;与之对应的产品又是什么、是否能够满足自己的预算。也希望读到这里的你,真正可以做出一个让自己满意的 Mac 购买决定。
2024-11-14 21:40:02
1518
6
原创 庆祝程序员节:聊一聊编程语言的演变
编程语言的演变反映了技术的进步和人们需求的变化。从最初的机器语言到现代的多范式语言,编程语言不仅提高了软件开发的效率,也改变了人们的思维方式和工作方式。未来,随着人工智能、量子计算等新兴技术的发展,编程语言将继续演化,迎接新的挑战与机遇。编程还作为一种核心技术,对社会的贡献是深远而广泛的。它不仅推动了各行各业的技术革新,还改变了人们的工作、学习和生活方式。随着技术的持续进步,编程将在未来继续为社会带来更多变革与创新,引领人类走向更加智能、互联的世界。
2024-10-24 23:03:30
2233
25
原创 深度学习面经总结
手肘法其实没什么特别的,纵轴是聚类效果的评估指标,根据具体的问题而定,如果聚类是作为单独的任务存在则使用sse或轮廓系数这类无监督的metric作为纵坐标,然后找到metric最好并且k最小的结果对应的k为最终的选择;手肘法其实也很容易做成自动化,我们计算metric变化的斜率就可以了,具体方法就是计算k=n和k=n+1之间的斜率,当 斜率n和斜率n-1,斜率n+1和斜率n,斜率n+2和斜率n+1的差值均小于固定阈值时即可停止,代码实现上的思路和早停基本是一致的;
2024-10-19 10:16:16
1821
37
原创 Mac开发环境配置
Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷,类似于 Windows 上软件管家。Homebrew Cask 是 Homebrew 的扩展,借助它可以方便地在 macOS 上安装图形界面程序,即我们常用的各类应用。MarkDown写作。
2024-10-19 10:12:06
1085
2
原创 这些编程工具竟然能让我效率翻倍?开发者必备神器盘点!
🔑 工作越来越忙、项目越来越多,一不小心就要“加班”😫,但别怕,今天我们一起来聊聊那些能让工作效率**翻倍**的编程工具!编程工具真的很重要,选对了工具,开发效率直接翻倍!无论是VS Code的插件生态、Git的强大版本管理,还是Docker的环境简化、AI编程助手的未来趋势,每一个工具都能成为你工作中的好帮手。GitHub则让团队协作变得更加高效,Pull Request的功能超棒,合并代码更流畅,团队开发速度飙升!无论是代码编辑器、版本控制工具,还是自动化神器,挑对了工具,效率直接飞升📈!
2024-10-07 09:17:07
1398
38
原创 如何看待IBM中国研发部裁员?
IBM此次裁员并不是行业末日,而是一个新的起点。中国IT行业在全球产业链中面临挑战的同时,也孕育着机遇。对于个人和产业而言,只有保持前瞻性思维和持续学习,才能在变化中找到新的发展空间。💡。
2024-09-15 09:59:41
1110
16
原创 RocketMQ:高速消息中间件的秘密武器
首先,RocketMQ是一个开源的分布式消息中间件。简单来说,它是一个帮助不同系统或服务之间传递消息的工具。想象一下,如果你有很多服务需要相互通信,比如订单系统、库存系统、支付系统等,那么RocketMQ就能帮你快速、可靠地传递这些信息。RocketMQ作为一个强大的分布式消息中间件,已经在各个领域中得到了广泛应用。它的高性能、高可用性和灵活性使得它成为现代分布式系统中不可或缺的一部分。希望通过这篇文章,大家能对RocketMQ有一个全面的了解,未来在项目中也能更好地使用它!下次再见喽~
2024-08-28 22:42:56
1517
42
原创 冯·诺依曼计算机:现代计算机的“DNA”
好啦,先来解个词!“冯诺依曼计算机”这个词来源于一位非常聪明的科学家——冯·诺依曼(John von Neumann)。这位大神级人物在1945年提出了一种新的计算机设计架构,这种设计在今天的电脑、手机甚至是平板上都被广泛使用!可以说,我们每次打开电脑、刷手机,背后都有冯诺依曼的智慧在默默支持。今天的分享有点长,大家看到这里真的辛苦啦!😊 希望通过这篇文章,大家对冯诺依曼计算机有了更深入的了解。它是我们现代生活中不可或缺的一部分,虽然名字有点难记,但它的功能却每天都在我们身边默默地运转。下次再见喽~
2024-08-28 22:34:10
2511
8
原创 克服编程挫折:那些让我在Bug迷宫中找到出口的经验
把每次的挫折当作一块成长的基石,慢慢地,你会发现,曾经困住你的问题都不再可怕。比如,今天搞定一个Bug,明天学习一个新概念,日积月累,你会发现自己走得更远、更稳。每一次的领悟,都是我们前行路上的灯塔。希望这些小故事能为你带来一些鼓励,让我们一起在编程的道路上,克服困难,迎接更大的成就!比如,遇到一个复杂的算法时,可以先理清楚它的每一步逻辑,把大问题拆解成几个小问题,每次只专注解决一个小部分,最后再将它们组合起来。不要觉得寻求帮助是丢脸的事情,很多时候,别人的一句建议就能让你豁然开朗,快速找到解决办法。
2024-08-24 11:25:05
1084
6
原创 什么是低代码,推荐十个国内的开发平台
为什么低代码这么火?国内排名前十的低代码平台分别是哪些?低代码平台的操作方法?低代码平台的优缺点?以及低代码有哪些典型案例?
2024-08-08 22:04:26
1953
49
原创 大学生编程入门指南:如何从零开始?
不同的编程语言各有特点和应用场景,让我们来看看几种适合新手的主流编程语言,并分析它们的特点、应用领域和学习难度,帮助你做出明智的选择。Reddit有很多编程相关的子版块(subreddits),如r/learnprogramming、r/programming等,大家在这里分享资源、讨论技术问题,是个获取信息的好地方。通过选择适合自己的编程语言,利用优质的学习资源,制定有效的学习计划,积极进行项目实践,并解决学习中的困难,你一定能够在大学生活中打下坚实的编程基础,逐步成长为一名编程大神!
2024-08-03 10:03:44
2598
54
原创 全球“微软蓝屏”事件:IT基础设施韧性与安全性的考验
这次全球“微软蓝屏”事件给我们敲响了警钟。在网络安全和系统稳定性方面,任何疏忽都可能带来巨大的风险和损失。我们需要从此次事件中吸取教训,加强软件更新测试、提高供应链安全、强化灾备体系、提升网络安全意识,并借鉴成功案例的经验,共同构建一个更加稳固和安全的网络环境。每一条建议、每一个讨论,都是对网络安全领域的宝贵贡献。期待大家的观点和分享,让我们一起推动网络安全事业的发展!💪✨。
2024-07-26 23:33:24
1141
2
原创 开源免费的一个企业级商城系统
是一款企业级免费开源商城系统,具备可视化DIY拖拽装修功能,包含以下功能特性:支持PC端、H5、多端小程序(微信、支付宝、百度、头条&抖音、QQ、快手),APP支持,多仓库管理,多商户管理,多门店管理,IM客服功能,进销存管理。首页系统遵循MIT开源协议发布,基于ThinkPHP8框架研发。
2024-07-20 15:33:43
2560
3
原创 Redis的10种使用场景
分布式锁可能是使用Redis最常见的场景之一,相对于其他的分布式锁,比如:数据库分布式锁或者Zookeeper分布式锁,基于Redis的分布式锁,有更好的性能,被广泛使用于实际工作中。对应channel发送消息后,所有订阅者都能收到相关消息。因此,可以考虑用一个定时任务,异步将分类树的数据,直接缓存到Redis当中,定义一个key,比如:MALL_CATEGORY_TREE。这样后面该用户访问其他接口的时候,会直接从Redis中查询用户登录状态,如果可以查到数据,说明用户已登录,则允许做后续的操作。
2024-07-18 23:00:24
1420
5
原创 数据库如何简单入手学习
MiniOB 的目标是为在校学生、数据库从业者、爱好者或对基础技术感兴趣的人提供一个友好的数据库学习项目,更好地将理论、实践进行结合,提升同学们的工程实战能力。MiniOB 整体代码简洁,容易上手,设计了一系列由浅入深的题目,能够很好的帮助我们从零基础入门,迅速了解数据库并深入学习数据库内核。因为数据是很重要的,数据库是存储、检索、分析和管理数据的系统。通过学习数据库,你可以理解数据是如何被组织和管理的,以及如何有效地从大量数据中提取有价值的信息。事务管理(MVCC):管理事务的提交、回滚、隔离级别等。
2024-07-18 22:58:50
1214
原创 JUC 包中的 Atomic 原子类总结
Atomic翻译成中文是“原子”的意思。在化学上,原子是构成物质的最小单位,在化学反应中不可分割。在编程中,Atomic指的是一个操作具有原子性,即该操作不可分割、不可中断。即使在多个线程同时执行时,该操作要么全部执行完成,要么不执行,不会被其他线程看到部分完成的状态。原子类简单来说就是具有原子性操作特征的类。包中的Atomic原子类提供了一种线程安全的方式来操作单个变量。Atomic类依赖于 CAS(Compare-And-Swap,比较并交换)乐观锁来保证其方法的原子性,而不需要使用传统的锁机制(如。
2024-07-17 21:51:53
2117
46
原创 生成式 AI 的发展方向,是 Chat 还是 Agent?
生成式 AI 目前在对话系统(Chat)和自主代理(Agent)两个领域都有显著的发展和应用。对话系统主要用于人机交互,通过自然语言处理技术与用户进行交流,典型应用包括智能客服、虚拟助理等。而自主代理则更加注重 AI 的自主决策能力,能够在没有人类干预的情况下完成特定任务,如自动驾驶、智能推荐系统等。在对话系统方面,生成式 AI 技术的进步使得机器能够更自然、更流畅地与人类对话,提高了用户体验。当前市场上的代表性产品有 OpenAI 的 ChatGPT 和 Google 的 Bard 等。
2024-07-17 21:49:02
1023
1
原创 什么是 JWT? 如何基于 JWT 进行身份验证?
JWT (JSON Web Token) 是目前最流行的跨域认证解决方案,是一种基于 Token 的认证授权机制。从 JWT 的全称可以看出,JWT 本身也是 Token,一种规范化之后的 JSON 结构的 Token。Token 自身包含了身份验证所需要的所有信息,因此,我们的服务器不需要存储 Session 信息。这显然增加了系统的可用性和伸缩性,大大减轻了服务端的压力。可以看出,JWT 更符合设计 RESTful API 时的「Stateless(无状态)」原则。
2024-07-16 21:34:35
1535
44
原创 Kotlin方法与Lambda表达式
Lambda表达式的本质其实是匿名方法,因为在其底层实现中还是通过匿名方法来实现的。在Java 8的时候开始支持Lambda表达式,目前Lambda语法在Java中已经被广泛的运用,Lambda表达式可以理解为是一种语法糖,值得庆幸的是,Kotlin一经开源成熟就已经支持这种语法。当我们调用 vararg 方法时,我们可以一个接一个地传参,例如 append('h', 'e', 'l', 'l', 'o'),或者,如果我们已经有一个数组并希望将其内容传给该方法,我们使用伸展。
2024-07-15 19:51:11
887
4
原创 kotlin数据容器
容器是用于存放数据的载体。容器分为数组、集合。Kotlin作为一门全新的语言,肯定还是要有自己的容器类,不然哪天Java跟Kotlin划清界限,那麻烦就大了。Kotlin也拥有三类基本的容器,分别是集合Set、队列List、映射Map,每种容器又分作只读与可变两种类型这是为了判断该容器能否进行增删改等变更操作。Kotlin数组Kotlin集合。
2024-07-15 19:49:57
1191
原创 【Android】Service介绍和生命周期
本地服务:用于应用程序内部,在Service可以调用startService()启动,调用stopService()结束,无论调用了多少次startService(),都只需调用一次stopService()来停止,采用startService()方法启动服务,只能调用stopService()方法结束服务,服务结束时会调用onDestroy()方法,。Service是Android程序中四大基础组件之一,它和Activity一样都是Context的子类,只不过它没有UI界面,是在后台运行的组件。
2024-07-14 11:28:40
2332
9
原创 Android Service的解析
应用内或应用间数据通信,Android每个应用程序都在自己的dalvik虚拟机中运行,一个应用是不允许访问其他应用的内存信息的,为此Android引入了Content Provider在不同应用间共享数据,BroadcastReceiver广播信息给不同应用程序,但Content Provider更多用于数据的共享,BroadcastReceiver广播的信息会被所有应用接收较耗费系统资源,对于两个应用间动态的进行交互还需要通过Service来完成。如果设置为true,则能够被实例化,否则不能被实例化。
2024-07-14 11:23:29
1207
原创 用 Kotlin 编写四则运算计算器:从零开始的简单教程
今天我们将通过一个简单的项目——编写一个四则运算计算器,来学习和实践 Kotlin 语言的基础。Kotlin 是一种现代、简洁且强大的编程语言,兼容 Java,并在 Android 开发中广泛使用。如果你在过程中遇到任何问题,欢迎在评论区留言,我们一起探讨解决。这些都是 Kotlin 编程的基本技巧,掌握这些技巧将为你进一步学习和开发打下坚实的基础。通过这个项目,我们学习了如何在 Kotlin 中处理用户输入、进行基本的算术运算、使用。首先,我们需要一个循环来不断接受用户的输入,这样用户可以进行多次计算。
2024-07-13 12:19:53
7170
50
原创 开源项目的机遇与挑战
总的来说,开源项目为开发者和企业提供了巨大的机遇和广阔的前景,但同时也伴随着一定的挑战。特别是在云计算、人工智能、区块链等前沿技术领域,开源项目的作用尤为突出,通过开源社区的协作和共享,加速了这些技术的研发和应用。:建立和维护一个健康、活跃的开源社区是项目成功的关键。社区管理者需要制定明确的贡献指南、沟通规范和行为准则,鼓励包容、多样化的社区文化,并积极回应贡献者的反馈和问题,保持社区的活力和凝聚力。:开源项目的版权和许可问题较为复杂,不同的开源许可证有不同的规定,可能会对项目的使用和发布产生影响。
2024-07-13 12:13:50
1590
1
原创 kotlin数据类型
Kotlin 有两种类型的字符串字面值:转义字符串可以有转义字符, 以及原始字符串可以包含换行以及任意文本。Kotlin 有两种类型的字符串字面值:转义字符串可以有转义字符, 以及原始字符串可以包含换行以及任意文本。Kotlin 有两种类型的字符串字面值:转义字符串可以有转义字符, 以及原始字符串可以包含换行以及任意文本。在 Kotlin 中还有一点与 Java 不同的是,Kotlin 中数字不存在隐式的拓宽转换。模板表达式以美元符(字符串与转义字符串内部都支持模板。字符串与转义字符串内部都支持模板。
2024-07-12 12:33:37
1085
3
原创 kotlin数据容器
映射内部保存的是一组键值对(Key-Value),也就是说,每个元素都由两部分构成,第一部分是元素的键,相当于元素的名字;队列是一种元素之间按照顺序排列的容器,它与集合的最大区别,便是多了个次序管理。Kotlin 标准库提供了一整套用于管理集合的工具,集合是可变数量(可能为零)的一组条目,各种集合对于解决问题都具有重要意义,并且经常用到。不难发现,每个不可变集合都有对应的可变集合,也就是以mutable为前缀的集合。集合分为可变集合,显而易见,是指集合创建完成之后,可以对集合进行增删改查操作。
2024-07-12 12:33:25
1513
1
原创 谷歌报告显示:2023 年 50% 的0day漏洞利用背后都是间谍软件供应商
2023 年,有 8 个针对 Chrome 的野外0day漏洞,11 个针对 Safari 的野外0day漏洞。虽然被跟踪的 Safari 0day漏洞被用于针对 iPhone 的链中,但除了其中一个 Chrome 0day漏洞外,所有其他漏洞都被用于针对 Android 设备的攻击链中。商业监控软件供应商(CSV)是浏览器和移动设备利用背后的罪魁祸首,2023 年,谷歌将 75% 的已知0day漏洞利用针对 Google 产品以及 Android 生态系统设备(17 个漏洞中的 13 个)。
2024-07-11 10:37:38
1420
3
原创 【Kotlin】为什么要优先使用 Kotlin 进行 Android 开发?
综上所述,尽管Java仍然是Android开发的传统选择,但随着Kotlin的崛起和Google的支持,越来越多的开发者和团队选择优先使用Kotlin进行Android开发,以提高开发效率、代码质量和用户体验。Google本身是Kotlin的支持者和推广者,许多Google的产品和服务,特别是Android开发相关的工具和框架,都在逐步采用和推广Kotlin。Google会支持Kotlin在开发者社区中的普及和应用,包括组织和参与Kotlin相关的培训、会议和活动,以及提供开发者所需的技术支持。
2024-07-11 10:20:51
1005
1
原创 探索Kotlin:从K1到K2
而K2 Kotlin就不一样了!不止于此,Kotlin还能在多平台上飞哦,可以一套代码适配多个平台,比如Android、iOS,甚至是Web。K1 Kotlin就像是Kotlin的早期版本,它跟传统的Java应用比较类似。如果你见过老一辈的安卓应用,它们很可能是用K1 Kotlin写的,比较稳定实用,不过现代化程度可能不够哦。但如果你追求创新,想要更高效的开发体验,还想在多平台上发力,K2 Kotlin是不二之选啦!总之,随着技术的发展,Kotlin在安卓开发中已经成为了一匹黑马,带来了无限的可能性。
2024-07-10 12:54:39
1491
3
原创 Groovy vs Kotlin 在Gradle配置文件中的差异与选择
然而,如果项目需要更高的代码安全性、更好的IDE支持和更丰富的社区资源,Kotlin无疑是更好的选择。特别是随着Kotlin的普及和Gradle对Kotlin DSL的官方支持,Kotlin在Gradle配置文件编写中的优势将更加明显。Kotlin是静态类型的,拥有强大的类型推断系统,可以在编译时检查潜在的错误,从而提供更高的代码安全性和稳定性。随着Kotlin的普及和Gradle对Kotlin DSL的官方支持,Groovy在Gradle脚本编写中的地位可能会逐渐减弱。
2024-07-10 12:46:41
1776
原创 app: 和 android:的区别
前缀的不同主要是为了区分属性的来源和作用范围。了解这些前缀的使用规范能够帮助开发者正确地使用和理解 Android 平台上的布局和视图属性。在 Android 开发中,属性名的开头不同通常反映了它们所属的命名空间或者定义的方式。
2024-07-09 11:25:48
1431
6
原创 语法糖:代码中的甜品
语法糖一词最早由英国计算机科学家彼得·约翰·兰丁(Peter J. Landin)在 1964 年提出,他用来描述在程序设计语言中,特定的语法形式只是一种语法上的改进,而不会带来语言功能上的新特性。换句话说,语法糖并不会引入新的功能或语义,而是改善了代码编写的便捷性和直观性。语法糖虽然看似只是语法上的改进,却对代码的可读性和编写效率有着积极的影响。通过减少冗余的语法和复杂性,它们使得开发者能够更专注于实现逻辑而非纠结于语法细节。
2024-07-09 11:07:08
982
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人