小编Ale*_*ysh的帖子

如何使用Redis以原子方式删除与模式匹配的键

在我的Redis DB中,我有许多prefix:<numeric_id>哈希值.

有时我想以原子方式清除它们.如何在不使用分布式锁定机制的情况下执行此操作?

redis

544
推荐指数
20
解决办法
33万
查看次数

转义字符串以获取sed替换模式

在我的bash脚本中,我有一个外部(从用户接收)字符串,我应该在sed模式中使用它.

REPLACE="<funny characters here>"
sed "s/KEYWORD/$REPLACE/g"
Run Code Online (Sandbox Code Playgroud)

如何逃避$REPLACE字符串,以便sed作为文字替代品安全地接受?

注意:KEYWORD是一个没有匹配等的哑子串.它不是由用户提供的.

string escaping sed

296
推荐指数
6
解决办法
27万
查看次数

在没有结账的情况下将其他分支重置为当前

我正在为我的Git工作流编写一些脚本.

我需要将其他(现有)分支重置为当前分支,而无需结帐.

之前:

 CurrentBranch: commit A
 OtherBranch: commit B
Run Code Online (Sandbox Code Playgroud)

后:

 CurrentBranch: commit A
 OtherBranch: commit A
Run Code Online (Sandbox Code Playgroud)

相当于

 $ git checkout otherbranch 
 $ git reset --soft currentbranch
 $ git checkout currentbranch
Run Code Online (Sandbox Code Playgroud)

(注意--soft:我不想影响工作树.)

这可能吗?

git

100
推荐指数
3
解决办法
2万
查看次数

修剪Xcode中的尾随空格

当我保存文件时,有没有办法强制Xcode修剪尾随空格?

如果重要的话,我正在使用3.1.3版本.

xcode editor trim developer-tools

94
推荐指数
4
解决办法
3万
查看次数

JavaScript中字符串长度(以字节为单位

在我的JavaScript代码中,我需要以这种格式向服务器撰写消息:

<size in bytes>CRLF
<data>CRLF
Run Code Online (Sandbox Code Playgroud)

例:

3
foo
Run Code Online (Sandbox Code Playgroud)

数据可能包含unicode字符.我需要将它们作为UTF-8发送.

我正在寻找最流行的浏览器方式来计算JavaScript中字符串的长度(以字节为单位).

我试过这个来组成我的有效载荷:

return unescape(encodeURIComponent(str)).length + "\n" + str + "\n"
Run Code Online (Sandbox Code Playgroud)

但它没有给我准确的结果旧浏览器(或者,这些浏览器中的字符串可能是UTF-16?).

有线索吗?

更新:

示例:???! Naïve?UTF-8中字符串的长度(以字节为单位)为15个字节,但某些浏览器报告的是23个字节.

javascript unicode

85
推荐指数
10
解决办法
10万
查看次数

Git子模块工作流程

在我的项目中,我需要使用第三方代码,存储在几个Git存储库中.我的项目也存储在(单独的)Git存储库中.在主项目中有几个人和我一起工作,我是维护者.

在早期的项目中,我曾经手动将依赖项复制到Git工作树,添加一个指定我使用的版本的小文件.

现在这是相当不舒服的,因为我需要每天更新一个依赖项,并且经常自己贡献代码,大部分时间都伴随着对主项目的更改.

我决定尝试使用Git子模块进行管理.我尝试的越多,我就越沮丧.甚至看起来手动副本也许更好.

以下是我的一些担忧:

  • 我们不再能够通过单个命令获得一致的存储库状态(git checkout现在需要git submodule update --init).
  • 我们无法正确使用某些Git工具(git archive最值得注意的是).
  • 我们无法从主项目中看到状态更改/差异到子模块.
  • 正如我刚刚发现的那样,git submodule无法使用--git-dir--work-tree选项,并且需要将当前目录的物理更改为"工作树的顶层".

似乎为了简化我们的子模块工作流程(即一个操作==一个命令),我们必须在Git周围编写一个相当厚的包装器.这真是难过;这真是伤心.

请注意,不能选择远离Git或将子项目开发完全合并到主项目中.

也许我用git submodules的是错误的方式?有没有关于工作流程的好教程?

即使您不知道正确的答案,请大家说出来,但请分享我的疑虑.:-)

git workflow git-submodules

42
推荐指数
2
解决办法
6081
查看次数

将N维值映射到希尔伯特曲线上的点

我有一组巨大的N维点(数千万; N接近100).

我需要将这些点映射到单个维度,同时保留空间局部性.我想用希尔伯特空间填充曲线来做.

对于每个点,我想选择曲线上最近的点.该点的希尔伯特值(从曲线起点到拾取点的曲线长度)是我寻求的单维值.

计算不一定是即时的,但我希望它在不错的现代家用PC硬件上不会超过几个小时.

有关实施的建议吗?有没有可以帮助我的图书馆?(语言并不重要.)

algorithm math hilbert-curve dimension-reduction

39
推荐指数
4
解决办法
2万
查看次数

gdb:找不到新线程:泛型错误

当我对一个加载.so的程序运行GDB时,该程序链接到pthreads,GDB报告错误"无法找到新的线程:泛型错误".

请注意,我运行的可执行文件未与pthreads链接.

有线索吗?

$ gdb --args lua -lluarocks.require
GNU gdb (GDB) 7.0-ubuntu
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/lua...(no debugging symbols found)...done.
(gdb) run
Starting …

debugging ubuntu gdb pthreads

28
推荐指数
5
解决办法
2万
查看次数

LuaJIT 2优化指南

我正在寻找一个关于如何优化LuaJIT 2的 Lua代码的好指南.它应该关注LJ2细节,比如如何检测正在编译哪些迹线,哪些不是,等等.

有什么指针吗?收集Lua ML帖子的链接可以作为答案(这里总结这些链接的奖励积分.)

更新:我已将标题文本从"性能分析"更改为"优化"指南,因为这更有意义.

lua profiling

28
推荐指数
2
解决办法
1万
查看次数

Git挂钩管理

我们在项目中使用自定义编写的Git钩子.

挂钩存储在项​​目的存储库中,当它们发生更改时,为了获得新版本,每个用户必须在其.git/hooks目录中手动复制它们.这很不方便.

改善这种情况的一种方法是将.git/hooks符号链接到worktree.但这意味着每个分支(甚至用户的本地功能分支正在开发中)应该具有最新版本的钩子.这也不方便.

你会如何解决这个问题?

git githooks

26
推荐指数
2
解决办法
6926
查看次数