小编Jam*_*mes的帖子

在Vim变得更好

我一直在使用Vim很长一段时间,但是我处于大多数时候使用插入模式的水平,我仍然使用箭头键移动(!).

我觉得我没有从我可爱的编辑器中获得最大的收益,特别是关于导航(特别是代码),复制和粘贴以及对现有代码进行其他操作.(虽然我对复杂的搜索/替换模式非常熟悉).

  • 我该怎么去学习更多?
  • 人们会推荐哪些资源?

vim

116
推荐指数
8
解决办法
3万
查看次数

以尽可能小的量增加python浮点值

我正在使用浮点值作为字典键.

偶尔,偶尔(也许永远,但不能肯定从来没有),就会出现冲突.我想通过将浮点值递增尽可能小的数量来解决这些问题.我怎样才能做到这一点?

在C中,我会旋转尾数的位来实现这一点,但我认为在python中是不可能的.

python

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

如何在iOS中计算SHA-2(理想情况为SHA 256或SHA 512)哈希?

安全服务API似乎不允许我直接计算哈希.有很多公共领域和自由许可的版本可用,但我宁愿使用系统库实现,如果可能的话.

可以通过NSData或普通指针访问数据.

哈希的加密强度对我来说很重要.SHA-256是可接受的最小散列大小.

security hash objective-c sha256 ios

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

CSRF攻击是否适用于API?

特别是,我正在写一个Django的RESTful API来支持iOS应用程序,和我一直运行到Django的CSRF保护,每当我写的方法来处理POST请求.

我的理解是iOS管理的cookie不会被应用程序共享,这意味着我的会话cookie是安全的,没有其他应用程序可以使用它们.这是真的?如果是这样,我可以将所有API函数标记为CSRF免除吗?

python security api django

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

从python运行程序,并在脚本被终止后继续运行

我试过这样的事情:

subprocess.Popen(['nohup', 'my_command'],
                 stdout=open('/dev/null', 'w'),
                 stderr=open('logfile.log', 'a'))
Run Code Online (Sandbox Code Playgroud)

如果父脚本正常退出,则此方法有效,但如果我终止脚本(Ctrl-C),则所有子进程也将被终止.有办法避免这种情况吗?

我关心的平台是OS X和Linux,使用的是Python 2.6 Python 2.7.

python subprocess nohup

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

SecRandomCopyBytes有多好?

如果它与OS X实现不同,我主要SecRandomCopyBytesiOS上的实现感兴趣.(我认为它确实如此,因为移动设备比台式计算机拥有越来越多的现成熵源.)

有没有人有关于的信息:

  1. SecRandomCopyBytes从哪里获得熵?
  2. 什么率它可以产生好的随机数?
  3. 如果没有足够的熵,它会阻塞还是立即失败?
  4. 它符合FIPS 140-2标准,还是已包含在任何其他官方认证中?

文档没有涵盖这些要点.

我只能找到听到 - 说评论它使用来自无线电,指南针,加速度计和其他来源的信息,但实际上代表Apple的人没有引用.

security entropy ios

25
推荐指数
2
解决办法
6462
查看次数

removeAttr()不删除IE中的"disabled"属性

var disableSelection = function(){
    $("#elementId").attr("disabled","disabled");    
};

var enableSelection = function(){
    $("#elementId").removeAttr("disabled");
};
Run Code Online (Sandbox Code Playgroud)

我有以下要求:

  1. 禁用SELECT元素以限制用户选择选项
  2. disabled SELECT元素已经选择了一些OPTION元素
  3. on submit事件启用禁用SELECT元素以保存所选值

添加属性"禁用"适用于IE.然而,当我尝试使用jQuery revomeAttr()方法删除属性时,而不是删除属性:

  1. 方法将"disabled"属性添加到先前启用的SELECT元素
  2. 方法不会删除"已禁用"属性

jquery internet-explorer

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

这个PyList_Append(列表,Py_BuildValue(...))是否泄漏?

这会泄漏吗?:

static PyObject* foo(PyObject* self, PyObject* args){
    PyObject* list = PyList_New(0);
    for(int i = 0; i < 100; i++)
        // leak? does PyList_Append increment ref of the temporary?
        PyList_Append(list, Py_BuildValue("i", 42)); 
    return list;
}
Run Code Online (Sandbox Code Playgroud)

虽然,我认为最好这样做,无论如何?:

static PyObject* foo(PyObject* self, PyObject* args){
    PyObect* list = PyList_New(100);
    for(int i = 0; i < 100; i++)
        PyList_SetItem(list, i, Py_BuildValue("i", 42));
    return list;
}
Run Code Online (Sandbox Code Playgroud)

c python

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

QDebug()<< stuff; 自动添加换行符?

我正在尝试实现我自己的QDebug()样式调试输出流,这基本上是我到目前为止:

struct debug
{
#if defined(DEBUG)
    template<typename T>
    std::ostream& operator<<(T const& a) const
    {
        std::cout << a;
        return std::cout;
    }
#else
    template<typename T>
    debug const& operator<<(T const&) const
    {
        return *this;
    }

    /* must handle manipulators (endl) separately:
     * manipulators are functions that take a stream& as argument and return a
     * stream&
     */
    debug const& operator<<(std::ostream& (*manip)(std::ostream&)) const
    {
        // do nothing with the manipulator
        return *this;
    }
#endif
};
Run Code Online (Sandbox Code Playgroud)

典型用法:

debug() << "stuff" << "more stuff" << std::endl; …
Run Code Online (Sandbox Code Playgroud)

c++ qt stream

15
推荐指数
3
解决办法
9845
查看次数

我可以通过交换__dict__来有效地交换两个类实例吗?

我有一个有很多成员的大班,并且有很多关于这个类的实例的引用.不幸的是(出于合理的原因)所有这些引用都是错误的方法.

而不是重新创建每个(并在任何地方查找和更新对象),或者每次访问此类时添加额外的间接级别,或者单独交换成员,我都定义了一个方法:

def swap(self, other):
    assert(isinstance(other, self.__class__))
    self.__dict__, other.__dict__ = other.__dict__, self.__dict__
Run Code Online (Sandbox Code Playgroud)

所以我可以这样做:

instance_a.swap(instance_b)
# now all references to instance_a everywhere are as if instance_a is instance_b
Run Code Online (Sandbox Code Playgroud)

问题: 它似乎工作正常(我不使用__slots__),但感觉可能有一个原因我不应该这样做,是吗?


这是我的实际用例:

我有一种以(必然)昂贵的方式实现比较运算符的类型.我有各种包含此类对象的排序数据结构.

当我对其中一个对象执行某些操作时,我知道比较顺序已更改,并且可以通过将修改后的对象与"下一个更大"的对象进行交换来恢复数据结构中的顺序(所有这些!).

python

15
推荐指数
2
解决办法
1634
查看次数

标签 统计

python ×5

security ×3

ios ×2

api ×1

c ×1

c++ ×1

django ×1

entropy ×1

hash ×1

internet-explorer ×1

jquery ×1

nohup ×1

objective-c ×1

qt ×1

sha256 ×1

stream ×1

subprocess ×1

vim ×1