我有一个简单的Python网络爬虫.它使用SQLite来存储其输出并保留队列.我想让爬虫程序多线程,以便它可以一次抓取几个页面.我想我会创建一个线程并立即运行该类的几个实例,因此它们都同时运行.但问题是,我应该一次运行多少人?我应该坚持两个吗?我可以走高吗?什么线程的合理限制是什么?请记住,每个线程都会转到网页,下载html,运行一些正则表达式搜索,将它找到的信息存储在SQLite数据库中,然后从队列中弹出下一个URL.
在阅读了2008年11月版的php | architect杂志上讨论单元测试(phpUnit),构建工具(Phing)和持续集成(Xinc)的"现代PHP工作流程"文章之后,我激发了更多关于一些适用于PHP的工具,尤其是Phing.
在过去,我经常通过将实时站点作为subversion工作副本运行并简单地在生产盒上运行"svn update"来部署最新版本的代码来处理生产服务器的部署.
你是否使用PHP代码的构建工具?您认为他们提供哪些优势而不是直接从subversion部署?我应该注意什么,或者我可能面临的问题是什么?
我正在为iPhone编写一个静态库,我想知道我在做什么,或者我应该采取不同的方法.
我写的静态库依赖于libxml2.libxml2有一个动态库(dylib)和一个静态库(a).我尝试了两种方法.
方法一 - 当我尝试通过将"-lxml2"添加到"其他链接器标志"来链接静态库时,构建失败并显示以下消息:
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/libtool: file: -lxml2 is not an object file (not allowed in a library)
Run Code Online (Sandbox Code Playgroud)
方法二 - 我可以成功链接静态库中的动态库,但我不确定iPhone上是否允许(或正确的方法).即使我正在构建静态库,Apple是否允许链接动态库的静态库?我还在学习静态库,但是根据我的理解,来自dylib的代码将与我的代码结合起来构成一个库,因此与dylib的链接应该不是问题.
总结一下:
从Asp.net 2.0开始,就有Provider Model.在实现细节上,提供者是从ProviderBase派生的类,它是一个抽象类而不是接口,但无论如何,Provider Model都存在,这样我们可以通过编辑web.config来实现不同的实现交换.例如,如果您创建一个博客应用程序,您可能有一个BlogProvider:ProviderBase,那么您可以使用BlogProvider的实现:SqlBlogProvider,OracleBlogProvider甚至MockBlogProvider进行测试.
现在,Repository Pattern越来越受欢迎,我觉得它是为了满足相同的需求,虽然在实现细节中,你通常使用接口,所以IBlogProvider,你通过构造函数而不是属性注入不同的实现,但实际上我不是看看这两种模式给我们的不同之处.
就个人而言,我觉得供应商模型在实施中对我来说更自然.那么,它们之间是否存在差异,或者它们是由不同社区给出的不同名称相同的东西?
我很感激任何评论,谢谢,雷.
我已经构建了一个应用程序,并使用ClickOnce在Windows服务器上发布.客户端转到URL,可以下载并运行应用程序.
客户端现在正在更改其服务器以运行Ubuntu.可以在运行Ubuntu的服务器上发布ClickOnce应用程序吗?
Ubuntu的版本是8.10.我正在使用Visual Studio 2008 SP1和C#.
基本上它是我正在研究的pacman克隆游戏.我有一个Enemy类,并且创建了这个类的4个实例,它们代表了游戏中的4个幽灵.
所有幽灵都在屏幕的随机区域启动,然后他们必须朝着pacman角色前进.当玩家控制pacman,移动它时,他们应该跟随它并采取最接近他的方式.
没有迷宫/障碍物(尚未)所以整个地图(400x400像素)都是开放的.
对于播放器和每个Ghost,我可以检索X,Y,图像宽度和高度属性.此外,我已经有了一个碰撞检测算法,所以不要担心,只是鬼魂找到他们的方式pacman.
如何将a转换byte[]为string?我每次尝试都会得到
System.Byte []
而不是价值.
另外,我如何获得十六进制而不是十进制的值?
如何在C#中创建db文件?一位朋友告诉我它在工具箱中而不是使用sqlite.我没有看到任何可能的东西,也没有看到它的名字.谷歌没有帮助:(
我一直在阅读有关 Haskell 的一些教程 .但是,我无法让已编译的应用程序在Windows(32位)上运行多核(我有一个Intel四核).
我尝试过很多东西:
但没有运气.
已编译的应用程序仅在一个核心上运行100%.
有任何想法吗?
码:
import Control.Parallel
import Control.Monad
import Text.Printf
fib :: Int -> Int
fib 0 = 0
fib 1 = 1
fib n = l `pseq` r `pseq` l+r
where
l = fib (n-1)
r = fib (n-2)
main = forM_ [0..350] $ \i ->
printf "n=%d => %d\n" i (fib i)
Run Code Online (Sandbox Code Playgroud) 有什么区别XLink,XPointer和XInclude?
这太令人困惑了.有人可以解释一下这个区别吗?