与 DNN 的 David Rodriguez 的程序员访谈






4.91/5 (7投票s)
欢迎来到我们持续进行的 CodeProject 开发者访谈系列。在此系列中,我们与开发者们探讨他们的背景、项目、兴趣和遇到的棘手问题。在本期中,我们采访了 DNN 云团队的首席工程师 David Rodriguez。
欢迎来到我们持续进行的 CodeProject 开发者访谈系列。在此系列中,我们与开发者们探讨他们的背景、项目、兴趣和遇到的棘手问题。在本期中,我们采访了 David Rodriguez,他是 DNN 云团队的首席工程师。
你是谁?
我是 David Rodriguez,一个快乐的西班牙人,生活并工作在我的出生地 特内里费岛(加那利群岛,西班牙)。我是那些有幸在 DNN 担任云团队首席工程师,并有机会接触尖端技术的幸运儿之一。
我拥有 15 年的开发经验,主要基于微软技术,设计和构建了如航空公司预订系统等高可扩展性系统。
我从 Windows Azure 还在 CTP 阶段就开始使用了——那时我们不得不手动用记事本修改云服务配置文件!我们曾试图将本地系统迁移到云端,主要是为了降低成本,期间我还与人共同创立了一家小型咨询公司,以使这类任务变得更容易。
由于我对 Web 和云技术的喜爱,最终我加入了 DNN,并参与了我职业生涯中最令人兴奋的项目。
您做什么?
也许我最想强调的,也是我与 DotNetNuke 结缘的其中一个项目是 DNN Azure Accelerator,这是一个在 CodePlex 上提供的开源项目,用于在 Azure 上将著名的 CMS 部署为云服务(PaaS)。我将持续改进这个项目,为社区成员服务,因为它是新的 DNN Evoq 商业解决方案套件的基础,这些解决方案现在已在云端可用,并在 Windows Azure 上运行。
在加入 DNN 后,我参与的大型项目包括:DNN 试用环境和 DNN 云平台。
DNN 试用环境使我们能够在客户注册后的 30 秒内,提供一个功能齐全、通过云交付的 DNN Evoq 网站试用版。我鼓励大家注册 DNN Content 或 DNN Social 的试用版,因为它们不仅是出色的产品,还能让大家体验到试用版交付的便捷性。
所有这些项目都深度使用了 Windows Azure 的组件,从简单的 SQL Azure 数据库到在虚拟机上部署定制化的 Windows Azure Websites(又称 Antares),这可以想象成“云中云”。
当然,这不仅仅是开发的故事,我们的团队以 DevOps 模式工作,以便我们能够频繁发布,并持续改进产品和环境。
您的开发环境是什么?
我使用一台不错的 DELL Precision M4700 移动工作站,配备 i7 四核处理器、16GB RAM(嘿!我需要很多内存来运行多个虚拟机和模拟器中的多个实例)和一个 256GB SSD 硬盘,并配有多台显示器。这是我用于开发的机器,同时也是连接 Azure 上托管的其他云资源的入口。我仍然保留着我旧的 Logitech G15 键盘和 SteelSeries 魔兽世界鼠标,这是我以前玩游戏时使用的(现在我只能偶尔玩一局 暗黑破坏神 III)。
我的日常开发工具是 Visual Studio 2012,再加上一些“加强剂”,比如一些必备的插件和扩展:ReSharper、GhostDoc 和 Web Essentials 2012 等等。
数据库方面,我使用 SQL Server Management Studio 以及 RedGate 的 SQL Compare 和 SQL Data Compare 工具。Cerebrata 的 Windows Azure 工具 大部分时间也处于打开状态——对于 Azure DevOps 来说是另一个必备工具。当然,我也经常使用 Notepad++ 和 SnagIt。
最后,当事情变得复杂时,我会使用 Sysinternals Suite、Fiddler2 和 WireShark 来协助。
我以前用 VB 编写代码,后来是 VB.net,但近三年来,我主要编写 C#。当然,JavaScript 一直都在,而 KnockoutJS 是我最喜欢的 JS 框架之一。IE、Chrome(也包括 Chrome Canary)、Firefox 和 Safari 的快捷方式都固定在我的任务栏上。
嗯……我差点忘了提一个叫做“Outlook”的东西……。
您对哪些新工具、语言或框架感兴趣?
WinRT 和 Windows Phone 应用是我希望学习的内容,虽然我曾在这方面组织过一些黑客马拉松,但我的贡献更多地来自于 Azure Mobile Services 方面,而不是如何完整地构建和发布一个应用程序。
您最讨厌的编码习惯是什么?
是 ReSharper 的默认设置吗?我就是那样用的 ;-) 我觉得自己像一个强迫症患者,致力于清除所有警告。
您是如何开始编程的?
我第一次接触编程是在 12 岁,使用 MSX 和 BASIC。我写了一个程序,用磁带存储朋友及其关系(男女朋友)的数据库。如果我当时称它为 Facebook,那么这次访谈的结局可能就大不相同了……
开发者社区是如何影响您的编码的?
我深度参与社区活动,管理并主持我们当地的 .NET 用户组 TenerifeDev 的会议,并在 博客 上分享 DNN 和 Azure 的结合之道,这使我获得了 Windows Azure Insider 的提名。
我可以说,开发者社区不仅影响了我的编程方式,也改变了我的生活方式。在开始在 CodePlex 或 GitHub 上发布内容、开始写博客和参加用户组会议之前,我通常在私有系统上工作,除了我的团队同事,没有人知道我在做什么。这当然会影响你的编程方式、文档编写方式等,因为你收到的反馈仅限于你自己的小环境。
与社区分享使你更加注重细节。这就像分享你的个人日记,展示你的写作方式、使用的动词和副词,并接受批评。好处是,当有人认为你的工作有用时,你的努力就会得到回报。
您会对一个新兴的程序员提供什么建议?
西班牙谚语:“El saber no ocupa lugar”(可以翻译为“知识不占地方”)。
我记得我准备 MS 认证的 IT 专业考试时,曾问自己是否应该花时间准备其他开发考试。但在云端工作时,你会发现结合 IT 专业和开发知识才能脱颖而出。你会发现,在云世界里,有许多需要连接到你的代码中的组件来构建定制化解决方案,最终,了解 DNS 的工作原理、如何配置虚拟网络或如何以编程方式同步 Active Directory,都将在调试这个新时代的问题时有所帮助。
编者按:我们在 DNN Evoq 业务应用程序套件发布前夕采访了 David。该套件基于 Windows Azure 的 Evoq Cloud Edition。Evoq Cloud Edition 是 DNN 提供的一项完全托管的服务。