JavaScript async/await入门

只能在async方法中使用await关键字。为了使用await一个异步方法,必须把外层函数改为async,那么外层都一直要async了。打破这个循环的方法是不用await这个语法糖,改为.then

定义

JavaScript异步方法和C#的定义类似。若有返回值类型T,则
async T function(){..}
等同于
Promise<T> function(){..}

对于无返回值的方法,
async void function(){..}
等同于
Promise function(){..}

并不是加上async关键字就变成[……]

继续阅读

发布uMatrixCleaner规则清理器

μMatrix是一个浏览器插件,旨在保护隐私和安全性,副作用也包括阻挡广告。一般的广告屏蔽插件用的是一维的屏蔽规则,如一旦有规则vortex.accuweather.com/*.js,则不论什么网页都不能访问这个网址的资源,有点一杆子打死的感觉。而μMatrix可以识别来源网页、目标资源、目标类型,其规则形如accuweather.com vortex.accuweather.com script block,读作从accuweather.com访问vortex.accuweather.com的脚本(script)是禁止(block)的。

更多信息可以参见https://github.c[……]

继续阅读

从命令行运行测试时输出Console.WriteLine内容

测试方法调用Console.WriteLine()System.Diagnostics.Trace.WriteLine()时,Visual Studio测试管理器的测试输出窗口能成功显示追踪内容。

但是,如果用dotnet test ,则不会输出追踪内容。

难道Visual Studio使用了某种魔法获取了追踪内容吗?

其实,Visual Studio调用的不是dotnet test,而是vstest.console/Logger:trx选项可以把测试结果保存为文件,该文件里保存有追踪内容。我猜想Visual Studio正是读取了trx文件把测试[……]

继续阅读

.NET测试框架测评

最近用了xUnit.net,结构简洁。用[Fact]标记无参测试方法,用[Theory]标记有参测试方法并用[InlineData]提供参数。而且,xUnit.net可以使用静态类作为测试类。这使得编写简洁的测试代码成为可能。

美中不足是xUnit的断言除了Assert.True()Assert.False()以外,都不接受自定义错误消息。当在持续集成服务器上出错,且本地无法重现时,根本无法知晓到底具体的出错情况。

xUnit.net团队坚持认为不应添加自定义消息。[ref]””. . . [].

继续阅读

选择空格还是制表符?

关于代码缩进用空格还是制表符的问题,一直以来大家都各执一词,往往说“只要统一最重要”[1]夕夕. 写代码时,缩进使用 tab 还是空格? . . 2013-07-08 [2018-06-03].[ref]”陈龙”. . . [].

继续阅读

   [ + ]

1. 夕夕. 写代码时,缩进使用 tab 还是空格? . . 2013-07-08 [2018-06-03].

Git GUI客户端测评

我认为,Git GUI客户端有两种。一种是简单的Git外壳,把命令行操作封装成图形界面,这类工具有TortoiseGit。另一种客户端是Git仓库管理工具,它们可以定期更新Git本地仓库,更新子模块。

Git外壳

我今天要找一下哪些Git GUI客户端支持--find-copies-harder,于是写本文记录一下。

TortoiseGit

我最常用的是TortoiseGit,因为以前用的是TortoiseSvn,觉得比较顺手。

我发现查看diff是我日常git操作。提交前可能查看不止一次(比如使用提交后恢复)。查看历史时当然也要双击文件看diff。TortoiseG[……]

继续阅读

uMatrix介绍

单元格左上角的三角形表示已提交的规则。如果已提交规则与当前规则的放行结果不同,总是可以使用橡皮擦按钮还原规则。

Git笔记

如何查看提交中是否包含重命名或复制?

$ git log --name-status -M -C -1  
commit c04ecb6edd602a8463b5239a5fde900b2b3 (HEAD -> 256818)
Author: gqqnbig <gqqnbig@gmail.com>
Date: Wed Nov 15 10:45:17 2017 -0800

Extract controls from ReviewApplication.aspx so that they can be reused in viewSummary.aspx.
BugzI[......]

继续阅读

群星攻略

假设平均星球人口11.4

如果基础科学实验室的价格为在51和54矿之间,

  • 当占领3颗星时,就要开始在产出为3的宇宙研究点数上造科研站。
  • 当占领7颗星时,就要开始在产出为2的宇宙研究点数上造科研站。
  • 当占领18颗星时,就要开始在产出为1的宇宙研究点数上造科研站。

如果走机器人路线,要在有典藏扎格教授在时点机械飞升,这时一般是第三个飞升。

建设星球时,殖民地盖在产电地块。如果庇护所位置实在太差,在升级成行星首府前拆掉。

星球有5人口才能造行星首府,在这之前,不造基础矿场、基础水培农场、基础发电站,因为有了行星首府后可以直接造更高级建筑。当[……]

继续阅读