程序设计

专业和发烧友程序员的问答

14
用许多HTML模板文件构造大型Meteor应用程序的最佳实践是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 改善这个问题 在所有示例(排行榜,文字游戏等)中,它们只有一个HTML模板文件。是否有一些大型的开源Meteor项目带有许多不同的HTML模板文件,我们可以将其用作最佳实践示例?将大型应用程序需要的所有内容都放在一个模板文件中似乎不切实际。
165 meteor 

6
为什么标准Python中不包含PyPy?
我在看PyPy,我只是想知道为什么它没有被主流Python发行版所采用。诸如JIT编译和较低的内存占用量之类的方法不会大大提高所有Python代码的速度吗? 简而言之,PyPy的主要缺陷是什么?
165 python  pypy 

10
C#对象池模式实现
有没有人有足够的资源来执行共享对象池策略,以实现有限的SQL连接池资源?(即将完全实现它是线程安全的)。 为了进一步澄清@Aaronaught请求,池使用将用于平衡对外部服务的请求。相比于我的直接观点,将其置于一种可能更容易立即理解的场景中。我有一个会话对象,其功能ISession与NHibernate中的对象类似。每个唯一的会话都管理着它与数据库的连接。当前,我有1个长时间运行的会话对象,并且遇到服务提供商正在限制我对单个会话的使用率的问题。 由于他们不希望将单个会话视为长期运行的服务帐户,因此他们显然将其视为重锤其服务的客户。这使我想到这里的问题,而不是创建一个单独的会话,而不是创建一个不同会话的池,并将请求拆分到多个会话中的服务上,而不是像我以前那样创建一个联络点。 希望背景可以提供一些价值,但可以直接回答您的一些问题: 问:创建对象是否昂贵? 答:没有对象是有限的资源池 问:它们会经常被获取/发布吗? 答:是的,他们可以再次想到NHibernate ISessions,通常在每个单页请求期间获取并释放1。 问:简单的先到先得就足够了吗?还是您需要更智能的东西,即可以防止饥饿? 答:一个简单的循环类型分配就足够了,由于饥饿,我假设您的意思是,如果没有可用的会话,则呼叫者会被阻止等待释放。这实际上并不适用,因为会话可以由不同的呼叫者共享。我的目标是在多个会话中分配使用情况,而不是在单个会话中进行分配。 我认为这可能与对象池的正常使用有所不同,这就是为什么我最初将这一部分省略并计划只是为了适应模式以允许对象共享而不是让饥饿情况发生的原因。 问:优先级,延迟加载与急切加载等事情如何? 答:不涉及优先级,为简单起见,仅假设我将在创建池本身时创建可用对象池。

2
为什么HashSet <Point>比HashSet <string>慢得多?
我想存储一些像素位置而不允许重复,所以首先想到的是HashSet&lt;Point&gt;或类似的类。但是,与之相比,这似乎很慢HashSet&lt;string&gt;。 例如,此代码: HashSet&lt;Point&gt; points = new HashSet&lt;Point&gt;(); using (Bitmap img = new Bitmap(1000, 1000)) { for (int x = 0; x &lt; img.Width; x++) { for (int y = 0; y &lt; img.Height; y++) { points.Add(new Point(x, y)); } } } 大约需要22.5秒。 尽管以下代码(出于明显的原因,这不是一个很好的选择)仅花费1.6秒: HashSet&lt;string&gt; points = new HashSet&lt;string&gt;(); using (Bitmap …


30
以非零退出值结束
我正在尝试导入我的项目。但是当我运行该应用程序时,出现以下错误: Error: Execution failed for task ':app:processDebugResources'. &gt; com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\Vishnu Ruhela\AppData\Local\Android\sdk\build-tools\21.1.2\aapt.exe'' finished with non- zero exit value 1 这是我的gradle文件 apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.example.vishnuruhela.signup" minSdkVersion 15 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled true …

8
在C#中将字符串解析为DateTime
我的日期和时间的格式像这样: "2011-03-21 13:26" //year-month-day hour:minute 我如何解析为System.DateTime? 我想使用类似的功能DateTime.Parse()(DateTime.ParseExact()如果可能),以便能够手动指定日期的格式。
165 c#  .net  string  parsing  datetime 

1
Bluebird的util.toFastProperties函数如何使对象的属性“快速”?
在Bluebird的util.js文件中,它具有以下功能: function toFastProperties(obj) { /*jshint -W027*/ function f() {} f.prototype = obj; ASSERT("%HasFastProperties", true, obj); return f; eval(obj); } 由于某种原因,在return函数之后有一条语句,我不确定为什么会在其中。 同样,这似乎是故意的,因为作者已对此发出了JSHint警告: “返回”后无法到达“评估”。(W027) 此功能的作用是什么?难道util.toFastProperties真的让一个对象的属性“快”? 我已经在Bluebird的GitHub存储库中搜索了源代码中的任何注释或问题列表中的解释,但找不到任何注释。

17
在MVVM中,ViewModel或Model应该实现INotifyPropertyChanged吗?
我研究过的大多数MVVM示例都具有Model实现 INotifyPropertyChanged,但是在Josh Smith的CommandSink示例中 ,ViewModel实现了INotifyPropertyChanged。 我仍然在认知上将MVVM概念放在一起,所以我不知道是否: 您必须将其放入INotifyPropertyChangedViewModel才能开始CommandSink工作 这只是规范的畸变,并不重要 您应该始终具有Model实现,INotifyPropertyChanged并且这只是一个错误,如果将其从代码示例开发到应用程序,则可以纠正该错误 在您从事的MVVM项目上,其他人有什么经验?

9
为什么在多线程C或C ++编程中不认为volatile有用?
正如我最近发布的答案所表明的那样,我似乎对volatile多线程编程上下文中的实用程序(或缺少实用程序)感到困惑。 我的理解是:只要变量可以在访问代码的控制流之外更改,则该变量应声明为volatile。信号处理程序,I / O寄存器以及由另一个线程修改的变量都构成了这种情况。 因此,如果您有一个全局int foo,并且foo被一个线程读取,并由另一个线程自动设置(可能使用适当的机器指令),则读取线程会以这种方式看到这种情况,就像看到一个由信号处理程序或由外部硬件条件修改,因此foo应声明volatile(或在多线程情况下,以内存限制的负载访问,这可能是一个更好的解决方案)。 我怎么在哪里错?

12
如何在庞大的数据集(angular.js)上提高ngRepeat的性能?
我有一个巨大的数据集,其中包含数千行,每个行有大约10个字段,大约2MB的数据。我需要在浏览器中显示它。最简单的方法(获取数据,将其放入$scope,ng-repeat=""完成工作)可以很好地工作,但是当它开始将节点插入DOM时,它会使浏览器冻结大约半分钟。我应该如何解决这个问题? 一种选择是将行逐行追加,$scope并等待ngRepeat完成向DOM中插入一个块后再移至下一个。但是AFAIK ngRepeat在完成“重复”操作时不会返回报告,因此会很丑陋。 另一种选择是将服务器上的数据拆分为页面,然后在多个请求中获取它们,但这更加丑陋。 我浏览了Angular文档以查找类似的内容ng-repeat="data in dataset" ng-repeat-steps="500",但未找到任何内容。我对Angular的方法还很陌生,所以有可能我完全没有注意这一点。最佳做法是什么?

10
为什么我们需要一个fieldset标签?
为什么需要&lt;fieldset&gt;标签?无论其目的是可能是form标签的子集。 我在W3Schools上查找了一些信息,其中说: 该&lt;fieldset&gt;标记用于在窗体组相关的元素。 该&lt;fieldset&gt;标签绘制围绕相关元素的盒子。 对于那些将“为什么它存在于规范中”误认为“它做什么”的人更多的解释。我认为绘图部分无关紧要,并且我不明白为什么我们只需要一个特殊标签来将表单中的一些相关元素分组。
165 html  fieldset 


10
Bash中的eval命令及其典型用法
在阅读了bash手册页和关于此帖子之后。 我仍然很难理解该eval命令的确切功能以及这将是其典型用法。例如,如果我们这样做: bash$ set -- one two three # sets $1 $2 $3 bash$ echo $1 one bash$ n=1 bash$ echo ${$n} ## First attempt to echo $1 using brackets fails bash: ${$n}: bad substitution bash$ echo $($n) ## Second attempt to echo $1 using parentheses fails bash: 1: command …
165 linux  bash  shell  scripting  eval 

14
运行pg_restore时获得“ [文件头中的[归档]不支持的版本(1.13)””
我刚刚在mac os上升级到了与heroku上的10.2相匹配的postgres 10.2。我正在尝试下载数据库的副本并在本地还原它。在升级之前,还原将正常进行。 我跑 pg_restore --verbose --clean --no-acl --no-owner -h localhost -d database_name backup.dump 但我收到此错误: pg_restore:文件头中的[archiver]不支持的版本(1.13) 数据库似乎运行正常。这是一个Rails应用程序,我升级了pg gem。我可以跑步rake db:create,db:migrate就可以了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.