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

你知道iOS开发工作为什么有人4k有人40k

难得是,他本身是一线iOS开发者,同时又对iOS开发在国内布道做了不少工作,身影活跃于博客、微博、微信公众账号等地。...多思考和讨论这个需要个人主动一些,遇到问题喜欢多问为什么,多次重构和思考过程,我们就会慢慢积累出一类问题 “最佳实践” 方式,成为自己宝贵经验。   ...用 Swift 来完成 App 还有一个不大不小问题就是体积会比较大,因为 Swift 相关直接打包进 App 。...我觉得你提这个问题根本还是在于:iOS 开发者到底热不热爱编程。在我看来,任何一件事情,如果你做到了热爱它,把它当作乐趣,那么同行做到出类拔萃应该是理所当然。...多思考和讨论这个需要个人主动一些,遇到问题喜欢多问为什么,多次重构和思考过程,我们就会慢慢积累出一类问题 “最佳实践” 方式,成为自己宝贵经验。

2.8K90

虹科分享|您遗留系统安全性如何?

威胁参与者还可以从当前操作系统版本中发现漏洞恢复工作,以找到新方法来危害较旧计算机。但更多攻击者实际上等待补丁发布,以开发N天漏洞。...几十年来,企业依赖过时应用程序和系统已经成为现实。像医疗保健这样行业因依赖过时系统而臭名昭著。...SANS研究所进行一项2022年调查OT和关键基础设施组织(包括医疗保健)工作IT专业人员中有54%表示,集成和升级旧系统是他们最大安全挑战。...另一个熟悉挑战是,设备(如在过时专有Windows版本上运行核磁共振机器工作站)可能隐藏EOL应用程序或阻止它们替换。...由于微软支持包括嵌入式操作系统,关键物联网和OT设备,如销售点(POS)系统、ATM、医疗设备和工业控制系统端点也暴露出来。您能得到有效遗留安全?

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

    自动删除旧代码?Uber 开源利器「食人鱼」

    场景描述:开发人员必须要面对一个问题,就是要处理不断完善积累过时代码,近日 Uber 开源了一个自动删除旧代码工具,它可以寻找代码库废弃功能标志模块,配合开发者情况下,进行代码删除或者重构操作...Piranha 可以 Uber Android 和 iOS 代码库运行,目前支持 Objective-C、Swift 和 Java 三种编程语言。...据介绍, Uber 所有的程序代码库,就有超过 6000 个功能标志。 但功能标志增多,也导致代码库复杂性增加,一旦该标志过时,则需要将其删除,否则会带来技术层面的负担。 ?...考虑到 Piranha 应用背景,Uber 采用了应用静态分析,即通过代码审查,来查找因过时标志遗留下来废旧代码。 ? 其中可清理三个关键维度分别是: 删除紧邻功能标志 API 代码。...Piranha 已经 Objective-C、Swift 和 Java 程序运行良好,但为了让其工作更高效,以实现 Piranha 自动进行标志清除,还需要搭建一个更完善系统。

    72710

    揭穿SaaS应用程序可取代所有遗留系统这个神话

    简单场景下,当遗留系统服务组件等待响应时,就会锁住遗留系统。服务组件收到响应后,遗留系统解锁,进入到有待处理下一个服务组件。 SaaS应用程序通常松散耦合。...为了表明这种机制工作原理,不妨以网上购物为例:你把商品放入购物手推车,关闭应用程序;次日,你打开应用程序后,看到该商品仍然躺在手推车;你可以支付该商品货款。...(多线程应用程序单处理器系统上运行起来完全一样顺畅,但没有更快速度。过时大型机单处理器系统现在是古董。)...企业提供自己服务器,让系统管理员可以使用量突然激增过程或安装新应用程序时,可以诸服务器之间转移分配工作负载。 混合云集公有云和私有云优点于一体。...总结 想揭穿SaaS应用程序可以取代所有遗留系统这个谎言,最佳之道就是搬出四个靠谱理由,证明贵公司一些遗留系统为什么有必要继续留下来。

    55970

    如何使容器成为架构师最好朋友

    遗留技术,包括集中化数据库,有关容器扩展和互操作性问题,可能破坏DevOps项目,而与之相关数字转换工作现在对业务增长至关重要。 容器之美 容器可以被描述为云计算现代构件。...从梦想到噩梦 然而,容器迅速采用清楚地表明,IT体系结构存在着越来越大裂痕:容器环境上运行无状态应用程序工作负载和在更传统基础设施上运行有状态应用程序工作负载之间。...例如,有状态应用程序通常存在于孤岛,拥有自己独立网络、策略和基础设施 - 这意味着不直接添加到基础设施或使用API与其他应用程序连接情况下,很难进行扩展。...这意味着架构师将面临一个非常常见噩梦,即在没有实际移动情况下运行,尽管构建和改进遗留应用程序及其数据库方面投入了大量投资和精力,无状态应用程序潜力仍在不断增加。...架构师面临挑战将是了解哪些应用程序需要快速地从有状态迁移到无状态,以确保它们能够跟上容器发展;它们可以保存在它们遗留环境,因为它们没有过时风险。

    69240

    大型语言模型未来就在你口袋里

    这是一种过时遗留产物。几十年来,电传打字机和大型机让位于个人电脑。同样,生成式 AI 最终将在消费级硬件上运行——但这种转变将发生得更快。 这种转变对应用程序开发人员具有重大意义。...我们一直听到模型“不断改进”,因此它们继续变得更大。...为什么这很重要 讨论本地模型可行性之前,需要回答一个问题:为什么要费心?简而言之,本地模型改变了生成式 AI 开发人员一切,而依赖于云模型应用程序可能变得过时。...然而,随着 Apple Intelligence 发布,我们预计 macOS 和 iOS 将在操作系统捆绑并公开一个 LLM。...这消除了对内部 ML 工程师和数据科学家团队依赖,而这些资源是许多组织没有的,或者肯定没有达到整个组织引入生成式 AI 所需规模。另一方面,这些配置文件是许多本地模型工作流程所必需

    8210

    如何跳过古董代码

    我将要在这篇文章讨论使用遗留代码两方面的问题: 遗留代码库常见问题 通过实现交付和代码质量平衡,有效克服这些问题 代码覆盖率 我使用遗留系统时遇到一个常见问题是缺少测试。...传统代码库,正是这种迫切需要但并不理想中间地带,帮助铺平了通往理想状态道路。 随着时间推移,你对系统更加熟悉了,就可以继续在所有级别添加测试,并对你项目实现一个可接受测试金字塔。...过时库/技术 我遇到过这样情况:开发人员非常不愿意升级到新版本库,因为引入更改造成破坏;或者由于担心破坏系统而继续使用过时工具和技术来编写项目。 这些担心是完全正确,绝对值得考虑。...然而,人们必须记住,使用过时工具和库造成副作用。这些副作用可能会在最不经意时候累积起来,并咬伤你。旧工具通常不再受支持,而且很难找到问题答案。...处理遗留代码时,第一步是阅读并理解代码,当某一部分代码理解起来非常吃力时,你希望重构代码,让其他团队成员避免同样痛苦。

    68010

    【Airplay_BCT】关于Bonjour概念解答

    mDNSResponder 是开源,鼓励硬件设备制造商将 mDNSResponder 源代码直接嵌入到他们产品,以从零配置网络获益 3. Bonjour 是否多个子网之间工作? 是的。... iOS 5 及更高版本应用程序必须明确选择通过蓝牙进行服务发现,并且必须使用低级 DNS 服务发现 C API 解析服务。...有关详细信息,请参阅 iOS 5 及更高版本上蓝牙 Bonjour。 6. 我应该让服务浏览器运行多长时间? 浏览器消耗资源,因此如果您不希望使用这些数据,则不应让它们继续运行。...但是,连接到服务时保持服务浏览器运行通常是个好主意。如果该连接失败,正在运行浏览器存在促使 Bonjour 更积极地重新验证可能过时服务条目,这可以使服务列表更加准确。...用户应用程序浏览网络并选择他们希望使用服务实例后,我应该将该 IP 地址保存在我应用程序首选项文件,对? 错误。这是一个常见错误。

    2.1K50

    20年职业生涯:全是技术债

    开发工具变化有多快? 2004 年还没有 iOS 和 Android,当时,Watson 曾为 Compaq PDA 编写了一个应用程序,用于跟踪汽车经销商库存。...快进到今天,MVC 已经过时了。现在一切都是 React、Angular、Vue 和其他框架完成。在此之前,开发者还会使用 Javascript 框架。...之后,因为企业倒闭或者其他原因,软件被替代可能性非常高。即便它能幸存下来,完全由过时技术栈编写这一现实也让它路子变得很窄。这就是软件工程师真实命运。”...用户 chesterriley 则想象了一个极端可能:也许未来终有一天,人们继续使用 100 年前就编写出来代码。...那这些代码是“烂代码”或者说“技术债”?还是得看具体情况。你家锤子可能也用了十来年了,它过时了吗?如果还能干活,那就没过时

    25910

    接手了严重过时软件,到底是该逐步重构还是摧毁重写呢?

    作者 | Ben Northrop 译者 | 刘雅梦 策划 | Tina 有一个应用程序充斥着技术债,严重过时了,或者只是对用户服务不足,因此,我们需要了解我们最佳选择是什么——是继续艰难地探索并逐步进行重构更有意义...通过重构,现代化遗留应用程序场景,通常意味着我们将会保持应用程序基本不变,但会进行一些微小内部改进以解决特定问题(如可维护性、可扩展性等)。...我们场景,当我们谈论重构时,我们通常不会区分内部和外部,而是 区分功能和非功能。例如,我们可能会说,我们选择重构现有的代码库,以提高应用程序可靠性或性能。...本书中,我们使用以下定义: 重写就是重新构建存在于遗留应用程序相同功能,但使用不同语言 / 框架,代码库(不仅仅是分支)维护,并作为一个全新构件进行部署(可能部署到不同平台上,如服务器...接下来文章,我们将探讨一些隐藏在重写工作危险,以及为什么我们总是不顾这些危险勇往直前原因。

    40631

    Windows上也能用Swift编程了,官方编译工具安装包现已上线

    如果程序员想将现有的应用程序扩展到macOS、iOS以外平台,那么采用Swift绝对能快速达成这一目标,植入Windows平台Swift则使得这个行为变得更方便。...网友:Windows上植入Swift是神作 Saleem Abdulrasool一次演讲,他提到了Swift和Windows各自优点。...Swift:安全、灵活、多范式、编译语言、从遗留代码跳脱出来、发展性好 Windows:开发者和用户都可用、应用级代码、轻量级系统、有趣挑战等 目前来说,的确还有许多需要完善地方,但Saleem...Abdulrasool表示,他们继续努力改进代码,也欢迎更多的人加入这个项目中。...此外,也有网友表示,鉴于Swift是他用过最好语言,现在几乎是急不可耐地想要在Windows上编码Swift了。 ? 那么,你尝试Windows中使用植入Swift编写程序

    3.9K20

    关于混合云,很多人都会有这些误解

    但对许多企业来说,这样担忧是错误过时,或两者兼具。事实上,混合云很有可能会是一种释放云计算潜力最佳途径,同时也能保留对某些类型数据或工作负载严密控制。...当然,Yang建议也包括对供养商和平台进行认真考察,然后再继续使用新特性、新功能等。...Nadhan最近指出:“迁移到混合云模型过程,你需要更多地关注于使应用程序具有更重要业务功能,确定真正重要应用程序。你还需要识别跨应用程序冗余功能,并将其合理地定义为一个更易于管理数字。...Budge建议为混合投资组合做一些其他考虑,包括: ·云平台会要求你构建和获取真正高可用性应用程序:“OneNeck,我们已经看到了不同云平台上,相同工作负载复杂性、成本和可支持性巨大差异...·定价模式继续从基础转向更加复杂和细分模式:“也许有人大胆地创造出一种‘出其不意’定价模式,把我们都带回到一个更可预测状态。” Budge说。

    64760

    【企业架构】当今企业架构实践相关性是什么?

    所有随着时间推移,他们注意力逐渐减少。 图1 此外,与几十年前相比,EA 博客和网站也少了很多。由于缺乏更新,很多关于最佳实践过时 EA 内容搜索引擎排名仍然较高。...因此,我们可以说,最重要企业架构框架在过去十年没有收到任何重大更新,因此——至少部分地——已经过时了。...许多大型科技公司不寻找企业架构师 除了上述论点之外,还有一个额外观察结果,这在许多不同组织中都很常见:组织拥有的旧世界/遗留 IT 越多,组织企业架构师就越重要。...尽管这肯定有例外,但有一个明确模式是,很少或没有遗留 IT 公司没有企业架构师角色,也不为他们组织寻找这样职位。 Netflix 或亚马逊寻找“企业架构师”工作似乎证实了这一趋势。...2021 年企业架构是否还有相关性?它在当今数字时代扮演什么角色?本系列下一部分,我们将回答这些问题。 您喜欢“企业架构相关性”系列这一部分?你能确认观察和分析,还是你不同意?

    24930

    你想知道都在这一篇文章里了!

    ●缺少协作:组织知识共享和业务效率较低,或者初级开发者缺少必要指导。 ●重构延迟:开发过程,某些部分代码变得难以控制,这时候就需要进行重构,以适应将来需求变化。...1.避免使用过时技术 遗留应用程序过时技术以及不同平台和流程可能会使组织陷入沉重技术债务,迫使其推迟基本现代化计划。...DNS和流量管理技术提供商NS1联合创始人兼首席执行官Kris Beevers说:“技术债务将大量金钱和宝贵时间浪费系统和应用程序上,而这些系统和应用程序并不是为现代企业所需规模和速度而打造...Beevers指出:“寻找人才来管理基于复杂或过时代码构建遗留应用程序也是一个日益严峻难题。坚持采用过时技术不仅消耗宝贵预算,而且还会阻碍公司创新和保持竞争力能力。”...代码规范研发项目团队中有着重要作用,团队统一代码规范,有助于提升代码可读性以及工作效率。统一 代码规范是代码集体所有权基础,让结对编程更容易实行,对团队来说更易内部轮岗、获得晋升。

    4.3K21

    采用云计算组织如何构建更好现代化战略

    美国管理和预算办公室今年2月下旬发布了备忘录M-12-18,为美国政府机构如何开始申请由技术现代化基金(TMF)管理资金提供指导。而有些人认为一劳永逸地消除那些传统遗留技术时机已经到来。...但是随着美国联邦机构深入研究其现代化计划,他们应该仔细考虑一下采用传统技术真正意义。计算,传统技术通常是一个贬义词,意味着一种陈旧和过时技术。大型机是这一类技术主要例子。...最近一项调查发现,57%大型机用户(跨行业)大型机上运行了超过一半关键业务应用程序,预计这一比例一年内将增加到64%。此外,这些用户应用程序中有98%应用程序依赖大型机处理。 ?...然而,美国2018财政年度仅拨付1亿美元,远低于此前设想2.5亿美元。这意味着像大型机迁移这样大规模现代化工作可能继续主要通过机构本身运营资本提供资金,这会给个别机构带来一些成本超支负担。...通过努力调整每个应用程序以最大限度地减少大型机资源消耗,可以将这些保持最低水平,并且可以通过分散应用程序工作负载时间以最小化利用率峰值来保持平均MSU,从而保持更低平均值。

    58760

    低代码平台:数字化企业核心(IDC)

    它们正在努力通过快速引入新方法来改善新环境业务运营,加快数字化进程。这些策略包括加速自动化投资,以及减少员工对实体工作场所依赖同时实施灵活工作计划。...然而,若要使软件创新发挥作用,就需要淘汰过时软件和运营模式。旧软件始终无法跟上新业务敏捷性、灵活性、可扩展和可管理平台方面的需求。遗留软件无法满足当前要求。这也加剧了开发人员压力。...低代码平台面临一些挑战包括: » 与遗留系统集成:遗留应用程序严重降低 IT 效率。虽然低代码平台可以支持应用程序现代化,但将新低代码应用程序遗留应用程序集成是一项艰巨任务。...许多低代码工具和应用程序无法与过时系统集成,从而使组织流程自动化/工作流流程优化方面裹足不前。此外,为业务流程工作流开发模型可能仅对某些类型应用程序有效,从而产生平台使用范围问题。...IDC看来,普华永道智能捷创平台是一个敏捷、智能低代码平台,是一款引人注目的基础设施产品。它可以帮助组织实现遗留应用程序现代化,同时将遗留应用程序与新应用程序集成。

    56030

    2020前端性能优化清单(三)

    一旦代码定义了分割点,Webpack 就可以处理依赖关系和输出文件。它可以让浏览器保持较小初始下载量,并在应用程序请求时按需请求代码。...图片 Milica Mihajlija 概述了WebAssembly 工作原理以及其有用性[46]。 27 你有使用提前编译?...为了避免以上问题,请考虑使用 webpack-libs-optimizations[78] 构建过程删除未使用方法和 polyfills。 也将包审核添加到你日常工作流程。...但是有些应用程序并不需要所有这些功能(页面初始化时候)。对于此类应用程序,使用原生 DOM 操作来构建交互式用户界面可能更好。” ?...显然,你可能让浏览器获取不需要数据并预加载不需要页面,因此好做法是对预加载请求数量做好控制。比如预取检查出来脚本中经过确认,或者关键动作调用进入可视区域时进行推测性预取。

    2.1K10

    2020前端性能优化清单(三)

    一旦代码定义了分割点,Webpack 就可以处理依赖关系和输出文件。它可以让浏览器保持较小初始下载量,并在应用程序请求时按需请求代码。...图片 Milica Mihajlija 概述了WebAssembly 工作原理以及其有用性[46]。 27 你有使用提前编译?...为了避免以上问题,请考虑使用 webpack-libs-optimizations[78] 构建过程删除未使用方法和 polyfills。 也将包审核添加到你日常工作流程。...但是有些应用程序并不需要所有这些功能(页面初始化时候)。对于此类应用程序,使用原生 DOM 操作来构建交互式用户界面可能更好。” ?...显然,你可能让浏览器获取不需要数据并预加载不需要页面,因此好做法是对预加载请求数量做好控制。比如预取检查出来脚本中经过确认,或者关键动作调用进入可视区域时进行推测性预取。

    2.2K20

    2018 年初,让我们再谈谈大前端趋势

    后有,Dart 通过 Google Flutter 框架来支持移动应用程序开发,该框架旨在为 Android 和 iOS 创建原生 UI。...函数式编程可以减少一定量地冗余代码,它也带来了一定新问题:可维护性及上手复杂度。 但是越少代码,可能意味着更少 bug,不是?...如果一个项目中前端开发人员水平参差不齐,但是没有辅以有效代码改善方式,如 CheckStyle、Code Review、测试 等等。那么,未来它必是一个痛苦遗留系统。...小而美的框架,维护成本太高了——这里讨论是维护成本,也就是你在这个软件上可能还要继续开发一年,两年,而不是几个月。所以,如果你没有一个前端代码库里,工作一年、两年,不要和我讨论这一个问题。...小而美的框架里,组件间依赖,版本间限制,上下游同步等,时间线上就是各种麻烦问题。在工作上,花费大量时间解决这种技术问题,真的很不爽——只会导致加班。

    69110

    jQuery 4.0震撼发布:这是复兴还是告别?

    这次更新移除了专为旧版本IE设计代码,使代码库更加高效。我们也停止了对其他过时浏览器支持,如Edge Legacy、iOS和Firefox旧版本,以及原生Android浏览器。...事件顺序变化:jQuery 4.0focusin和focusout事件处理顺序发生了变化,以符合最新W3C规范。这可能影响依赖旧顺序插件或代码。...然而,出于几个原因,jQueryweb开发仍然有一席之地: 遗留浏览器支持:许多网站和web应用仍需要支持如IE11这样老旧浏览器,这些浏览器缺乏对现代JavaScript特性支持。...尽管jQuery可能不再是前端开发领域主导力量,但它在现代web开发仍然有其位置,因为它对遗留浏览器支持、易用性、广泛插件生态系统和与其他框架集成。...随着jQuery 4.0 beta发布,jQuery团队展示了他们保持jQuery不断发展web开发生态系统相关性承诺。那么,你认为jQuery还有存在意义

    1.4K10
    领券