为什么python中的切片对象不可清除:
>>> s = slice(0, 10)
>>> hash(s)
TypeError Traceback (most recent call last)
<ipython-input-10-bdf9773a0874> in <module>()
----> 1 hash(s)
TypeError: unhashable type
Run Code Online (Sandbox Code Playgroud)
他们似乎是不可改变的:
>>> s.start = 5
TypeError Traceback (most recent call last)
<ipython-input-11-6710992d7b6d> in <module>()
----> 1 s.start = 5
TypeError: readonly attribute
Run Code Online (Sandbox Code Playgroud)
上下文,我想创建一个将python int或slice对象映射到某些值的字典,如下所示:
class Foo:
def __init__(self):
self.cache = {}
def __getitem__(self, idx):
if idx in self.cache:
return self.cache[idx]
else:
r = random.random()
self.cache[idx] = r
return r
Run Code Online (Sandbox Code Playgroud)
作为一种解决方法,我需要特殊的案例切片:
class Foo:
def __init__(self):
self.cache = {} …Run Code Online (Sandbox Code Playgroud) 我在SOF上看到了一些答案,但其中大多数都关注子域的使用,其中没有一个对我有用.常见的是使用session.cookie_domain,根据我的理解,只能使用子域.
我感兴趣的是一个处理完全不同域的交易的解决方案(并包括子域的可能性).不幸的是,项目截止日期是他们的,时间不在我身边,所以我转向SOF的专业知识和经验.
当前项目简介是能够登录到当前仅存储user_id在会话中的一个站点,然后能够在同一服务器环境中的不同域上检索此值.会话数据是从作为session id主键的数据库中存储/检索的.
我希望找到一个"轻松"和"轻松"实施解决方案.
该系统正在使用内部模型视图控制器设计模式,因此所有请求(包括不同的域)都通过单个引导脚本运行.使用域名作为变量,这将确定要向用户显示的上下文.
确实看起来有潜力的一个选项是使用隐藏图像并使用alt标签来设置user id.我的第一印象表明,这似乎"太容易"(如果可能的话)并且充满了安全漏洞.涉诉?
我考虑的另一个选项是使用IP和用户代理进行身份验证,但我觉得由于共享网络和更改IP地址,这不会是一个可靠的选择.
我考虑过但尚未见过的第三个选项(也是首选)是htaccess用来欺骗用户认为当inform apache重定向时他们在不同的域上; 就像是
www.foo.com/index.php?domain=bar.com&controller=news/categoires/1
但是向用户显示为
www.bar.com/news/categories/1
foo.com表示所有请求都通过的"主站点域",并且bar.com是用户认为他们正在访问的域.控制器请求指示所请求的页面和视图.这可能吗?
还有其他选择吗?优点缺点?
提前致谢!!!
使用opengl-es for Android中的模板缓冲区,我只是试图屏蔽绘制部分屏幕.我认为我设置正确,但它没有掩盖非模板部分.下面是我正在做的代码的提取.
gl.glEnable(GL10.GL_STENCIL_TEST);
gl.glClearStencil(0);
gl.glClear(GL10.GL_STENCIL_BUFFER_BIT);
gl.glColorMask(false, false, false, false);
gl.glDepthMask(false);
gl.glStencilFunc(GL10.GL_ALWAYS, 1, 1);
gl.glStencilOp(GL10.GL_REPLACE, GL10.GL_REPLACE, GL10.GL_REPLACE);
drawMask(); //I have confirmed this draws to the correct location by allowing colour to show. Trust that this draws the mask to the correct location.
gl.glColorMask(true, true, true, true);
gl.glDepthMask(true);
gl.glStencilFunc(GL10.GL_EQUAL, 1, 1);
gl.glStencilOp(GL10.GL_KEEP, GL10.GL_KEEP, GL10.GL_KEEP);
drawItems(); //Draw everything. Only items inside the masked area should be drawn. But everything is drawn with this code...
gl.glDisable(GL10.GL_STENCIL_TEST);
Run Code Online (Sandbox Code Playgroud)
有人发现这有什么不对吗?它的作用基本上是绘制一个框,比如屏幕的一半(如果我启用了颜色,这可以工作),它将模板缓冲区设置为该区域的1.最后我画到了整个屏幕.我希望它只画到上半部分,但它会吸引一切.
提前致谢.
什么是"从任何类型S到任何接口类型T,只要S没有密封并且S没有实现T".实际上意味着
我在C#语言规范中遇到过这个问题:
6.2.4显式引用转换
显式引用转换是:
- ...
- 从任何类型S到任何接口类型T,如果S未密封且提供S未实现T.
我能理解"提供S未密封"的含义,但我不确定我是否理解"提供S不实施T"的意思.
例如:
class S {}//not sealed, nor does it implement T
interface T {}
...
T t = (T)new S();//will throw InvalidCastException.
Run Code Online (Sandbox Code Playgroud)
难道它只是在规范中枚举表达显式引用转换的所有语法正确的方式,无论它是否会抛出异常?或者它是否意味着其他一些我不知道的事情(截至目前)?
提前致谢.
我扩展了View以构建自定义小部件.我想用独立的像素单位定义小部件的高度.我认为可以通过将像素密度乘以所需的高度来完成,但我不知道该怎么做.
到目前为止我所拥有的(最小化):
public class Timeline extends View
{
@Override
protected void onDraw(Canvas canvas) {
//super.onDraw(canvas);
int canvasWidth = canvas.getWidth();
this.widgetWith = canvasWidth;
this.setBackgroundGradientNoVideo();
RectF rect = new RectF();
rect.set(0, 0, canvasWidth, 50);
//Dessin d'un rectangle de fond
canvas.drawRoundRect(rect, 10, 10, this.paint);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// TODO Auto-generated method stub
//super.onMeasure(widthMeasureSpec, 50);
this.setMeasuredDimension(widthMeasureSpec, 50);
this.widgetWith = MeasureSpec.getSize(widthMeasureSpec);
}
}
Run Code Online (Sandbox Code Playgroud)
所以我想改变这些台词
this.setMeasuredDimension(widthMeasureSpec, 50);
Run Code Online (Sandbox Code Playgroud)
和
rect.set(0, 0, canvasWidth, 50);
Run Code Online (Sandbox Code Playgroud)
像素独立的东西.
谢谢
在node.js中跨服务器和客户端同步timeStamps的常用方法是什么,而不依赖于时区?
例如,Date.now()等效项将在服务器和客户端上提供相同的时间.最好没有任何node.js模块或客户端库.
我如何获得课程中的属性列表?例如:
class Test:
def __init__(self,**kw):
for k,v in kw.items():
setattr(self,k,v)
x = Test(value="hello",valueTwo="world")
print(dir(x))
Run Code Online (Sandbox Code Playgroud)
我已经做到了,它似乎打印键,但它还打印额外的东西,如:
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__','value','valueTwo']
Run Code Online (Sandbox Code Playgroud)
有没有另一种方法来做到这一点,它只是得到键/值.
我试图安装sonata admin bundle来管理我的用户.
我使用FOS用户包.
我已经说明了,但是出了什么问题,我找不到.
我有错误:
无法自动确定基本路由名称,请在C:\ Users\Alexandre\hubiC\www\questionnaire\app/config中baseRouteName为管理类定义默认值UserBundle\Admin\UserAdmin.(从"C:\ Users\Alexandre\hubiC\www\questionnaire\app/config\routing.yml"导入).
在我的服务中,我有:
services:
sonata.admin.user:
class: UserBundle\Admin\UserAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: "Content", label: "User" }
arguments:
- ~
- UserBundle\Entity\User
- ~
calls:
- [ setTranslationDomain, [UserBundle]]
Run Code Online (Sandbox Code Playgroud)
在我的配置中:
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
- { resource: @UserBundle/Resources/config/admin.yml }
sonata_block:
default_contexts: [cms]
blocks:
# Enable the SonataAdminBundle block
sonata.admin.block.admin_list:
contexts: [admin]
# Your other blocks …Run Code Online (Sandbox Code Playgroud) 我正在使用ASP.NET和C#.
我必须读一个叫做"TheCookie"的饼干.............
TheCookie中有大约3个值.Cookie1,Cookie2和Cookie3.
我如何获得代码中的值来读取"TheCookie"中的Cookie2值?
当cookie只有1个值时,我就会读到这个,但是当cookie中有多个vales时我不知道该怎么做.......... VB.NET代码
Dim userCookie As HttpCookie
userCookie = Request.Cookies("UserEmail")
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我有3个表,每个表中有一列与每行一个ID相关.我正在寻找一个sql语句查询,它将检查过去24小时(86400秒)中所有行的所有3个表我已经在列下的每个表中存储了时间戳time.
在我得到这个查询之后,我将能够进行下一步,然后检查有多少ID重复出现,这样我就可以按照阵列中最受欢迎的方式进行排序,并将其限制在前5位......
欢迎任何想法!:)
提前致谢.
斯特凡