小编Chr*_*son的帖子

如何在Python中实现常见的bash习语?

我目前通过一堆记忆错误的AWK,sed,Bash和一小部分Perl进行文本文件操作.

我已经看到过一些地方,python很适合这种事情.我如何使用Python来替换shell脚本,AWK,sed和朋友?

python bash shell

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

什么`git checkout ...`做什么?

我偶尔会不小心写git checkout ...,这让我处于一个独立的头状态.我想知道为什么.这是"点故事":

> git checkout .
# checks out current directory
> git checkout ..
# Checks out parent directory, if in repository.
> git checkout ...
# Puts into detached head state?
> git checkout ....
error: pathspec '....' did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)

git

54
推荐指数
1
解决办法
1735
查看次数

在iPhone上保存数据的最佳方法

我正在编写一个iPhone应用程序,需要保存我的应用程序状态(5K左右).

我主要担心的是数据在升级过程中持续存在.我使用的一些应用程序显然错了,我宁愿不这样做!

iphone objective-c

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

我可以在Linux上进行写时复制memcpy吗?

我有一些代码,我经常复制一大块内存,通常只需要对它进行非常小的更改.

我已经实现了一个跟踪更改的系统,但我认为如果可能的话,可以告诉操作系统对内存进行"写时复制",并让它只处理那些部分的副本哪个改变了.然而,虽然Linux执行copy-on-write,例如fork()时,我找不到一种控制它并自己动手的方法.

c linux memory-management

24
推荐指数
1
解决办法
7896
查看次数

reveal.js如何调整元素大小?

我试图理解reveal.js(http://lab.hakim.se/reveal-js/#/)如何动态调整元素大小.

要查看此内容,请调整页面的高度,并查看元素(在某种程度上)在页面缩小时如何缩小.

但是,使用chrome检查器,我无法看到这种缩小是如何实际发生的,无论是在CSS还是Javascript中.

(我的兴趣来自于想要改进它,如果可能的话,但我很惊讶很难弄清楚它是如何工作的.)

html javascript css reveal.js

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

extern是可选的吗?

我相信我会发疯,但请考虑以下C代码:

// file1.c
int first;

void f(void)
{ first = 2; }
Run Code Online (Sandbox Code Playgroud)
// file2.c
#include <stdio.h>

int first;
void f();
int main(void)
{
    first = 1;
    f();
    printf("%d", first);
}
Run Code Online (Sandbox Code Playgroud)

这两个文件,由于某种原因将编译和链接在一起,并打印2.我一直的印象是,除非我标记一个或另一个(但不是两者)的定义firstextern,这不会编译,这实际上整点extern!

c linker compilation extern

10
推荐指数
2
解决办法
396
查看次数

如何从Python中的json.loads获取错误位置

当我在Python 3中使用json.loads并捕获任何结果错误时,例如:

try:
  data = json.loads(string)
except ValueError as err:
  print(err)
Run Code Online (Sandbox Code Playgroud)

我收到了一条有用的消息:

Expecting ',' delimiter: line 12 column 12 (char 271)
Run Code Online (Sandbox Code Playgroud)

我希望能够向用户显示这一点,以及导致问题的确切位置(我正在阅读用户编写的JSON).我该如何走出直线和列?

我可以在err上使用正则表达式,但这感觉是一个坏主意,因为我不知道这个消息是否国际化,并且可能在不同版本的python中发生变化.有没有更好的办法?

python json

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

你最好的调试提示是什么?

对于您喜欢的语言有哪些专家调试提示,您认为每个人都应该使用?

作为一个例子,我将提供我的C++调试提示,它们之间的帮助我摆脱了我遇到的大多数错误,这种常常难以调试的语言.

C++

  • 将编译器的警告级别提高到最大值,然后停止那些发生很多的警告,并且你已经决定不关心(对我来说它是未使用的参数).在警告级别非常高之前,g ++不会警告函数中缺少返回语句(我经常发现的问题).

  • 学习如何打开编译器的调试标准库,并使用它!(-D_GLIBCXX_DEBUG for g ++).这会发现许多错误,还有助于准确显示错误发生的位置.

  • 始终,始终,始终通过一个非常好的内存检查器(如valgrind)运行代码,并修复它产生的所有问题.

debugging

8
推荐指数
2
解决办法
946
查看次数

requestAnimationFrame的最新polyfill

http://updates.html5rocks.com/2012/05/requestAnimationFrame-API-now-with-sub-millisecond-precision告诉我最近(Chrome 20)requestAnimationFrame获得了一个新的亚毫秒精度计时器,而且我有更新我的代码以支持它.

环顾周围的各种polyfills,他们似乎都在这个更新之前.它们是否具有某种功能(我不这么认为),或者根本没有最新的可用功能?我应该自己做这个时间(看起来有点浪费).

javascript html5 requestanimationframe

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

拒绝git中的大文件

我们最近开始使用git,当有人提交了一个大的(~1.5GB文件),然后导致git在各种32位操作系统上崩溃时出现了一个令人讨厌的问题.这似乎是一个已知的错误(git mmaps文件到内存中,如果它无法获得足够的空间,它就无法工作),这不会很快得到修复.

简单(对我们而言)的解决方案是让git拒绝任何大于100MB左右的提交,但我无法想办法做到这一点.

编辑:问题来自意外提交大文件,在这种情况下是一个大的程序输出转储.目的是避免意外提交,只是因为如果开发人员意外地提交了一个大文件,然后尝试将其恢复到存储库是一个下午,没有人可以做任何工作,并且必须修复所有本地分支他们有.

git large-files

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