草庐IT

c++ - 动态转换的一些 'good use' 示例是什么?

我们经常听到/读到应该避免动态转换。根据您的说法,我想知道它的“有用”示例是什么?编辑:是的,我知道thatotherthread:确实是在阅读那里的第一个答案时,我提出了我的问题! 最佳答案 这个最近的帖子给出了一个例子,说明它在哪里派上用场。有一个基本的Shape类和派生自它的类Circle和Rectangle。在测试相等性时,很明显Circle不能等于Rectangle,尝试比较它们将是一场灾难。在遍历指向Shapes的指针集合时,dynamic_cast执行双重任务,告诉您形状是否可比较,并为您提供适当的对象来进行比较。Ve

javascript - Nodejs : Good practice to just use the index. js 导出?

我看到一些我继承的代码的模式。每个目录都有自己的JS文件,但也有一个index.js,它实际上从另一个或多个JS文件导出项目。我认为这样做是为了让您可以准确地看到要导出的内容,因为主要导出在index.js中,而主要代码在另一个或多个js文件中。这是正确的吗?这种模式叫什么?我应该继续使用这种模式吗? 最佳答案 假设我有以下目录结构:MyApp├──app.js├──test.js├──package.json├─┬controllers│├──index.js│├──signIn.js│└──signOut.js└─┬views├

python - 什么时候在 Python 中使用分号被认为是 "good"或 "acceptable"?

Python是一种“空格分隔”的语言。但是,允许使用分号。例如,以下工作,但不赞成:print("Hello!");print("Thisisvalid");我已经使用Python好几年了,我唯一一次使用分号是用Python生成一次性命令行脚本:python-c"importinspect,mymodule;print(inspect.getfile(mymodule))"或者在StackOverflow的注释中添加代码(例如,“你应该尝试importos;printos.path.join(a,b)”)我还注意到thisanswertoasimilarquestion分号也可以用来制

java - 连接池策略 : Good, 坏还是丑?

我负责开发和维护一组以相似数据为中心的Web应用程序。我当时决定的架构是每个应用程序都有自己的数据库和Web根应用程序。每个应用程序都维护一个到自己的数据库的连接池和一个用于共享数据(登录等)的中央数据库一位同事一直认为这种策略不会扩展,因为有这么多不同的连接池将无法扩展,我们应该重构数据库,以便所有不同的应用程序使用单个中央数据库,并且任何修改这可能是系统独有的,需要从该数据库中反射(reflect)出来,然后使用由Tomcat提供支持的单个池。他假设有很多“元数据”在网络中来回传输以维护连接池。我的理解是,通过适当调整以仅在不同池中使用尽可能多的连接(低容量应用程序获得更少的连接,

java - 命名 block 限制变量范围 : good idea?

多年来,我一直使用命名block来限制临时变量的范围。我从未在其他任何地方看到过这样做,这让我怀疑这是否是一个坏主意。特别是因为EclipseIDE默认将这些标记为警告。我认为,在我自己的代码中,我已经使用它取得了很好的效果。但是由于它是不习惯的,以至于优秀的程序员在看到它时会不信任它,所以我真的有两条路可以走:避免这样做,或者推广它,希望它会成为一个成语。示例(在更大的方法中):finalDatenextTuesday;initNextTuesday:{GregorianCalendarcal=newGregorianCalendar();...//About5-10linesofs

mongodb - 需要: "Good" MongoDB and/or Cassandra example application

我正在为一个新项目调查Cassandra和MongoDB,因为它们具有一些我需要在这个项目中利用的优点。我已经看过很多关于Cassandra和MongoDB的浅层示例——基本上是如何配置和启动数据库、如何添加新项目、如何查询项目。但我真正需要的是包含插入和查询复杂数据策略的示例。需要一对多和多对多关系的东西。实际上我确实找到了一个非常好的Cassanrda/Twitter示例here.我在哪里可以找到更多这样的例子?...特别是对于MongoDB 最佳答案 请看http://www.10gen.com/video有各种帖子和视频从头

mongodb - 需要: "Good" MongoDB and/or Cassandra example application

我正在为一个新项目调查Cassandra和MongoDB,因为它们具有一些我需要在这个项目中利用的优点。我已经看过很多关于Cassandra和MongoDB的浅层示例——基本上是如何配置和启动数据库、如何添加新项目、如何查询项目。但我真正需要的是包含插入和查询复杂数据策略的示例。需要一对多和多对多关系的东西。实际上我确实找到了一个非常好的Cassanrda/Twitter示例here.我在哪里可以找到更多这样的例子?...特别是对于MongoDB 最佳答案 请看http://www.10gen.com/video有各种帖子和视频从头

c++ - 使用 pthread_cancel : good practice or bad 取消线程

我在Linux(CentOS5.3)上有一个C++程序,它生成多个线程,这些线程处于无限循环中以执行工作并休眠几分钟。现在我必须取消正在运行的线程,以防出现新的配置通知并重新启动新的线程集,为此我使用了pthread_cancel。我观察到的是,即使在收到取消指示后,线程也没有停止,甚至在sleep完成后还有一些正在休眠的线程。由于不希望出现这种行为,因此在上述场景中使用pthread_cancel会引发关于是好还是坏做法的问题。请评论上述场景中的pthread_cancel用法。 最佳答案 一般来说,线程取消并不是一个好主意。只要

iphone - 什么是-[NSString sizeWithFont :forWidth:lineBreakMode:] good for?

在我的问题“HowdoIget-[NSStringsizeWithFont:forWidth:lineBreakMode:]towork?”中,我了解到-[NSStringsizeWithFont:constrainedToSize:lineBreakMode:]实际上是我需要的。-[NSStringsizeWithFont:forWidth:lineBreakMode:]的文档说明它实际上并没有将文本换行到其他行。那么我将如何使用它呢?(示例会有所帮助。) 最佳答案 它也适用于多行字符串。基本上,它是一个函数,可让您查看使用字体和

ruby-on-rails - Mac OSX 10.5 "good enough"上是否默认安装了用于 Rails 开发的 Ruby?

我相信OSX10.5附带了Ruby1.8.6,但我看到很多教程建议从源代码安装最新版本的Ruby。我过去曾这样做过,如果我安装的东西希望Ruby位于默认位置,但它不是(例如,PhusionPassengerprefpane),这会导致一些小问题。我想知道的是,Ruby的默认版本是否足以用于开发目的,因此不会出现冲突或多个版本的Rubyfloat?显然默认的Rubygems和Rails版本需要升级,但我特别想知道10.5附带的默认Ruby版本。 最佳答案 Rails3将需要Ruby1.8.7,我们已经为Rails2.3.4推荐1.8.