在 iOS 中,只有继承了 UIResponder(响应者)类的对象才能接收并处理事件。其公共子类包括 UIView、UIViewController 和 UIApplication 。
UIResponder 类中提供了以下 4 个对象方法来处理触摸事件:
/// 触摸开始override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {}/// 触摸移动override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {}/// 触摸取消(在触摸结束之前)/// 某个系统事件(例如电话呼入)会打断触摸过程override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) {}/// 触摸结束override func touchesEnd ...
1.最炫酷的 AI 工具 - LUMA
描述: 一个计算机视觉和图像处理工具库。它提供了先进的图像处理算法和模型,如物体检测、图像分割、图像增强等。Luma Labs 具有高性能的图像处理能力,可以灵活集成到现有应用程序中,为大家提供丰富的图像处理功能。
官方链接:LUMA AI
2.看起来最有用的 AI 工具 - Gamma
描述: 使用这款强大的 AI 生成器,创建一个工作演示文稿、文档或网页,您可以在不到一分钟的时间内进行改进和定制。
官方链接: Gamma
3.最好用的 AI 搜索引擎 - Phind
描述: 一个无需注册的 AI 搜索引擎,让你轻松解决编程问题!
官方链接: Phind
4.最有潜力的 AI - vall-e-x
描述: 仅需 3 秒音频实现声音克隆!
官方链接: vall-e-x
5.最好用的 AI 学习工具 - Albus
描述: 一种与 AI 技术互动的全新方式。Albus 可以分解主题、创建见解、生成图像和音频。
官方链接: Albus
6.使用最多的 AI 工具 - Raycast AI
描述: 想取代 Spotlight 的「 ...
1. 拦截的价值
计算机科学领域的任何问题都可以通过增加一个中间层来解决。 —— Butler Lampson
如果系统的控制权、代码完全被掌控,很容易添加中间层;
现实情况我们往往无法控制系统的所有细节,所以需要使用一些 “非常规”(拦截) 手段来增加中间层。
2. 拦截的方法
2.1 拦截/覆写 浏览器 API
最常见的场景有通过拦截 console 实现错误上报。
const _error = console.errorconsole.error = (...args) => { _error.apply(console, args) console.info('在此处上报错误信息...')}// 其它代码打印错误console.error('error message')
项目中通常会基于 axios 此类的网络库,做一些统一处理逻辑
但在某些场景,我们无法修改项目代码,就能通过拦截 fetch, xhr 来达到目的。
// 接口性能监控,打开 https://example.com/, 在控制台执行以下 ...
1. 理性的崛起
苏格拉底喜欢问别人问题,然后被判死刑了。
柏拉图是苏格拉底的学生,亚里士多德在柏拉图学院学习过,后来他成了马其顿王子亚历山大的老师,亚历山大征服了希腊,乃至东欧、北非、中亚。
后来罗马帝国取代了亚历山大帝国,但是他们同样试行包容政策,这样希腊哲学得到了流传。文化的多元性促使欧洲成为一个多民族国家,这点秦始皇做的恰好相反。
保罗是身在罗马的犹太人,他从犹太教转投基督教,帮助基督教进行传教,但是他宽容的传教行为遭到了原基督教的抵制,
哲学早期是为基督教做宣传的,但是本质上是相悖的,哲学要求怀疑,宗教要求信仰。
“能用钱解决的问题都是不是问题。” “必须用暴力解决的问题都是解决不了的问题。” 这两句话都是有适用范围的,后者可以阐述阶级上层对低层的处理方式。
基督教传播越来越广,威胁到了罗马的统治,也遭到了罗马法律的制裁。原因就是当时基督教的教义讲究,单一信仰,反暴力,人人平等。
君士坦丁当上了罗马皇帝,发布了《米兰赦令》,鼓励了基督教的发展。基督教也成了罗马的国教。
哲学家们成了基督教所称的“异教徒”中的一员。基督教徒们毁掉了大量和教义不 ...
为什么要做性能优化?性能优化到底有多重要? 网站的性能优化对于用户的留存率、转化率有很大的影响,所以对于前端开发来说 性能优化能力 也是重要的考察点。
性能优化的点非常的多,有的小伙伴觉得记起来非常的麻烦,所以这里主要梳理出一条线来帮助记忆。
可以将性能优化分为两个大的分类:
加载时优化
运行时优化
加载时性能
顾名思义 加载时优化 主要解决的就是让一个网站加载过程更快,比如压缩文件大小、使用 CDN 加速等方式可以优化加载性能。检查加载性能的指标一般看:白屏时间和首屏时间:
白屏时间:指的是从输入网址, 到页面开始显示内容的时间。
首屏时间:指从输入网址, 到首屏页面内容渲染完毕的时间。
1.1 白屏时间计算
将代码脚本放在 前面就能获取白屏时间:
<script>new Date().getTime() - performance.timing.navigationStart</script>
1.2 首屏时间计算
在 window.onload 事件中执行以下代码,可以获取首屏时间:
new Date().getTime() - pe ...
下面是一些用 css 做出的效果,挺有意思,记录一下。
1. 发散特效
<div class="loader rainbow"> <div class="circle" style="--i: 1"></div> <div class="circle" style="--i: 2"></div> <div class="circle" style="--i: 3"></div> <div class="circle" style="--i: 4"></div> <div class="circle" style="--i: 5"></div> <div class="circle" style=&qu ...
1. 栈
栈是一种遵从先进后出 (LIFO) 原则的有序集合;新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另一端为栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。
class Stack { constructor() { this.items = [] } // 入栈 push(element) { this.items.push(element) } // 出栈 pop() { return this.items.pop() } // 末位 get peek() { return this.items[this.items.length - 1] } // 是否为空栈 get isEmpty() { return !this.items.length } // 尺寸 get size() { return this.items.length } // 清空栈 clear() ...
排序算法是面试及笔试中必考点,本文通过动画方式演示,通过实例讲解,最后给出 JavaScript 版的排序算法
1. 冒泡排序
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从头到尾,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
编程思路:外循环控制需要比较的元素,比如第一次排序后,最后一个元素就不需要比较了,内循环则负责两两元素比较,将元素放到正确位置上
// 冒泡排序,两层循环function bubbleSort(arr) { var len = arr.length for (var i = len - 1; i > 0; i--) { for (var j = 0; j < i; j++) { if (arr[j] > arr[j + 1]) { var tmp = arr[j] arr[j] = arr[j + 1] ...
在开始学习之前,我们首先要搞懂时间复杂度和空间复杂度的概念,它们的高低共同决定着一段代码质量的好坏
1.时间复杂度
一个算法的时间复杂度反映了程序运行从开始到结束所需要的时间。把算法中基本操作重复执行的次数(频度)作为算法的时间复杂度。
1.1 大 O 表示法
大 O 表示法是用来表示算法的性能和复杂度的, 通常也表示算法占用 cpu 的情况。
O(1)复杂度
// 复杂度为永远为一function increase(n) { n++}
O(log n)复杂度
对数级的时间复杂度,随着数组数量的扩大,它的时间复杂度增长反而越来越缓慢,也就是说,数组越长对数级的时间复杂度的算法越具备优势.
二分查找法就是典型的对数级的时间复杂度,我们通过动图能看到它的优势,几步就能完成。
// 二分查找,前提是数组为有序数组function binarySearch(target, arr) { let start = 0 let end = arr.length - 1 while (start <= end) { let mid = ...
kkndme_tianya(持续更新中…)
天涯神贴「2010 年的房地产调控,我们收获了什么?写在房价暴涨前」脱水版,内容时间顺序和原贴一致,原贴中的优质非楼主写的内容,添加了引用格式便于区分。
除标题外,所有内容均来自原贴,标题是我简单加的,目的是为了做目录,便于查看。
调控降房价是刚需的一厢情愿
1、人人都有居住权。房子是用来住的,不是用来炒的。
2、房子太贵了,租售比严重不合理,空置率太高,人均收入太低,早晚要崩盘。
3、房价上涨造成物价上涨,人民生活变得困难
调控的真正目的:防范金融风险 & 通过垄断实现 gj 利益最大化
官方公布的统计数据,只要关系到某个群体的利益,就一定会被修饰导致失真
税收从来都是向下游转嫁的 & 房产税迟迟不出台的真正原因
房地产的现状
房价持续上涨的本质是稀缺性让好房子成为资金最好的去处
关于垄断
1、垄断的好处是没有风险
2、垄断可以解决社会稳定
3、房屋垄断只会愈演愈烈,底层人民想要拥有一套房子的难度只会越来越难
民生问题
房产税的制定原则
维稳的本质是人民能吃饱饭
公租房是为体制内服务的
房产税一定会转嫁给租 ...