程序设计

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

6
如何在Redux应用程序中动态加载reducers进行代码拆分?
我要迁移到Redux。 我的应用程序包含很多部分(页面,组件),因此我想创建许多化简器。Redux的例子表明,我应该使用它combineReducers()来生成一个reducer。 另外,据我了解,Redux应用程序应具有一个存储,并且在应用程序启动后即会创建。创建商店时,我应该通过我的组合减速器。如果应用程序不是太大,这是有道理的。 但是,如果我构建多个JavaScript捆绑包怎么办?例如,应用程序的每个页面都有自己的捆绑软件。我认为在这种情况下,一个减速器组合不好。我浏览了Redux的源代码,发现了replaceReducer()功能。这似乎是我想要的。 replaceReducer()当我在应用程序的各个部分之间移动时,我可以为应用程序的每个部分创建组合的reducer并使用。 这是一个好方法吗?

4
NHibernate ISession Flush:何时何地使用它,为什么?
使我彻底困惑的一件事是session.Flush,与session.Commit和结合使用session.Close。 有时session.Close可行,例如,它会提交我需要的所有更改。我知道我在有事务或具有多个创建/更新/删除的工作单元时需要使用提交,以便在发生错误时可以选择回滚。 但是有时候我确实被背后的逻辑所束缚session.Flush。我看过一些例子,其中有一个session.SaveOrUpdate()后跟冲洗功能,但是当我删除“冲洗”功能后,它仍然可以正常工作。有时,我在Flush语句上遇到错误,说会话超时,将其删除可以确保我没有遇到该错误。 是否有人在哪里或何时使用同花顺有很好的指导原则?我已经检查了NHibernate文档,但是仍然找不到简单的答案。

10
如果按概率排序if ... else if语句有什么作用?
具体来说,如果我有一系列if... else if语句,并且我以某种方式预先知道每个语句将求和的相对概率,true那么按概率顺序对它们进行排序会在执行时间上造成多少差异?例如,我是否应该这样: if (highly_likely) //do something else if (somewhat_likely) //do something else if (unlikely) //do something 为此?: if (unlikely) //do something else if (somewhat_likely) //do something else if (highly_likely) //do something 显然,排序后的版本会更快,但是出于可读性或副作用的考虑,我们可能希望对它们进行非最佳排序。在实际运行代码之前,很难说出CPU在分支预测方面的表现如何。 因此,在尝试这一过程中,我最终针对特定案例回答了自己的问题,但是我也想听听其他意见/见解。 重要说明:该问题假设if语句可以任意重新排序,而对程序的行为没有任何其他影响。在我的回答中,这三个条件测试是互斥的,不会产生副作用。当然,如果必须以某种顺序对语句进行评估才能实现某些所需的行为,那么效率问题就不那么重要了。

17
测试PHP中变量是否存在的最佳方法;isset()已明显损坏
从isset()文档: isset() will return FALSE if testing a variable that has been set to NULL. 基本上,isset()不检查是否已设置变量,而是检查是否将其设置为NULL。 鉴于此,实际检查变量是否存在的最佳方法是什么?我尝试了类似的东西: if(isset($v) || @is_null($v)) (未设置@时有必要避免警告$v),但is_null()有一个类似的问题isset():它会返回未TRUE设置的变量!还显示: @($v === NULL) 的工作方式与完全相同@is_null($v),所以也可以了。 我们应该如何可靠地检查PHP中是否存在变量? 编辑:PHP中未设置的变量与设置为的变量之间显然存在差异NULL: <?php $a = array('b' => NULL); var_dump($a); PHP表明$a['b']存在并且具有NULL价值。如果添加: var_dump(isset($a['b'])); var_dump(isset($a['c'])); 您可以看到我在使用该isset()功能时所含的歧义。这是所有这三个的输出var_dump()s: array(1) { ["b"]=> NULL } bool(false) bool(false) 进一步编辑:两件事。 一,用例。将数组转换为SQL UPDATE语句的数据,其中数组的键是表的列,而数组的值是要应用于每一列的值。该表的任何列都可以保存一个NULL值,通过NULL在数组中传递值来表示。你需要一种方法来区分不存在的数组键和将数组的值设置为NULL;这就是不更新列的值和将列的值更新为的区别NULL。 其次,Zoredache的答案,array_key_exists()工作正常,我上面的用例和任何全局变量: <?php …
187 php  variables  isset 



28
无法创建/打开锁定文件:/data/mongod.lock errno:13权限被拒绝
如何让mongo在ec2上使用已安装的驱动器?我真的不明白。我在ec2上连接了一个以root用户身份格式化驱动器的卷,并以root用户身份启动,但是以root用户身份我无法访问?我正在Ubuntu 12.04上运行。没有其他mongo在运行 我看到mongo在/ data中创建了一个'db'目录,即/ data / db cd / ls -al drwxr-xr-x 4 root root 4096 Mar 5 16:28 data cd /data ls -al total 28 drwxr-xr-x 4 root root 4096 Mar 5 16:28 . drwxr-xr-x 24 root root 4096 Mar 5 16:28 .. drwxr-xr-x 2 root root 4096 Mar …
187 mongodb 

4
如何更改表的默认排序规则?
create table check2(f1 varchar(20),f2 varchar(20)); 用默认排序规则创建一个表latin1_general_ci; alter table check2 collate latin1_general_cs; show full columns from check2; 将列的各个排序规则显示为“ latin1_general_ci”。 那么alter table命令的作用是什么?
187 mysql  sql  collation 


23
S3-访问控制允许来源标头
是否有人设法添加Access-Control-Allow-Origin到响应头中?我需要的是这样的: <img src="http://360assets.s3.amazonaws.com/tours/8b16734d-336c-48c7-95c4-3a93fa023a57/1_AU_COM_180212_Areitbahn_Hahnkoplift_Bergstation.tiles/l2_f_0101.jpg" /> 此get请求应包含在响应中,标头, Access-Control-Allow-Origin: * 我的存储分区的CORS设置如下所示: <?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>*</AllowedHeader> </CORSRule> </CORSConfiguration> 如您所料,没有Origin响应头。

19
Ansible失败,出现/ bin / sh:1:/ usr / bin / python:找不到
我遇到了从未见过的错误。这是命令和错误: $ ansible-playbook create_api.yml PLAY [straw] ****************************************************************** GATHERING FACTS *************************************************************** failed: [104.55.47.224] => {"failed": true, "parsed": false} /bin/sh: 1: /usr/bin/python: not found TASK: [typical | install required system packages] ***************************** FATAL: no hosts matched or all hosts have already failed -- aborting PLAY RECAP ******************************************************************** to retry, use: --limit @/Users/john/create_api.retry …

12
已安装节点软件包(Grunt)但不可用
我试图建立一个GitHub的jQuery的UI库使用grunt,但运行后npm install我还是根据无法运行该命令自述文件。它只是给No command 'grunt' found: james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ grunt build No command 'grunt' found, did you mean: Command 'grun' from package 'grun' (universe) grunt: command not found james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ npm ls jquery-ui@1.9.0pre /home/james/Documents/projects/ad2/lib/jquery-ui ├─┬ grunt@0.3.9 │ ├── async@0.1.18 │ ├── colors@0.6.0-1 │ ├─┬ connect@1.8.7 │ │ ├── formidable@1.0.9 │ │ ├── mime@1.2.5 │ …
187 node.js  build  package  npm 


11
你如何从Vim中的'gf'返回
我将Vim用于以Unix模式安装的Windows。由于有了这个站点,我现在使用gf命令转到光标下方的文件。 我正在寻找命令之一: 返回上一个文件(类似于ctags的Ctrl+ T),或者 重新映射gf 以在新窗口中自动启动新文件。
187 vim  editor 

3
React.js:将一个组件包装到另一个组件中
许多模板语言都有“ slots”或“ yield”语句,它们允许进行某种形式的控制反转,以将一个模板包装在另一个模板中。 Angular具有“ transclude”选项。 Rails有收益声明。如果React.js拥有yield语句,它将看起来像这样: var Wrapper = React.createClass({ render: function() { return ( <div className="wrapper"> before <yield/> after </div> ); } }); var Main = React.createClass({ render: function() { return ( <Wrapper><h1>content</h1></Wrapper> ); } }); 所需的输出: <div class="wrapper"> before <h1>content</h1> after </div> React,React.js没有<yield/>。如何定义包装器组件以实现相同的输出?

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.