小编Gor*_*ter的帖子

试图了解Ember JS的承诺

我一直在努力研究一个代码示例来了解承诺.但我似乎无法弄清楚如何处理回调并在以后获得"可靠"值.

这是我正在研究的两个相关的JSBin示例.用冗长的样式写来模仿烘焙饼干.

Ember JS没有异步

http://jsbin.com/iSacev/1/edit

纯粹的同步示例来显示基本行为(故意使用基本对象模型)

Ember JS有异步和承诺

http://jsbin.com/udeXoSE/1/edit

尝试扩展第一个示例并实现方法,其中事情以延迟完成并且稍后返回履行的promise对象.

试图理解的概念:

  • 如何正确处理promises,特别是Ember.RSVP.Promise并稍后获取一个对象.
  • 如何使用Ember.run.later方法而不是setTimeout

javascript asynchronous promise ember.js rsvp.js

9
推荐指数
1
解决办法
9860
查看次数

什么是计算机编程语言?

冒着听起来很幼稚的风险,我会问这个问题,以便更深入地理解编程语言的概念.我写这个问题是为了我自己的启发和其他人的启发.

计算机编程语言的有用定义是什么?它的基本和必要组件是什么?区分语言的主要特征是什么(功能,命令,声明,面向对象,脚本等)?

思考这个问题的一种方法.想象一下,你正在看现代台式机或笔记本电脑的硬件.假设C语言或其任何变体不存在.您如何向我人描述使计算机具有表现力和功能所需的所有内容,以满足我们对当今个人计算机的期望?

切线相关,它允许其他语言存在的计算机语言是什么?例如,使用Javascript,Perl或PHP等脚本语言.我假设这些定义的一部分是有一个解释器很可能在某种程度上用C或C++实现.是否可以在Javascript中为Javascript编写解释器?这是完整语言的要求吗?Perl,PHP等也一样吗?

我会对可以进一步查找或研究的概念列表感到满意.

programming-languages

8
推荐指数
2
解决办法
2226
查看次数

编程语言应该直观吗?

可以将哪些功能添加到新的编程语言中以使其更"直观"?在网站和桌面方面,我们倾向于高可用性,几乎直观的可用性.人们越来越期望您的应用程序应该"正常工作".对于某类应用程序,人们必须使用RTFM,这是对应用程序有效性的标记.人们倾向于期望应用程序以他们"认为"应该工作的方式工作.有人可能会说,这是设计师应该努力的一个有价值的标准.

同样的可用性是否适用于编程语言和开发人员环境?我意识到有一些像IntelliSense这样的工具 提供了提示,一个好的IDE提供了很多帮助.但核心语言本身呢?可以添加(或删除)什么使某些编程技术或算法更明显地实现?如何使正则表达式或递归更具有创造性?或者这只是愚蠢的?

举一个更具体的例子:HTML,CSS或Flex和MXML中的液体布局.在HTML和CSS中,根据Internet Explorer和其他浏览器的不同实现,盒子模型不是直观的.除非有人阅读文档或研究盒子模型的概念,否则在第一次尝试CSS时设计布局时很难"只是得到它".我认为这就是为什么桌子在早期蓬勃发展的原因.框模型隐含在表格单元的概念中.借助Dreamweaver等工具,人们可以在表格单元格的约束下围绕百分比宽度和布局.然后CSS开始成熟,出现了一系列有效的理由,说明为什么表不适用于布局.但是为了达到同样的效果,设计师必须真正研究CSS实现和盒子模型,并在他们的思想中注入新的抽象层.

在另一个例子中,我发现在ActionScript和MXML中编写大量内容时,流体布局和基于百分比的元素宽度的整个概念不是很明显,并不总是遵循直觉.我理解的基本问题是Adobe Flash播放器和布局需要以绝对像素术语来理解事物.当谈到组件的潜在宽度时,我理解为什么在代码的核心级别实现百分比并不是很明显.从理论上讲,Flash Player需要知道(或计算)组件的确切宽度,以便在屏幕上进行绘制时可以为视频卡提供正确的几何形状.但是当你介绍一些百分比的概念时,你会引入无限宽度的理论可能性.如果没有一些抽象和计算层,计算机可以直接找到"无限-1"像素.必须引用视口.该计划必须知道其边界.因此,绝对宽度是常态,尽管人类可能更愿意按百分比来设计.

在编程语言方面,可以有一些表达式和功能,在思考编程任务时可以帮助直觉.或者,当我们需要了解如何在代码中实现某些功能或布局时,我们最好还是"像计算机一样思考"并且只是RTFM的手册?

如果您可以更改所选编程语言的语法或语义,您会添加,更改或删除哪些内容以提高其"直观性"?

附录,提出这个问题的原因的灵感来自于在Alan Kay的讲座中看到"新手"能够在Smalltalk中实现的例子:使用图像做符号.

usability programming-languages

7
推荐指数
2
解决办法
1316
查看次数

Rails创建一个没有迁移的表

我有一个rails应用程序,它有一个特定的表,其中数据甚至结构是在rails和ruby之外动态生成的.这是一个设计,它是一个特殊的表,其中结构是从其他活动记录和关系中自包含的.对其起作用的模型也是原子的.所有这些都是设计和有目的的.我不想要这个表的特定结构,这意味着每次初始化表时列名和列数都会改变.如果表结构有变化,我可以管理对模型类的更改.

我的问题是rails迁移过程似乎妨碍了,我不想在迁移和回滚之间来回徘徊,只是为了让这个单个表的状态重置.

我正在寻找的行为实际上是每次我"生成"该表的数据时我想删除可能已经存在的表(在所有环境中:生产,开发和测试).

是否有明确的方法绕过迁移过程?或者创建一个独立于应用程序中其他迁移序列的特殊迁移?

整个数据库不是一次性的,但这一个表是.

关于如何实现这种行为的想法?

Rails 3,PostgreSQL数据库,git版本控制,heroku主机

database migration heroku rake-task ruby-on-rails-3

7
推荐指数
1
解决办法
1100
查看次数

Ember JS和Ember Rails中的嵌套路线

有人可以用非专业人的术语解释嵌套出口在ember模板中的工作方式吗?

特别是从文档中了解这一点:http: //emberjs.com/guides/routing/rendering-a-template/

"直接的父母路线没有进入主要出口..."

这意味着当前路由尝试呈现到父路由的模板中,但父路由未呈现模板,或者,如果确实如此,则父路由提供的模板未呈现到主模板中(即,默认{{outlet}}).

更具体地说,我正在尝试了解如何在我的应用程序中创建嵌套视图层次结构.它是三层深的收藏品.我想根据集合的内容创建一系列可折叠的嵌套视图.数据结构可以是树状的.

图书馆 - >每个图书馆都有很多图书 - >每本图书都有很多图书

寻找在实践中演示嵌套模板结构的说明性jsbin或代码示例.

想象一下这样的路由器:

App.Router.map(function() {

    this.resource('libraries', function() {
        this.route('new');

        this.resource('library', {path: ':library_id'}, function() {

            this.resource('books', function() {
                this.route('new');
                this.resource('book', {path: ':book_id'}, function() {

                    this.resource('pages', function() {
                        this.route('new');
                        this.resource('page', {path: ':page_id'}, function() {

                        }); // Page
                    }); // Pages

                }); // Book
            }); // Books

        }); // Library
    }); // Libraries

}); // map
Run Code Online (Sandbox Code Playgroud)

ember.js ember-rails

7
推荐指数
1
解决办法
1510
查看次数

适用于noob的Rails身份验证策略

希望这不是太广泛,但经过大量的谷歌搜索,我不知道从哪里开始.我正在寻找介绍/ noob概述,以帮助我开始构建rails 3应用程序的身份验证实现.

基本技术要求:

  • Rails 3应用程序托管在第三方服务(heroku)上
  • 需要使用特定的外部私有SSO服务来验证用户.
  • rails应用程序中没有本地用户数据库或模型.
  • 身份验证是基于令牌的,这意味着需要读取一个特殊的cookie,将令牌传递回SSO服务器(而不是基于rails).
  • 我无法控制SSO服务器或基础架构.
  • SSO服务器的信任是隐式的,不希望维护用户,密码或敏感信息的本地数据库.用户信息仅在会话期间存在且SSO服务器具有权威性.
  • 会话令牌信息是基于cookie的,并且在浏览器会话期间存在.

我正在寻找基本的示例/教程/策略/解释,通过上述设置,该过程如何在rails中工作.我希望这个过程对于用户来说是无缝的,工作流基本上是这样的:


  • 导航到rails app - >
  • 将未经身份验证的用户重定向到SSO服务器 - >
  • 通过远程SSO服务器登录和验证 - >
  • 回调/重定向到rails app - >
  • 捕获从SSO服务器传回的用户信息,并在rails app中加载受保护的资源

策略是使用私有SSO资源完全自定义的,并且不使用良好发布的身份验证机制(换句话说,不是Facebook,Google,Twitter,OAuth等).

任何有关术语,连贯的教程,示例的帮助将不胜感激.

编辑/更新:

更具体地说,我也在寻找如何创建omniauth自定义开发人员策略的良好文档.一些教程介绍了与任意SSO服务器通信所需的代码类型,从cookie中读取令牌,以及完成身份验证握手和回调/重定向.

authentication ruby-on-rails single-sign-on access-token omniauth

6
推荐指数
1
解决办法
832
查看次数

Actionscript 3.0中的行号常量?

是否有行号常量或动态跟踪动作中的行号?

动作脚本是否具有相应的

__LINE__
Run Code Online (Sandbox Code Playgroud)

用PHP?

debugging constants actionscript-3

5
推荐指数
1
解决办法
1798
查看次数

二进制数据的文本表示到底是什么?

有时,当您下载具有错误 mime 类型的编译二进制文件时,或者例如在二进制文件上运行“more”命令时,您会因为缺乏更好的术语而得到一堆“乱码”。

例如,这是我在 OS X 上用 gcc 编译的一个非常简单的 C 程序上从命令行运行“more”时看到的片段。

<94>^^^@^@ESC^@^@^@^^^A^@^@<A8>^^^@^@.^@^@^@^N^D^@^@^P ^@^@@^@^@^@^O^D^@^@^L ^@^@H^@^@^@^O^D^@^@^H ^@^@P^@^@^@^O
^D^@^@^@ ^@^@\^@^@^@^C^@^P^@^@^P^@^@p^@^@^@^O^A^@^@b^_^@^@y^@^@^@^O^D^@^@^D ^@^@<82>^@^@^@^O^A^@^@<B6>^^^@^@<88>
^@^@^@^O^A^@^@T^_^@^@<8D>^@^@^@^O^A^@^@T^^^@^@<93>^@^@^@^A^@^A^B^@^@^@^@<99>^@^@^@^A^@^A^B^@^@^@^@^L^@^@^@^M^@^@
^@ ^@dyld_stub_binding_helper^@__dyld_func_lookup^@dyld__mach_header^@_NXArgc^@_NXArgv^@___progname^@__mh_execute
_header^@_average^@_environ^@_main^@_sum^@start^@_exit^@_printf^@^@^@^@
Run Code Online (Sandbox Code Playgroud)

有人可以简单地解释一下这是为什么吗?当文本编辑器或纯文本 mime 类型尝试解释二进制数据时会发生什么?^@ 在这种情况下有什么意义吗?为什么有一些文字和一些乱码?这种二进制数据在文本中的表示方式是否有任何标准?为什么不是简单的1和0呢?

我可以从概念上将 ascii 或 unicode 理解为数字系统中字符的表示,可以简化为二进制 1 和 0 以及 CPU 可以理解的数字系统。但在更高的层面上,我试图了解二进制数据是什么。我想我想“看到抽象”,如果这有意义的话。

有没有办法在文本编辑器中以任何有意义的方式“查看”二进制数据?

binary text

5
推荐指数
1
解决办法
2218
查看次数

Xcode编辑器默认为 - (void)而不是 - (voidPtr)?

在Xcode(Snow Leopard上的3.2)当我开始输入诸如的功能时

-(void)myFunctionName {

}
Run Code Online (Sandbox Code Playgroud)

当我第一次开始输入代码提示时

-(voidPtr
Run Code Online (Sandbox Code Playgroud)
  1. void和之间有什么区别voidPtr?我假设这voidPtr是某种指针,在什么情况下要求使用它?我想要使​​用voidPtr而不是void吗?

  2. 我可以在编辑器中更改默认设置的首选项,void然后我可以输入P和tab完成,voidPtr如果我想要的话?

  3. 有没有一种通用的方法来配置或优先处理代码提示,以便在更加模糊的代码提示之前显示常见提示?

  4. 我可以创建代码提示快捷方式吗?我在哪里键入几个字符和命令来扩展常见的样板代码?

  5. 有哪些推荐的练习教程可以在Xcode编辑中获得高效率?

更新:根据Darren的建议,看起来像voidPtr来自

CarbonCore/Threads.h

...

/*
    The following ProcPtrs cannot be interchanged with UniversalProcPtrs because
    of differences between 680x0 and PowerPC runtime architectures with regard to
    the implementation of the Thread Manager.
 */
typedef void *                          voidPtr;
Run Code Online (Sandbox Code Playgroud)

我在Snow Leopard的新鲜香草上运行Xcode.我没有对我的项目做过任何异国情调.刚刚开始介绍Xcode和Objective C的一些非常基础的教程.任何有经验的Objective C人都有这方面有用的背景信息吗?

xcode objective-c

5
推荐指数
1
解决办法
1087
查看次数

合并nanoc中的项目

我一直在尝试使用nanoc来生成静态网站.我需要组织一个复杂的排列页面,我希望保持我的内容干燥.

包含或合并的概念在nanoc系统中如何工作?我已经阅读了文档,但我似乎找不到我想要的东西.

例如:如何获取两个部分内容项并将它们合并为一个新的内容项.

staticmatic中,您可以在页面中执行以下操作.

= partial('partials/shared/navigation')
Run Code Online (Sandbox Code Playgroud)

类似的约定如何在nanoc中起作用?

ruby include staticmatic nested-includes nanoc

5
推荐指数
1
解决办法
1430
查看次数