移动开发

js 箭头函数和普通函数的区别和this指向看这篇就够了

this指向问题是个老问题了,网上的教程很多都是相互copy的,让萌新一脸蒙,这里简单总结下,保证一次性搞懂。 首先,这里有个问题是js分严格模式和非严格模式,严格模式和非严格模式下this指向稍微有点区别,主要就是全局作用域中普通函数中的this指向问题,严格模式下是指向undefined的,非严格模式下是指向window。 image.png 现在一般用的都是严格模式,比如vu

基于Telegram二次开发 --- 打包篇

在 环境篇 ,我们在 步骤3 生成了一个 telegram-configuration 的文件夹,打开 telegram-configuration 文件夹,如图所示: image.png provisioning:真机运行以及打包 ipa 所需描述文件存放的文件夹 variables.bz:bazel构建项目时的配置 我们需要更改的就是 provisioning 文件夹和 va

Block源码解析

block源码 源码 如图所示一个正常block底层被编译成了 __main_block_impl_0结构体,该结构体里包括 _block_impl里面存储的是block的调用信息,__main_block_desc_0表示的是block内存描述。 剩下的属性即为block里引用到的属性 typedef void (^Block)(void); Block block; {

iOS 三种画板实现方式

UIBezierPath,Quartz2D,OpenGLES 1. UIBezierPath 1 UIBezierPath 使用UIBezierPath可以创建基于矢量的路径,此类是Core Graphics框架关于路径的封装。使用此类可以定义简单的形状,如椭圆、矩形或者有多个直线和曲线段组成的形状等。 UIBezierPath是CGPathRef数据类型的封装。如果是基于矢量形状的路

idea 通过git撤销commit但未push的操作

1、undo commit适用情况:代码修改完了,已经Commit了,但是还未push,然后发现还有地方需要修改不想提交本次记录了。这时可以进行Undo Commit,修改后再重新Commit。 注意:如果已经进行了Push,线上的Commit记录还是会存在的打开git记录,进行Und

【Android】Room数据库的基本使用

【Android】Room数据库的基本使用 一、什么是Room 1.1 Room简介Room是Android Jetpack组件库中的一部分,对SQLite进行了封装,简化了对SQLite数据库的操作,让开发者使用面向对象的方式(通过Java/Kotlin)来操作SQLite数据库,从而避免了编写大量繁琐的SQL

macOS Tahoe 26 界面乱象:圆角不统一引发的视觉危机与适配指南

macOS Tahoe 26界面乱象:圆角不统一引发的视觉危机与适配指南在操作系统迭代的进程中,细节往往是决定用户体验优劣的关键。2025年推出的macOS Tahoe 26,本应凭借全新的设计理念为用户带来更优质的使用感受,然而,其在窗口圆角设计上的混乱表现,却让众多追求视觉一致性的细节控陷入了困扰。本文将深入

第二章 RocketMQ 基本消息

基本消息发送有三种姿势:同步、异步、单向。 同步:消息发送到 Broker 成功后,返回发送成功结果;这种可靠性同步地发送方式使用的比较广泛,比如:重要的消息通知,短信通知。 异步:消息发送出去后立即返回结果,可以在发送成功的消息回调中,查看消息是否发送成功;异步消息通常用在对响应时间敏感的业务场景,即发送端不能容忍长时间地等待 Broker 的响应。 单向:消息发送出去,Broker 不返回

Java注解实现异步导入与导出(二)

Java注解实现异步导入与导出(一) 上一篇写完了用注解实现异步导入,这一篇实现用注解异步导出。 1.背景: 导出最容易遇到的问题就是超时了,随着我们DB数据越来越多,导出时特别容易超时,这时候通常的解决办法就是优化SQL,或者直接限制导出条数,但是这两种方法都只能解决暂时的问题,过一段时间可能就又会冒出来。所以还是使用异步导出,先存到nas中,然后让用户再去下载。 2. 流程设计: 2.1 生