小编Dae*_*all的帖子

如何判断浏览器是否支持<input type ='date'>

可能重复:
HTML5类型检测和插件初始化

<input type=date>
Run Code Online (Sandbox Code Playgroud)

应该使用(可选的)用户代理提供的datepicker创建一个输入,但它还没有被广泛支持,所以我们使用的是jQuery UI Datepicker.我们怎样才能允许浏览器使用自己的日期选择器,并且只有在浏览器没有这样的东西时才能回退到jQuery UI?

目前我认为只有Opera有一个内置的日期选择器,但Opera的测试显然是不好的.有没有办法检测到这个功能(如果它可以以便携方式完成)?

html javascript html5

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

编译在MSVC上定义的DEBUG的python模块

Python相当愚蠢地在其包含文件中有一个pragma指令,它python26_d.libDEBUG定义预处理程序变量时强制链接.这是一个问题,因为python安装程序没有附带python26_d.lib!所以我无法在调试模式下在msvc中构建应用程序.如果我暂时#undef DEBUG只有一个文件,我会收到很多关于DLL链接不一致的抱怨.如果我更改pythons包含文件中的pragma,我会获得对各种调试函数的未定义引用.

我已经尝试编译我自己的python版本,但它与分布式的python有些不同,我无法使用我的模块与使用vanilla版本的python构建的应用程序

任何人都可以给我任何关于如何绕过这个的建议吗?

谢谢

python debugging visual-c++

22
推荐指数
2
解决办法
9858
查看次数

我可以在Android NDK上使用glu

我似乎无法在我的Android NDK项目中包含glu.h.

我正在尝试将现有的C++代码移植到NDK,它在一些地方使用glu(特别是gluErrorString).

OpenGLES没有胶水吗?

我有可以使用的端口吗?

如果不是,我可以删除对类似gluPerspective等事情的调用,但我该怎么办gluErrorString

android opengl-es android-ndk glu

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

NGINX将%2f转换为正斜杠.我怎么能阻止它?

假设我想在URL中编码文章标题并包含斜杠.如果我对文章标题进行URL编码,我得到:

http://example.com/articles/foo%2fbar/view/
Run Code Online (Sandbox Code Playgroud)

NGINX将此传递给我的FastCGI应用程序,如下所示:

http://example.com/articles/foo/bar/view/
Run Code Online (Sandbox Code Playgroud)

这相当破坏了这个想法.

我注意到如果NGINX正在提供文件,比如/path/to/page.html,那么可以通过以下两个URL之一访问它:

http://example.com/path/to/page.html
http://example.com/path/to%2fpage.html
Run Code Online (Sandbox Code Playgroud)

但是(例如)Apache不是这种情况.

有没有办法解决这个问题?

我试过文档和谷歌没有运气.

谢谢.

UPDATE

nginx配置:

worker_processes  1;
pid ./nginx.pid;
events {
    worker_connections  1024;
}
http {
    server_tokens off;
    server {
        listen 80;
        server_name localhost;
        location /mysite/{
            fastcgi_pass   unix: ./mysite.fcgi.socket;

            fastcgi_param SERVER_NAME $server_name;
            fastcgi_param SERVER_PORT $server_port;
            fastcgi_param SERVER_PROTOCOL $server_protocol;
            fastcgi_param SCRIPT_NAME "/mysite/";
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param REQUEST_METHOD $request_method;
            fastcgi_param QUERY_STRING $query_string;
            fastcgi_param CONTENT_TYPE $content_type;
            fastcgi_param CONTENT_LENGTH $content_length;
            fastcgi_pass_header Authorization;
            fastcgi_intercept_errors off;
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

url escaping nginx

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

如何在glsl中计算gl_FragCoord

好吧,在我的GLSL片段着色器中,我希望能够计算片段与空间中特定行的距离.

结果是我首先尝试在顶点着色器中使用不同的vec2集来镜像最终的内容gl_FragCoord:

varying vec2 fake_frag_coord;
//in vertex shader:
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
fake_frag_coord=(gl_ModelViewProjectionMatrix * gl_Vertex).xy;
Run Code Online (Sandbox Code Playgroud)

现在在片段着色器中我期望:

gl_FragCoord.xy==fake_frag_coord
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.管道做了什么操作gl_Position把它变成gl_FragCoord了我忽略的事情fake_frag_coord

opengl glsl fragment-shader

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

将c ++暴露给Lua时应该使用什么策略

我有一个c ++库,它具有暴露给Lua的功能,我正在寻找有关组织我的lua代码的最佳方法的意见.

该库是一个游戏引擎,具有基于组件的游戏对象系统.我希望能够将这些组件中的一些作为Lua中的类编写.我正在使用LuaBind,所以我可以做到这一点,但我必须做出一些实现选择,并且想知道其他人是如何做到的.

我应该只有一个全局lua_State,或每个对象一个,每个场景一个,等等?这听起来像很多内存开销,但会保持一切美观和分离.

我应该有一个GLOBALS表,还是每个对象一个表,可以在调用成员之前将其放置到位?这似乎可以最大限度地降低某些类决定使用全局变量的可能性,并且另一个类意外地覆盖它,与使用许多lua_States相比,内存开销更少.

或者我应该只在一个全局表中插入所有内容?

另一个问题涉及它自己的lua代码.出现两种策略......首先在一个地方推送所有类定义,在应用程序启动时加载它们,然后在每个文件中放置一个类定义,并在我需要实例时确保加载文件.

我很感激任何人对此的看法,谢谢.

lua

9
推荐指数
2
解决办法
1339
查看次数

如何在python中的线程之间传递异常

我需要跨线程边界传递异常.

我使用嵌入非线程安全的应用程序,它具有一个线程调用安全,post_event(赎回),要求从主线程调用蟒蛇.

我在一个单独的线程中运行pygtk gui,所以当单击一个按钮时,我使用post_event发布一个事件,并在继续之前等待它完成.但是我需要调用者知道被调用者是否抛出异常,如果是这样的话就提高它.我不太担心追溯,只是异常本身.

我的代码大致是:

class Callback():
    def __init__(self,func,*args):
        self.func=func
        self.args=args
        self.event=threading.Event()
        self.result=None
        self.exception=None
    def __call__(self):
        gtk.gdk.threads_enter()
        try:
            self.result=self.func(*self.args)
        except:
            #what do I do here? How do I store the exception?
            pass
        finally:
            gtk.gdk.threads_leave()
            self.event.set()
    def post(self):
        post_event(self)
        gtk.gdk.threads_leave()
        self.event.wait()
        gtk.gdk.threads_enter()
        if self.exception:
            raise self.exception
        return self.result
Run Code Online (Sandbox Code Playgroud)

任何帮助表示感谢,谢谢.

python multithreading exception

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

创建后,我可以创建一个支持OpenGL的X11窗口吗?

我想能够只给出它的id渲染到X Window.

在这种情况下,我有一个由gtk在python中创建的窗口.

我可以获取a的窗口ID gtk.Drawable并将其传递到我的C python模块中,但是我可以将OpenGL调用渲染到它吗?

我知道gtkglext,但如果可能的话宁愿不使用它.

更新1:

好吧,所以(现在很明显我已经看到了)你只需要XCreateWindow使用你得到的Window id的父级gtk.window.xid,使用opengl窗口的正确标志,然后嘿presto.

唯一的问题是如果窗口中没有多个小部件,我无法使其工作,否则似乎xid代表一个覆盖整个顶层窗口的窗口.不知道如何纠正这个问题.

更新2: 事实证明,如果你有一个与顶层大小相同的gl窗口,那么在gl窗口交换缓冲区之前,顶层窗口不会暴露事件.你只需要保持交换缓冲区,事情就好了.

更新3:

要回答@ babele的评论:

python gtk文档中的这个页面说明了如何从现有的xid创建一个gtk窗口.之后你只需记住继续为该窗口调用glXSwapBuffers(如果它是一个opengl缓冲窗口,否则它应该在你使用window_foreign_new时工作).

所以过程如下:

  1. 创建一个包含OpenGL窗口的gtk小部件(DrawingArea是一个不错的选择 - 你不能使用例如标签,因为它没有自己的xid)
  2. 获取小部件的gtk.gdk.Window(docs)
  3. 从gtk.gdk.Window获取xid(调用此窗口W1)
  4. 将它传递给您的C/C++代码
  5. 创建具有opengl功能的窗口(W2)作为W1的子级
  6. 将W2的xid传回python
  7. 使用window_foreign_new和W2的xid创建新的gtk.gdk.window对象
  8. 每次在W2 gtk上调用glXSwapBuffers时,应该能够对暴露事件做出反应.

真正让我感到震惊的是,如果W2覆盖整个W1,那么W1将不会接收事件,直到W2的缓冲区被交换.如果W1是一个顶级窗口,这尤其令人困惑,因为它可能根本就没有任何东西出现在屏幕上(窗口就在那里,但它看起来就像它背后的任何东西,直到它被绘制,这不会发生,直到它得到曝光事件).

另请注意,您必须通过连接到gtk resize事件手动管理W2的大小调整.您可以通过连接到此信号,然后在处理程序中调用此函数并将结果传递到c/c ++模块来执行此操作,您可以在其中适当地调整W2的大小.请求最小尺寸是个好主意.

x11 opengl

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

现代图形管道有多少使用专用硬件?

换句话说,如果要尝试使用GPGPU(CUDA,OpenCL)重新实现OpenGL或DirectX(或模拟),那么NVIDIA和AMD卡上的库存实现的位置和原因会更慢?

我可以看到如何使用GPGPU使顶点/片段/几何/ tesselation着色器变得漂亮和快速,但是生成要渲染的片段列表,剪切,纹理采样等等呢?

我纯粹是为了学术兴趣.

opengl gpgpu hardware-acceleration

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

SQLAlchemy:具有复合主键的同一个表的多个外键

在SQLAlchemy中,假设我们有一个Foo带有复合主键的表,并且Bar有两个外键约束链接它Foo(每个Bar都有两个Foo对象).

我的问题在于relationship函数,这使我重复primaryjoin我已经在ForeightKeyConstraint(违反DRY)中给出的信息(在)中.是否有其他一种结构方式,以便我不必重复信息?有些传递相关的ForeignKeyConstraint方法relationship

class Foo(Base):
    __tablename__ = "Foo"
    id_1 = Column(Integer, primary_key=True)
    id_2 = Column(Integer, primary_key=True)

class Bar(Base):
    __tablename__ = "Bar"
    id = Column(Integer, primary_key=True)

    foo_1_id_1 = Column(Integer)
    foo_1_id_2 = Column(Integer)

    foo_2_id_1 = Column(Integer)
    foo_2_id_2 = Column(Integer)

    __table_args__ = (
            ForeignKeyConstraint(
                [foo_1_id_1,foo_1_id_2],
                [Foo.id_1,Foo.id_2]
                ),
            ForeignKeyConstraint(
                [foo_2_id_1,foo_2_id_2],
                [Foo.id_1,Foo.id_2]
                )
            )

    foo_1 = relationship(Foo,primaryjoin="(Bar.foo_1_id_1 == Foo.id_1) & (Bar.foo_1_id_2 == Foo.id_2)")
    foo_2 = relationship(Foo,primaryjoin="(Bar.foo_2_id_1 …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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