什么是线程的最佳定义以及什么是进程?如果我调用一个函数,我怎么知道一个线程正在调用它或一个进程(或者我不理解它?).这是一个多核系统(四核).
我在根目录中有以下robots.txt的网站:
User-agent: *
Disabled: /
User-agent: Googlebot
Disabled: /
User-agent: Googlebot-Image
Disallow: /
Run Code Online (Sandbox Code Playgroud)
Googlebots会整天扫描此网站中的网页.我的文件或Google有问题吗?
我正在考虑选择Adobe AIR作为即将推出的项目的客户端实现技术.(之前的选择是C#和WPF,但最近我对Flash/Flex/AIR印象非常深刻.)
但是我的产品最重要的功能之一将是它的插件架构,允许第三方开发人员以有趣的方式扩展功能和GUI.
我知道如何在C#中设计架构:插件加载器将枚举本地"app/plugins /"目录中的所有程序集.对于每个程序集,它会枚举所有类,寻找"IPluginFactory"接口的实现.对于工厂创建的每个插件,我会询问它的MVC类,并将其GUI元素(菜单项,面板等)捕捉到现有GUI布局中的相应插槽中.
我想在AIR中完成同样的事情(从本地文件系统加载插件,而不是从Web加载).阅读本文之后,我的理解是,它是可能的,并且基本架构(将SWF加载到沙盒ApplicationDomains等中)与您在.NET中的方式非常相似.
但我对这些陷阱感到好奇.
如果您有任何人使用Flash播放器进行任何动态类加载(最好是在混合flash/flex应用程序中,特别是在AIR主机中),我很想知道您构建插件框架的经验以及遇到棘手情况的地方使用Flash播放器,以及flash,flex和AIR API.
例如,如果有人问我同样的问题,但考虑到Java平台,我肯定会提到JVM没有"模块"或"程序集"的概念.最高级别的聚合是"类",因此在插件系统中创建用于管理大型项目的组织结构可能很困难.我还将讨论多个类加载器的问题,以及每个类加载器如何维护自己独立的加载类实例(具有自己独立的静态变量).
以下是一些仍未解决的具体问题:
1)actionscript"Loader"类可以将SWF加载到ApplicationDomain中.但该appdomain究竟包含什么?模块?类?MXML组件是如何表示的?如何找到实现我的插件界面的所有类?
2)如果您已将插件从主应用程序加载到单独的ApplicationDomain中,从其他应用程序域调用代码是否更加复杂?关于可以通过app -main域间编组层的数据类型是否有任何重要的限制?编组是否过于昂贵?
3)理想情况下,我想将自己的大部分主代码作为插件开发(主应用程序只是一个插件加载shell)并使用插件架构将该功能提升到应用程序中.这会让你内心感到害怕吗?
!这不是一个重复的问题,因为其他主题中提供的解决方案对我不起作用.
当我尝试提交时:
错误:工作副本'D:\ Webs\Drupal 6'已锁定
错误:请执行"清理"命令.
当我尝试清理时:
清理无法处理以下路径:D:\ Webs\Drupal 6
有谁知道我怎么能解决这个问题?
对于网站UI欺骗的威胁,您建议的解决方案是什么?
我有一个看起来像这样的XML结构.
<sales>
<item name="Games" sku="MIC28306200" iCat="28"
sTime="11/26/2008 8:41:12 AM"
price="1.00" desc="Item Name" />
<item name="Games" sku="MIC28307100" iCat="28"
sTime="11/26/2008 8:42:12 AM"
price="1.00" desc="Item Name" />
...
</sales>
Run Code Online (Sandbox Code Playgroud)
我试图找到一种方法来根据sTime属性SORT节点,这是一个DateTime.ToString()值.诀窍是我需要保持节点的机智,由于某种原因,我找不到办法做到这一点.我很确定LINQ和XPath有办法做到这一点,但我被卡住了,因为我似乎无法根据DateTime.ToString()值进行排序.
XPathDocument saleResults = new XPathDocument(@"temp/salesData.xml");
XPathNavigator navigator = saleResults.CreateNavigator();
XPathExpression selectExpression = navigator.Compile("sales/item/@sTime");
selectExpression.AddSort("@sTime",
XmlSortOrder.Descending,
XmlCaseOrder.None,
"",
XmlDataType.Number);
XPathNodeIterator nodeIterator = navigator.Select(selectExpression);
while( nodeIterator.MoveNext() )
{
string checkMe = nodeIterator.Current.Value;
}
Run Code Online (Sandbox Code Playgroud)
我还需要维护一个指向NODE的指针来检索其他属性的值.
也许这并不像我想的那么简单.
谢谢.
解决方案:这是我最终使用的内容.获取所选答案和IComparable类,这就是我如何根据sTime属性对XML节点进行排序,然后将所有属性放入相应的Arrays中以便稍后使用.
XPathDocument saleResults = new XPathDocument(@"temp/salesData.xml");
XPathNavigator navigator = saleResults.CreateNavigator();
XPathExpression selectExpression = navigator.Compile("sales/item");
XPathExpression sortExpr = navigator.Compile("@sTime"); …
Run Code Online (Sandbox Code Playgroud) 我期待通过使用C#解析xml来创建表达式树.xml将如下所示:
<Expression>
<If>
<Condition>
<GreaterThan>
<X>
<Y>
</GreaterThan>
</Condition>
<Expression />
<If>
<Else>
<Expression />
</Else>
<Expression>
Run Code Online (Sandbox Code Playgroud)
或者另一个例子......
<Expression>
<Add>
<X>
<Expression>
<Y>
<Z>
</Expression>
</Add>
</Expression>
Run Code Online (Sandbox Code Playgroud)
......关于从哪里开始的任何指示都会有所帮助.
亲切的问候,
我网站上的数据库负载变得非常高,所以现在是时候缓存常见查询,这些查询每小时调用1000次,结果不会发生变化.例如,在我的城市模型中,我执行以下操作:
def self.fetch(id)
Rails.cache.fetch("city_#{id}") { City.find(id) }
end
def after_save
Rails.cache.delete("city_#{self.id}")
end
def after_destroy
Rails.cache.delete("city_#{self.id}")
end
Run Code Online (Sandbox Code Playgroud)
所以现在,当我第一次点击数据库时,我可以使用City.find(1),但接下来的1000次我从内存中得到结果.大.但是大多数对城市的调用都不是City.find(1),而是@ user.city.name,其中Rails不使用fetch但是再次查询DB ...这有意义但不完全是我想要它做的.
我可以做City.find(@ user.city_id),但这很难看.
所以我向你们提问.聪明人在做什么?这样做的正确方法是什么?
我正在尝试做类似的事情
URL clientks = com.messaging.SubscriptionManager.class.getResource( "client.ks" );
String path = clientks.toURI().getPath();
System.setProperty( "javax.net.ssl.keyStore", path);
Run Code Online (Sandbox Code Playgroud)
其中client.ks是存储在我正在运行的jar文件中的com/messaging中的文件.
读取javax.net.ssl.keyStore的东西需要一个到jar中的client.ks文件的路径.如果可能的话,我宁愿不提取文件并放入客户端的机器上.那么可以在jar中引用一个文件吗?
这不起作用,因为getPath()返回null.还有另一种方法吗?