新的博客 UI 正在开发中
新的博客前端框架使用Next.js进行开发,目前仍在不断迭代中...原博客中的文章目前只展示了部分,后续也会逐渐恢复。
SwiftUI:手势动画
HackingWithSwift动画手势笔记使用下面的代码即可创建一个拖动卡片:structContentView:View{@StateprivatevardragAmount=CGSize.zer
Swift weak & unowned
在Swift中,weak和unowned都用于打破引用循环(RetainCycle),但是它们的使用场景和行为有所不同,下面讲解一下他们的区别及用法。一、weakObject本身可以独立存在,并且一定
Swift Opaque 不透明类型
一、Opeque是什么Protocol前面加上some就建立了Opaque类型。主要用在函数的返回类型上。从Swift5.7开始,some的用途还可以用于:方法参数funcprocess(_value
Swift KeyPath 简单了解
文章的展示内容不全,仅做简单了解。一、什么是KeyPathKeyPath是一个能让你表达属性位置的语法,通过KeyPath可以写出更弹性、更动态的语法。structUser{varname:Strin
Swift Protocol 简单概念
一、建立Protocol方法只需要定义名称、参数、回传值。描述该如何设计某个东西。可能是描述某种特性或一些列相关的功能。protocolEquatable{staticfunc==(lhs:Self,
Swift Enum 简单用法
一、建立枚举//以下两种写法是等价的enumCountry{caseChina,America,Russia}enumCountry{caseChinacaseAmericacaseRussia}二、
Swift 包装属性
一、包装属性属性包装(propertyWrapper)写法:建立一个类型,并标识@propertyWrapper。必须有一个名为wrappedValue,并且至少可以get的属性。wrappedVal
Swift 动态派发与静态派发
在Swift中,静态派发(StaticDispatch)与动态派发(DynamicDispatch)是方法调用的两种机制,对编写高性能代码至关重要。一、静态派发定义:在编译时确定调用哪个方法,直接通过
Swift Struct 计算属性
一、计算属性计算属性每次读取时都要重新计算,不适合太复杂繁重的任务。计算属性需要满足以下三点:必须使用var声明。不可以省略类型。至少能够get。structGoods{letprice=100.0l
二叉树基础理论
下面记录一下二叉树的一些简单常用理论。一、种类1.满二叉树节点数量:2^k-1(k是深度,从头1开始)2.完全二叉树除了底层以外,其他层都是满的。底层不一定满,节点从左到右连续。满二叉树一定是完全二叉
#算法 等 2 个标签
Swift 结构化并发简单使用和与 Kotlin 协程对比
最新在学习Swift并发的一些操作,这里记录一下一些常见的用法和与Kotlin协程的一些差异。仅涉及一些简单的基础操作。目前Swift中的异步和线程相关的功能主要分为两套体系:GCD(GrandCen
#Swift 等 2 个标签
Arch 连接蓝牙耳机问题
ArchKDE环境下连接蓝牙耳机报br-connection-profile-unavailable错误无法连接yay-Spulseaudio-bluetooth重启即可
Arch 双系统安装
2025年4月1日验证下载和制作启动盘这里就不再赘述,其次要确保你的系统是使用UEFI进行引导。一、连接网络如果是有线网路可以跳过这一步。#查看网卡名,假设是无线网卡为wlan0ipa连接网络iwct
Arch,Manjaro安装输入法(Fcitx5)
以下方法在ArchLinuxGnome环境中成功安装,理论上在KDE、Xfce、LXDE等桌面环境中同样适用,如果按照下面方法安装后无法调出输入法或是想进行更多自定义操作以及安装其他语言输入法请参考A
Compose 按钮组件
一、Button1.基本按钮Button默认没有任何样式,仅仅是一个点击事件响应组件,需要在content参数中使用其他组件来实现Button。Button(onClick={}){Text(text
#Android 等 2 个标签
Compose 对话框
一、Dialog对话框,content参数允许我们传入自定义的Composable组件。它和普通的Composable组件不同在于其需要依赖独立的Window来进行显示。下面代码演示了点击按钮后显示对
Compose 脚手架简单应用
本文展示了Scaffold的一个简单的基本用法,更多用法请看官方文档一、Scaffold脚手架@OptIn(ExperimentalMaterialApi::class)@ComposablefunS
Compose 图片组件
一、IconIcon组件支持三种类型的图片设置,如下所示Column{Icon(imageVector=ImageVector.vectorResource(id=R.drawable.set_svg
#Android 等 3 个标签
Compose 文字组件
一、TextText遵循MaterialDesign设计规范,如无需使用MaterialDesign可以使用更底层的BasicText组件。Text函数如下所示:@ComposablefunText(
Compose 线性布局与帧布局
一、线性布局1、ColumnColumn是一个垂直的线性布局组件,它的子项从上到下按照顺序垂直排列。下面代码演示了使用Column组件的verticalArrangement和horizontalAl
#Compose 等 2 个标签
Compose 约束布局
一、ConstraintLayout约束布局,使用前需要导入相应的依赖:implementation"androidx.constraintlayout:constraintlayout-compos
JavaFX Fxml LoadException 错误
今天在调试JavaFX时发现报错:ExceptioninApplicationstartmethodExceptioninthread"main"java.lang.RuntimeException:
#JavaFX 等 2 个标签
Ktor后端JWT配置
Ktor是JetBrains开发的一款轻量级的后端框架,下面讲述如何在Ktor中配置JWT。一、导入依赖/**KtorJWT核心依赖**/implementation("io.ktor:ktor-se
#后端 等 3 个标签
Manjaro 配置
电脑上装了Manjaro双系统,看网上很多配置文章总是有一些小问题,要不就是已经过时或者不可用。下面记录一下在我自己电脑上配置成功的步骤。一、配置系统1.更换国内源sudopacman-mirrors
MyBatis 高级结果映射
MyBatis的关联关系也被称为高级结果映射。当实体与实体存在多对一、一对多、多对多三种关系时,MyBatis提供了多种方法将查询结果组装进实体类对象当中。假设现有Employee和Departmen
#SpringBoot 等 3 个标签
Swing 主题推荐
Swing主题推荐FlatLaf,JetBrains的IDE也是用的这个主题,FlatLaf官网pox.xml:<dependency><groupId>com.formdev
#Kotlin 等 4 个标签
Manjaro 上 Compose For Desktop 打包 deb 失败
记录一下在Manjaro上用IDEA打包ComposeforDesktop的deb包失败解决方法:yay-Sdpkg安装dpkg后重新打包即可。并且build.gradle.kts文件中的packag
uTools 在 Linux 上鼠标中键问题
记录一个小坑,uTools默认超级面板是鼠标中键,因为不方便就取消了超级面板,但是在Linux中鼠标中键无效了,终端输入以下命令即可恢复:xmodmap-e"pointer=12"
Git:撤销未提交的修改
有时候我们的代码可能会写的过于草率,以至于原本正常的功能,结果反而被改出了问题。遇到这种情况,只要代码还未提交,所有修改的内容都是可以撤销的。一、撤销修改gitcheckout#具体文件路径这种撤销方
Git:查看修改内容
在进行了一次代码提交之后,我们后面可能还要对项目不断地维护或者添加新功能等,比较理想的情况是,每当完成一小块功能,就执行一次提交,如果某个功能设计的代码比较多,有时候可能写到后面的时候我们已经忘记了前
Git:查看提交记录
当项目开发了几个月之后,我们可能已经执行了上百次的提交操作了,这个时候估计早已经忘了每次提交都修改了那些内容,可以使用log命令查看历史提交信息。一、查看历史提交信息gitlog二、查看其中某一条记录
Git:版本控制简单用法
一、分支的用法(branch)分支是版本控制工具中比较高级且比较重要的一个概念,它主要的作用就是在现有代码的基础上开辟一个分叉口,使得代码可以在主干线和分干线上同时进行开发,且相互之间不会影响。比如最
Fragment 简单用法
一到四节演示一个简单例子,在Activity中添加两个Fragment来平分Activity左右空间。一、新建左Fragment(left_fragment.xml)<LinearLayout.
Halo 移动端后台管理 APP
~~目前只支持到Halo1.6.0版本,最近忙着考试,可能最近半年也不会有更新了,现在Halo也不提供后台的API文档了,这会导致开发难度加大。不过后续有时间也还是会搞一搞,不过Halo现在的后台We
Dart:为 Java 开发人员准备的 Dart 教程
以下内容来自Flutter官方的“为Java开发人员准备的Dart教程”中记录的笔记。一、创建一个简单地Dart类1.定义Bicycle类classBicycle{intcadence;intspee
VsCode 运行 Flutter 报错 Failed to create server socket
本文默认你已经完成Flutter环境设置,且flutterdoctor没有异常今天按照Flutter官方的文档尝试在VSCode上运行调试Flutter应用,在F5运行时一直报错,如下图:下面有几个解
Intent 启动不同程序 Activity 或网络
一、正常启动一个网页valintent=Intent(Intent.ACTION_VIEW)intent.data=Uri.parse("https://baidu.com")二、设置指定的Activ
使用通知 Notification
Android8.0开始引入了通知渠道的概念,每条通知都要属于一个对应的渠道,每个应用程序都可以自由的创建当前应用拥有哪些通知渠道,但这些通知渠道的控制权是掌握在用户手上的,用户可以自由地选择这些通知
Android 播放多媒体文件
Android在播放音频和视频方面做了相当不错的支持,它提供了一套较为完整的API。一、播放音频Android中播放音频文件一般使用MediaPlayer类来实现,它对多种格式音频文件提供了非常全面的
Total 60