明天,我将遇到一位不从事技术工作的客户,但可能会问RubyOnRails是否是他网站的正确选择.他可能认为没有足够的RoR程序员,并且他将成为该语言的"人质".
我有充分的理由使用RoR并且客户有充分的理由喜欢它(它的成本更低!).
你有可以展示给他们的"官方"消息来源吗?
有标准的AZ,az字符,但也有连字符,em破折号,引号等.
此外,还有所有的国际角色,如变形金刚等.
那么,对于基于英语的系统,完整的设置是什么?那些其他语言的集合呢?UTF8,UTF16等怎么样?
奖金问题:需要多少名称字段,以及它们的最大长度是多少?
编辑:人名中肯定有两种不同类型的字符,那些作为上下文的一部分,以及那些由于结构原因而存在的字符.我不想限制或干扰上下文字符,但我确实需要处理结构上的字符.
例如,我有一个名字,它被一个em破折号分开,但是很难将它与减号区分开来.为了使系统更容易搜索,我想采用所有五种不同类型的破折号,并将它们映射到一个唯一字符(减号),这样搜索者就不需要具体知道最初输入的符号.
破折号也存在问题,可能还有引号,还有多少其他符号?
如果我有一些UNION声明作为一个人为的例子:
SELECT * FROM xxx WHERE z = 1
UNION
SELECT * FROM xxx WHERE z = 2
UNION
SELECT * FROM xxx WHERE z = 3
Run Code Online (Sandbox Code Playgroud)
什么是默认order by行为?
我看到的测试数据基本上不会按照上面指定的顺序返回数据.即数据是有序的,但我想知道这有什么优先规则.
另一件事是,在这种情况下,xxx是一个视图.视图将3个不同的表连接在一起以返回我想要的结果.
根据setuptools文档,setup.py develop应该创建egg-link文件并在安装到site-packages文件夹时更新easy_install.pth.但是,在我的情况下,它只创建egg-link文件.setuptools如何决定是否需要更新easy_install.pth?
更多信息:当我将setuptools 0.6c7安装为site-packages下的文件夹时,它可以工作.但是当我使用setuptools 0.6c9作为拉链蛋安装时,它不起作用.
考虑以下Hibernate映射文件:
<hibernate-mapping ...>
<class name="ContentPackage" table="contentPackages">
<id name="Id" column="id" type="int"><generator class="native" /></id>
...
<bag name="Clips" table="contentAudVidLinks">
<key column="fk_contentPackageId"></key>
<many-to-many class="Clip" column="fk_AudVidId"></many-to-many>
<filter name="effectiveDate" condition=":asOfDate BETWEEN startDate and endDate" />
</bag>
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
当我运行以下命令时:
_session.EnableFilter("effectiveDate").SetParameter("asOfDate", DateTime.Today);
IList<ContentPackage> items = _session.CreateCriteria(typeof(ContentPackage))
.Add(Restrictions.Eq("Id", id))
.List<ContentPackage>();
Run Code Online (Sandbox Code Playgroud)
生成的SQL在中间映射表(contentAudVidLinks)上有WHERE子句,而不是"Clips"表,即使我已将过滤器属性添加到Bag of Clips中.
我究竟做错了什么?
我有一个奇怪的设计情况,我以前从未遇到过......如果我使用Objective-C,我会用类别解决它,但我必须使用C#2.0.
首先,一些背景.我在这个类库中有两个抽象层.底层为扫描内容的组件实现了插件架构(抱歉,不能比这更具体).每个插件都会以一种独特的方式进行扫描,但插件也可能因其接受的内容类型而异.由于与本讨论无关的各种原因,我不想通过插件界面公开泛型.因此,我最终为每种内容类型提供了一个IScanner接口和一个派生接口.
顶层是一个便利包装器,它接受包含各种部分的复合内容格式.不同的扫描程序将需要复合的不同部分,具体取决于它们感兴趣的内容类型.因此,我需要具有特定于每个IScanner派生接口的逻辑,该接口解析复合内容,查找所需的相关部分.
解决此问题的一种方法是简单地向IScanner添加另一种方法并在每个插件中实现它.但是,双层设计的重点在于插件本身不需要了解复合格式.解决这个问题的蛮力方法是在上层进行类型测试和向下转换,但是需要谨慎维护这些方法,因为将来会添加对新内容类型的支持.在这种情况下,访客模式也很尴尬,因为实际上只有一个访问者,但不同的可访问类型的数量只会随着时间而增加(即 - 这些是访问者适合的相反条件).而且,当我真正想要的只是劫持IScanner的单一发送时,双重发送感觉就像矫枉过正!
如果我使用的是Objective-C,我只需在每个IScanner派生的接口上定义一个类别,并在那里添加parseContent方法.该类别将在上层定义,因此插件不需要更改,同时避免了类型测试的需要.不幸的是,C#扩展方法不起作用,因为它们基本上是静态的(即 - 与调用站点使用的引用的编译时类型相关联,而不是像Obj-C类别那样挂钩到动态调度).更不用说,我必须使用C#2.0,因此我甚至无法使用扩展方法.:-P
那么在C#中是否有一种简洁的方法来解决这个问题,类似于如何用Objective-C类别解决它?
编辑:一些伪代码,以帮助使当前设计的结构清晰:
interface IScanner
{ // Nothing to see here...
}
interface IContentTypeAScanner : IScanner
{
void ScanTypeA(TypeA content);
}
interface IContentTypeBScanner : IScanner
{
void ScanTypeB(TypeB content);
}
class CompositeScanner
{
private readonly IScanner realScanner;
// C-tor omitted for brevity... It takes an IScanner that was created
// from an assembly-qualified type name using dynamic type loading.
// NOTE: Composite is defined outside my code and completely outside my control. …Run Code Online (Sandbox Code Playgroud) 在.NET 1.x中,您可以在程序集上使用StrongNameIdentityPermissionAttribute,以确保只有您签名的代码才能访问程序集.根据MSDN文档,
在.NET Framework 2.0及更高版本中,如果调用程序集具有完全信任,则对身份权限的要求无效.
这意味着任何具有完全信任的应用程序都可以绕过我的安全需求.
如何防止未经授权的代码访问.NET 2.0中的程序集?
如果我想循环一个字典(键,值)...为什么我不能在循环中添加一个新的键值对?
Dictionary<string, string> persons = new Dictionary<string, string>();
persons.Add("roger", "12");
persons.Add("mary", "13");
foreach (KeyValuePair<string,string> person in persons)
{
Console.WriteLine("Name: " + person.Key + ", Age: " + person.Value);
persons.Add("Xico", "22");
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Jeff Atwood的最后配置部分处理程序,但它似乎只适用于默认的app.config文件.如果我想将某些设置分成另一个文件,则反序列化不起作用,因为ConfigurationManager.GetSection只从应用程序的默认app.config文件中读取.是否可以更改默认配置文件的路径或将ConfigurationManager指向第二个配置文件?
有没有办法使用imaplib监控gmail帐户,而不是每次我想查看是否有新邮件时都会轮询gmail.或者换句话说,我只是希望脚本被通知新消息,以便我可以立即处理它而不是轮询之间的任何延迟时间.
我看到IMAP协议使用IDLE命令支持这一点,但我在imaplib文档中看不到任何记录,所以任何帮助都会很棒!
c# ×3
python ×2
.net ×1
.net-2.0 ×1
character ×1
dictionary ×1
foreach ×1
gmail ×1
hibernate ×1
imap ×1
names ×1
nhibernate ×1
objective-c ×1
oop ×1
setuptools ×1
sql ×1
sql-order-by ×1
sql-server ×1
union ×1
visitor ×1