首页 文章 精选 留言 我的

精选列表

搜索[软件工程],共2509篇文章
优秀的个人博客,低调大师

鸿蒙软件工程实践:手把手教你优化编译配置,提升鸿蒙编译效率

在鸿蒙应用开发中编译构建是开发者最频繁的操作,每一次编译提速都能显著提升项目整体开发效率。本次分享几个简单却高效的鸿蒙编译提速技巧,从编译配置、构建方式等维度进行优化,让你的开发流程更快捷高效。 1、编译配置:通过编译配置,轻松提升编译速度,让开发效率翻倍。 1)默认开启的编译优化配置:DevEco Studio提供了增量构建、并行构建等能力来提升构建效率,减少构建耗时。这些构建配置默认是开启的,开发者可以通过Build Analyzer工具,查看并行(parallel)、增量(incremental)、守护进程(daemon)的开启情况,建议配置为true,以提升构建效率。 2)特定场景下的性能优化配置: 以300万行ArkTS代码规模的工程为例(包含 500 + 模块、20+ lib 库),从构建流程分析,编译耗时主要集中在三个核心阶段:依赖安装、语言编译、压缩打包;下面将针对以上三个阶段,分别给出对应的优化方案 优化1—依赖安装优化:工程中模块间存在重复依赖时,可以在工程级统一管理lockfile锁文件,减少重复依赖的安装,优化依赖安装耗时;开发者可以在.ohpmrc中开启相关特性(enable_unified_lockfile=true);ohpm安装时涉及对.har/.tgz三方包文件的解压和遍历,开启高性能方法优化解压遍历过程,可减少依赖安装耗时。开发者可以在.ohpmrc中开启相关特性(enable_boost_extraction_speed=true)。通过开启这2个配置,依赖安装耗时可从8min优化至1min内。 优化2—语言编译优化:在本地Debug构建时,JS中间产物并不是必须的,在6.0.1(API21)版本,支持配置(ohos.arkCompile.noEmitJs = ture)ArkTS编译过程中不再生成JS中间产物,从而加快编译速度,减少编译内存占用。开启该优化后全量编译耗时可节省~2min,但在Release模式下,开启混淆构建包含JS中间码的HAR等场景依旧会生成JS中间产物而没有优化效果。 优化3—打包压缩优化:当工程存在大量lib库且开启压缩时,lib库越大,压缩耗时越长。本地开发调试时,通常不关心包大小,可在本地构建直接跳过 lib 库压缩。通过配置(module.json5 -> compressNativeLibs = false)跳过libs库压缩过程,提升编译效率。打包任务耗时从1min可优化至3s。 以上优化配置开启后,本地Debug编译耗时显著优化,工程全量编译耗时:从24min优化至14min;增量编译耗时:4min优化至2.5min。 3)平衡编译性能和内存的配置:DevEco Studio提供了内存优先模式和性能优先模式,性能优先模式开启时,启用了任务缓存,编译结束后常驻内存增加。具体可通过hvigor-config.json5-> properties -> hvigor.enableMemoryCache配置true。将hvigor-config.json5 -> execution -> optimizationStrategy设置为"performance"性能优先。开发者可基于实际开发环境灵活选择。 2、构建方式:选择合适的构建方式,精准识别构建范围,让开发事半功倍。 如果需要对某个模块进行开发调试,应避免使用“Make All Modules”,应该使用“Make Module‘***’”,这样避免编译过程中对所有模块启动编译打包任务,进而导致编译耗时变长。当工程下有多个Hap模块(entry或feature),如果只对某一个Hap进行开发调试,也不建议直接使用“Build Hap(s)”进行构建,这会对所有的Hap模块进行构建,同样会带来较长的编译耗时。这种情况下建议开发者使用“Make Module‘***’”进行构建,仅构建关注的模块,提高开发效率。 当然,如果是修改代码推包到应用设备上进行调试时,可以直接点击“播放”按钮,使用增量调试,构建并推送增量包,可大幅减少大型应用调试推包时间,显著提升开发效率。此外,也可使用HotReload,修改代码并保存后无需重启应用,在真机或模拟器上即可查看最新的代码效果,帮助开发者更快速地进行调试。 3、更多优化配置:可参考HarmonyOS开发者官网,搜索“提升构建效率” 当然,还是建议开发者升级到最新IDE版本,IDE整体性能和内存也在持续优化中。IDE下载链接请前往HarmonyOS开发者官网,搜索“DevEco Studio”获取。

优秀的个人博客,低调大师

AI 的十二宗罪:一名软件工程师眼中的 AI 产业困境

一位刚入职软件公司的开发者近日发表长文,系统梳理了当前AI产业面临的十二大核心问题,从能源消耗到版权争议,从军事应用到教育影响,引发业界对AI技术"野蛮生长"的反思。 能源与水资源的双重危机 AI的能源消耗问题触目惊心。向ChatGPT提问一次的能耗约是传统搜索引擎的10倍,这还不包括AI概览类搜索(传统搜索+AI摘要的双重能耗)。AI数据中心用电量如此巨大,以至于美国政府考虑新建核反应堆来满足需求。 更令人担忧的是,大部分AI数据中心依赖化石燃料供电。即便某些数据中心使用可再生能源,除非它们新建专属能源设施,否则仍会导致整体化石燃料使用增加——因为这些能源原本可以供给其他用户。 水资源消耗同样惊人。据估计,到2027年AI每年将蒸发40亿至70亿立方米水资源,相当于2400万人的年用水量。数据中心与当地居民争夺稀缺水资源,导致周边地区水费上涨。讽刺的是,许多新建数据中心选址在水资源本就紧张的地区。 "就业红利"的真相 政客和CEO们常宣称AI数据中心将带动地方经济、创造大量就业。但现实是:数据中心建设期间确实带来建筑行业繁荣,但建成后通常只雇佣极少数员工。社区被误导投入巨资建设数据中心,却在"就业承诺"落空后独自承担后果。 大规模监控的升级 AI正在将大规模监控推向新高度: 美国:联邦政府曾试图施压Anthropic允许其AI用于大规模监控 英国:计划用AI"在犯罪发生前抓住罪犯" 印度:将AI用于"预测性警务" 监控并非新鲜事,但AI带来的分析能力前所未有。过去需要数百人时分析的数据,现在可以更快处理,且无需太多人工参与。过去仅针对"已知异见者"的监控,现在可以覆盖所有人。 军事应用的"竞赛"风险 美国政府公开表示希望国防部转向"AI优先"策略,并称这是一场"竞赛"。问题在于:AI尚未被证明是可靠的数据分析工具。作者认为,任何影响生死决策的技术都应先被证明可靠,"我们不应该竞赛式地采用AI进行军事用途。" 成人内容的伦理困境 AI正在改变成人内容产业:制造更具成瘾性的内容、创建非自愿深度伪造色情内容、甚至生成儿童性虐待材料(CSAM)。这些应用都引发严重伦理问题。 版权侵权的灰色地带 AI训练需要海量数据。ChatGPT 4的训练数据估计超过1拍字节(约6000万张自拍照),Anthropic为训练Claude销毁了数百万本真实书籍。问题是:这些数据大多是他人知识产权。OpenAI、Anthropic等估值数十亿美元的公司从他人作品中获利,而这些创作者却分文未得。 "AI精神病":被忽视的心理健康风险 "AI精神病"指因使用AI而产生新的精神病症状。虽非临床诊断且研究不足,但这是真实问题——它会恶化既有精神疾病,甚至在没有病史的健康人群中诱发妄想。已有案例显示AI与多起自杀死亡相关。 病因尚不明确,但推测与LLM的"谄媚本质"有关——即无论用户信念如何都倾向于确认用户观点的倾向。 "后工作社会"的乌托邦困境 许多知名人士谈论AI可能实现"后工作社会"——劳动成为可选甚至奢侈品,AI处理所有必需品,人类追求真正想要的生活。听起来美好,但问题在于:没有任何个人、政府或组织就"劳动不再需要后的社会如何运转"达成共识。 目前,世界上大部分地区需要钱才能生存,需要工作才能赚钱。如果AI开始做所有工作……AI将拥有所有钱,而人类都将贫穷。有人建议全民基本收入(UBI)、共产主义或技术封建主义,但没人同意该怎么做。没有政府制定了向"后工作社会"过渡的计划。 "后学习社会"的教育危机 AI已在负面影响儿童的学习方式,造成认知、社交和情感发展问题。更糟的是,如果不限制学生在校使用AI,我们将培养一代依赖AI进行大部分决策和问题解决的成年人。这并非猜测——与不使用AI的人相比,频繁使用AI的人在认知任务中表现更差。 一位小学教师在文中分享了深刻见解:"孩子们自己思考的能力超级重要。AI已成为许多学生的捷径,他们没有培养应对学业挑战的韧性,也没有培养日常生活中的韧性。一旦遇到一点困难就求助于AI,因为他们看到了阻力最小的路径……人类需要所谓的'生产性挣扎'才能学习新事物,这能培养韧性。完全移除这种挣扎去依赖一个并不完美的机器人,却把它当作人脑的完美替代品,这是可怕的。" 技能退化与"自动驾驶"陷阱 AI正在导致技能退化。研究显示,使用AI辅助的程序员写的代码更差、bug更多,且对自己代码质量的判断能力下降。AI辅助写作的人也表现出类似退化。 作者将这种现象比作"自动驾驶"——飞行员过度依赖自动驾驶系统后,手动飞行技能会退化。当AI接管任务时,人类技能会萎缩。当AI失效时,人类可能无法胜任。 幻觉与可靠性危机 AI幻觉是公认问题——AI会自信地编造不存在的事实。这不仅是小麻烦,而是根本性的可靠性危机。当AI被用于医疗诊断、法律建议、安全关键系统时,幻觉可能造成灾难性后果。 更令人担忧的是,AI幻觉很难被检测。AI的输出往往看起来权威、专业、令人信服,即使完全错误。对于非专家用户,区分AI的可靠输出和幻觉几乎不可能。 环境影响被低估 除了能源和水资源,AI还有更广泛的环境影响:硬件制造需要稀有矿物开采、数据中心产生电子垃圾、冷却系统使用危险化学品。这些外部性很少被计入AI的"成本"中。 结语:不是反对AI,而是反对不负责任的AI 作者强调:"我不是反对AI,我是反对生产AI的公司的商业行为,以及使用AI的公司和政府的做法。" AI本身是强大的工具,但当前的发展模式——以利润和竞赛为驱动,忽视环境、社会和心理成本——是不可持续的。作者呼吁:在全面拥抱AI之前,我们需要认真考虑这些代价,并制定相应的监管和伦理框架。 否则,我们可能正在创造一个更热、更渴、更监控化、更不平等、更脆弱的世界——而这一切,只是为了让我们能更快地生成营销文案和表情包。 参考来源 原文博客:https://kurtis.weblog.lol/2026/05/whats-wrong-with-ai

优秀的个人博客,低调大师

未来三年,软件工程师或将转型为“AI 代码审核员”

Anthropic 首席产品官迈克・克里格在一档播客节目中表示,相比自己编写代码,开发者未来可能会花更多时间审核 AI 生成的代码。 他认为,随着 AI 在编码领域的应用日益深化,软件开发人员的工作重心将转向 AI 无法处理的抽象问题,并学会如何高效管理和监督这些智能系统。 “我预计未来三年的软件开发工作将是这样的。”克里格表示,“关键在于提出合适的想法、优化用户交互设计、合理分配任务,并掌握大规模代码审核的方法 —— 可能会结合静态分析技术,或者依赖 AI 驱动的分析工具来检查代码质量。” 克里格表示,除了自己使用 AI 编写代码,他年初在 Anthropic 的首要任务之一就是评估产品开发流程,确定哪些环节已由 Claude 接手,哪些依然需要人类主导。“明确团队目标,并真正弄清楚要构建什么,依然是最具挑战性的部分。这仍然需要面对面讨论,权衡利弊,或者借助 Figma 探索不同方案后再决策。” 尽管 AI 能够加速部分产品开发流程,但克里格并不认为它会完全取代程序员。 在他看来,AI 不会消灭软件开发岗位,而是改变从业者的技能要求。“未来,软件开发会变得更加跨学科,既要懂得构建什么,也要掌握具体的实现方式。我们的工程师在产品创新中扮演着重要角色,许多优秀的产品创意,甚至大多数,都是由他们在原型设计阶段提出的。我认为这就是未来程序员的核心工作模式。”

优秀的个人博客,低调大师

作为一名软件工程学生想要自学Linux,可以从哪方面开始学习?

自学Linux可以从三个步骤入手学习 1.选择一门合适学习书籍 鸟哥的私房菜很多linux初学者的首选书籍,linux学习先从基础的命令行入手,常用的命令大约20个,然后慢慢切入学习 常见命令: 2.安装一个linux系统 目前开发主要用的是deb系,ubuntu现在作为桌面版选择用的比较多,这个就要看个人喜好了 3.书本和系统都安装好了之后就可以进入学习阶段,这涉及到在linux操作系统上玩什么编程语言 通常而言除了windows自带的编程系列语言,别的编程语言都可以玩,目前主流的编程语言C语言,C++,java,python,php等等都可以在这玩。 在这就不一一罗列,现在就如何在ubuntu下面编译第一个C语言程序的过程简单介绍下 (1)安装编译环境 apt-get install vim apt-get install gcc (2)用vim或者gedit编译第一个hello world 语言 (3)编译执行 gcc -o hello hello.c ./hello Hello, Linux 现在只是针对C语言做了一个简单的范例,可以根据自己的爱好尝试别的编程语言。 找到自己想学的编程语言,然后全力以赴去学习。 原文发布时间为:2018-08-08本文作者: 东辉在线本文来自云栖社区合作伙伴“ 程序员互动联盟”,了解相关信息可以关注“程序员互动联盟”

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册