- 博客(155)
- 收藏
- 关注

原创 夏目艾拉的文章归类总结 -- 或许你可以看看这里
文如其名,本文的目的是了对我在csdn发布的所有文章进行总结,why:1. 最近一直专精于Android的工作,或许未来也是,想回顾一下之前折腾的其他技术2. 对于程序员来说,会的技术就是别人认识自己的直观名片吧,我想整理出来,让看到这篇文章的人也更了解我。3. 保持规范和整洁的态度。
2024-08-23 12:24:51
1019
原创 你的函数是什么颜色的?What Color is Your Function?
这篇文章的主旨,我认为是以设计编程语言的角度,探讨同步函数与异步函数、以及他们在语言层的最优实现。本文的内容主要是对文章原内容,按照读者的理解进行的本土化翻译,并添加了一些实例作为解释但是每个读者都有每个读者的理解,阅读原文还是十分必要的作者认为Go语言是真正的无色代码在我看来,Go 语言在这方面做得最为出色。一旦进行任何 I/O 操作,它就会暂停那个协程,并恢复任何其他没有被 I/O 阻塞的协程。
2024-10-19 17:20:23
1121
原创 flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)
Flutter官方框架目前对一些特定的功能(比如桌面端的菜单、多窗口管理等)支持有限,很多功能是通过第三方库来实现的。这些第三方库大多使用了Flutter的平台通道(Platform Channels)机制,与原生平台代码交互来提供相应的功能。在开发中,很多flutter开发受限的操作我们也可以使用平台通道机制,类似Android开发的JNI,JSI。编写平台通道的基本步骤:1.在Flutter中创建一个平台通道使用MethodChannel类创建一个通道,并指定一个唯一的通道名称。2.
2024-09-06 18:04:35
1910
2
原创 flutter开发多端平台应用的探索 上(基本操作)
Flutter 是一个跨平台的开发框架,它允许开发者使用相同的代码库来构建 iOS、Android、Web 和桌面应用程序。最近想了想,自己一直在用flutter开发特定端的应用,但是对于其他端的端特性case,如桌面端的菜单、多窗口、鼠标事件,需要怎么处理还没什么概念,本文旨在简单探索这方面的内容。
2024-09-06 17:59:56
936
原创 Android通知原理探究、iPhone通知原理
Android 系统作为移动设备领域的主流操作系统之一,其功能的丰富性和复杂性不断提升。通知作为 Android 系统与用户交互的重要方式,对于用户体验和应用的有效运行起着至关重要的作用。通知能够在不打断用户当前操作的情况下,向用户传递关键信息,如消息提醒、系统状态更新等。短信,qq、微信消息通知,所有你下滑屏幕看到的消息都是通知。
2024-08-12 10:48:19
1104
原创 Android里的JVM- 有关ART、Dalvik、JNI的一些窥探
Android系统可以运行java、kotlin编写的代码,甚至c语言代码,本质上同也是有一个jvm虚拟机来执行代码,JNI则充当了Java代码和本地代码之间的桥梁,让两者可以互相调用,本文是对于Android虚拟机、JNI的一些探究。
2024-08-12 10:47:21
847
原创 Android系统是如何检测到ANR- 应用无响应的?
最近debug应用时,发现只要看debug的变量内容太久了,app也会爆出anr问题,遂想对ANR做一个系统的整理。
2024-07-24 11:59:51
1073
原创 OpenAI 5月13日推出的ChatGPT4o模型带来了什么新东西及我们需要注意什么
OpenAI再次发布了新一代模型,可惜不是GPT5,发布会很长,所以我尝试看了一些自媒体对发布会做的总结视频,但是我发现这些自媒体制作的视频普遍很“营销号”味且总结的不全面,所以我看了发布会并尝试做了总结。
2024-05-14 11:42:44
1062
原创 Python 题解 牛客 OJ在线编程常见输入输出练习
本文对应的是牛客OJ在线编程常见输入输出练习训练的python答案,主要内容就是处理数据的输入和输出,在leetcode刷题的时候我们只需要编写函数,不用处理输入和输出,这个训练就是专门训练这些的,牛客的题解做的并不好,看起来很不方便,所以我把python的整理了出来。
2024-04-14 14:31:19
1183
原创 Android源码阅读LiveData - 2
LiveData是 Android Jetpack 库中的一个组件,它用于以生命周期感知的方式更新 UI。LiveData遵循观察者模式,允许 UI 组件观察数据的变化,并在数据发生变化时进行响应,常和ViewModel结合使用。上文深入了实际开发常用的xxlivedata.observe()添加观察者方法以及ObserberWrapper观察者包装器类,同时详细深入了应用状态一致的关键dispatchingValue方法,本文将继续深入。
2024-04-02 14:07:04
693
原创 TensorflowLite 委托 推理模型必备的硬件加速
TensorFlow Lite 是一个轻量级的深度学习框架,专为移动设备、嵌入式设备以及其他资源受限环境设计。TensorFlow Lite 的设计重点在于优化速度和效率,以及减少模型的大小,能在边缘设备上进行实时或几乎实时的数据处理和决策。在软件开发中,委托通常被定义为封装了一个方法的引用的一种类型,委托允许程序将方法作为参数传递给其他方法,或者定义预期某个事件发生时应调用的方法。在 TensorFlow Lite 中,"委托"指的是一种机制,允许 TensorFlow Lite 利用特定类型的硬件加速器
2024-04-02 14:06:24
704
原创 Android源码阅读 LiveData - 1
LiveData是 Android Jetpack 库中的一个组件,它用于以生命周期感知的方式更新 UI。LiveData遵循观察者模式,允许 UI 组件观察数据的变化,并在数据发生变化时进行响应,常和ViewModel结合使用。
2024-04-01 15:11:24
1055
原创 [Attention IS All You Need]Transformer模型有哪些变种
笔者写下此系列文章是希望在复习人工智能相关知识同时为想学此技术的人提供一定帮助。本来计划本文接着之前的系列写transformer架构的原理的,但是我觉得transfomer是一个智慧、重要且有些复杂的架构,不先再次回顾一下这篇论文,难以以写博客的形式讲好,但是又由于人的怠惰性,就还是先搁置了,,本文将介绍transformer模型的变种,或者是此架构的二创有哪些,以及其改进。正文。
2024-04-01 11:17:12
734
原创 Python位操作指南:从基础到应用
位操作允许直接在二进制层面上直接操作整数的各个位,使用位操作解决问题能降低很多时间和空间复杂度,以很低的成本很优雅的解决问题,不过有着一定的学习成本。
2024-03-31 14:17:11
1127
原创 Flutter开发的Web应用 构建及部署 标准流程指南
Flutter是Google推出的跨平台开发框架,支持多种平台:Windwos,Mac,iphone,Android,Web,Linux,甚至经过一些折腾还可以支持树莓派,十分强大,笔者曾写过一些探索其底层架构的文章,有兴趣的读者可自行阅读。笔者的Flutter版本为3.16.5,算是比较新的一个版本了,本文将进行标准的把web项目部署到自有云服务器这一流程,云服务器采用Nginx作为Web托管服务器,服务器运维面板为宝塔面板(但这个不影响什么)。
2024-03-31 14:03:50
2096
原创 代码整洁之道 设计模式全解 2
责任链模式是一种行为设计模式,它允许将请求的发送者和接收者解耦,让多个对象都有机会处理这个请求。在这个模式中,这些对象形成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。装饰器模式是一种结构型设计模式,允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式作为现有类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持原类方法签名完整性的前提下,提供了额外的功能。工厂方法,提供了一种创建对象的接口,让子类决定实例化哪一个类。工厂方法模式使一个类的实例化延迟到其子类。
2024-03-29 13:38:49
533
原创 代码整洁之道 设计模式详解 1
单例模式是一种常用的软件设计模式,其核心思想是确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。原型模式是一种创建型设计模式,它复制或克隆对象,同时又能保护原始对象的内部结构。原型模式通过返回对象的一个拷贝来实现对象的创建,这种方式比直接new一个对象在某些情况下更为高效。构造器模式常用用于处理具有复杂构造过程的对象的创建。在软件工程中,当一个对象需要多个部件协同工作时,直接实例化对象可能会导致构造方法过于复杂,且难以维护。
2024-03-29 13:26:07
400
原创 让Android应用活起来: Retrofit 和 OkHttp的比较参考
在构建现代 Android 应用时,处理网络请求是一个不可或缺的部分。其中Square 的两个开源库,Retrofit 和 OkHttp,GitHub Star数很多,被很多人选择。在我刚成为一个Android er 的时候,就对这两个库有所耳闻,不过当时果断选择了Okhttp,因为觉得更简单,现在想抽出时间探讨 Retrofit 和 OkHttp 的用法,同时对比它们的不同。
2024-03-28 15:53:51
1148
原创 带你学会深度学习之优化算法 - 2
笔者写下此系列文章是希望在复习人工智能相关知识同时为想学此技术的人提供一定帮助。图源网络,所有者可随时联系笔者删除。优化算法非常重要,用于调整模型内的参数,以最小化(loss损失)或最大化某个函数。
2024-03-28 13:45:22
846
原创 Android源码阅读WorkMangaer - 6
由于笔者目前水平限制,表达能力有限,尽请见谅。WorkManager 是 Android Jetpack 库的一部分,提供了一种向后兼容的方式来安排可延迟的异步任务,这些任务即使在应用退出或设备重启后也应该继续执行,它是 Android 推荐的解决方案,用于处理需要保证执行的后台任务。WorkManager 适合用于那些不需要立即执行的任务,但最终需要完成的任务。上文主要深挖到了两大调度器的调度原理,接下来先将继续深入。
2024-03-27 17:10:06
905
原创 带你学会深度学习之优化算法 - 1
笔者写下此系列文章是希望在复习人工智能相关知识同时为想学此技术的人提供一定帮助。图源网络,所有者可随时联系笔者删除。在一个深度学习问题中,我们通常会预先定义一个损失函数。有了损失函数以后,我们就可以使用优化算法试图将其最小化。在优化中,这样的损失函数通常被称作优化问题的目标函数(objective function)。即,优化算法是非常重要的,它将调整模型内的参数,以最小化或最大化某个函数(loss损失)。
2024-03-27 15:00:45
699
原创 Android源码阅读WorkMangaer - 5
由于笔者目前水平限制,表达能力有限,尽请见谅。WorkManager 是 Android Jetpack 库的一部分,提供了一种向后兼容的方式来安排可延迟的异步任务,这些任务即使在应用退出或设备重启后也应该继续执行,它是 Android 推荐的解决方案,用于处理需要保证执行的后台任务。WorkManager 适合用于那些不需要立即执行的任务,但最终需要完成的任务。上文主要深挖到了最佳调度器BestAvailableBackgroundScheduler的选择方式,接下来先将继续深入调度器的原理。
2024-03-26 15:00:54
1372
1
原创 带你学会深度学习之循环神经网络[RNN] - 3
笔者写下此系列文章是希望在复习人工智能相关知识同时为想学此技术的人提供一定帮助。图源网络,所有者可随时联系笔者删除。代码不代表全部实现,只是为展示模型的关键结构。与CNN不同,RNN被设计用来处理序列数据。它通过在网络的隐藏层中引入循环,使网络能够保留前一个状态的信息,并将这些信息用于当前状态的计算。这种设计使RNN特别适合处理语言翻译、自然语言处理、语音识别等需要理解数据序列中时间相关性的任务。
2024-03-26 00:49:30
945
1
原创 Android源码阅读WorkMangaer - 4
由于笔者目前水平限制,表达能力有限,尽请见谅。WorkManager 是 Android Jetpack 库的一部分,提供了一种向后兼容的方式来安排可延迟的异步任务,这些任务即使在应用退出或设备重启后也应该继续执行,它是 Android 推荐的解决方案,用于处理需要保证执行的后台任务。WorkManager 适合用于那些不需要立即执行的任务,但最终需要完成的任务。上文主要深入了Constraints类,接下来将继续深入。
2024-03-25 15:46:23
811
原创 带你学会深度学习之循环神经网络[RNN] - 2
笔者写下此系列文章是希望在复习人工智能相关知识同时为想学此技术的人提供一定帮助。图源网络,所有者可随时联系笔者删除。代码不代表全部实现,只是为展示模型的关键结构。与CNN不同,RNN被设计用来处理序列数据。它通过在网络的隐藏层中引入循环,使网络能够保留前一个状态的信息,并将这些信息用于当前状态的计算。这种设计使RNN特别适合处理语言翻译、自然语言处理、语音识别等需要理解数据序列中时间相关性的任务。
2024-03-25 14:52:06
1510
1
原创 动态规划算法问题整理
0-1 背包问题:每种物品只能选择放入或不放入背包一次。完全背包问题:每种物品可以无限次选择放入背包。多重背包问题:每种物品有限定的数量,可以选择放入背包多次,但不超过这个数量。分组背包问题:物品被分为若干组,每组中的物品互斥,即从每组中最多只能选一个放入背包。
2024-03-24 13:36:44
822
原创 Android源码阅读WorkMangaer - 3
由于笔者目前水平限制,表达能力有限,尽请见谅。WorkManager 是 Android Jetpack 库的一部分,提供了一种向后兼容的方式来安排可延迟的异步任务,这些任务即使在应用退出或设备重启后也应该继续执行。它是 Android 推荐的解决方案,用于处理需要保证执行的后台任务。WorkManager 适合用于那些不需要立即执行的任务,但最终需要完成的任务。上文主要深入了WorkManagerInitializer和WorkContinuation类,接下来将继续深入。
2024-03-23 14:31:02
338
原创 带你学会深度学习之循环神经网络[RNN] - 1
笔者写下此系列文章是希望在复习人工智能相关知识同时为想学此技术的人提供一定帮助。本文不讲述如泛化,前向后向传播,过拟合等基础概念。本文图片来源于网络,图片所有者可以随时联系笔者删除。本文提供代码不代表该神经网络的全部实现,只是为了方便展示此模型的关键结构。结合前系列有关CNN的文章,会发现卷积神经网络CNN的结构在处理图像和视觉识别任务方面似乎就是天配,不过对于文字领域呢,好像CNN的结构并不能很好用于序列数据(文字,音频),这个领域,就是RNN的主场。
2024-03-23 14:30:42
469
原创 Android源码阅读 WorkManager - 2
由于笔者目前水平限制,表达能力有限,尽请见谅。WorkManager 是 Android Jetpack 库的一部分,提供了一种向后兼容的方式来安排可延迟的异步任务,这些任务即使在应用退出或设备重启后也应该继续执行。它是 Android 推荐的解决方案,用于处理需要保证执行的后台任务。WorkManager 适合用于那些不需要立即执行的任务,但最终需要完成的任务。前文主要介绍了调用getInstance获取WorkManager实例系统背后做了什么,本文将继续深入。
2024-03-22 10:41:11
1021
原创 带你学会深度学习之卷积神经网络[CNN] - 5
笔者写下此系列文章是希望在复习人工智能相关知识同时为想学此技术的人提供一定帮助。本文不讲述如泛化,前向后向传播,过拟合等基础概念。本文图片来源于网络,图片所有者可以随时联系笔者删除。本文提供代码不代表该神经网络的全部实现,只是为了方便展示此模型的关键结构。CNN,常用于计算机视觉,是计算机视觉方面常见的基础模型,后面发展的有很多其他变种,也被用于文字处理等非计算机视觉领域。概念是由AI领域著名大佬LeCun等人在上世纪90年代提出。
2024-03-22 10:00:37
1299
3
原创 Android源码阅读WorkMangaer - 1
由于笔者目前水平限制,表达能力有限,尽请见谅。WorkManager 是 Android Jetpack 库的一部分,提供了一种向后兼容的方式来安排可延迟的异步任务,这些任务即使在应用退出或设备重启后也应该继续执行。它是 Android 推荐的解决方案,用于处理需要保证执行的后台任务。WorkManager 适合用于那些不需要立即执行的任务,但最终需要完成的任务。
2024-03-21 16:43:06
1489
原创 带你学会深度学习之卷积神经网络[CNN] - 4
笔者写下此系列文章是希望在复习人工智能相关知识同时为想学此技术的人提供一定帮助。本文不讲述如泛化,前向后向传播,过拟合等基础概念。本文图片来源于网络,图片所有者可以随时联系笔者删除。本文提供代码不代表该神经网络的全部实现,只是为了方便展示此模型的关键结构。CNN,常用于计算机视觉,是计算机视觉方面常见的基础模型,后面发展的有很多其他变种,也被用于文字处理等非计算机视觉领域。概念是由AI领域著名大佬LeCun等人在上世纪90年代提出。
2024-03-21 13:45:42
556
原创 Android源码阅读 SharedPreferences - 2
由于笔者目前水平限制,表达能力有限,尽请见谅。提供了一种轻量级的数据存储方式,允许保存和获取简单的键值对。它适用于保存少量的数据,如用户设置或应用程序的配置信息。是Context抽象类的一个具体实现。在Android中,Context是一个抽象类,它提供了访问应用资源、启动活动、发送广播、接收意图等一系列操作的接口。Context是一个场景描述符,它提供了与操作系统交互的接口。
2024-03-20 15:20:02
1083
原创 带你学会深度学习之卷积神经网络[CNN] - 3
笔者写下此系列文章是希望在复习人工智能相关知识同时为想学此技术的人提供一定帮助。本文不讲述如泛化,前向后向传播,过拟合等基础概念。本文图片来源于网络,图片所有者可以随时联系笔者删除。CNN,常用于计算机视觉,是计算机视觉方面常见的基础模型,后面发展的有很多其他变种,也被用于文字处理等非计算机视觉领域。概念是由AI领域著名大佬LeCun等人在上世纪90年代提出。
2024-03-20 13:02:54
987
原创 Android源码阅读 SharedPreferences - 1
由于笔者目前水平限制,表达能力有限,尽请见谅。提供了一种轻量级的数据存储方式,允许保存和获取简单的键值对。它适用于保存少量的数据,如用户设置或应用程序的配置信息。在深入源码之前,先了解一下读取数据:使用对象的getInt()等方法来获取存储的数据。保存数据:要保存数据,首先需要通过获取对象,然后调用putInt()等方法来保存键值对,最后调用apply()或commit()提交修改。
2024-03-19 16:19:55
730
原创 带你学会深度学习之卷积神经网络[CNN] - 2
笔者写下此系列文章是希望在复习人工智能相关知识同时为想学此技术的人提供一定帮助。本文不讲述如泛化,前向后向传播,过拟合等基础概念。本文图片来源于网络,图片所有者可以随时联系笔者删除。带你学会深度学习之卷积神经网络[CNN] - 1CNN,常用于计算机视觉,是计算机视觉方面常见的基础模型,后面发展的有很多其他变种,也被用于文字处理等非计算机视觉领域。概念是由AI领域著名大佬LeCun等人在上世纪90年代提出。
2024-03-19 10:49:29
919
原创 依赖注入解释以及使用Hilt依赖注入提升Android应用的可测试性
在不使用依赖注入的情况下,对象通常会自己创建它们所需的依赖对象,这导致代码之间的高耦合和难以测试。使用依赖注入后,这些依赖会被注入到对象中,而不是由对象自己创建,从而提高了代码的模块化和可测试性。Hilt 是 Android 颇具特色的依赖项注入库,可减少在项目中使用手动依赖项注入时产生的样板代码。手动依赖注入要求手动构造每个类及其依赖项,并借助容器来重复使用和管理依赖项。依赖注入的概念:依赖项不是由对象自己创建,而是从外部注入,从而减少了代码间的耦合度,提高了代码的可测试性和可维护性。
2024-03-18 17:04:48
537
原创 带你学会深度学习之卷积神经网络[CNN] - 1
笔者写下此系列文章是希望在复习人工智能相关知识同时为想学此技术的人提供一定帮助。本文不讲述如泛化,前向后向传播,过拟合等基础概念。本文图片来源于网络,图片所有者可以随时联系笔者删除。CNN,常用于计算机视觉,是计算机视觉方面常见的基础模型,后面发展的有很多其他变种,也被用于文字处理等非计算机视觉领域。概念是由AI领域著名大佬LeCun等人在上世纪90年代提出。
2024-03-18 13:43:55
1103
原创 实战EDA电子设计自动化经典入门模型VHDL代码编写(含代码解释)下篇--移位寄存器
实战EDA电子设计自动化经典入门模型VHDL代码编写(含代码解释)上篇–状态机,逻辑设计:Y=AB+C实战EDA电子设计自动化经典入门模型VHDL代码编写(含代码解释)中上篇–2-4译码器 信号十分频实战EDA电子设计自动化经典入门模型VHDL代码编写(含代码解释)中下篇–D触发器 4选1多路开关电子设计自动化(EDA):定义:EDA是用于设计和开发复杂的电子系统(如集成电路)和印刷电路板的软件工具集合。这些工具通常用于设计电路、进行仿真测试、分析电路行为以及协助制造过程。
2024-03-17 13:41:27
1330
原创 情感分析技术调研:传统方法到深度学习的全景观
本文讨论的是截止到本文发出时间(2024年)为止,文本情感分析的大致方法(不包括调用厂商API以及使用大模型的方法)文本情感分析,是指一段指定文字作为输入,得到这段文本各类情感概率的输出结果。
2024-03-17 13:32:06
1021
汇编 统计一串字符串信息 输出大小写其他字符个数 并且实现了输出各个字符的频次并按从大到小排序
2023-03-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人