如何在 Python 中实现宏展开? 如何在 Python 中实现宏展开?Python 的语法以灵活性见长,有时候可能需要动态地对一个模块进行修改,也就是为人熟知的 Monkey Patch 普通的修改对于一些静态生成的常量效果有限,例如下面这段代码,尽管可以修改 generator,但并不会影响调用这个函数生成的变量的值。 1234def generator(name): return "static " + n 2024-09-01 Development & Progarmming #Python #Macros #Black Magic
异步编程中的阻塞、并发与并行 阻塞引言: 什么是 await ?在异步编程中,await 是一个很重要的语法,使用 await 来解析异步操作等待获取值是很常见的事情,因此,初学异步编程时,我们会理所当然地在所有地方使用 await。 但你真的确定你知道 await 为你做了什么吗?以及你是否有思考过,这样使用 await 最终和同步代码相比究竟有什么不同? 本篇文章就以这两个问题出发,对异步编程进行一些思考,希望对你学习异步 2024-07-25 Development & Progarmming #Rust #Dart #Programming #Async #Tokio
通过方法链(链式调用)简单来在面向对象中使用函数式编程 方法链不着急来看什么是方法链,思考一下,如果让你使用Python设计一个Person类,需要带有名字与年龄,你会如何去设计? 如果你写的漂亮点就是这样。 123class Person: age = 17 name = "Yakumo" 人的年龄是逐年增长的,如果你想要修改你Person实例的年龄,一般会怎么做呢?如果你懒一点直接person.age += 1,勤 2024-05-08 Development & Progarmming #Code Aesthetic #Python #OOP #FP
使用rinf进行Rust与Flutter的集成与通信 使用rinf进行Rust与Flutter的集成与通信前言Flutter和Rust之间的跨语言调用做着有一段时间了,从去年开始尝试手动写外部函数接口(FFI),把动态库通过交叉编译手动放进文件夹到现在找一些便利的lib直接用起来,起初用的是FRB(flutter_rust_bridge),但FRB这东西说实话有点繁重,直接生成一堆文件,我不太喜欢 这几天看到了rinf,觉得用的挺不错的,看了看关于r 2024-02-10 Development & Progarmming #Rust #Flutter #rinf #FFI
谈谈代码美学 谈谈代码美学本篇文章仅仅阐述个人观点,如果有想法欢迎提出讨论 什么是代码美学最近看了一系列代码美学相关的视频,什么是代码美学,乍一听感觉是用代码画一幅画,雕几个雕塑之类的,其实并不,代码美感来源于良好的编程习惯与一些技巧,本篇文章谈谈我的拙见 对于一段代码来说,这段代码可读性高,干净简洁,便于使用或维护,那么这段代码就是具有美感的,这种代码往往质量较高,下面有一段不太漂亮的代码 123456789 2023-09-17 Development & Progarmming #Code Aesthetic #Rust #Python #C
浅谈面向对象与面向过程 浅谈面向对象与面向过程本人阅历有限,本篇博客如有错误请不吝指出,也欢迎在下方发布你的看法。 面向对象(OO)对象是什么对象是什么这个问题曾经困惑了我许久,Rust的struct和Python的class都能够实现一个对象,有人说对象是一个属性和方法集的融合体,也有人说面向对象三大基本特征在于封装,继承,多态,多态和继承都是对于子类和父类关系来说,Rust里没有很好的方法来实现这2个特性,在现代编程 2023-09-17 Development & Progarmming #Rust #Python #C #OOP
在VSCode里通过WSL进行C的开发 我只想看看怎么配置MinGWMinGW全称是Minimalist GNU on Windows,翻译一下就是用于Windows的简单GNU套件,里面不仅包含了mingw-gcc/g++用于编译C/C++文件,还包含了许多头文件以及bison,make等工具,可以让你在Windows上轻松开发C/C++程序。 如果你不想使用WSL,你可以参考 Get Started with C++ and Min 2023-08-10 Development & Progarmming #C #WSL #Linux #VSCode
Forge镜像补全计划(教程向) 前言这个教程旨在教你使构建环境完全在镜像下运行,摆脱对代理的依赖。 更换Gradle下载地址Gradle本体的下载地址位于项目文件夹\gradle\wrapper\gradle-wrapper.properties中。 打开gradle-wrapper.properties,你会看到类似以下的文本 12345distributionBase=GRADLE_USER_HOMEdistribution 2023-07-16 Development & Progarmming #Forge #Groovy #Gradle
ROSA开发总结 关于ROSAROSA其实并不是我写出来的第一个配置环境的工具,但可能是最后一个,因为ROSA的功能将会完备,不需要再去立项了,这就是所谓的继承前者并拓展,我开发Kekkai的时候也是抱着这种想法。 为什么叫ROSA?我当初立项的时候想到了一张符卡「Subterranean Rose」,但因为Rose念得不顺口就改成了它的异变体Rosa(笑)。 注意本博客仅代表个人观点,可能有些错误,请自行辨别,欢 2023-07-11 Development & Progarmming #Dart #Gradle #Flutter
MAA通过无线调试连接手机运行 1.前言MAA是什么,可以自己去 [此处] 了解,官网为 maa.plus ,其他连接方式(如模拟器)可以去 [此处] 了解,此处不做赘言。 2.准备工作2-0.我需要什么?在此步骤中,您需要的一步附有无线调试的手机(笔者使用的手机系统是ColorOSv11),一台能够运行基于.NET 4.8应用的电脑。 2-1.ADB与连接手机获取ADBADB是谷歌推出的一款专门用于连接手机进行调试的开发者工具 2023-03-18 Share & Misc #Arknights #MAA #Android