写点什么

Chris Eargle 谈如何更好的管理应用

  • 2013-02-18
  • 本文字数:1719 字

    阅读完需:约 6 分钟

Chris Eargle 是 Telerik 公司的技术布道师和微软 C# MVP,他最近向开发者们分享了一些求生技巧。首先,他建议开发者们不要使用奇怪的代码构想,从而对寻找影响软件正常工作的bug 造成困难。

Chris 强调了使用专业的版本控制软件的必要性,它能够帮助开发者毫不费力地恢复旧版本的源代码。同时,他建议开发者确保版本控制服务运行在独立的系统上。

Chris 谈到了性能问题会以多种不同形式和程度出现,而它们都将消耗用户大量的时间。因此,最好是引入一个分析器来识别最需要优化的目标

Chris 探讨了使用异步调用的必要性,它可能长期运行并避免锁死用户界面。这些异步调用包括使用 finally 块或使用可销毁的模型来清理托管资源。如果你不能够捕捉到内存泄露背后的原因,那么使用第三方内存分析器可以帮助你来寻找导致这一问题的根本原因。

Chris 认为,鉴于火灾或其他自然气候灾害随时可能发生,备份应采用异地分离的方式,与源服务器分开。尽管如此,他认为备份不应存储在那些在线文件托管网站中,因为这种方式也有其固有的风险。

在 InfoQ 的一次采访中,Chris 针对自己分享的观点进行了更多的阐述。

InfoQ:在你日常编程工作中,是否也遵循了上述技巧?

在涉及到专业软件时,我遵循这些建议。我将其限定在这个范围内,因为在进行那些为自己编写或仅用于验证某项技术的项目时,我不会那么严格。

InfoQ:能否为开发者们推荐一些无故障的备份服务?

备份服务有多种类型,如何选择取决于需要何种基础架构。例如,我使用 GitHub 的付费账户来维护我的私人代码库,因为它很好地满足了我的需求。当我为一个保险公司工作时,我们在现场将服务器备份到磁带,并将旧的备份存储到异地物理存储设备上。这样做能够在需要的时候进行快速恢复,同时防止我们的数据在物理灾难中受到损害。

有许多很棒的专业存储服务,适用于各种类型的商业需求。我会在下面的分享中介绍一些小型的服务提供商。

我认为,在考虑何种形式的备份时,你必须对“无故障”这一想法非常谨慎。备份服务既有显而易见的风险,也有暗藏的风险。你必须非常谨慎的将整体风险降低到可接受的水平,并为之付出相匹配的成本。

这是一个暗藏风险的例子:许多人选择 MegaUpload 作为在线备份服务提供商。当它(现在叫做 MEGA )因侵犯版权的指控被政府停止服务时,大量用户从未预见他们的合法数据也会被停止。更糟糕的是,政府拒绝释放这些数据,所以每一个只将信息存在这一家服务商,而没有同时存储在其他系统的用户都损失了他们(备份的)全部数据。

InfoQ:对于使用 SkyDrive 作为备份存储,你怎么看?

SkyDrive 及类似的云存储,对于较少量的数据而言是非常好的选择。SkyDrive(为付费用户)提供的最大容量是 100GB,这并不适合企业级应用。

InfoQ:你为 Telerik 工作并推荐了 JustDecompile。能推荐一些其他的反编译工具吗?

其他的.NET 反编译工具与我所代表的产品是竞争关系,对我而言,支持另一个是一种利益冲突。

InfoQ:你是否认为,Visual Studio 2012 安装在比较旧的计算机上会存在性能问题?

我的经验是, Visual Studio 2012 在比较旧的计算机上,表现比其早期版本要好。

InfoQ: 在今天,开发者们在开发他们的应用中使用多种第三方工具。在选择 .NET 组件工具方面,你能够为他们分享一些应遵从的技巧吗?

你永远应该选择那些最能够提升你的生产效率的工具,而这一点受许多方面因素的影响,例如特性、用户体验以及是否会抑制开发者当前的环境(例如,造成阻碍)。选择组件与此类似,但关注焦点一般从它如何影响开发者转移到它如何影响最终用户。如何选择组件是一个技术问题。

例如,自从我尝试使用 ASP.NET MVC 编写网站,对我而言我更倾向于选择 Kendo UI ,而不是 ASP.NET AJAX RadControls。尽管如此,使用 APS.NET WebForms 的人可能会觉得后者( RadControls )是更好的选择。你可以使它们同时工作在上述两种环境中的任何一个里,但代码必须是可维护的,而整洁的实现对于这一点有很大帮助。

查看英文原文 Chris Eargle Talks on Better Application Management


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-02-18 08:10949
用户头像

发布了 256 篇内容, 共 68.3 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

COB封装LED显示屏vs. SMD封装LED屏

Dylan

技术 封装 LED LED display LED显示屏

为什么选择 NineData 作为 MongoDB 的最佳拍档?

NineData

mongodb NineData MongoDB 数据库管理工具 MongoDB数据库

谷歌 2024 新年目标曝光:一边做地表最强 AI,一边裁更多员工丨 RTE 开发者日报 Vol.132

声网

全国独家线下面授 | 上海 · 大规模敏捷认证LeSS实践者课程3月14-16日火热报名

ShineScrum捷行

大规模敏捷 LeSS认证 CLP认证 LeSS认证实践者

文心一言 VS 讯飞星火 VS chatgpt (185)-- 算法导论14.1 2题

福大大架构师每日一题

福大大架构师每日一题

「我在淘天做技术」智能对话新纪元:百万日活对话机器人的LLM落地实践

阿里技术

招聘 对话机器人 LLM 我在淘天做技术 落地实践

【年后跳槽必看篇-非广告】Kafka核心知识点-第二章

派大星

Java 面试

第37期 | GPTSecurity周报

云起无垠

请谨慎选择工作offer

老张

面试 求职面试 offer大厂

2023年最全盘点 :16款跨平台应用程序开发框架

Geek_2305a8

虚拟数字人制作软件有哪些功能?

青否数字人

数字人

深入探析MySQL数据库:优势、版本与发展全面解读

小魏写代码

怎样搭建数字人直播间?

青否数字人

数字人

传统企业和数字化企业的关系及优劣势

天津汇柏科技有限公司

数字化转型 企业数字化

鸿蒙5.0发布时间已定!鸿蒙系统上的App开发新思路

FinFish

鸿蒙 小程序生态 小程序容器 鸿蒙Next 鸿蒙5.0

轻松上手:通过阿里云PAI QuickStart微调部署Qwen-72B-Chat模型

阿里云大数据AI技术

光纤的连接

小齐写代码

融云全球通信网的「最后一公里体验」之战

融云 RongCloud

玩转数据处理利器:学会使用 YAML 文件轻松处理数据

霍格沃兹测试开发学社

华为云低代码问答——低代码为什么这么“香”

华为云PaaS服务小智

低代码 华为云

每日一题:LeetCode-138. 随机链表的复制

半亩房顶

算法 链表 LeetCode Go 语言 回溯

【第七在线】智能商品计划:让供应链管理更加智能、高效

第七在线

Linux 中常用的基础命令

emanjusaka

bash Linux command

Dart代码混淆

雪奈椰子

【教程】混淆Dart 代码

解析Java Chassis 3中应用视角的配置管理

华为云开发者联盟

Java 微服务 开发 华为云 华为云开发者联盟

Prometheus最佳实践 Summary和Histogram

华为云开发者联盟

开发 华为云 华为云开发者联盟

Java开发中不要使用受检异常

码语者

Java 异常

奖金 30 万!OurBMC 开源大赛等你来战

OurBMC

开放原子大赛 BMC全栈技术 ourBMC 飞腾服务器故障诊断

别再因为React、Vue吵了,真的毫无新意!

伤感汤姆布利柏

基于PAI-EAS一键部署Stable Diffusion AIGC绘画

阿里云大数据AI技术

Chris Eargle谈如何更好的管理应用_语言 & 开发_Anand Narayanaswamy_InfoQ精选文章