我已经用C#和XML编程了几年.我只使用了这些语言的基础知识,并在网上幸存下来获取数组和文本操作等信息.但是当我接受采访时,采访者只会问高级问题 - 我后来在关于这个主题的书籍的高级部分找到了答案.
为什么面试官会问这些高级问题?这项工作与我以前的工作几乎相同,因此需要高级知识,例如类委托或XPath命令.
问题是:
我正在为我的仓库创建一个日历表.我将使用它作为所有日期字段的外键.
下面显示的代码创建表并填充它.我能够弄清楚如何找到阵亡将士纪念日(5月的最后一个星期一)和劳动节(9月的第一个星期一).
SET NOCOUNT ON
DROP Table dbo.Calendar
GO
Create Table dbo.Calendar
(
CalendarId Integer NOT NULL,
DateValue Date NOT NULL,
DayNumberOfWeek Integer NOT NULL,
NameOfDay VarChar (10) NOT NULL,
NameOfMonth VarChar (10) NOT NULL,
WeekOfYear Integer NOT NULL,
JulianDay Integer NOT NULL,
USAIsBankHoliday Bit NOT NULL,
USADayName VarChar (100) NULL,
)
ALTER TABLE dbo.Calendar ADD CONSTRAINT
DF_Calendar_USAIsBankHoliday DEFAULT 0 FOR USAIsBankHoliday
GO
ALTER TABLE dbo.Calendar ADD CONSTRAINT
DF_Calendar_USADayName DEFAULT '' FOR USADayName
GO
Declare @StartDate DateTime = '01/01/2000'
Declare …
Run Code Online (Sandbox Code Playgroud) 我想在QT中生成唯一的随机数序列,使用QDateTime :: currentDateTime().toTime_t()作为种子值,qrand()会生成唯一的随机数吗?
我想要的是:
assert_equal 6, ones_complement(9) # 1001 => 0110
assert_equal 0, ones_complement(15) # 1111 => 0000
assert_equal 2, ones_complement(1) # 01 => 10
Run Code Online (Sandbox Code Playgroud)
输入的大小不固定为4位或8位.而是它的二进制流.
我所看到的:
v = "1001".to_i(2) => 9
Run Code Online (Sandbox Code Playgroud)
操作员有点翻转 ~
(~v).to_s(2) => "-1010"
sprintf("%b", ~v) => "..10110"
~v => -10
Run Code Online (Sandbox Code Playgroud)
我认为它与一个用于存储标志的东西有关...有人可以解释这个输出吗?如何在不采用字符串操作的情况下获得一个补码,例如从sprintf输出中删除最后的n个字符以获得"0110"或将0替换为1,反之亦然
我有一个散列密码的数据库,在散列之前没有添加盐.我想在新密码中加盐.显然我无法重新哈希现有的哈希.
您将如何迁移到新的哈希系统?
如果是这样,语法是什么?
假设我希望Foo的实例与Bar的所有实例无关联:在SQL中它只是:
delete from FOO_BAR_MAPPING
where FOO_ID = ?
Run Code Online (Sandbox Code Playgroud)
在HQL中,我认为它会是这样的:
delete from Bar.foos foos
where foos.id = :id
Run Code Online (Sandbox Code Playgroud)
(其中foos是Foo的映射集合)
但似乎是错的,给出:
org.hibernate.hql.ast.QuerySyntaxException: Bar.foos is not mapped
Run Code Online (Sandbox Code Playgroud)
这甚至可以用HQL吗?
我一直在使用Zend Framework并且暂时忍受这个问题,但是现在它太烦人了,所以我会把问题发给你.
Zend框架中存在Zend可以识别的某些问题(例如调用不存在的控制器),并将该问题发送到ErrorController.我的工作正常.
似乎有一些问题,Zend框架将失败并通过PHP显示错误,如果某个功能不存在或某事.那些我能看到并修复的东西.
有时虽然,Zend不会失败,但它也会发出一个空的回复.我会得到一个空白页面.他们的布局没有出现,没有代码,没有什么可以让我知道出了什么问题.上一次,有一个失败的require().我不得不在没有反馈的情况下手动解决这个问题.
有没有人经历过这个?您对如何显示这些错误有任何建议吗?任何帮助,将不胜感激!
当你开始搞乱Spring的自动代理东西时,你经常遇到记录的这种行为:
实现BeanPostProcessor接口的类是特殊的,因此容器对它们的处理方式不同.所有BeanPostProcessors及其直接引用的bean将在启动时实例化,作为ApplicationContext的特殊启动阶段的一部分,然后所有这些BeanPostProcessors将以排序方式注册 - 并应用于所有其他bean.由于AOP自动代理是作为BeanPostProcessor本身实现的,因此没有BeanPostProcessors或直接引用的bean可以进行自动代理(因此不会将方面'编织'到它们中.
对于任何此类bean,您应该看到一条信息日志消息:"Bean'foo'不适合所有BeanPostProcessors处理(例如:不符合自动代理条件)".
换句话说,如果我编写自己的BeanPostProcessor,并且该类直接引用上下文中的其他bean,那么这些引用的bean将不符合自动代理的条件,并且会记录一条消息.
我的问题是跟踪直接引用的位置可能非常困难,因为"直接引用"实际上可以是一系列传递依赖,最终占用应用程序上下文中的一半bean.Spring提供的只是单个信息消息,并且除了告诉您何时在这个引用网中捕获了bean之外,它并没有太多帮助.
我正在开发的BeanPostProcessor确实有对其他bean的直接引用,但它是一组非常有限的引用.尽管如此,根据日志消息,我的上下文中的几乎每个bean都被排除在自动代理之外,但我无法看到依赖性发生在哪里.
有没有人找到更好的方法来跟踪这个?
我试图在运行时派生一个对象的类型.具体来说,无论是实现ICollection还是IDto,我都需要知道两件事.目前我能找到的唯一解决方案是:
private static bool IsACollection(PropertyDescriptor descriptor)
{
bool isCollection = false;
foreach (Type type in descriptor.PropertyType.GetInterfaces())
{
if (type.IsGenericType)
{
if (type.GetGenericTypeDefinition() == typeof(ICollection<>))
{
isCollection = true;
break;
}
}
else
{
if (type == typeof(ICollection))
{
isCollection = true;
break;
}
}
}
return isCollection;
}
private static bool IsADto(PropertyDescriptor descriptor)
{
bool isDto = false;
foreach (Type type in descriptor.PropertyType.GetInterfaces())
{
if (type == typeof(IDto))
{
isDto = true;
break;
}
}
return isDto;
}
Run Code Online (Sandbox Code Playgroud)
但我相信必须有一个比这更好的方法.我尝试过以正常方式比较,例如:
if(descriptor.PropertyType …
Run Code Online (Sandbox Code Playgroud) 我是VS和C#的新手,但在Delphi方面有多年的经验.在Delphi中设计GUI时,我最喜欢的组件之一是ActionManager - 为操作分配事件处理程序以及启用/禁用它们的集中方式.令人惊讶的是,我在Visual Studio 2008 Professional中找不到这样的东西.我确信应该有第三方实现,但我更喜欢标准的东西.
谁能为我推荐一些东西?也许有一些替代方法可以有效地管理我缺少的GUI操作?