小编Mik*_*ton的帖子

使用jquery的不引人注目的javascript - 好的10分钟教程?

我正在寻找使用JQuery对Unobtrusive Javascript进行10分钟的精彩介绍.我对这个概念完全陌生,我想看看事件绑定如何起作用.

作为一些背景,我正在寻找一个类似于我们在这里所做的"删除此标签"系统.看看源代码,我没有看到任何js,只是一个img标签.这让我觉得必须有外部的js绑定到click事件.我想知道如何做到这一点,我想要一个向我展示的教程!

html javascript jquery unobtrusive-javascript

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

为什么Python/C API在PyRun_SimpleFile上崩溃?

我一直在尝试在C++应用程序中嵌入不同的脚本语言,目前我正在尝试Stackless Python 3.1.我已经尝试了几个教程和示例,我可以找到的很少,尝试从应用程序运行一个简单的脚本.

Py_Initialize();

FILE* PythonScriptFile = fopen("Python Scripts/Test.py", "r");
if(PythonScriptFile)
{
    PyRun_SimpleFile(PythonScriptFile, "Python Scripts/Test.py");
    fclose(PythonScriptFile);
}

Py_Finalize();
Run Code Online (Sandbox Code Playgroud)

出于某些奇怪的原因,运行此代码会导致访问冲突:

    PyRun_SimpleFile(PythonScriptFile, "Python Scripts/Test.py");
Run Code Online (Sandbox Code Playgroud)

我在网上搜索了类似问题的其他人,发现只有一个.他们唯一的解决方案是只在老版本的Python中才有可能的解决方法:创建一个python文件对象并将该python文件对象返回FILE*PyRun_SimpleFile.但是,这样的函数调用不可用,Python 3.1 API从文件描述符创建文件对象并返回文件描述符,但该PyRun_SimpleFile函数仍然需要FILE*.

我不知道如何从文件中运行任何脚本,没有手动将整个文件加载到内存中并将其作为一个巨大的字符串运行,当然不是一个实用的解决方案.

是什么赋予了?如果API有内部错误,我该如何完成此任务?

更新:我已经设法从源代码构建Stackless Python 3.1,尽管使用了相同的C运行时库,但崩溃仍然完全没有变化.我的项目和Stackless Python 3.1源都是使用Visual Studio 2010的C++编译器和C运行时构建的.我不再对可能解决这个问题的问题有所了解,只是修改Python以使用文件名而不是FILE*.另一个可怕的解决方法.

c++ python scripting cross-language python-stackless

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

是否有iptables的python接口?

我试图通过python检索系统上配置的当前iptables链.如果我strace iptables命令,它输出:

strace iptables -L INPUT
socket(PF_INET, SOCK_RAW, IPPROTO_RAW)  = 3
getsockopt(3, SOL_IP, 0x40 /* IP_??? */, "filter\0\377`\2\351\1\0\210\377\377\210}\313\276\0\210\377\377\354\206\0\201\377\377\377\377"..., [84]) = 0
Run Code Online (Sandbox Code Playgroud)

完整输出:http://pastebin.com/e7XEsaZV

在python中我创建套接字obj并尝试调用getsockopt并且它出错:

>>> s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_RAW)
>>> s.getsockopt(socket.SOL_IP, 0x40)
Traceback (most recent call last):
  File "<pyshell#46>", line 1, in <module>
    s.getsockopt(socket.SOL_IP, 0x40)
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 22] Invalid argument
>>>
>>> s = socket.socket(2, socket.SOCK_RAW, socket.IPPROTO_RAW)
>>> s.getsockopt(socket.SOL_IP, 0x41)
Traceback (most recent call last):
  File "<pyshell#48>", line 1, …
Run Code Online (Sandbox Code Playgroud)

python sockets linux networking iptables

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

在web2py上构建的成熟CMS和博客是什么?

为了寻找开发Web应用程序和门户的技术,我最近涉足Ruby和Python(从非系统管理员的角度来看......即,向Web应用程序开发)并立即爱上了python.我以后只想花时间在基于python的技术上(LOL).我迫切需要构建一个也可以作为企业网站运行的博客,所以我开始寻找可能的python解决方案.

我已经研究过所有主要的框架,并且像企业上的zope/plone一样,所以我最终会在plone中做很多事情.但是,我还需要一种"即时"的框架,我可以非常快速地推出并用于在博客中测试一些概念.

鉴于那里有很多优秀的python项目,这应该很容易吗?..好吧,错了.这真的很难,最后我永远无法弄清楚是否要使用Django或web2py.每个都有很好的优势.最后,我决定尽量避免痛苦并最初与他们玩耍......希望能够迅速发现每个人更适合不同项目的优势.

我要去:

  • Django - > Django-cms,其他插件
  • web2py - > InstantPress?,KPax?,其他插件?

我的主要优势在于,除了在web2py网站的"免费设备"下列出之外,基于web2py的Kpax和即时印刷机的额外信息似乎很少.我还没有看到kpax和即时印刷的完善替代品.

问题(对于那些熟悉和经验丰富的web2py):在哪里可以阅读更多关于即时印刷或kpax的内容,而不仅仅是观看3年前的电影?或者是我应该通过安装和玩它来继续它的想法?

提前感谢所有建议和信息..

python web2py django-cms

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

在C或其他编译器语言之前学习Python是一个好主意吗?

现在我正在通过麻省理工学院的OpenCourseWare计算机科学课程的介绍.作为本课程的一部分,我正在学习Python语言.

我已经阅读了很多关于学习C的好处的事情.在我深入研究Python之前,我想知道我是否会因为首先学习Python而受到阻碍或帮助.

你认为我会从Python中养成任何坏习惯或类似的东西吗?

编辑:由于问题的主观性质,已更改为社区Wiki.

我很感谢第一个问题的所有重要答案.我真的被答案/评论的诚意所震撼.谢谢,很多人!

c python swig python-sip

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

Cython化Python函数以使其更快

几周前,我问了一个关于提高用Python编写的函数速度的问题.那时,TryPyPy引起了我注意使用Cython这样做的可能性.他还举了一个例子,说明我如何Cythonize该代码片段.我想对下面的代码做同样的事情,看看通过声明变量类型我能做多快.我有几个与此相关的问题.我在cython.org上看过教程,但我还是有一些问题.它们密切相关:

  1. 我不知道C.我需要学习哪些部分,使用Cython来声明变量类型?
  2. 与python列表和元组对应的C类型是什么?例如,我可以在Python中使用doubleCython float.我该怎么做列表?通常,我在哪里可以找到给定Python类型的相应C类型.

我如何对下面的代码进行Cython化的任何例子都会非常有用.我在代码中插入了注释,提供有关变量类型的信息.

class Some_class(object):
    ** Other attributes and functions **
    def update_awareness_status(self, this_var, timePd):
        '''Inputs: this_var (type: float)
           timePd (type: int)
           Output: None'''

        max_number = len(self.possibilities)
        # self.possibilities is a list of tuples.
        # Each tuple is a pair of person objects. 

        k = int(math.ceil(0.3 * max_number))
        actual_number = random.choice(range(k))
        chosen_possibilities = random.sample(self.possibilities, 
                                         actual_number)
        if len(chosen_possibilities) > 0:
            # chosen_possibilities is a list of tuples, each tuple is a pair
            # of person objects. …
Run Code Online (Sandbox Code Playgroud)

python performance cython

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

性能比较:插入vs构建Python集合操作

在python中,是否更快a)从n个项目列表中构建集合b)将n个项目插入到集合中?

我找到了这个页面(http://wiki.python.org/moin/TimeComplexity),但它没有足够的信息来得出更快的结论.

看来,一次插入一个项目可能在最坏的情况下需要O(n*n)时间(假设它使用dicts),并且在平均情况下需要O(n*1).使用列表初始化集合是否可以提高性能?

python set time-complexity

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

SCTP多宿主

我一直在使用C开发这个简单的客户端 - 服务器应用程序,其中客户端只是将随机数据发送到服务器,服务器只是监听客户端发送的内容.我正在使用的协议是SCTP,我对如何实现多宿主功能很感兴趣.

我一直在互联网上搜索有关SCTP和多宿主的信息,并且无法找到有关如何指示SCTP使用多个地址进行通信的任何示例.我只是设法找到在尝试使用多宿主设置SCTP时应该使用的命令,它应该非常简单.

我创建了一个客户端和一个服务器,它们都使用我的计算机两个WLAN接口作为它们的连接点.两个适配器都连接到同一个AP.服务器正在从这些接口侦听来自客户端的数据,客户端通过它们发送数据.问题是,当我断开客户端正在发送数据的主WLAN适配器时,传输只会在它应该回退到辅助连接时停止.我用Wireshark跟踪了数据包,第一个INIT和INIT_ACK数据包报告客户端和服务器都使用WLAN适配器作为通信链路.

当我重新连接主WLAN连接时,传输会在一段时间后继续传输并向服务器发送大量数据包,这是不对的.数据包应该通过辅助连接传输.在许多网站上,据说SCTP在连接之间自动切换,但在我的情况下,没有发生.所以你们有什么线索,为什么当主链路断开时传输不会回退到辅助连接,即使客户端和服务器知道其他地址包括辅助地址?

关于服务器:

服务器创建SOCK_SEQPACKET类型套接字并绑定使用INADDR_ANY找到的所有接口.getladdrs报告服务器被限制为3个地址(包括127.0.0.1).之后,服务器侦听套接字并等待客户端发送数据.服务器使用sctp_recvmsg调用读取数据.

关于客户:

客户端还创建一个SEQPACKET套接字并连接到命令行参数指定的IP地址.在这种情况下,getladdrs还返回3个地址,如服务器情况.之后,客户端开始向服务器发送数据,延迟一秒钟到服务器,直到用户使用Ctrl-C中断发送.

这是一些源代码:

服务器:

#define BUFFER_SIZE (1 << 16)
#define PORT 10000   

int sock, ret, flags;
int i;
int addr_count = 0;
char buffer[BUFFER_SIZE];
socklen_t from_len;

struct sockaddr_in addr;
struct sockaddr_in *laddr[10];
struct sockaddr_in *paddrs[10];
struct sctp_sndrcvinfo sinfo;
struct sctp_event_subscribe event;  
struct sctp_prim prim_addr; 
struct sctp_paddrparams heartbeat;
struct sigaction sig_handler;

void handle_signal(int signum);

int main(void)
{
    if((sock = socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP)) < 0)
        perror("socket");

    memset(&addr, 0, sizeof(struct sockaddr_in));
    memset((void*)&event, 1, sizeof(struct sctp_event_subscribe)); …
Run Code Online (Sandbox Code Playgroud)

c sockets linux sctp multihomed

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

如何使用PHP监听TCP端口?

我有一个GPS追踪器连接并发送数据到定义的公共服务器:端口通过GPRS连接.

我可以定义GPS设备的ip:端口

我的问题是,我可以在服务器中打开一个端口并使用PHP监听/保存收到的数据吗?

谢谢.

php networking gps tcp ubuntu-server

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

Scapy如何获得ping时间?

我正在尝试编写一个scapy脚本,它可以在ping时间上取平均值,因此我需要在发送的ICMP echo/reply数据包和收到的回复数据包之间得到时间.现在,我有这个:

#! /usr/bin/env python
from scapy.all import *
from time import *

def QoS_ping(host, count=3):
  packet = Ether()/IP(dst=host)/ICMP()
  t=0.0
  for x in range(count):
      t1=time()
      ans=srp(packet,iface="eth0", verbose=0)
      t2=time()
      t+=t2-t1
  return (t/count)*1000
Run Code Online (Sandbox Code Playgroud)

问题是使用time()函数不会产生好的结果.例如,我在一个域上发现134毫秒,并且在同一个域上使用ping系统功能,我发现30毫秒(当然是平均值).

我的问题是:有没有办法通过scapy获得发送的数据包和收到的数据包之间的确切时间?我不想使用popen()函数或其他系统调用,因为我需要scapy来进行未来数据包管理.

python time networking ping scapy

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