小编dav*_*ave的帖子

创建可逆哈希的好方法/函数是什么?

我需要通过线路传输一些数据,但我不希望该数据是纯文本。

我发送的文本需要反转,所以我不能 md5/sha256/etc...

对加盐字符串进行编码的好方法是什么?

security hash encode reversing

4
推荐指数
1
解决办法
7159
查看次数

jQuery - 查找相对于其容器的元素索引

这是我的HTMl结构:

<div id="main">
   <div id="inner-1">
      <img />
      <img />
      <img />
   </div>

   <div id="inner-2">
      <img />
      <img class="selected" />
      <img />
   </div>

   <div id="inner-3">
      <img />
      <img />
      <img />
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想要做的是获取相对于#main div的img.selected元素的索引.所以在这个例子中,索引应该是4(假设基于0的索引)而不是1.

我通常使用索引的方法是使用$element.prevAll().length但显然会返回相对于#inner-2 div的索引.

我尝试过使用$('img.selected').prevAll('#main').length但是返回0:/

indexing jquery

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

PHP正则表达式搜索多行

我在PHP中使用preg_*来搜索模式<!-- %{data=THIS GETS MATCHED}% -->并提取匹配的文本.

这种模式是:

preg_match('#<!-- %{' . $knownString . '\s*=\s*(.*?)}% -->#', ...)
Run Code Online (Sandbox Code Playgroud)

我想要它做的是搜索多行的字符串.例如:

<!-- %{data=
THIS GETS
MATCHED AND
RETURNED
}% -->
Run Code Online (Sandbox Code Playgroud)

如何编辑当前模式以获得此搜索功能?

php regex pcre

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

如何将()所有元素包装在一个容器而不是每个元素中?

我有类似于以下HTML:

<fieldset>
   <legend>Title</legend>

   <p>blahblahblah</p>
   <p>blahblahblah</p>
   <p>blahblahblah</p>
</fieldset>
Run Code Online (Sandbox Code Playgroud)

我想要做的是将所有P包装到一个容器中,如下所示:

<fieldset>
   <legend>Title</legend>

   <div class="container">
      <p>blahblahblah</p>
      <p>blahblahblah</p>
      <p>blahblahblah</p>
   </div>
</fieldset>
Run Code Online (Sandbox Code Playgroud)

这是我目前的Javascript:

$(document).ready(function()
{
   $('fieldset legend').click(function()
   {
      $(this).siblings().wrap('<div class="container"></div>');
   });
});
Run Code Online (Sandbox Code Playgroud)

但是,这会导致每个P元素都包含在它自己的div.container中.像这样:

<fieldset>
   <legend>Title</legend>

   <div class="container"><p>blahblahblah</p></div>
   <div class="container"><p>blahblahblah</p></div>
   <div class="container"><p>blahblahblah</p></div>
</fieldset>
Run Code Online (Sandbox Code Playgroud)

有没有更简洁的方法来实现这一点,而不是使用类似的东西:

$(document).ready(function()
{
   $('fieldset legend').click(function()
   {
      $(this).after('<div class="container"></div>');
      $(this).parent().append('</div>');
   });
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

如何让pybluez每隔X秒返回发现的设备列表,然后重复一次?

我一直在尝试找出如何使用pybluez监视附近的设备...

我希望能够运行我的程序,并让它每20秒搜索一次设备。问题是,如何使pybluez很好地放置?:/

使用他们的示例代码http://code.google.com/p/pybluez/source/browse/trunk/examples/simple/inquiry.py,很容易找到设备。运行该代码,它将吐出MAC地址以及设备名称(如果选择的话)。

如何将其循环?我一直在玩以下代码,但是>。<

import bluetooth

def search():
   while True:
      devices = bluetooth.discover_devices(lookup_names = True)

      yield devices

for addr, name in search():
   print "{0} - {1}".format(addr, name)
Run Code Online (Sandbox Code Playgroud)

python bluetooth

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

试图让Pyramid在Apache + mod_wsgi下运行,但它失败了

我已经安装了运行mod_wsgi的Apache2.我已经证实,实际上的mod_wsgi按照工作这个.

当我试图让金字塔运行时,问题出现了.我收到内部服务器错误,我的Apache错误日志包含异常:

AssertionError: The EvalException middleware is not usable in a multi-process environment
Run Code Online (Sandbox Code Playgroud)

这是我的VHost:

<VirtualHost *:80>
    ServerName  pyramidtest.dev
    DocumentRoot    /srv/pyramidtest.dev/www/
    AssignUserID    pyramidtest nogroup
    WSGIScriptAlias / /srv/pyramidtest.dev/pyramid/load.wsgi
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这是我的load.wsgi:

import site
site.addsitedir('/opt/pyramid/lib/python2.7/site-packages')

from pyramid.paster import get_app

application = get_app('/srv/pyramidtest.dev/pyramid/test/development.ini', 'main')
Run Code Online (Sandbox Code Playgroud)

mod_wsgi被编译为/opt/python2.7用作Python解释器,但我在virtualenv下运行Pyramid /opt/pyramid- 这就是我site.addsitedir()在load.wsgi中的原因.

并且,如果需要,apache2 -V:

Server version: Apache/2.2.9 (Debian)
Server built:   Dec 30 2010 11:50:24
Server's Module Magic Number: 20051115:15
Server loaded:  APR 1.2.12, APR-Util 1.2.12
Compiled using: APR 1.2.12, …
Run Code Online (Sandbox Code Playgroud)

python apache mod-wsgi pyramid

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

在完成循环遍历这些Hex值之前,Python似乎正在消亡.如何解决?

def generate_macs():
    for i in xrange(0x000000, 0xFFFFFF + 1):
        mac = hex(0x000000 + i)[2:].upper()
        mac = [mac[x:x + 2] for x in range(0, len(mac), 2)]

        yield ':'.join(mac)

for mac in generate_macs():
    print 'E8:06:88:{0}'.format(mac)
Run Code Online (Sandbox Code Playgroud)

我正在尝试生成一个MAC地址列表E8:06:88:00:00:00 and E8:06:88:FF:FF:FF.

该计划似乎在这条线上濒临死亡:

ubuntu@ubuntu:~$ tail range1.txt
E8:06:88:44:86:55
Run Code Online (Sandbox Code Playgroud)

为什么...?:/

python memory loops

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

减小图像的宽度/高度以适合给定的宽高比.怎么样? - Python图像缩略图

import Image

image  = Image.open('images/original.jpg')
width  = image.size[0]
height = image.size[1]

if width > height:
    difference = width - height
    offset     = difference / 2
    resize     = (offset, 0, width - offset, height)

else:
    difference = height - width
    offset     = difference / 2
    resize     = (0, offset, width, height - offset)

thumb = image.crop(resize).resize((200, 200), Image.ANTIALIAS)
thumb.save('thumb.jpg')
Run Code Online (Sandbox Code Playgroud)

这是我当前的缩略图生成脚本.它的工作方式是:

如果您的图像为400x300,并且您希望缩略图为100x100,则原始图像的左侧和右侧将需要50个像素.因此,将其调整为300x300.这使原始图像具有与新缩略图相同的纵横比.之后,它会将其缩小到所需的缩略图大小.

这样做的好处是:

  • 缩略图取自图像的中心
  • 宽高比不会搞砸

如果你要将400x300图像缩小到100x100,它看起来会变暗.如果您从0x0坐标获取缩略图,您将获得图像的左上角.通常,图像的焦点是中心.

我希望能够为脚本提供任何宽高比的宽度/高度.例如,如果我想将400x300图像的大小调整为400x100,它应该从图像的左侧和右侧刮掉150px ...

我想不出办法做到这一点.有任何想法吗?

python resize image thumbnails aspect-ratio

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

jQuery - 似乎无法将.live()绑定到标签元素.为什么?

这是我的代码:

HTML:

<ul id="more-items">
   <li><label class="button">hi</label></li>
   <li><label class="button">hi</label></li>
   <li><label class="button">hi</label></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

$('ul#more-items label.button').live('click', function()
{
   alert(1);
});
Run Code Online (Sandbox Code Playgroud)

单击标签不会导致alert()触发..live()绑定似乎对标签元素没有影响......

如果我将其更改为使用.click()甚至.bind(),它可以完美地运行.是否有任何原因.live()不起作用?有没有办法来解决这个问题?

我使用.live()的原因是因为ul#more-items将多次读取到页面并且我不希望每次重新绑定点击时都必须触发一个函数.

javascript jquery label bind live

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

如何结合SQLAlchemy和EAV DB模式的优点?

我最近一直在与Pylons做一些工作,非常像SQLAlchemy数据库交互模型.我的网站有一部分,我认为可以从EAV架构中受益.

使用它作为我的表示例:

id | userid | type   | value
---+--------+--------|------------
1  |  1     |  phone | 111 111 111
---+--------+--------|------------
2  |  1     |  age   | 40
Run Code Online (Sandbox Code Playgroud)

我可以手动运行以下查询来提取和更新数据:

SELECT value FROM table WHERE userid=1 AND type='phone'
UPDATE table SET value=41 WHERE userid=1 AND type='age'
Run Code Online (Sandbox Code Playgroud)

这很容易并且有效...但是手动构建查询不是我的首选方法.我想使用SQLAlchemy来创建我的表模型并让它完成所有的工作.

如果我使用标准架构,每个架构都有type自己的列,我可以执行以下操作:

class People(Base):

   __tablename__ = 'people'

   id      = Column(Integer, primary_key=True)
   userid  = Column(Integer, ForeignKey('users.id'))
   phone   = Column(Unicode(40))
   age     = Column(Integer)
Run Code Online (Sandbox Code Playgroud)

然后我可以使用以下方法提取数据:

data = Session.query(People).filter_by(id=1).first()
print data.age
Run Code Online (Sandbox Code Playgroud)

我希望能够为我的EAV架构做同样的事情.所以基本上,我需要一种方法来扩展SQLAlchemy并告诉它,当我调用data.age它实际上意味着,我想要SELECT value FROM table …

python pylons sqlalchemy entity-attribute-value

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

char数组是否需要比您打算使用的字节大一个字节?- C

我开始学习C并且在数组方面有点困惑.

#include <stdio.h>

int main()
{
    int i;
    char j[5];

    for (i = 0; i < 5; i++)
    {
        j[i] = 'a';
    }

    printf("%s\n", j);
}
Run Code Online (Sandbox Code Playgroud)

打印出来运行此代码

aaaaa?
Run Code Online (Sandbox Code Playgroud)

我已经读过char数组需要比字符串长一个字节,所以编译器可以放在\0最后.如果我用这个替换代码:

#include <stdio.h>

int main()
{
    int i;
    char j[5];

    for (i = 0; i < 4; i++)
    {
        j[i] = 'a';
    }

    printf("%s\n", j);
}
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

aaaaa
Run Code Online (Sandbox Code Playgroud)

char数组比我使用的长一个字节.我怀疑这就是为什么我没有在字符串的末尾看到那个奇怪的字符?

我尝试用以下代码测试这个理论:

#include <stdio.h>

int main()
{
    int i;
    char j[5];

    for (i = 0; i < 4; i++)
    {
        j[i] = …
Run Code Online (Sandbox Code Playgroud)

c arrays char

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

金字塔 - 是否可以在我的视图中将我的mako模板渲染为字符串?

我有一个可调用的视图,看起来类似于:

def post_comment(request):
    """ Posts the users comment to the thread """

    try:
        new_comment = comments.post()
    except InvalidComment as e:
        return {'success' : False, 'message' : e.message}

    # need to do something like:
    new_comment = pyramid.template.render(new_comment)

    return {'success' : True, 'message' : new_comment}
Run Code Online (Sandbox Code Playgroud)

此视图可调用的路由配置为:

config.add_route('post_comment',
                 '/comments/{link_id}/post',
                 view='site.views.post_comment',
                 view_renderer='json')
Run Code Online (Sandbox Code Playgroud)

使用这个,我可以AJAXify我的评论提交,并有一个闪亮的Web 2.0网站.问题是,我想new_comment通过我的mako模板渲染来构建HTML并返回它.但是,我找不到办法做到这一点.

如何在我的视图中呈现可调用的mako模板以将HTML作为JSON响应返回?

python ajax json pyramid

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

通过类变量公开数据的推荐"设计模式"是什么?

我见过很多模块允许人们使用以下方式访问数据:

print blah.name
Run Code Online (Sandbox Code Playgroud)

相反:

print blah.get_name()
Run Code Online (Sandbox Code Playgroud)

鉴于名称是静态变量,使用变量方法而不是调用函数似乎是更好的选择.

我想知道最好的"设计"是用来实现这个.例如,给定一个Person对象,我应该如何公开nameage

class Person:

    def __init__(self, id):

        self.name = self.get_name(id)
        self.age  = self.get_age(id)

    def get_name(self, id=None):

        if not id:
            return self.name
        else:
            # sql query to get the name
Run Code Online (Sandbox Code Playgroud)

这将允许我:

x = Person
print x.name
Run Code Online (Sandbox Code Playgroud)

有推荐的替代方案吗?

python oop design-patterns

0
推荐指数
1
解决办法
395
查看次数