从Python 2.6 shell:
>>> import sys
>>> print sys.getdefaultencoding()
ascii
>>> print u'\xe9'
é
>>>
Run Code Online (Sandbox Code Playgroud)
我希望在print语句之后有一些乱码或错误,因为"é"字符不是ASCII的一部分,我没有指定编码.我想我不明白ASCII是默认编码的意思.
编辑
我在PHP中过去3年一直在进行Web应用程序开发.我现在正准备给Java一个机会.我最近一次使用这种语言的时间差不多是在8年前,主要是学术性的.
我对PHP的对象模型(版本5)非常熟悉,我几乎完全用OO编写代码.我现在想传达这种经验并用它来开发Java.
我来自哪里:
到目前为止,我已经获得了关于迁移到Java的内容:
现在我需要一些有助于使这种过渡更顺畅的见解.但是从人们谈论它的方式来看,Java似乎是一个拥有自己生态系统的全新野兽.听起来好像转移到Ruby或Python实际上会更容易,这很奇怪,因为当我看到它时,Java在概念上似乎最接近PHP,尽管更严格和预编译.
虽然听起来很奇怪,但很少有人公开记录他们对此类举动的体验.我搜索了谷歌,亚马逊和stackoverflow类似的问题,结果留下了欲望.如果我想快速成为Java中的Web开发人员,我就无法相信我需要像新手一样开始.
欢迎任何人回复,但我有点认为,对这两种语言都有一些宝贵经验的人会最充实地讨论这个问题.
我正在进行PHP开发,我正在考虑使用其中一种.我的机器上安装了PHP和Java.理论上我可以使用这两者中的任何一个.
选择Phing over Ant有什么令人信服的论据?
我正在尝试使用Zend_Controller_Plugin_ErrorHandler来处理我的错误404个案例.根据文档,插件具有常量,可以用来匹配异常类型并相应地处理它们.例如
switch ($errors->type) {
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
// 404 error -- controller or action not found
Run Code Online (Sandbox Code Playgroud)
有谁知道如何专门创建这些类型的例外?
我最近签订合同,开发一个需要Facebook-Connect作为其身份验证机制之一的应用程序.
在我的Facebook-Connect解决方案上工作,我意识到它正在实施单点登录身份验证方案,如果您登录到一个网站,您将登录到所有这些网站.就个人而言,我并不喜欢这种方法,并且发现在尝试通过您(开发人员)可以控制的单个进程来汇集所有身份验证系统时,很难(并非不可能)使用该方法.我还认为它引入了不必要的安全问题(请参阅Internet部署的风险),只是为了略微改善用户体验.
在研究与该技术合作的策略时,我注意到博客圈几乎已经将Facebook-Connect作为认证的圣杯,与其他人的观点相呼应,并强烈要求"OpenID过于复杂".与此同时,我还没有真正看到许多着名的开发人员和安全专家就此事提出旗帜或发表意见.我对OpenID的唯一体验是使用StackOverflow和相关站点.我一开始很难理解它是什么,但是一旦我意识到我可以使用我的google凭据登录,经验证明非常顺利.
我是偏执狂还是错过了每个人都得到的东西?Facebook-Connect真的是OpenID的更好替代品,还是每个人都在喝别人的Kool Aid?
编辑:
在做完这个之后,我确认facebook-connect登录方案不太理想.整个iframe/js/cookie/reload的东西很难看,很容易出问题.将fb登录集成到现有的身份验证系统本身就是一种练习.你必须做出一些妥协.我必须写一篇完整的文章来解释我是如何做到的.
Facebook似乎对我的单点登录有点痴迷.大多数人都不知道facebook为他们自己的网站启用了OpenID,但即使他们实现它的方式也是模仿SSO并使其有点无意义.我认为OpenID应该工作的方式:你去一个新的网站,如果你有一个OpenId帐户,把网址,登录到你的提供商,你就在.你可以继续完成其他信息.
Fb不预先为您提供OpenID登录.相反,您首先必须注册并登录,然后转到帐户设置,在链接帐户下,选择一个OpenID提供商.但是,与了解要点的StackOverflow不同,如果您指示您的提供商记住该设置,则Facebook仅允许您使用您的OpenID登录.为什么?它使它更像SSO.如果你没有检查要求记住的谷歌盒子,OpenID在facebook上不起作用.
除了登录,facebook-connect一般工作,但仍有许多角落要圆.让我拉扯头发并诅咒那个api的一些事情:
我确定这个清单并没有就此结束,但从我的头脑中来看它就是这样.
我最近觉得有必要学习构建工具.我正在通过StackOverflow寻找建议,而Gnu Make几乎没有被提及.相反,我看到Ant,Maven,CMake,Scon和其他许多人.然而,当我看到我有时需要编译的小"流氓来源"(如在非回购中)时,他们都需要这些make && make install步骤.
学习是否比学习另一种工具更省钱?
如果是这样,为什么Make仍然如此受欢迎?
我想查询这个结构:
A -> B
B -> C
B -> D
Run Code Online (Sandbox Code Playgroud)
使用Load接口执行此操作的语法是什么,文档不是很清楚(http://docs.sqlalchemy.org/en/latest/orm/loading_relationships.html#sqlalchemy.orm.joinedload).我只看到该怎么做:
A -> B
B -> C
C -> D
Run Code Online (Sandbox Code Playgroud)
鉴于查询:
query(A).options(joinedload(A.b).joinedload(B.c))
Run Code Online (Sandbox Code Playgroud)
如何在链中向后移动以指定B(Bd)上的第二个关系?
我目前正在阅读Dive Into Python的第5.8章,Mark Pilgrim说:
Python中没有常量.如果你足够努力,一切都可以改变.这符合Python的核心原则之一:不应该阻止不良行为但不禁止行为.如果你真的想要更改None的值,你可以这样做,但是当你的代码无法调试时,不要来找我.
我在翻译中试过这个
None = "bad"
Run Code Online (Sandbox Code Playgroud)
我得到一个SyntaxError:赋值给None
出于好奇,你怎么改变无?
编辑:
有趣的是:
>>> import __builtin__
>>> __builtin__.None is None
True
>>> None
>>> None = "bad"
File "<stdin>", line 1
SyntaxError: assignment to None
>>> __builtin__.None = "bad"
File "<stdin>", line 1
SyntaxError: assignment to None
>>> setattr(__builtin__, "None", "bad")
>>> __builtin__.None
'bad'
>>> None
>>> __builtin__.None is None
False
>>> __builtin__.None = None
File "<stdin>", line 1
SyntaxError: assignment to None
Run Code Online (Sandbox Code Playgroud)
也
>>> class Abc:
... def __init__(self): …Run Code Online (Sandbox Code Playgroud) 在Firefox中测试:
a = [] + 0;
b = 0;
alert(a); // 0
alert(b); // 0
alert(!a); // false
alert(!b); // true
Run Code Online (Sandbox Code Playgroud) 该operator.itemgetter()函数的工作原理是这样的:
>>> import operator
>>> getseconditem = operator.itemgetter(1)
>>> ls = ['a', 'b', 'c', 'd']
>>> getseconditem(ls)
'b'
Run Code Online (Sandbox Code Playgroud)
编辑我已添加此部分以突出不一致
>>> def myitemgetter(item):
... def g(obj):
... return obj[item]
... return g
>>> mygetseconditem = myitemgetter(1)
Run Code Online (Sandbox Code Playgroud)
现在,我有这门课
>>> class Items(object):
... second = getseconditem
... mysecond = mygetseconditem
...
... def __init__(self, *items):
... self.items = items
...
... def __getitem__(self, i):
... return self.items[i]
Run Code Online (Sandbox Code Playgroud)
使用索引访问第二个项目
>>> obj = Items('a', 'b', 'c', 'd')
>>> obj[1]
>>> 'b'
Run Code Online (Sandbox Code Playgroud)
通过该mysecond …