首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS面试题梳理(二)

实现NSCoding协议必须实现的两个方法: 3.编码(对象序列化):把不能直接存储到plist文件中得到数据,转化为二进制数据,NSData,可以存储到本地; 4.解码(对象反序列化):把二进制数据转化为本来的类型...3.提供NSFetchResultsController类用于管理表视图的数据,即将Core Data的持久化存储在表视图中,并对这些数据进行管理:增删查改。...; 4.关系维护,Core Data管理数据的关系传播,包括维护对象间的一致性; 5.在内存上和界面上分组、过滤、组织数据; 6.自动支持对象存储外部数据仓库的功能; 7.创建复杂请求:无需动手写SQL...Core Data的Schema Migration工具可以简化应对数据库结构变化的任务,在某些情况允许你执行高效率的数据库原地迁移工作; 11.可选择针对程序Controller层的集成,来支持UI的显示同步...Core DataIPhone OS之上,提供NSFetchedResultsController对象来做相关工作,在Mac OS X上我们用Cocoa提供的绑定(Binding)机制来完成的。

1.2K101

EasyRecovery15苹果版本电脑数据恢复软件

用户在使用的时候,只需要在第3步“选择恢复方案”中选择适合数据丢失问题的恢复方案即可,而对于每一种恢复方案,EasyRecovery向导都有详细的介绍 利用EasyRecovery进行电脑数据恢复的时候...iPhone数据恢复的工作原理 您的iPhone 或 iPad曾经发生过由于应用或系统故障导致数据丢失问题吗?越狱失败或未完成的iOS更新?损坏的设备?很多原因均可能导致数据丢失。...EasyRecovery引入了iPhone数据恢复模式,该模式也可适用于运行iOS的所有设备。EasyRecovery可以直接扫描您的iPhone或从存储在iTunes中的iOS备份里提取丢失数据。...当EasyRecovery直接扫描您的iOS设备获取丢失数据,它会创建一个隐藏的iTunes备份文件,该文件内含所有该设备的数据库。...丢失数据扫描 免费的EasyRecovery可以扫描并恢复几乎任何存储设备上的数据-包括Mac电脑的内部硬盘、外部硬盘、相机、iPhone、iPad、iPod、安卓设备、USB闪存设备、Kindle电子书和

62700
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    redis-migration:独创的redis在线数据迁移工具

    技术难点 解析数据文件:包括AOF和RDB,相对而言解析AOF文件简单些,它是文本格式的,按照redis协议纯文本处理即可;而RDB文件是二进制格式的,自己重新实现没这个必要,因为redis已经有解析...RDB和AOF的请求报文组装以及各自应答消息的解析与校验,其中RDB数据二进制的,所以需要逐字段进行组装,hiredis库没有提供这样的接口,而且假设提供了也需要评估起性能;同时RDB数据设置key...易操作:启动后,观察迁移进度日志即可; 工具价值 redis-migration迁移工具不仅可以解决外部实例迁往网易私有云redis集群、私有云redis集群横向扩容的问题,也可以解决外部redis集群的扩容问题...,中间不丢失任何数据!...应用案例 网易私有云线上已经有多个应用使用redis-migration进行了数据迁移,包括外部实例迁移、私有云分布式redis集群扩容等,下图为几个典型的应用: ?

    2.9K30

    Ask Apple 2022 中与 Core Data 有关的问答

    保存到 Core Data 中或保存到目录哪种更合适?我不想保存到照片库中,因为用户可能不想让别人轻易看到这些照片。A:在 Core Data 中使用外部存储是可以的。...在 Core Data 中开启 Allows External Storage 后,二进制的读取效率是有保障的[3]。...切换 iCloud 后是否清空本地数据Q:在使用 Core Data with CloudKit 的情况下,当用户注销设备上的 iCloud 账户,NSPersistentCloudKitContainer...使用 Transformable 属性或 Binary Data 属性来存储它,哪个方案更好? Binary Data 可以选择外部存储,而且我不相信 Transformable。...当从存储获取数据,这两个选项是否都会被加载到内存中?或者支持懒加载( fault )?不确定哪个更好用。A:两者会有相同的内存状况。理想情况下的答案是“两者都不是好的选择” 。

    2.8K20

    iOS Core Data 数据迁移 指南 - 简书

    前言 Core Data是iOS上一个效率比较高的数据库框架,(但是Core Data并不是一种数据库,它底层还是利用Sqlite3来存储数据的),它可以把数据当成对象来操作,而且开发者并不需要在乎数据在磁盘上面的存储方式...小技巧: 进入正题之前,我先说3个调试Core Data里面调试可能你需要的操作。...如果是自己从0开始写的Core Data的话,这里是应该会报错了,解决办法当然是加上代码,利用Core Data的轻量级迁移,来防止这种找不到存储区的闪退问题 NSDictionary *options...Data会试着把之前低版本的出现不兼容的持久化存储区迁移到新的模型中,这里的例子里,Core Data就能识别出是新表,就会新建出新表的存储区来,上面就不会报上面的error了。...在你xcdatamodeld相同的文件夹目录下,“New File” ->"Core Data"->"Mapping Model" 选择需要Mapping的源数据库 再选择目标数据库 接着命名一下Mapping

    29210

    SAP S4HANA入门篇(3)-嵌入式分析功能、数据模型、实施方法论

    在S/4HANA产品中,HANA Live不再使用,其通过CDS view实现相同的功能(ABAP-managed Core Data Services)。...如下图所示,VDM其实是一个层级的视图,从最下层往上层逐步添加更多的商务上下文;同时这些分层视图可以是标准的,客户也可以根据自己的业务需求进行定制开发。...需要说明的是,这里的ABAP-managed Core Data Services是保存在ABAP repository中的,运行环境是ABAP环境;另外一种CDS view是存储和运行在HANA数据库层面的...此时会用到S4中提供的数据迁移工具(migration cockpit/ Rapid Data Migration) 方法二:系统转换,在原有老系统的基础上升级,一般是ECC版本,这有一系列的工具帮助,...方法三:选择数据迁移,SNP BLUEFIELD 可以将SAP标准化实施方法相结合,无论是保留历史数据出发,还是将系统做数据有的变更,SNP bluefield 可以在一次项目中实现。

    52300

    Flink经典的生产问题和解决方案~(建议收藏)

    Tps很大,Kafka Ack默认配置 拖慢消息处理速度 业务背景: 实时任务,上游接流量页面点击事件的数据,下游输出Kafka,输出tps很大。流量数据不重要,可接受丢失的情况。...你可能无法在状态中存储那么多值,所以最好考虑你的键空间是无界的,同时新键随着时间不断出现。...虽然这对于测试和少量键的数据来说是很好的选择,但如果在生产环境中遇到无限多键值引发问题。由于状态是对你隐藏的,因此你无法设置TTL,并且默认情况下未配置任何TTL。...如果负载或网络问题无法彻底缓解,需考虑调大akka.ask.timeout参数的值(默认只有10秒);另外,调用外部服务尽量异步操作(Async I/O)。...当一个Flink App背压的时候(例如由外部组件异常引起),Barrier流动的非常缓慢,导致Checkpoint时长飙升。

    4.1K11

    生产上的坑才是真的坑 | 盘一盘Flink那些经典线上问题

    流量数据不重要,可接受丢失的情况 问题描述 CPU资源耗费较多的情况下,才能正常消费,考虑如果缩减资源。...你可能无法在状态中存储那么多值,所以最好考虑你的键空间是无界的,同时新键随着时间不断出现。...虽然这对于测试和少量键的数据来说是很好的选择,但如果在生产环境中遇到无限多键值引发问题。由于状态是对你隐藏的,因此你无法设置 TTL,并且默认情况下未配置任何 TTL。...如果负载或网络问题无法彻底缓解,需考虑调大akka.ask.timeout参数的值(默认只有10秒);另外,调用外部服务尽量异步操作(Async I/O)。...当一个Flink App背压的时候(例如由外部组件异常引起),Barrier流动的非常缓慢,导致Checkpoint时长飙升。

    5K40

    WWDC 2023, Core Data 有哪些新变化

    方案三:经纬度不能作为谓词的判断条件(数据已转换为不可检索的状态),在保存和读取数据因编解码而有一定的性能损失。 Composite attributes 为开发者提供了一个全新的选择。...在本次 Core Data 的更新中,苹果为 Core Data 添加了延迟迁移(Deferred migration)的功能,可以在某种程度上缓解因上述原因导致的使用者不适。...任何可能导致数据模型不兼容的操作都不能被延迟。 延迟迁移仅适用于 SQLite 存储类型。 延迟迁移具备向后兼容性,可追溯到 iOS 14 以及 Big Sur。...用更容易理解的方式来说:在开启延迟迁移功能后,Core Data 从轻量级迁移的操作中判断哪些操作即使在迁移的过程中暂不进行,也不会影响应用对最终完成的数据模型版本数据库的操作(例如,更新索引、删除已经不需要的属性...为此,SwiftData 使用了基于阶段式迁移(Stage migration)的数据迁移方式。作为 SwiftData 的基础,Core Data 自然也新增了该迁移模式。

    24810

    WWDC 2023 Core Data 有哪些新变化

    方案三:经纬度不能作为谓词的判断条件(数据已转换为不可检索的状态),在保存和读取数据因编解码而有一定的性能损失。Composite attributes 为开发者提供了一个全新的选择。...在本次 Core Data 的更新中,苹果为 Core Data 添加了延迟迁移(Deferred migration)的功能,可以在某种程度上缓解因上述原因导致的使用者不适。...任何可能导致数据模型不兼容的操作都不能被延迟。延迟迁移仅适用于 SQLite 存储类型。延迟迁移具备向后兼容性,可追溯到 iOS 14 以及 Big Sur。延迟迁移同样适用于今年新增的阶段式迁移。...用更容易理解的方式来说:在开启延迟迁移功能后,Core Data 从轻量级迁移的操作中判断哪些操作即使在迁移的过程中暂不进行,也不会影响应用对最终完成的数据模型版本数据库的操作(例如,更新索引、删除已经不需要的属性...为此,SwiftData 使用了基于阶段式迁移(Stage migration)的数据迁移方式。作为 SwiftData 的基础,Core Data 自然也新增了该迁移模式。

    23530

    Realm数据库 从入门到“放弃”

    简单易用:Core Data 和 SQLite 冗余、繁杂的知识和代码足以吓退绝大多数刚入门的开发者,而换用 Realm,则可以极大地学习成本,立即学会本地化存储的方法。...4.数据库迁移 这是Realm的优点之一,方便迁移。 对比Core Data数据迁移,实在是方便太多了。关于iOS Core Data 数据迁移 指南请看这篇文章。...Core Data本身并不是数据库,它是一个拥有多种功能的框架,其中一个重要的功能就是把应用程序同数据库之间的交互过程自动化了。...有了Core Data框架以后,我们无须编写Objective-C代码,又可以是使用关系型数据库。因为Core Data会在底层自动给我们生成应该最佳优化过的SQL语句。...要想保证多线程能共享对象就是加锁,但是加锁又会导致一个长时间的后台写事务阻塞 UI 的读事务。不加锁就不能保证数据的一致性,但是可以满足速度的要求。

    5K20

    Entity Framework Core 总结

    .NET Core CLI 此种方法对于 ASP.NET Core 也可以使用,其实当执行命令 dotnet ef migrations 启动所在程序集(Program.cs),和正常启动ASP.NET...Core 一样,所以依赖注入 MyDbContext等 # 全局安装 EF Core 工具 dotnet tool install --global dotnet-ef # 安装 设计包,这是对项目运行命令所必需的...,而不是用CLI,这是在启动ASP.NET Core执行。...如果没有数据库,则它将创建数据库和架构。 EnsureCreated 启用以下工作流来处理数据模型更改: 删除数据库。 任何现有数据丢失。 更改数据模型。...EnsureCreated 创建具有新架构的数据库。 在无需保存数据的情况下,当架构快速发展,此工作流在早期开发过程中表现良好。 如果需要保存已输入数据库的数据,情况就有所不同了。

    1.2K30

    使用 COSCLI 快速迁移本地数据到 COS

    在 GitHub 或者 Gitee 等其他地方“白嫖“存储难免遇到无法访问的时候,例如前段时间 jsDelivr 就因为被 DNS 污染导致无法访问、Gitee 公开仓库私有...而这两种情况还好,可以使用...没有服务器或者没有任何备份程序的就很不友好了,可能会出现数据丢失的问题。那么这个时候就推荐数据上云了,以腾讯云为例:可以将本地数据迁移至 COS。...提到迁移,第一个想到的可能是 COS Migration 工具:COS Migration 是一个集成了 COS 数据迁移功能的一体化工具。...COSCLI 工具使用 golang 构建,直接发布编译后的二进制包,用户在安装部署无需预先安装任何依赖,开箱即用;COSCMD 工具使用 Python 构建,用户在安装需先安装 Python 环境和依赖包...当以分块形式上传/下载文件默认开启断点续传。

    1.2K10

    使用 COSCLI 快速迁移本地数据到 COS

    在 GitHub 或者 Gitee 等其他地方“白嫖“存储难免遇到无法访问的时候,例如前段时间 jsDelivr 就因为被 DNS 污染导致无法访问、Gitee 公开仓库私有......没有服务器或者没有任何备份程序的就很不友好了,可能会出现数据丢失的问题。 那么这个时候就推荐数据上云了,以腾讯云为例:可以将本地数据迁移至 COS。...提到迁移,第一个想到的可能是 COS Migration 工具: COS Migration 是一个集成了 COS 数据迁移功能的一体化工具。...COSCLI 工具使用 golang 构建,直接发布编译后的二进制包,用户在安装部署无需预先安装任何依赖,开箱即用;COSCMD 工具使用 Python 构建,用户在安装需先安装 Python 环境和依赖包...当以分块形式上传/下载文件默认开启断点续传。

    1.3K21

    Android外部存储

    [3.png] sdcard守护进程模拟外部存储大致流程(Android 4.0为例): ● 首先,指定/data/media目录用于模拟外部存储。...优点 ● 模拟外部存储容量和/data分区是共享的,用户数据在内外存储的分配更加自由; ● 模拟外部存储本身不可卸载,不会因为卸载导致应用访问出现问题,也减少了外部因素导致被破坏的情况; ● 所有的访问都经过...影响 ● Android 6.0以后,由于动态权限管理的需要,会存在多个fuse挂载点,这导致inotify/FileObserver对外部存储进行文件事件监控丢失事件。...实现原理 概括多用户的外部存储隔离实现:应用进程在创建,创建了新的挂载命名空间,然后通过绑定挂载对应用暴露当前用户的外部存储空间。...[17.png] 当应用被授予读/写权限时,vold子进程切换到应用的挂载命名空间,将对应的视图重新绑定到应用的外部存储路径上。

    2.2K60

    Longhorn,企业级云原生容器分布式存储 - 支持 ReadWriteMany (RWX) 工作负载(实验性功能)

    Longhorn 企业级云原生容器分布式存储解决方案设计架构和概念 Longhorn 企业级云原生容器分布式存储-部署篇 Longhorn 企业级云原生容器分布式存储-券(Volume)和节点(Node...故障处理 share-manager Pod 的任何故障(卷故障、节点故障等)都将导致重新创建 Pod 并设置卷的 remountRequestedAt 标志, 这将导致 workload Pods 被删除...此功能取决于 卷意外分离自动删除工作负载 Pod 的设置, 默认情况下为 true。如果该设置被禁用,workload Pods 可能会在 RWX 卷故障出现 io errors。...建议启用上述设置以保证在 RWX 卷出现问题自动进行工作负载故障转移。 从以前的外部供应商迁移 下面的 PVC 创建了一个 Kubernetes job,可以将数据从一个卷复制到另一个卷。...: data-target-pvc # change to data target PVC 历史 从 v1.0.1 开始可用,External provisioner https://github.com

    86540

    Android外部存储

    sdcard守护进程模拟外部存储大致流程(Android 4.0为例): ● 首先,指定/data/media目录用于模拟外部存储。...优点 ● 模拟外部存储容量和/data分区是共享的,用户数据在内外存储的分配更加自由; ● 模拟外部存储本身不可卸载,不会因为卸载导致应用访问出现问题,也减少了外部因素导致被破坏的情况; ● 所有的访问都经过...影响 ● Android 6.0以后,由于动态权限管理的需要,会存在多个fuse挂载点,这导致inotify/FileObserver对外部存储进行文件事件监控丢失事件。...实现原理 概括多用户的外部存储隔离实现:应用进程在创建,创建了新的挂载命名空间,然后通过绑定挂载对应用暴露当前用户的外部存储空间。...当应用被授予读/写权限时,vold子进程切换到应用的挂载命名空间,将对应的视图重新绑定到应用的外部存储路径上。

    82630

    你所不知道的 wechat-vfs —— 浅谈 Android 应用数据存储方案设计

    也是因为这样的原因,应用一般要将语音、图片、视频等文件放在 SD 卡上,否则放入内部存储很快被用尽存储空间,导致用户看到手机还有空间,而 App 却不能正常使用。 2....但目前这样的设计对应用数据的安全来说没有帮助,因为外置(私有)存储仍可以被有权限的应用读取。 所以在发现这种问题后,我们选择对部分敏感的外置存储的部分文件进行加密或混淆。...此外,我们还担心太多文件写入内部存储可能推高聊天数据库的损坏概率,因此必须谨慎。 所以最终,我们选择的方案是通过技术手段渐进式的迁移,在不影响用户使用体验的情况下,完成外置存储数据的安全化处理。...根据数据的特点(如敏感性、是否可再生、大小等),将部分数据试探性迁往内部存储并控制大小,剩下的逐步迁往外部(私有)存储等待明年 Android 11 相对更完善的外部私有存储空间进行权限隔离控制。...(丢失就无法恢复),所以用户手机上的历史数据必须进行保留和迁移。

    3.4K70

    移动APP的IM后台架构浅析

    IM的基本原则: 1、消息收、发尽可能快(不快、不实时就不叫即时通讯了); 2、不能丢失消息(你把消息都丢失了,谁还敢用,跟钱存银行钱可能丢差不多); 网络传输协议的选择 APP上的IM传输协议以TCP...二进制肯定是比XML的体积要小的,建议是自定义的二进制协议 + protobuf 协议的定制的话,可以参考MySQL或者Redis的协议格式,这里给出一个参考的格式(类MySQL的): 数据包长度...客户端在接收数据,为了解决粘包的总是,肯定会有一个缓冲池(可能是环形缓冲池),而数据包的长度能避免粘包的问题。...简单的收发架构 连接层(主要维护客户端的连接与消息的中转) 逻辑层(用户会话的验证,业务逻辑验证,消息存取,异步的消息队列) 持久层(数据存储,热冷数据,灾备) 基本的消息收发流程:发 -> 存...因为移动网络的不稳定性,比如iPhone来个电话或者按了电源键几秒后,网络都会中断,导致socket的重连同时也产生非常多的TCP half-open,而防止TCP的half-open通常采用心跳包的机制

    2.2K20

    Nacos 1.3.0 来了,基于全新内核构建!

    ,同时保留了使用外置数据源的能力,用户可以根据自己的实际业务情况选择其中一种数据存储方案。...,因此在进行Nacos-Server升级,如果是需要使用这种新能力,需要另外部署一个Nacos 1.3.0集群,然后进行数据迁移,由于Nacos 1.3.0 新增的内嵌存储模式,还无法自动的将原本MySQL...的数据直接一键进行数据迁移,因此用户只能使用控制台的数据导出导入的方式进行(丢失配置历史数据),更加完备的数据迁移功能会在后面的版本进行开放。...如果说对于配置的发布、修改操作比较频繁,可以将Raft快照的时间适当的进行调整,避免新节点加入或者节点重启,由于Raft日志回放操作数太多导致节点可开始对外服务的时间过长。...注意,该操作是一个高危操作,仅仅当Raft集群的 n/2 + 1节点crash之后无法满足过半投票的要求才可以使用该运维命令,用于快速让当前剩余的节点重组Raft集群,对外提供服务,但是这个操作很大程度造成数据丢失

    1.2K10
    领券