# iOS开发高手 ## 1. 整体流程 首先,我们来看一下实现“iOS开发高手”的整体流程。以下是流程图: ```mermaid flowchart TD Start(开始) Step1(创建工程) Step2(设计界面) Step3(添加功能) Step4(测试和调试) End(结束) Start --> Step1
原创 2023-08-17 17:30:33
41阅读
       对于软件开发而言,调试是必须学会的技能,重要性不言而喻。对于调试的技能,基本上是可以迁移的,也就是说你以前在其他平台上掌握的很多调试技巧,很多也是可以用在iOS开发中。不同语言、不同IDE、不同平台的调试,有同性也有个性。今天我们就来学习一下iOS开发中的调试技巧,语言暂用为OC,IDE当然是强大的Xcode。首先说明下,Xcode已经为我们调
转载 2023-06-19 16:15:29
156阅读
首先推荐大家先阅读《Android 开发高手》和我之前的三篇练习:Android 开发高手 课后练习(1 ~ 5)Android 开发高手 课后练习(6 ~ 8,12,17,19)Android 开发高手 课后练习(22,27,ASM)最近二刷了《Android 开发高手》,对于老师提到的一些案例,自己实践了一下。分享给学习此专栏的大家:1.Android 7.1.1 Toast的Bad
转载 2023-09-07 15:31:29
139阅读
iOS开发已经走过了十多年时间,移动圈子里相继诞生了组件化、热修复、动态化、大前端、Flutter、小程序等热门技术,给人一种“乱花渐欲迷人眼”的感觉。 但是从本质来看,它们背后都是一些通用的底层技术和创新的设计思想。热修复、动态化和大前端的底层技术,都是 JavaScriptCore 这样的 JavaScript 虚拟机技术;大前端和 Flutter 的渲染,使用的都是 WebCore 中 Sk
转载 2021-05-06 23:02:42
248阅读
2评论
最近在学习张绍文老师的《Android开发高手》课程,学习到了很多的干货,特别是在处理问题的策略和知识的广度方面给了我很多的启发,对未来的学习提供了方向。...
转载 2022-11-28 16:10:16
176阅读
MongoDB 的关系表示多个文档之间在逻辑上的相互联系。文档间可以通过嵌入和引用来建立联系。MongoDB 中的关系可以是:MongoDB高手1:1 (1对1)1: N (1对多)N: 1 (多对1)N: N (多对多)接下来我们来考虑下用户与用户地址的关系。一个用户可以有多个地址,所以是一对多的关系。以下是 user 文档的简单结构:{    "_id":ObjectId("52ffc33c
原创 2021-04-30 00:27:03
1036阅读
01 | 崩溃优化(上):关于“崩溃”那些事儿anr检测:FileObserver 监听 /data/anr/traces.txt 的变化(5.0以后没有权限使用)ANR-WatchDogSafeLooperBlockCanarynative崩溃日志捕获:Breakpad03 | 内存优化(上)VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)RSS - Resid
网关如何接收服务端的秒杀结果? https://www.cnblogs.com/ukzq/p/13329365.html 我们举了一个秒杀的例子,这个例子是用来说明消息队列是如何来实现异步处理的。课后很多同学留言提问,网关在发送消息之后,是如何来接收后端服务的秒杀结果,又如何来给 APP 返回响应的
原创 2021-07-07 16:40:31
192阅读
作为一个程序员,相信你一定听过“没有银弹”这个说法,这里面的银弹是指能轻松杀死狼人、用白银做的子弹,什么意思呢?我对这句话的理解是说,在软件工程中,不存在像“银弹”这样可以解决一切问题的设计、架构或软件,每一个软件系统,它都是独一无二的,你不可能用一套方法去解决所有的问题。在消息队列的技术选型这个问
原创 2021-07-07 16:46:51
243阅读
对于刚刚接触消息队列的同学,最常遇到的问题,也是最头痛的问题就是丢消息了。对于大部分业务系统来说,丢消息意味着数据丢失,是完全无法接受的。 其实,
原创 2021-07-08 13:22:48
150阅读
如果你研究过超过一种消息队列产品,你可能已经发现,每种消息队列都有自己的一套消息模型, 像队列(Queue)、主题(Topic)或是分区(Partition)这些名词概念,在每个消息队列模型中都会涉及一些,含义还不太一样。 为什么出现这种情况呢?因为没有标准。曾经,也是有一些国际组织尝试制定过消息相
原创 2021-07-08 13:24:40
172阅读
哪些问题适合使用消息队列来解决?接下来我们说一下日常开发中,哪些问题适合使用消息队列解决。 1.异步处理 大多数程序员在面试中,应该都问过或被问过一个经典却没有标准答案的问题:如何设计一个秒杀系统?这个问题可以有一百个版本的合理答案,但大多数答案中都离不开消息队列。秒杀系统需要解决的核心问题是,如何
原创 2021-07-08 13:26:00
252阅读
哪些人适合学消息队列?后端开发者:消息队列几乎是每个后端程序员都会用到的中间件,无论你是开发微服务,实时计算,还是机器学习程序,都需要解决进程间通信的问题。渴望技术提升的开发者:消息队列所涉及的高性能通信、海量数据存储、高并发这些底层的技术比较全面,并且功能简洁、结构清晰,容易入门但又同时具有足够的
原创 2021-07-08 13:27:34
246阅读
在 TCP 的连接上,它传输数据的基本形式就是二进制流,也就是一段一段的 1 和 0。在一般编程语言或者网络框架提供的 API 中,传输数据的基本形式是字节,也就是 Byte。一个字节就是 8 个二进制位,8 个 Bit,所以在这里,二进制流和字节流本质上是一样的。 那对于我们编写的程序来说,它需要
原创 2021-12-07 13:51:01
5136阅读
对于开发者来说,异步是一种程序设计的思想,使用异步模式设计的程序可以显著减少线程等待,从而在高吞吐量的场景中,极大提升系统的整体性能,显著降低时延。 因此,像消息队列这种需要超高吞吐量和超低时延的中间件系统,在其核心流程中,一定会大量采用异步的设计思想。 接下来,我们一起来通过一个非常简单的例子学习
原创 2021-07-07 16:39:13
163阅读
如果消息重复了怎么办?这节,我们就来聊一聊如何处理重复消息的问题。 在消息传递过程中,如果出现传递失败的情况,发送方会执行重试,重试的过程中就有可能会产生重复的消息。对使用消息队列的业务系统来说, 如果没有对重复消息进行处理,就有可能会导致系统的数据出现错误。 比如说,一个消费订单消息,统计下单金
原创 2021-07-07 16:44:55
239阅读
我们日常使用事务的场景,绝大部分都是在操作数据库的时候。像 MySQL、Oracle 这些主流的关系型数据库,也都提供了完整的事务实现。那消息队列为什么也需要事务呢? 其实很多场景下,我们“发消息”这个过程,目的往往是通知另外一个系统或者模块去更新数据,消息队列中的“事务”,主要解决的是消息生产者和
原创 2021-07-07 16:46:00
206阅读
对于很多开源软件来说,如果我们把它作为我们业务系统的重要组成部分之一,真正地用于生产,仅仅知道如何使用是远远不够的,你必须掌握它的实现原理和很多细节,这样才能找到最佳的使用姿势,当你的系统出现问题时,你才有可能基于它的实现原理,再根据一些现象来排查问题原因。 掌握这些开源软件的最佳方式就是去学习它的
原创 2021-07-08 15:05:19
141阅读
如何实现高性能的异步网络传输? 开篇词:在记中也表示出它起到流量消峰的作用.第二篇笔记(or else)也记
原创 2021-11-22 09:51:09
5974阅读
作为当前两大主流移动操作系统之一,iOS伴随着iPhone的风靡而走向了全球。当前
原创 2020-06-06 16:35:51
93阅读
  • 1
  • 2
  • 3
  • 4
  • 5