小编Hel*_*rld的帖子

引入 git switch 后 git checkout 还能做什么?

众所周知,git checkout is a very overloaded command. And I do understand that certain commands got introduced to distribute, e.g. to git switch.

在我使用以下命令之前:

$ git checkout <existing-branch>
$ git checkout <hash>
$ git checkout -b <new-branch-name>
Run Code Online (Sandbox Code Playgroud)

所以我想知道git switch介绍后,剩下的目的是什么git-checkout?这是一个已弃用的命令吗?

git git-checkout git-switch

19
推荐指数
1
解决办法
3547
查看次数

我正在寻找一种在VS2012中通过NatVis显示UUID的正确方法

我正在寻找一种在VS2012中通过NatVis显示UUID的正确方法.我自己的uuid类型在内部使用UUID big-endian,因此转换为(GUID*)不起作用,因为GUID在Windows中使用little-endian.所以我总是看到一个歪曲的uuid.

此外,Natvis中的任何格式说明符看起来都不好,因为在使用十六进制表示法时我无法摆脱输出中的0x.有任何想法吗?

c++ debugging visual-studio-debugging visual-studio-2012 natvis

16
推荐指数
3
解决办法
2130
查看次数

从 Angular 11 升级到 12 导致对等依赖冲突

我目前正在从 Angular 升级11.2.14到 Angular 12.0.5,但遇到了以下问题:

npm ERR! Could not resolve dependency:
npm ERR! dev @angular-devkit/build-angular@"12.0.5" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: @angular/compiler-cli@12.0.5
npm ERR! node_modules/@angular/compiler-cli
npm ERR!   dev @angular/compiler-cli@"12.0.5" from the root project
npm ERR!   peer @angular/compiler-cli@"^12.0.0" from @angular-devkit/build-angular@12.0.5
npm ERR!   node_modules/@angular-devkit/build-angular
npm ERR!     dev @angular-devkit/build-angular@"12.0.5" from the root project
npm ERR!   2 more (@angular/localize, ng-packagr)
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with …
Run Code Online (Sandbox Code Playgroud)

node.js npm angular-cli angular

13
推荐指数
3
解决办法
1万
查看次数

Python与非latin-1 PYTHONHOME路径

就我而言,我将Python嵌入到我的应用程序中.当我的应用程序的路径包含非latin-1字符时,Py_Initialize在内部调用exit(1)(稍后会有更多信息).

所以我检查了是否可以使用标准解释器可执行文件重现这一点.

当PYTHONHOME的路径包含latin-1字符集之​​外的字符时,Windows上的Python-2.7.x似乎不起作用.问题是无法找到并导入模块站点.由于变音符号似乎有效,这里的实际限制是什么?只支持latin-1吗?那为什么它适用于OSX呢?

C:\Users\?\Python27\python.exe    // fails to start (KOI8-R)
         ^
C:\Users\?\Python27\python.exe    // fails to start (latin-3)
         ^
C:\Users\ä\Python27\python.exe    // works fine (latin-1)
         ^
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

背景:

我还没有完成代码,但是当站点不可用时,Python 2.6和Python 2.7的行为也不同.Py 2.6只打印一条消息,Py 2.7拒绝启动.

static void
initsite(void)
{
    PyObject *m;
    m = PyImport_ImportModule("site");
    if (m == NULL) {
        ...

        // Python 2.7 and later
        exit(1);

        // Python 2.6 and prior
        PyFile_WriteString("'import site' failed; traceback:\n", f);
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

Python 2.7:https://github.com/enthought/Python-2.7.3/blob/master/Python/pythonrun.c#L725

Python 2.6 …

python windows utf-8 latin1

10
推荐指数
1
解决办法
344
查看次数

解决消毒剂警告

几天后,我在Xcode 7.3中启动Address Sanitizer时出现以下问题.当Sanitizer发现问题(实际上被文件抑制)时,打印到Xcode控制台的错误消息:

== 13392 ==警告:无法在fd 55写入符号化程序

== 13392 ==警告:无法在fd 55写入符号化程序

== 13392 ==警告:无法在fd 55写入符号化程序

== 13392 ==警告:无法在fd 55写入符号化程序

== 13392 ==警告:无法使用并重启外部符号器!

我在存储库中找到了错误消息但仍然无法解释发生了什么.显然内部写入功能失败但我不知道是什么导致这种情况.有任何想法吗?

https://github.com/Microsoft/compiler-rt/blob/master/lib/sanitizer_common/sanitizer_symbolizer_process_libcdep.cc#L100

clang sanitizer address-sanitizer

8
推荐指数
1
解决办法
1331
查看次数

非阻塞连接

这个问题不仅限于Python.这是一个普通的插座问题.我有一个非阻塞套接字,并希望连接到可访问的机器 - 另一方面端口不存在.为什么选择(...)成功呢?我预计会超时.sock.send(...)因管道损坏而失败.如何在选择(...)后确定套接字是否真正连接?提前致谢.

import socket, errno, os, time, select

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setblocking(0)
err = sock.connect_ex(('192.168.178.21', 12345))
ready_to_read, ready_to_write, in_error = select.select([], [sock], [], timeout=5)
#ready_to_write is set even 192.168.178.21:12345 does not exist.

sock.setblocking(1)
sock.send('foo') #this fails
sock.close()
Run Code Online (Sandbox Code Playgroud)

python sockets networking nonblocking

7
推荐指数
1
解决办法
3596
查看次数

Xcode和代码覆盖率

我的应用程序最初不是为Mac平台编写的,所以它有自己的单元测试系统,可以通过命令行触发.是否可以通过执行它来利用Xcode中的代码覆盖支持?

我试图让它作为一个UnitTest运行,它手动触发我的应用程序的'main(...)'函数(参见代码块),但是由于这个过程是由应用程序'xctest'启动的,所以很多东西都缺失了来自我的应用程序包等的资源(错误或错误的路径,......).

- (void)testExample {
  int main(int argc, char* argv[]);
  main(...);
}
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉Xcode我的应用程序应该启动,以便它可以输出可以在Xcode中查看的代码覆盖率?

c++ xcode code-coverage

7
推荐指数
1
解决办法
604
查看次数

如何在 TypeScript 中对不同数组类型使用过滤器

给出的函数签名如下:

function foo(): string[] | number[]
Run Code Online (Sandbox Code Playgroud)

为什么TS会抱怨filter的follow函数调用?

foo().filter((v) => true);
      ^^^^^^
      Error
Run Code Online (Sandbox Code Playgroud)

该表达式不可调用。联合体类型的每个成员 '{ (谓词: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (谓词: (值: 数字, 索引: 数字, 数组: 数字[]) => 未知, thisArg?: 任意): 数字[]; } | { ...; }' 有签名,但这些签名都不相互兼容。

当然我可以将其转换为[],但是这里正确的方法是什么?错误信息很难理解?人们如何破译这一点呢?

示例:游乐场

javascript typescript

7
推荐指数
1
解决办法
5771
查看次数

recv()返回0

我有一个非常讨厌的问题,我在其他论坛上发现了几次,但我找不到合适的解决方案.问题是recv()在连接的最后几个字节返回0.以下是一些背景信息.

  • 两个(客户端/服务器)应用程序都在同一台机器上运行.
  • 两个(客户端/服务器)套接字都是非阻塞的
  • 传输的数据大小为53个字节.
  • 两个(客户端/服务器)在执行最后一个send()/ recv()时调用shutdown和closesocket.
  • 我也试过SO_LINGER 10秒钟,也没有成功

我调用send()几次(小块),从客户端调用53个字节.服务器多次调用recv()(4字节请求)并读取49个字节然后返回0(54字节 - 49字节,因此缺少4个字节).

MSDN和一些论坛写的非阻塞套接字:

  • recv()肯定在错误时返回<0并且设置了errno/WSAGetLastError
  • 当对方关闭连接时,recv()肯定返回= 0
  • 当读取数据时,recv()肯定会返回> 0

MSDN还说:

使用带有SD_SEND或SD_BOTH的closesocket或shutdown功能会导致在控制通道上发送RELEASE信号.由于ATM的使用单独的信号和数据信道的,有可能是最后的数据到达目的地之前,导致数据丢失释放信号可以达到远端.一种可能的解决方案是在发送的最后一个数据和ATM套接字的关闭或关闭函数调用之间编程足够的延迟.

这在recv()和send()的例子中被认为:http://msdn.microsoft.com/en-us/library/windows/desktop/ms740121(v = vs.85).aspx

但仍然没有成功,在收到49字节后,我仍然在10%的连接中得到一些中断,90%的连接成功.有任何想法吗?谢谢.

sockets shutdown zero recv closesocket

6
推荐指数
1
解决办法
3万
查看次数

为什么 Go 被认为是部分抢占式的?

我试图在 Go 的背景下更好地理解抢占式协作式的定义。维基百科关于抢占式多任务处理的说明

在计算中,抢占是暂时中断正在执行的任务的行为,以便稍后恢复它。该中断由外部调度程序完成,无需任务的协助或配合。

维基百科指出“外部调度程序”。我想这意味着调度程序更加具体,因为据我所知,调度程序只负责选择队列中的下一个进程。

Go 通常被称为部分抢占式,因为同步点/抢占点仅位于函数调用处,而不位于任何给定指令处。这就说得通了。但正如 wiki 定义所述,抢占是由外部调度程序完成的。

但是,不是每个进程或任务都是抢占式的,因为 CPU 可以在任何进程执行中停止执行,以便切换到另一个进程吗?任何澄清表示赞赏!

附录

我能想到的唯一解释是我们谈论不同的抢占级别。一种用于进程,一种用于内核/用户线程。在这种情况下,CPU 调度程序选择下一个进程,但 Go 调度程序负责 goroutine/线程。

multithreading scheduler go preemption goroutine

6
推荐指数
2
解决办法
3041
查看次数