Tag: devise原则

为什么Python不具有符号function?

我不明白为什么Python没有signfunction。 它有一个abs内胆(我认为是她的妹妹),但没有sign 。 在python 2.6甚至有一个copysign函数( math ),但没有迹象。 当你写一个sign ,然后直接从abs(x) * sign(y)得到copysign时copysign(x,y)为什么还要写一个copysign(x,y) abs(x) * sign(y) ? 后者会更加清楚:x与y的符号,而与copysign,你必须记住,如果它是x的符号y或y的符号x! 很明显, sign(x)不会提供比cmp(x,0)更多的东西,但是它也会更易读(也就是像python这样的可读性很强的语言,这将会是一个很大的优势)。 如果我是一名pythondevise师,我会是另一种方式:没有cmp内置,而是一个sign 。 当你需要cmp(x,y) ,你可以做一个sign(xy) (或者,对于非数值的东西来说更好,只是ax> y – 当然这应该需要sorted接受一个布尔值而不是一个整数比较器)。 这也将更清楚:当x>y时为正数(而对于cmp ,当第一个 更大时必须记住惯例,但也可能是相反方向)。 当然,由于其他原因, cmp本身是有意义的(例如,当对非数值事物进行sorting时,或者如果您希望sorting是稳定的,那么使用布尔值是不可能的) 所以,问题是:为什么Pythondevise者决定离开语言signfunction? 为什么heck打扰copysign而不是它的父母的sign ? 我错过了什么吗? 编辑 – 彼得·汉森评论后。 公平的,你没有使用它,但你没有说你使用python的。 在我使用python的7年中,我需要无数次,最后是打破骆驼背的秸秆! 是的,你可以通过cmp,但是我需要通过它的90%的时间是在lambda x,y: cmp(score(x),score(y))这样的习惯用法符号。 最后,我希望你们同意这个sign比copysign更有用,所以即使我买了你的观点,为什么还要在math中定义它,而不是标志? copysign如何比标志更有用?

iOS 8删除了“minimal-ui”视口属性,还有其他“软全屏”解决scheme吗?

(这是一个多部分的问题,我会尽我所能来总结情况。) 我们目前正在构build一个响应式Web应用程序(新闻阅读器),允许用户在选项卡式内容之间滑动,并在每个选项卡式内容中垂直滚动。 解决这个问题的一个常见方法是使用一个包装器div来填充浏览器视口,将overflow设置为hidden或auto ,然后在其内部水平和/或垂直滚动​​。 这种方法很好,但有一个主要缺点: 由于文档的高度与浏览器视口完全相同,因此移动浏览器不会隐藏地址栏/导航菜单 。 有许多黑客和视口属性 ,使我们能够获得更多的屏幕空间,但没有一个是相当有效的minimal-ui (在iOS 7.1中引入)。 昨天的消息传出,iOS 8 beta4已经从Mobile Safari中删除了minimal-ui (请参阅iOS 8发行说明中的 Webkit部分),这让我们感到疑惑: Q1。 是否仍然可以隐藏移动Safari的地址栏? 据我们所知,iOS 7 不再响应 window.scrollTo hack,这意味着除非我们采用垂直布局或使用支持mobile-web-app-capable ,否则我们不得不使用较小的屏幕空间。 Q2。 还有可能有一个类似的软全屏体验? 通过软全屏,我真正的意思是不使用mobile-web-app-capable元标记。 我们的networking应用程序构build为可访问的,任何页面都可以使用本机浏览器菜单添加书签或共享。 通过添加mobile-web-app-capable我们阻止用户调用这个菜单(当它被保存到主屏幕),这迷惑和对抗用户。 minimal-ui曾经是中间地带,默认情况下隐藏了菜单,但是通过点击来保持菜单的可用性 – 尽pipe苹果公司可能由于其他可访问性问题而将其删除(例如,用户不知道在哪里点击来激活菜单) 。 Q3。 是一个全屏幕的经验值得麻烦? 看起来, 全屏API不会很快来到iOS,但即使是这样,我也不会看到菜单如何保持可访问(Android上的Chrome也是如此)。 在这种情况下,也许我们应该只保留移动Safari浏览器,并考虑视口高度(对于iPhone 5+,它是460 = 568 – 108,其中108包括操作系统栏,地址栏和导航菜单; iPhone 4或年纪大了,372)。 很想听到一些替代品(除了build立一个本地的应用程序)。

用户代理string可以有多大?

如果你打算把一个用户代理存储在数据库中,你能容纳多less? 我发现这个technet文章build议保持UA在200以下。看起来这不是在HTTP规范中定义的,至less不是我发现的。 我的UA已经有149个字符了,看来.NET的每一个版本都将被添加到它。 我知道我可以parsing出来的string,但我宁愿不要。 编辑 基于这个博客 IE9将改变发送短的UAstring。 这是一个很好的改变。

Go是为什么devise的?

似乎Go是为了替代以前用C ++解决的问题而devise的。 这是一个准确的说法吗? Go是为什么devise的?

ON 是什么意思?

我正在创build一个SQL安装脚本,我正在使用别人的脚本作为例子。 这是一个脚本的例子: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[be_Categories]( [CategoryID] [uniqueidentifier] ROWGUIDCOL NOT NULL CONSTRAINT [DF_be_Categories_CategoryID] DEFAULT (newid()), [CategoryName] [nvarchar](50) NULL, [Description] [nvarchar](200) NULL, [ParentID] [uniqueidentifier] NULL, CONSTRAINT [PK_be_Categories] PRIMARY KEY CLUSTERED ( [CategoryID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) […]

好或坏的做法? 在getter中初始化对象

我似乎有一种奇怪的习惯,至less据我的同事说。 我们一起在一个小项目上工作。 我写这些类的方法是(简单的例子): [Serializable()] public class Foo { public Foo() { } private Bar _bar; public Bar Bar { get { if (_bar == null) _bar = new Bar(); return _bar; } set { _bar = value; } } } 所以,基本上,我只在初始化任何字段,当一个getter被调用,并且该字段仍然为空。 我想这会减less过载,不要初始化任何地方没有使用的属性。 ETA:我这样做的原因是我的类有几个属性返回另一个类的实例,反过来也有更多类的属性,等等。 调用顶级类的构造函数随后会调用所有这些类的所有构造函数,但并不总是需要。 除个人喜好外,是否有人反对这种做法? 更新:我已经考虑了许多关于这个问题的不同意见,我会支持我接受的答案。 但是,现在我对这个概念有了更好的理解,我可以决定何时何时使用它。 缺点: 线程安全问题 传递的值为空时不服从“setter”请求 微优化 exception处理应该在构造函数中进行 需要在类的代码中检查null 优点: 微优化 […]

在我的C#中使用.NET 4.0元组代码糟糕的devise决策?

随着.net 4中Tuple类的增加,我一直在试图决定在我的devise中使用它们是不是一个不好的select。 我看到它的方式, Tuple可以成为编写结果类的捷径(我相信也有其他用途)。 所以这: public class ResultType { public string StringValue { get; set; } public int IntValue { get; set; } } public ResultType GetAClassedValue() { //..Do Some Stuff ResultType result = new ResultType { StringValue = "A String", IntValue = 2 }; return result; } 相当于这个: public Tuple<string, int> GetATupledValue() { //…Do […]

为什么说(j ++); 禁止?

下面的代码是错误的(见ideone ): public class Test { public static void Main() { int j = 5; (j++); // if we remove the "(" and ")" then this compiles fine. } } 错误CS0201:只能使用赋值,调用,递增,递减,等待和新对象expression式作为语句 为什么当我们删除括号的时候编译代码? 为什么不用括号编译? 为什么C#是这样devise的?

什么是自以为是的软件?

我经常看到有人说某些软件“非常有见地”,或者说微软倾向于写下“无知”的框架。 这实际上是什么意思?

基于原型与基于类的inheritance

在JavaScript中,每个对象同时是一个实例和一个类。 要进行inheritance,可以使用任何对象实例作为原型。 在Python,C ++等中,有一些类和实例是独立的概念。 为了做inheritance,你必须使用基类创build一个新的类,然后可以用它来产生派生实例。 为什么JavaScript会朝这个方向发展(基于原型的面向对象)? 基于原型的面向对象的传统的基于类的面向对象的优点(和缺点)是什么?