WallabyJS 是在IDE或者编辑器中灵巧且功能强大的JavaScript测试执行工具

[原文发表地址]: WallabyJS is a slick and powerful test runner for JavaScript in your IDE or Editor [原文发表时间]: January 13, 2016   这周我的一个朋友提醒我说让我去试用一下WallabyJS。我在WallabyJS没有很成熟之前有用过WallabyJS一段时间,但是我没有安装最新版本的WallabyJS。喔,它现在变得很漂亮并且很好用了。如果你喜欢编写JavaScript的话,你应该去亲自试一试的。基于以下几点原因,它同时也是超级快的。 Wallaby.js 是非常非常快的,因为它只是执行你的Code变化影响到的测试用例, 并且同时执行多条测试用例。 WallabyJS 有专门针对InterlliJ平台的插件,Visual Studio, Atom, 和Visual Studio Code预览版和文本编辑器的支持也会很快到来。 它支持TypeScript, CoffeeScript, 和ES7。Wallaby 在执行测试用例的时候支持Jasmine,如果你想添加自己的测试框架和断言库,也是可以的。 因为Code支持扩展,所以现在在Visual Studio Code 中安装WallabyJS是非常简单的。 一旦你安装了扩展应用,就会下载需要的一些东西和WallabyJS启动程序。我在安装的时候碰到了一个小问题, 但是卸载后重新安装就解决了这个问题, 所以可能只是一个临时性问题。 如果你不想要很多的安装,而是想要快速行动的话,只要这样克隆下他们的计算器实例: git clone https://github.com/wallabyjs/calculator-sample.git 只有一个需要注意的是,目前的情况是在你安装完WallabyJS之后,你必须要自己手动去启动服务。 一旦它启动起来,就几乎是全自动了,而且你可以添加和保存测试用例,你可以使用快捷键或者是Visual Studio Code 命令窗口进行操作。 能够在Visual Studio中看到这样非常好用的工具真是太棒了。请记住你可以通过code.visualstudio.com获得针对任何平台的VSCode(现在已经开源了!),并且你能在WallabyJS的门户网站下载到WallabyJS。

0

如何托管自己的NuGet Server和 Package Feed

[原文发表地址] How to host your own NuGet Server and Package Feed [原文发表时间] April 13, 2016   托管自己的NuGet Server,尤其当你是一个公司,或者甚至是一个小的工作团队,这都是一件非常有用的事情。 这是一个能够确保每个团队建立的组件都是NuGet程序包的很好的方法,并且其他团队也可以使用这些包文件,而不是使用松散的DLL文件。 很多人(包括不久前的自己)不知道Visual Studio Team Services还为您的团队提供私人的NuGet Feed ,所以这是非常受人喜欢的。但是我想要尝试建立我自己的快速NuGet Server。我可以把它放在我私人的web服务器上或者是Azure上。   从NuGet网站可以知道: 有几个第三方可用 的NuGet 服务器使远程私人的包文件易于配置和设置,包括Visual Studio Team Services , MyGet , Inedo’s ProGet,JFrog’s Artifactory,NuGet Server 和 Sonatype’s Nexus。请参见An Overview of the NuGet Ecosystem去了解更多有关这些选项的概述。   将共享文件或者目录作为NuGet Server 从NuGet 3.3开始, 你可以只使用一个本地文件夹,它可以建立分层…

0

.NET基准测试代码

  [原文发表地址] Benchmarking .Net code [原文发表时间] February 25, 2016 前不久我发布了关于诊断和解决.NET序列化瓶颈的标准化基准, 也邀请Matt Warren 做客我的播客,然后我们做了一集关于性能作为特色 的展示。 今天Matt 正在与Andrey Akinshin 一起在称 为BenchmarkDotNet的开源库上工作。这 个库已经成为一个功能非常完善的.NET标杆库,并正被一些大项目使用。它甚至被 Ben Adams用在“Kestrel”的基准讨论中。 通常来讲基准属性其实非常类似于测试,例如:   其输出结果是极其友好的,就如下表所所示。你甚至可以方便地将它们粘贴到GitHub的问题表中。   通常来讲,它正在做一些你我可能都会做错的事情,关于基准测试的令人感到无聊的数据比特流。你可以参考很多关于框架的例子和CLR内部属性进行了解。 最后,它包含了大量的,能够使我们更容易地写出基准测试程序,包括CSV /减码/文本输出,参数化基准测试和诊断程序。加上它现在可以告诉你给每个基准所分配的内存,你可以参考Matt的最近的一篇博客获取更多细节的信息(通过使用ETW事件实现,如PerfView)。 社区里有许多了不起的测试基准。ASP.NET core近期达到每秒收到1.15万个请求的记录。 它每秒超过了12.6 Gbps。用户们看到了完善的在ASP.NET核心上进行的性能改进与升级(前身叫做ASP.NET RC1)。 相信这将是伟大的一年!一定要在GitHub上探索关于ASP.NET的基准https://github.com/aspnet/benchmarks,正如我们向TechEmpower基准探索一样! 您在使用什么基准测试你的代码?

0

Github活动的不足和编码人的FitBit

[原文发表地址]GitHub Activity Guilt and the Coder’s FitBit [原文发表时间]February 9, ’16 我今天收到Corey P.发的一封有趣的邮件. 经过允许转载了一部分。 我很好奇,你觉得GitHub的活动图怎么样?我发现自己对这个图越来越内疚/有压力。以至于我考虑着个人项目不再用GitHub 了(仅仅用它来拉请求,报告问题等等)。 我不禁觉得别人会用它来评价我(假综合症?)。我有种痛苦不堪的感觉,我需要公开的做些事情以便我可以有某种形式的书面记录,否则我会被别人瞧不起的(雇主们?同事们?) 这是一个很好的问题。让我们看一下我的GitHub图。 呀!这个图是好还是坏呢?从九月至十一月,虽然我访问了很多次,但是它还是相当的简单。 或许是Damian Edwards? 他带领ASP.NET,虽然他不是技术上的开发者(就人力资源而言),但他以我两倍的贡献值打败了我 OK,让我们看下真正的竞争者是什么样子呢,下面这个图是Monica Dinculescu,谷歌员工和Polymer的开发师: 还有David Fowler,ASP.NET的架构师和开发师。 到这里我们的收获是什么呢?是我很糟糕和Monica很厉害吗?(是的, 不过,我的确很糟糕, 还有请听一下Monica在最近的一个播客中给我讲的Web 组件) 这是我对那些图表的想法,我对你的看法也很感兴趣。 § GitHub的活动图显示的是公共版本库的活动,而不是私人的活动。 § 本周我有很多小的项目在私人或者本地的版本库上在做,有时我并没有把它们公开由于我正在做的工作有些(轻微)的尴尬。 § 这样衡量自己与他人并不总是明智的,尤其是如果它让你感到不好或者有些不舒服。 § 工作岗位不同。作为一个管理者有时需要你从编码中走出来。 § 如果这个图困扰你,设定一个合理的目标并朝着这个方向努力,但是做要应有个好的理由。(看合理性和合理因素的程度有多大?) 我能像monica或者david一样多产吗?可能不会,但是知道图的最高值也不错啊。同时,我们有不同的工作,Monica正在积极的做一个公共的开源项目,而我目前没有提交代码到ASP.NET核心。即使是Damian, 一个ASP.NET核心的项目经理,也不可避免的陷入“管理”这个图中,我怀疑他会重新考虑一下他的绿色的图。 我的工作目前没有像我平常那样把代码提交到公共版本库,但是我不会让这个表决定我在这个团队中的价值,我会把它作为我众多衡量标杆的其中之一,我也会鼓励你这样做。也许可以设定一个目标一周向一个开源软件项目提交几次代码? GitHub活动关系到招聘 Sasha Laundy在推特上对于你的GitHub活动图提出了一些重要观点。她说: 如果说GitHub提交代码只是业余项目,什么样的人会有时间去做这个呢?如果在招聘中因为你的公共的信息而被不信任,那它是如何影响公平和差异的呢? 她有一个很好的观点。值得争论的是,考虑到Github活动图只显示公共活动,基于这个做出判断自然倾向于以下: § 已经熟练编码的人VS代码新手 § 有更多的空闲时间的人,例如:年轻人,单身者,等等 § 在OSS全职工作的人(他们的公司支付他们,让他们公开提交代码) 她指出,如果你的GitHub的活动页面像你的LinkedIn那样差不多被重视,你怎么能知道基于此图你是否已经被悄悄地排斥工作之外呢?如果你是刚刚开始或者是一个20年的企业软件开发人员,你可能最终会得到一个空的图表和发现一个无知的招聘人员基于他们看到多少“绿色”而埋没了你的潜力或经验。…

0

在线实时编程的乐趣 – CodePen, REPL, TOPLAP, Alive, 以及更多

[原文发表地址]The Joy of Live Coding – CodePen, REPLs, TOPLAP, Alive, and more [原文发表时间]February 17, ’16 几周之前,我谈论了关于使用C# 和F# REPLS 代码交互的话题。似乎整整一代人错过了LIVE CODING, 我的意思是说,编写代码与编译代码同时进行。 很多人在使用C, C++, Delphi、C#、Java等语言编程,甚至已经超过15-20-30 年,他们有着非常标准的编写、 编译、调试、运行进程的习惯。二十多年前,我经常会等30分钟或更长的时间去完成某件事,现在只需要几秒钟。如今你们中的许多人都必须等待几小时来编译。 然而,如今很多可用的环境允许我们可以在运行的时候编写代码。这让人马上感到欣慰以及浏览器成为一个出色的实时编程的IDE。 在使用”Live Cording”一词的时候,他有多种定义。我故意将他们混为一谈,但实际上他们是不同的定义。Live Cording是分为”coding LIVE while people watch” 以及 “coding and watching your program change as you type”。当然,你可以认为他们是两个部分,但是我把它们混为一谈。 在线实时编程– 音乐和艺术 Mike Hodnick 谈到的在线实时编程对于我来说就是在音乐和艺术的背景下进行。实时编程使用广泛的语言和技术去制造音乐和艺术,包括 JavaScript、 Ruby、Haskell,Clojure,和DSL 的数目。这里有一个Mike的YouTube视频播放器 – 使用Tidaly音乐在线实时编程,是一种语言的即兴演奏。 资源…

0

C# 与F# REPLs的交互式编程(ScriptCS 或Visual Studio交互式窗口)

[原文发表地址]Interactive Coding with C# and F# REPLs (ScriptCS or the Visual Studio Interactive Window) [原文发表时间]January 29, ’16 REPLs非常好!REPLs是Read–eval–print loop的缩写,读作"REP-L"。大多语言和环境都有交互式的编码,而且都以REPLs作为核心的方法已经很多年了。虽然C#与F#都拥有REPLs功能,但许多人并没有意识到REPLs的可用性。 ScriptCS 曾在2013年,当Roslyn开放了源文件意味着C#编译器开始走向成熟,Glenn Block和他的朋友开发了ScriptCS 。你可以访问 http://scriptcs.net 以及GitHub and active community。 Mono项目已经拥有REPL很长时间了。 你可以花几分钟时间安装一个ScriptCS,Chocolatey Package Manager或者OneGet with Chocolatey on Windows 10。在上面的截图中,我正在命令行里写了一些代码,出现了一个错误,我已经修复了它。这是学习C#的一个很好的方法,而且它也非常的强大。你可以创建一个C#的脚本程序(.csx文件),有点像PowerShell,但是它还只是C#. Visual Studio’s REPLs – CSI and FSI Visual Studio团队经常与ScriptCS人员开会,他们甚至把他们的会议笔记放在GitHub上。在去年5月,他们已经使ScriptCS可以在OmniSharp和Visual Studio中工作了,令人十分惊喜。这儿有一套知道关于如何设置 ScriptCS 代码在 Visual Studio中工作以及如何将代码快速迁移到GitHub上。 Visual Studio 2015 Update…

0

在ASP.NET和Azure的配置中,对于私有配置数据和连接字段的最好的练习

【原文发表地址】Best practices for private config data and connection strings in configuration in ASP.NET and Azure 【原文发表时间】January 6, ’16 一个读者发邮件来询问,一般情况下如何避免意外地检查密码和其他敏感数据进入GitHub或者源码控制。我认为,公平地说,我们都是做过一两次。因为,这是新老开发人员的成人礼。 没开玩笑, 避免检查密码或/和连接字段进入源码控制的最简单的方式就是别让你的源码中出现密码和链接字段。 听起来很谦逊或者说很滑稽,然而并没有,这是真的。你不能检查一个盘里不存在的东西。 也就是说,有时候你只需要把一个文件标注为“ignored”,意味着不在源码控制之下。对于一些涉及到外部配置的系统,看重的可能是带有一堆非敏感配置数据的共享文件. ASP.NET 4.6 的秘密和连接字符串 先搞清楚,怎么个秘密法是由你决定的。如果确实是密码级的秘密或是像私钥一类的东西。你应该去看一下data protection systems or a Key Vault like Azure Key Vault.我们在这讨论的是关于带有API键的第三方web API中型企业影响的web 应用程序和可以存在于短期接单的连接字段。学聪明点。 ASP.NET 4.6 有像这种名称/值对应的web.XML配置文件: <appSettings>          <add key="name" value="someValue" />     <add key="name" value="someSECRETValue" /> </appSettings> 我们不想要秘密在那出现!…

0

探索新的.NET “dotnet” 命令行接口(CLI)

【原文发表地址】Exploring the new .NET "dotnet" Command Line Interface (CLI) 【原文发表时间】December 24, ’15 我从来不太喜欢ASP.NET 5上整个的“dnvm”和“dnu”还有“dnx”的命令行的东西。存在的就是合理的,他们过去是,并且一直是重要的步骤,对于学习过程是有组织地并且是很有帮助的。 我的想法一直是:当一个新人坐在座位上开始学习node, python, ruby, golang 或者其它任何东西时,对于绝大多数人来说,按照他们的经验就应该如此。使用.NET应当被看做是一件简单的不能再简单的事了。 下面只是一段伪代码,不用花太多时间去看。 apt-get install mylang #where mylang is some language/runtime #write or generate a foo.fb hello world program mylang foo #compiles and runs foo 我认为学习并且使用.NET 的伙伴们应该在Go或者Ruby上有相同的经验。 · 容易获得-在每个平台上获得.NET是非常容易的。 o 我们即将在https://get.asp.net/ 上开始做,并且会单独做 .NET Core,我确信。 · 很容易写Hello World –…

1

ASP.NET 5 和.NET 核心 RC1 (加上所有Connect 2015 的新闻)

[原文发表地址] ASP.NET 5 and .NET Core RC1 in context (Plus all the Connect 2015 News) [原文发表时间] 2015-11-19 在纽约今天是一个意义重大的日子,因为我在Connect() 2015 event中加入了Scott Guthrie团队,他们宣告了包括但不仅限于以下这些内容:https://channel9.msdn.com/Events/Visual-Studio/Connect-event-2015/012 Visual Studio代码现在开源了,并且一个支持扩展的新的Beta版本出来了! ASP.NET 5 RC1伴随着.NET Core一起发布,并且具有GO Live许可。这意味着在你可以在Windows或者Linux上使用ASP.NET 5 进行工作,Microsoft将支持这些功能。 你可以通过http://get.asp.net这个网站来获得ASP.NET,期待它吧。是的,这个有趣的URL是一个小型的网站,它将检查你的操作系统是Linux,Mac,或者Windows,进而告诉你如何获得ASP.NET(试着在一部手机上访问这个网站,这也将非常有趣)。 如果你坚持,你可以访问https://get.asp.net/OtherDownloads来获得所有可用的packages和组合。那有一个适用于Mac的.pkg,以及针对Linxu的.tar.gz 和一些说明。我希望并期待将来我们拥有一个在一些主流OS上适用的.NET包管理器。 Node.js Tools 1.1 for Visual Studio也发布了。很多人没有体会到在Visual Studio中使用Node.js 开发是多么炫酷。Node.js Tools for VS开源免费,并且可与免费的Visual Studio Community协同工作。 如果你还没有Visual Studio,我推荐你使用Visual Studio代码,它占用空间很小,并且可运行在任何操作系统上。如果你习惯使用命令行工具,你可以在Windows上使用以下代码: @powershell -NoProfile -ExecutionPolicy unrestricted -Command "&{iex…

0

把Visual Studio code和dnx-watch 结合起来开发ASP.NET5应用程序

[原文发表地址] Integrating Visual Studio Code with dnx-watch to develop ASP.NET 5 applications [原文发表时间] 2015-10-20 Visual Studio Code 是一个强大的免费的跨平台的代码编辑器。你可以在code.visualstudio.com上下载它,有 Mac、 Windows或Linux平台的版本。对于web开发来说它非常好,特别是node.js。因为ASP.NET 5仍处于测试阶段且变化非常快,一些我想要的特性在 VSCode用于ASP.ENT时还没有实现。幸运的是VSCode是可配置的,我能够在10分钟内用它完成任何我想要的。 ASP.NET的承诺之一便是编辑代码的能力,在编辑器里点击Ctrl-S(保存),然后在浏览器里点击F5查看结果。置空,重复。“build”步骤本质上已被隐藏。 在获得.NET Core和带有DNX的ASP.NET后,你要先看一下dnx-watcher命令,用一行就能完成安装: dnu commands install Microsoft.Dnx.Watcher 这条方便的命令打包了dnx,当你想要运行你的应用程序而不是 “dnx web”,那你用的是 “dnx-watch web”。它将会检测你包含源文件的目录的变化。当你做了变更,无论在VSCode上或在Notepad里,dnx-watch都会再次触发并启动这个进程。所以你可以在浏览器里按F5。 目前Visual Studio Code还没有为ASP.NET添加Buid或Debug菜单。但我想要执行“Ctrl-Shift-B”并生成/启动我的网络应用程序,尤其是想要在当前的应用程序里运行dnx-web。 目前可以这样操作。首先,按上面的方法安装dnx-watch。 接下来关于task.js的内容是可选的。但我喜欢这个,因为它使得VSCode和Ctrl-Shift-B快捷键以我想要的方式工作,且我已习惯如此。 在你工程的顶部创建一个名为“.vscode”的文件夹,并且为该文件夹添加一个叫“task.json”的文件。这个特殊的文件用于告诉Visual Studio Code gulp task的相关信息。 接下来我们会创建一个名为“watch”的任务,他是一个Build命令。如果愿意的话也可以创建一个Test命令。通过这个任务我还能看到输出的结果。 {     "version": "0.1.0",     "command": "gulp",     "isShellCommand": true,…

0