程序设计

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


7
如何使用Python中的DLL文件?
DLL从内部使用文件的最简单方法是什么Python? 具体来说,如何在不编写任何附加包装器C++代码的情况下完成此功能Python? Python与使用第三方库相比,本机功能是首选。
186 python  dll 

10
将表单元素状态传递给同级/父元素的正确方法是什么?
假设我有一个React类P,它渲染了两个子类C1和C2。 C1包含一个输入字段。我将此输入字段称为Foo。 我的目标是让C2对Foo的变化做出反应。 我已经提出了两种解决方案,但是它们都不对。 第一个解决方案: 为P分配一个状态,state.input。 onChange在P中创建一个函数,该函数接受一个事件并设置state.input。 onChange将其作为传递给C1 props,然后让C1绑定this.props.onChange到onChangeFoo。 这可行。每当Foo的值更改时,它都会触发setStateP中的a,因此P会将输入传递给C2。 但是由于相同的原因,感觉不太正确:我正在从子元素中设置父元素的状态。这似乎背叛了React的设计原理:单向数据流。 这是我应该怎么做,还是有一个更自然的React解决方案? 第二种解决方案: 只需将Foo放在P中即可。 但这是我在构建应用程序时应遵循的设计原则—将所有表单元素都放在render最高级别的类中? 就像在我的示例中一样,如果我渲染了很大的C1,我真的不想将整个renderC1render仅仅因为C1具有表单元素 P中。 我该怎么办?
186 reactjs 


5
基于骨干.js的许多框架在现实世界中的优缺点是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 3年前关闭。 改善这个问题 希望有人可以与他们分享一些最新的新兴的ribs.js变体的经验。我在多个项目中的主干/下划线/需求方面都具有良好的经验,我想朝着针对复杂应用程序结构的更高级解决方案迈出下一步。 我知道可以使用以下框架: 木偶 Geppetto(基于木偶) 卓别林,卓别林-卓别林样板 椎骨 布局管理器 胸部 光环 路卡 单耳 后栈 骨干用户界面 绿巨人 BTW-大型项目的绝佳起点 可能我错过了一些。 这里有关于这些差异的简短介绍: Speakerdeck谈话链接 但这很笼统 我想知道是否有人可以使用这些框架在现实生活中分享他们的经验。 选择一个而不是另一个的好处是什么?何时,木偶戏是比卓别林更好的解决方案,或者为什么椎骨在某些应用中会更好? 当然,显而易见的答案是“ 使用最适合您的需求 ”,但是我缺乏这些框架的经验,无法了解其优势/目的/优势或首选方案。 谢谢! 编辑1: 找到了这篇文章: Backbone.Marionette vs Backbone-Boilerplate 编辑2: Mathias schafer(Chaplin)通过邮件回答: 简而言之,当前结构已经在生产中使用,因此它接近1.0版。我们不打算在1.0之前添加新的重大功能或对API进行更改。 木偶肯定是那里最全面,最稳定的图书馆。它解决了使用Backbone开发JS应用程序的几个方面。例如,它具有强大的视线层,主干网本身就完全留下了空白。当然,您会发现某些方面无法满足您的需求,并且您可能会觉得有必要在Marionette周围建立结构。 相比之下,卓别林专注于Backbone应用程序的一个相当小但非常重要的方面,即整个应用程序的结构和模块的生命周期。在这方面,卓别林非常善于表达,更像是框架而不是库(例如,“您的代码称为库,框架称为您的代码”)。卓别林提供了一些中心类,它们位于各个应用程序模块之上,并控制整个应用程序状态。例如,这为您的应用程序提供了像Ruby on Rails这样的常规结构。 在卓别林中,您声明了一些映射到控制器的路由,一旦路由匹配,卓别林便启动控制器。它还负责处理旧的控制器,以及显示和隐藏应该由控制器创建的主视图。这是基本思想,但卓别林会处理一些丑陋的细节,以使此过程顺利进行。 此结构附带两个原则:-模块化,解耦和沙箱处理-使用“发布/订阅”和“中介”的跨模块通信 当然,这些模式在软件开发领域并不是什么新事物,并且卓别林不是唯一将它们应用于Backbone.js应用程序的库。 卓别林还为View层提供了增强功能,例如高度复杂的CollectionView,但总体上不及Marionette及其Regions和Layouts。但是使用卓别林视图提供的方法来编写此类元类相对容易。

5
为什么数组不能分配给Iterable?
使用Java5,我们可以编写: Foo[] foos = ... for (Foo foo : foos) 或仅在for循环中使用Iterable。这非常方便。 但是,您不能像这样编写可迭代的通用方法: public void bar(Iterable<Foo> foos) { .. } 并使用数组调用它,因为它不是Iterable: Foo[] foos = { .. }; bar(foos); // compile time error 我想知道这个设计决定背后的原因。


13
什么进入“ MVC”中的“控制器”?
我想我了解MVC的基本概念-模型包含应用程序的数据和行为,视图负责将其显示给用户,控制器负责处理用户输入。我不确定控制器中到底是什么。 比方说,我有一个相当简单的应用程序(我在专门考虑Java,但我想相同的原理也适用于其他地方)。我整理我的代码放入3包叫app.model,app.view和app.controller。 在app.model程序包中,我有一些类可以反映应用程序的实际行为。这些extends Observable和在适当时使用setChanged()和notifyObservers()触发视图更新。 该app.view封装具有一个使用类(或多个类为不同类型的显示器)javax.swing组件来处理的显示。其中一些组件需要反馈到模型中。如果我理解正确,则View应该与反馈没有任何关系-应该由Controller处理。 那么我实际上要在Controller中放入什么呢?我是否public void actionPerformed(ActionEvent e)仅通过对Controller中的方法的调用将其放入视图中?如果是这样,是否应在控制器中进行任何验证等?如果是这样,我如何将错误消息反馈回视图-应该再次通过模型,还是控制器应将其直接发送回视图? 如果验证是在View中完成的,我该在Controller中输入什么? 很长的问题,很抱歉,我只想记录我对过程的理解,希望有人可以为我澄清这个问题!

7
如何在Ruby On Rails中重定向到上一页?
我有一个页面,列出了所有具有可排序标题和分页的项目。 path: /projects?order=asc&page=3&sort=code 我选择编辑其中一个项目 path: projects/436/edit 当我单击该页面上的“保存”时,它将调用项目控制器/更新方法。更新代码后,我想重定向到单击编辑特定项目之前的路径。换句话说,我想在同一页面上进行相同的排序。 我看到了link_to(:back)并认为:back可以在redirect_to(:back)中使用,但这是不行的。 puts YAML::dump(:back) yields the following: :back 关于如何使它起作用的任何想法。看来这个问题很容易解决,但是我对RoR还是陌生的。

12
C#二进制文字
有没有办法用C#编写二进制文字,例如用0x前缀十六进制?0b不起作用。 如果没有,什么是简单的方法?某种字符串转换?
186 c#  syntax  binary 

5
Rails has_many具有别名
在我的用户模型中,我可以有: has_many :tasks 在我的任务模型中: belongs_to :user 然后,假设外键“ user_id”存储在任务表中,我可以使用: @user.tasks 我的问题是,如何声明has_many关系,以便可以将用户任务称为: @user.jobs ... 要么 ... @user.foobars 谢谢你

13
如何在Vim中注释掉Python代码块
我想知道Vim中是否有任何键映射可以让我缩进某些代码行(无论这些行是在可视模式下选择的,还是在当前光标位置上方/下方的n行)。 所以基本上是可以转换以下内容的东西 def my_fun(x, y): return x + y 至 #def my_fun(x, y): # return x + y 我可以使用#或"""注释掉相关行。理想情况下,如果给定的行已被注释掉,我也希望使用相同的键盘映射来取消注释。
186 python  vim  editor 

13
如何快速反向循环迭代?
当我在Playground中使用for循环时,一切正常,直到将for循环的第一个参数更改为最大值。(以降序排列) 这是一个错误吗?还有其他人吗? for index in 510..509 { var a = 10 } 显示将要执行的迭代次数的计数器一直在计时...


4
在JSONP中使用.ajax()的基本示例?
请有人帮我弄清楚如何开始使用JSONP吗? 码: $('document').ready(function() { var pm_url = 'http://twitter.com/status'; pm_url += '/user_timeline/stephenfry.json'; pm_url += '?count=10&callback=photos'; var photos = function (data) { alert(data); }; $.ajax({ url: pm_url, dataType: 'jsonp', jsonpCallback: 'photos', jsonp: false, }); }); 小提琴:http : //jsfiddle.net/R7EPt/6/ 据我可以从文档中得出的信息应该产生警报:不会(但也不会产生任何错误)。 谢谢。
186 ajax  json  jsonp 

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.