自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 android:jetpack compose 第二弹:derivedStateOf的使用

derivedStateOf的使用

2025-07-28 10:54:30 179

原创 android:jetpack compose 第一弹:底部view随着软键盘的弹出而弹起

演示:底部view随着软键盘的弹出而弹起

2025-07-28 10:41:11 319

原创 go-zero仿微信后端项目

大家可由此了解一下。

2025-07-03 22:09:00 95

原创 分布式之CAP原则:理解分布式系统的核心设计哲学

讲解了分布式中的CAP原则

2025-04-22 12:06:35 1113

原创 分布式之易混淆概念

分布式中的一些易混淆的概念

2025-04-22 12:03:20 798

原创 趣味编程之Dagger和Hilt——依赖注入兄弟俩

——一个关于“代码解耦”与“开发效率”的江湖故事2012年,Dagger横空出世,凭借编译时依赖注入的独门绝技,成为Java界的“解耦大师”。它的核心哲学是:“依赖关系必须清晰,代码生成绝不手软!”但Dagger的硬核操作也让开发者叫苦不迭:程序员吐槽:“写Dagger配置比写业务代码还累,简直是‘配置地狱’!”2020年,谷歌推出Hilt,口号是:“让依赖注入像点外卖一样简单!”对比示例:程序员真香:“Hilt让我从Dagger的‘配置苦力’变成‘甩手掌柜’!”经典对决场景:决策树:第四章:兄弟合

2025-04-20 19:01:41 804

原创 jetpack之LiveData的原理解析

讲述了LiveData的工作原理

2025-04-20 18:53:56 902

原创 分布式系统大揭秘:你的代码如何在银河系开分公司?

深夜加班的程序员小王突然拍桌:”我的单机程序跑得比博尔特还快,为什么一上生产环境就像树懒上树?这里每个服务都是独立星球,网络延迟比外卖还玄学,而你要做的,是让整个银河系协同工作!" class="reference-link">深夜加班的程序员小王突然拍桌:”我的单机程序跑得比博尔特还快,为什么一上生产环境就像树懒上树?这里每个服务都是独立星球,网络延迟比外卖还玄学,而你要做的,是让整个银河系协同工作!今天打比赛之后实在没时间写了(其实出去玩了😋),诶呀,写不了文章真难受啊(😋)

2025-04-19 23:18:25 414

原创 代码魔法师的最爱:为什么开发者对Linux爱得深沉?

如果编程世界有一场"开发者真爱度"评选,Linux大概会戴着标志性的企鹅头套,抱着吉他唱:“我不过是个平平无奇的系统,却让全球码农为我痴狂~🎸” 这个诞生于1991年的开源系统,究竟施了什么魔法让程序员们欲罢不能?在这里,没有科技巨头的围墙花园,只有一群相信"代码即自由"的理想主义者。用dmesg | tail -20调出系统日记,配合strace进行代码级侦探,每个BUG都是让你升级技能的NPC。错误代码:0x80070005”。这种"我的系统我做主"的自由度,让Windows的蓝屏都显得像是行为艺术。

2025-04-19 22:30:47 313

原创 趣味编程之操作系统趣谈

下一秒,你被吸入代码漩涡,睁开眼时发现自己站在一个巨大的数据过山车前——轨道上飞驰着二进制信号,内存条像摩天轮般旋转,而文件系统正用机械臂在硬盘迷宫里抓娃娃…

2025-04-18 19:32:46 411

原创 Linux之基础命令

掌握这些基础命令后,你已经可以完成Linux系统的大部分日常操作。建议在终端中多实践,结合man命令深入学习参数细节。后续可逐步探索Shell脚本、软件包管理(aptyum)和系统服务管理(systemctl),进一步提升Linux技能!

2025-04-18 19:26:59 694

原创 趣味编程之分布式系统:负载均衡的“雨露均沾“艺术

此篇文章由Deepseek大力支持😋“羊肉卷走3号桌!“肥牛卷去7号!“虾滑优先给VIP区!我蹲在传菜口的监控屏幕前,看着机器人服务生们忙而不乱地穿梭。突然间,1号机器人电量告急,5号机器人卡在传菜电梯里,而新来的8号机器人还在门口迷路…这场景像极了上周线上事故——某个微服务节点突然宕机,整个系统雪崩。老板拍着我的肩膀说:“看见没?咱们这后厨,就是个活生生的负载均衡系统。

2025-04-17 19:04:26 727

原创 jetpack之LiveData的简单使用(特别简单,让你爽到飞!)

主要讲述的livedata的简单使用

2025-04-17 18:27:19 477

原创 Androidjetpack之viewmodel的原理分析

简单讲述了viewmodel的原理

2025-04-16 13:52:40 1652

原创 趣味编程之写给goroutine的情书

你手一抖打翻了咖啡,突然想起七年前那个雨夜——当其他语言还在用笨重的线程谈着异地恋时,Go轻轻在你耳边说:“我的并发,是轻到能刻在蒲公英上的情诗。

2025-04-16 12:32:53 344

原创 趣味编程之让Android升空的Jetpack

你戴着虚拟现实头盔,眼前的控制台上闪烁着「Android系统发射准备中」。你猛拍控制台,却发现代码库里堆满了陈旧的Activity和乱飞的匿名回调。。"这是谷歌宇航局最新研发的火箭引擎,"机械臂递来一份《星际开发指南》,“它能用Kotlin粒子加速代码,用Compose合金重构UI,还能自动清理太空垃圾(内存)。

2025-04-16 12:31:13 423

原创 趣味编程之一生都在内存泄露的C++

你百思不得其解——明明鱼食包装上写着"高性能颗粒饲料(new)",却没人告诉你每次投喂后要清理鱼便便(delete)。多年后你成为技术总监,在给新人培训时笑道:“C++程序员分两种——正在内存泄漏的,和以为自己没泄漏的。” 台下传来弱弱的提问:“那…当你的程序像气球一样飘向256TB内存占用时,终于明白:指针就像前任的心,你以为紧紧攥着,其实早就不知道丢在哪个函数栈里了。那是我们写给内存的情书,是永不消逝的电波,是…圣彼得擦了擦汗:“见谅,最近C++程序员来得太多,天堂的服务器每天都在内存泄漏。

2025-04-16 12:30:09 396

原创 Go之defer关键字:优雅的资源管理与执行控制

场景推荐做法资源释放必须使用defer错误恢复结合panic/recover使用返回值修改仅在命名返回值时使用高频循环避免使用defer,手动释放资源性能敏感代码权衡可读性与性能损耗核心价值代码简洁性:将清理逻辑与主逻辑解耦异常安全性:确保资源在任何执行路径下释放可维护性:集中管理关键操作警示避免在defer中执行耗时操作注意闭包变量捕获的时机问题警惕循环中积累大量defer调用通过合理运用defer,开发者可以编写出更健壮、更易维护的Go代码。建议结合。

2025-04-15 12:55:35 466

原创 Go之Slice和数组:深入理解底层设计与最佳实践

讲解了数组与slice的不同以及使用

2025-04-15 11:58:49 549

原创 趣味编程之C与Java:编程界的“父与子”恩怨录

从Android开发到大数据(Hadoop)、再到云原生(Kubernetes),用JVM生态证明:“安全与性能可兼得!“Java就像C++的孪生兄弟,只不过一个在工地开挖掘机(C++),一个在写字楼喝星巴克(Java)。詹姆斯·高斯林(James Gosling)看着C家族的内斗,默默种下一棵。” —— 于是C++诞生,给C披上了**C++反怼:“你那指针野性难驯,新人学三天就哭着转行!C老爹怒斥:“你搞的这些虚头巴脑的OOP,性能比我的。(Java曾用名),决心打造一个。

2025-04-14 12:57:37 391

原创 jetpack之ViewModel的简单使用

讲解了ViewModel的简单使用

2025-04-14 12:32:43 875

原创 趣味编程之Spring的白学之路

— 每个Java程序员都逃不过的“真香定律”时,突然想起小学作文题:《我的理想》——突然理解《圣经》中“要有光”的真谛——你信心满满打开Eclipse,却被。,冷笑:“呵,年轻人不讲武德!结果发现事务根本没生效!某天你试图自定义一个。

2025-04-13 16:56:45 880

原创 趣味编程之 编程语言演义:代码江湖的爱恨王朝

— 一场跨越半个世纪的硅谷《权力的游戏》

2025-04-13 16:00:08 695

原创 jetpack之jetpack的概括和其中组件的简单使用

讲述了jetpack该学哪些组件以及组件的简单使用

2025-04-13 15:50:17 733

原创 jetpack之lifecycle的原理分析

本文讲述了lifecycle的工作原理以及三大核心组件

2025-04-13 15:36:04 796

原创 go之为什么学go?

我们都知道有些大厂企业之中,go其实占了挺大的一部分。比如我们熟知的字节跳动,bilibili。在云服务行业,混的风生水起的docker也是go的大儿子。为什么go会如此的强大,发展的如此的快,这个语言到底好在了哪?我们都知道,go的出现比较的早,可以说是现代编程语言了。在他之前出来的c、java、python等等都是不原生支持多核并发的,都是处理单核的。go的成功有着自己得天独厚的优势,因为那个年代,多核cpu已经能够生产了,所以go是原生就支持高并发的。

2025-04-12 18:26:19 493

原创 趣味编程之go与rust的爱恨情仇

文章主要是通过deepseek来生动的比较go与rust两者的优缺点

2025-04-12 18:00:43 1077

原创 jetpack之lifecycle的入门使用[特殊字符]

lifecycle极大的对UI组件的声明周期进行了解耦。

2025-04-12 16:51:20 530

原创 kotlin协程的使用之协程作用域的类型

这篇文章主要讲的是协程作用域的使用,我所熟知的几个协程作用域有——viewmodelscope、lifecyclescope、GlobalScope、MainScope、supervisorscope、runBlocking以及自定义CoroutineScope。在kotlin中提供了一个更加直观的,便捷的满足Android开发工作者的IO异步请求操作——协程。此篇文章仅对各个作用域的特点进行讲解,不对协程上下文有太多解释哈🤪。

2025-04-11 11:18:33 479

原创 kotlin音乐app之自定义点击缩放组件Shrink Layout

这initxy啥的我都注释了,ai生成的没啥用感觉。在摁下去的时候,也就是dawn,只有一个缩小的动画,其实这里没改写好,perform Click这里可能因为有这个我滑动的时候才会一直触发点_吧(这里省略一字),还请大佬指点啦。上图,视频最后app崩溃是因为我用了redis并且把redi后端中转api部署到了我的myredisapi.com,但是我的代码没放在云上面,或者docker里就崩了。为了丰富用户的体验感,再点击一个item的时候都喜欢能够得到一些反馈,这样,为了能够得到反馈,我写了个缩放布局,

2025-04-11 01:09:30 530

原创 kotlin音乐之自定义唱片组件(简单版本)

是进行了jotkin的一个构造方法的重载,在源码中AppcompatImageView是java代码,在其中有多个构造函数。这个动画的好处在于,你在构造此动画的时候,直接输入rotation字符串就能实现围绕中心点的旋转,特别的方便。再看apply中,因为apply的使用提供了一个this的对象,所以对于属性的赋值更加的方便。这几个控制方法没什么好说的,属性动画非常的贴心把动画的开始、暂停、重启、结束和取消都给我们了。其中,duration表示一次动画的时间为10000毫秒,也就是转一圈为10秒钟。

2025-04-11 00:14:22 1247

原创 UE5.4C++实现2D向量的人物Move移动(1)

在内容文件夹下面创建一个BP文件夹以存放蓝图类,在BP下,新建一个input文件夹,在input中,点击右键,会有一个输入操作,创建一个mappingcontext,这个就能管理你的输入操作了,这篇文章先到这里,之后我会发此操作截图,因为没带电脑💻😭。点击左下角的内容控制器一栏,点开之后,每个ue项目都会有一个内容文件夹,进入内容文件夹,在内容控制器的一栏中央有一大块空白地方,这里右键就能够创建一个蓝图或者关卡。我们在ue引擎编辑器里面,创建一个映射上下文。

2025-04-10 23:32:59 154

原创 用kotlin写一个音乐app

支持笔记功能,写的比较仓促,只能歌曲下进行评论,而且仅支持对楼主的回复(还有一点小bug,在连续点击的时候会造成数据污染哈哈哈)我的项目利用了kotlin协程,retrofit、room以及redis进行网络请求,没有本地的数据。并且,此项目还封装了一个python生成音乐模型实现了音乐生成api。(生成很慢并且可能失败)仅仅作为学习项目是足够的,在代码维护以及UI和安全方面还有很大改进。其中,redis采用后端中专方案,封装了一些api。

2025-04-08 15:29:28 141 1

原创 Codeforces Round 834 (Div. 3)F. All Possible Digits

此题主要思想是进行二分,这是因为如果我x次操作就能够包含到0~p-1。那么,x+1次必然也可以将0~p-1包含到。既然这样,那么进位次数就呈现单调性。其中vis.push_back(make_pair(a,b))表示,a~b都被包含到,now为当前的进位。最大的边界就是m次,那肯定会覆盖完全。第一次我是用了差分数组但是没有想到p的大小位10^9 O(plogp)显然过不去。

2024-11-20 20:48:54 141

原创 A. Max Plus Size(I)

这个题就是找在奇数位置最大值和偶数位置最大值,最后加上相应索引个数。

2024-11-16 19:39:19 139 1

原创 POJ-3250

明显的能够知道这是找当前位置的右边离他最近的且不小于他的位置,这就要用到单调栈了,(lower_bound应该也能行)。单调栈的应用是能够找到最近的最值得位置或者其大小。这是一道单调栈的模板题。题目情景是当前的牛站在其所处位置,向右边看(下标大的方向),最多能看到哪里(如果这个位置的元素大小比他自己还大就停止)。

2024-11-16 19:28:46 166

原创 Codeforces Round 615 (Div. 3)D. MEX maximizing

【代码】Codeforces Round 615 (Div. 3)D. MEX maximizing。

2024-09-01 14:31:15 176

原创 Codeforces Round 698 (Div. 2):C. Nezzar and Symmetric Array

d[i] = (i*a[i]-si+sn-si-(n-i)*a[i]) +(n*a[i]+sn) = 2*(i*a[i]-si+sn),这样子a[i]就有了,a[i] = d[i]-2*(sn-si)/2*i,那么这个sn-si怎么求呢,那么很特殊得a[n]=d[n]/2*i,那么s[n]-s[i]不是手到擒来了。从小到大对啊a[i]进行排序(假设a存在),a[1]、a[2]、……那么从后向前求a[i]就可以啦,如果a[i]求出来是分数,那么这个a是不存在,这就是d得另。,并且a数组里面不能有0,因为。

2024-08-08 00:26:18 277

原创 Codeforces Round 906 (Div. 2):C - Qingshan Loves Strings 2

如果存在这样一个字符串:0110,那么第一位和最后一位都是0,也就是说,这个时候的"01"插入在最后一位的后边,来保证破坏这个相等条件,那么就变成了,011001,这样子就变成一个优美字符串。如果是1001呢,这样的话,“01”就应该插入在第一位的前面,破坏这个相等。题目中给了300的字符操作数,如果成立的话这个数字是一定能行的,如果不能成立再多的操作也不能化成优美字符串。这样子的话,不加入01和加入01一样的不成立,因为加入01之后,两者数量还是不一样,,那么,这个字符串有什么奥妙呢。

2024-08-04 16:12:20 230 1

原创 CodeTON Round 7 (Div. 1 + Div. 2, Rated, Prizes!) :D:Ones and Twos

如果一个数组为1 2 1 2 1,要求查询的是5,那么,这个五可以是前后减掉两个一得到,如果数组是2 1 1 1 2 ,那么直接减掉2就能得到。那么,为什么会得到这样的式子呢,我们可以想到,既然是最左边和最右边的1,那么,他们还没找到之前的数字都是2,也就是2 2 2 2 ……,那么,我们就应该贪心的想如何让减去奇数之后的这个sum最大(也就是删掉几个数字之后sum最大),那么就可以想,。,因为减掉左右两边(左边可减掉0/1个数字,右边同理)的数字之后,还是满足能够剪掉左右两边的偶数数字。

2024-08-04 03:23:42 382

空空如也

空空如也

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

TA关注的人

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