我一直在从Windows上的github上追逐极慢的克隆速度问题.Linux(kali)没有这个问题.
我正在进行100/40兆位/秒的下行连接.我可以获得接近8mb/s的下载没问题.
我已经将我的电脑直接插入我们的网络插座,没有任何路由器或交换机.
Windows git clone(windows 10,git 2.14.1)以大约150-210kb/s的速度持续下载
我试过另一个Windows 7和Windows 10机器同样的问题.我尝试过具有相同问题的Windows XP VM.我改变了与4G蜂窝的连接,速度是一样的.
我尝试了github镜像测试(https://bitbucket.org/mirror/git.git),结果相同.
我已经尝试过SSH和HTTPS,速度有所改变,但仍然很慢.
我也试过速度慢的其他github镜子.
我尝试通过硅谷使用VPN(PIA)甚至更慢.
如果我在网络连接桥接的同一台机器上的VM中使用kali linux,我可以使用SSH和HTTPS从bitbucket获得~8 mb/s.
如果我使用visual studio团队服务托管构建代理(windows),我得到大约60mb/s(可能缓存?)
我试过从git bash,ubuntu bash(windows 10),windows cmd,powershell以相同的低速运行git.
我在安装git时尝试使用"OpenSSL库"和"本机Windows安全通道库".
我尝试从2.14降低版本2.00,但没有区别.
我位于澳大利亚.
我已经说过bitbucket的支持,他们建议MSS/MTU必须是1436或更低.我的路由器和PC默认为1500但是在Windows中使用wireshark我可以看到所有数据包的MTU都是1436.
在kali linux中使用tcpdump我也看到了1436的MTU.
总结一下,我改变了以下内容:不同的PC/VM不同版本的Windows不同的物理网络连接.
我要么在windows中获得~200kb/s max,要么在linux中获得8mb/s max.
linux和windows git实现之间有什么不同,可能导致这些速度差异?
编辑:如果git使用慢速网络共享(看到有关此问题的其他问题)我尝试使用我的本地克隆做一个cp -r我使用与我相同的路径获得大约1gb/s的传输速度(RAID 0 SSD) git config.
编辑:如果我将我的Kali VM中的网络连接到Windows,我得到8mb/s,如果我使用NAT,那么我得到200kb/s表示它与https通过windows而不是git客户端导致问题.这有帮助吗?
编辑2:看来所有通过Windows的HTTPS流量上限为200kb/s,这是一个Windows问题,而不是一个git问题.我将开始一个新问题.
https://superuser.com/questions/1244551/https-traffic-40x-slower-than-http-in-windows-10-x64
CI会这样做
int number = 3510;
char upper = number >> 8;
char lower = number && 8;
SendByte(上部);
SendByte(低级);
上下都是= 54
在C#我这样做:
Run Code Online (Sandbox Code Playgroud)int number = Convert.ToInt16("3510"); byte upper = byte(number >> 8); byte lower = byte(number & 8); char upperc = Convert.ToChar(upper); char lowerc = Convert.ToChar(lower); data = "GETDM" + upperc + lowerc; comport.Write(data);
但是在调试器编号= 3510,upper = 13和lower = 0这没有任何意义,如果我将代码更改为>> 6 upper = 54这绝对是奇怪的.
基本上我只想从16位数字中获取上下字节,并在"GETDM"之后将其发送到com端口
我怎样才能做到这一点?它在C语言中非常简单,但在C#中我完全被难倒了.
是否可以获得 Visual Studio 2019 调试器提供的等效堆栈跟踪。
例如,如果我在 Visual Studio 内的异步代码中设置断点,我会在“调用堆栈”窗口中看到以下堆栈跟踪
company.Common.dll!company.Common.Api.ResourcesDatabase.Lock() Line 58 C#
company.Common.dll!company.Common.Api.ResourcesDatabase.ResourcesDatabase(bool openAndCreateDB) Line 29 C#
company.Api.dll!company.Api.GlobalsDownloader.DownloadNewGlobals_UnderLock(System.Func<company.Common.Api.DTO.GlobalsType, System.Threading.Tasks.Task> reloadGlobals, company.Common.Api.DTO.GlobalsType globalsType) Line 124 C#
[Resuming Async Method]
[External Code]
[Async Call Stack]
[Async] company.Api.dll!company.Api.ApiService.VerifyLogin_UnderLock(bool skipInitTasks, System.Threading.CancellationToken ct) Line 1147 C#
[Async] company.Api.dll!company.Api.ApiService.VerifyLogin(System.Threading.CancellationToken ct) Line 955 C#
[Async] company.Api.dll!company.Api.ApiService.Init(System.Action initComplete, bool dontCheckForUpdates) Line 250 C#
[Async] company.Editor.exe!company.Editor.ViewModel.MainViewModel.Init() Line 524 C#
[Async] company.Editor.exe!company.Editor.ViewModel.MainViewModel.InitViewModel.AnonymousMethod__31_0() Line 331 C#
Run Code Online (Sandbox Code Playgroud)
如果我打电话new System.Diagnostics.StackTrace(1,true)
我会得到以下信息
at company.Common.Api.ResourcesDatabase.Lock()
at company.Common.Api.ResourcesDatabase..ctor(Boolean openAndCreateDB)
at company.Api.GlobalsDownloader.<DownloadNewGlobals_UnderLock>d__6.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(Object stateMachine) …
Run Code Online (Sandbox Code Playgroud) 这两个代码示例之间是否有任何区别,如果没有,为什么using
存在?
StreamWriter writer;
try {
writer = new StreamWriter(...)
writer.blahblah();
} finally {
writer.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
VS:
using (Streamwriter writer = new Streamwriter(...)) {
writer.blahblah
}
Run Code Online (Sandbox Code Playgroud)
我的意思是在第二个例子中你真的应该把它放在try块中,所以添加finally块确实不会花费太多精力.我知道整个事情可能包含在一个更大的尝试块中但是,对我来说似乎是多余的.
我想匹配这条线,
<center>'''<font color="blue"><font size="18.0pt">No Change Alarms Help & Information</font></font>'''</center>
Run Code Online (Sandbox Code Playgroud)
并替换它,
=<center>'''<font color="blue">No Change Alarms Help & Information</font>'''</center>=
Run Code Online (Sandbox Code Playgroud)
现在,如果标签总是字体颜色或中心,那将很简单,但它们绝对可以是任何东西,并且可以有多个.
我目前的代码是这样的:
$html =~ s/<font size=".+">(.+)<\/font>/$1/g;
Run Code Online (Sandbox Code Playgroud)
但这显然不会在每一端做=.
我想做的是:
$html =~ s/\n(.+)<font size=".+">(.+)<\/font>(.+)\n/=$1$2$3=/g;
Run Code Online (Sandbox Code Playgroud)
然而,它无法匹配换行符,我无法弄清楚如何使它匹配它们,任何线索?
(我正在将html转换为wiki标记,但转换器会填充字体大小,因此我手动将它们转换为wiki样式标题.)
以下代码抛出"PlatformNotSupportedException"'此平台不支持此操作"
它是一个.NET标准库(尝试编译1.4和2.0),由作为Web应用程序运行的.NET 4.6.1项目引用.
var handler = new HttpClientHandler();
handler.SslProtocols = SslProtocols.Tls12;
Run Code Online (Sandbox Code Playgroud)
为什么Tls12抛出此异常以及解决方法是什么?
我想替换:
'''<font size="3"><font color="blue"> SUMMER/WINTER CONFIGURATION FILES</font></font>'''
Run Code Online (Sandbox Code Playgroud)
附:
='''<font color="blue"> SUMMER/WINTER CONFIGURATION FILES</font>'''=
Run Code Online (Sandbox Code Playgroud)
现在我的现有代码是:
$html =~ s/\n(.+)<font size=\".+?\">(.+)<\/font>(.+)\n/\n=$1$2$3=\n/gm
Run Code Online (Sandbox Code Playgroud)
然而,最终结果如下:
=''' SUMMER/WINTER CONFIGURATION FILES</font>'''=
Run Code Online (Sandbox Code Playgroud)
现在我可以看到正在发生的事情,它匹配<font size ="..... all the way up to the end of the <font colour blue">
的不是我想要的,我希望它停止在第一个实例"不是最后一个,我认为那是什么把那个标记放在那里,但是我已经尝试.+.+?.*和.*?每次都有相同的结果.
任何人都有任何想法我做错了什么?
Resharper或现有的resharper插件是否建议使用try catch块捕获异常?
例如,File.ReadAllText抛出以下异常,是否有任何现有插件允许resharper/intellisense在我键入catch块时显示这些插件?
编辑:添加了一个链接,您可以投票给resharper建议 https://resharper-support.jetbrains.com/hc/en-us/community/posts/115000073730-Suggest-exceptions-to-catch-when-typing-try -catch块
Azure SQL 具有内置备份。如果从门户中删除 SQL 数据库和服务器,这些备份就会丢失。
备份可承受从门户删除服务器的 Azure SQL 的最佳实践是什么。
我已手动将数据库导出到存储位置,但 Azure 表示不应将其用作备份。为什么不应该使用它?我应该做什么?
azure database-backups azure-virtual-machine azure-sql-database azure-sql-server
每次发布时,Windows Defender和AVG / Avast会将我们的软件应用程序视为病毒/误报。我们有一个代码签名证书,并且还添加了taggant。
每次发布软件时,我们都必须经过在多个AV供应商站点上进行误报的过程。
我们如何才能将我们的公司代码签名证书标记为安全的,或者避免每次发布时都浪费这种耗时的误报报告流程?
编辑:是否有任何我们可以付费以自动完成的首映支持?
Edit2:由于这些误报,我们实际上是由于“恶意软件分发”而吊销了证书。似乎除了购买另一种资产外别无选择。
c# ×5
perl ×2
regex ×2
antivirus ×1
asp.net-core ×1
async-await ×1
azure ×1
bit-shift ×1
bitbucket ×1
bitmask ×1
bytearray ×1
callstack ×1
char ×1
dispose ×1
exception ×1
git ×1
github ×1
httpclient ×1
networking ×1
resharper ×1
ssl ×1
stack-trace ×1
streamwriter ×1
try-catch ×1
using ×1