我一直在努力研究一个代码示例来了解承诺.但我似乎无法弄清楚如何处理回调并在以后获得"可靠"值.
这是我正在研究的两个相关的JSBin示例.用冗长的样式写来模仿烘焙饼干.
Ember JS没有异步
http://jsbin.com/iSacev/1/edit
纯粹的同步示例来显示基本行为(故意使用基本对象模型)
Ember JS有异步和承诺
http://jsbin.com/udeXoSE/1/edit
尝试扩展第一个示例并实现方法,其中事情以延迟完成并且稍后返回履行的promise对象.
试图理解的概念:
冒着听起来很幼稚的风险,我会问这个问题,以便更深入地理解编程语言的概念.我写这个问题是为了我自己的启发和其他人的启发.
计算机编程语言的有用定义是什么?它的基本和必要组件是什么?区分语言的主要特征是什么(功能,命令,声明,面向对象,脚本等)?
思考这个问题的一种方法.想象一下,你正在看现代台式机或笔记本电脑的硬件.假设C语言或其任何变体不存在.您如何向我人描述使计算机具有表现力和功能所需的所有内容,以满足我们对当今个人计算机的期望?
切线相关,它允许其他语言存在的计算机语言是什么?例如,使用Javascript,Perl或PHP等脚本语言.我假设这些定义的一部分是有一个解释器很可能在某种程度上用C或C++实现.是否可以在Javascript中为Javascript编写解释器?这是完整语言的要求吗?Perl,PHP等也一样吗?
我会对可以进一步查找或研究的概念列表感到满意.
可以将哪些功能添加到新的编程语言中以使其更"直观"?在网站和桌面方面,我们倾向于高可用性,几乎直观的可用性.人们越来越期望您的应用程序应该"正常工作".对于某类应用程序,人们必须使用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中实现的例子:使用图像做符号.
我有一个rails应用程序,它有一个特定的表,其中数据甚至结构是在rails和ruby之外动态生成的.这是一个设计,它是一个特殊的表,其中结构是从其他活动记录和关系中自包含的.对其起作用的模型也是原子的.所有这些都是设计和有目的的.我不想要这个表的特定结构,这意味着每次初始化表时列名和列数都会改变.如果表结构有变化,我可以管理对模型类的更改.
我的问题是rails迁移过程似乎妨碍了,我不想在迁移和回滚之间来回徘徊,只是为了让这个单个表的状态重置.
我正在寻找的行为实际上是每次我"生成"该表的数据时我想删除可能已经存在的表(在所有环境中:生产,开发和测试).
是否有明确的方法绕过迁移过程?或者创建一个独立于应用程序中其他迁移序列的特殊迁移?
整个数据库不是一次性的,但这一个表是.
关于如何实现这种行为的想法?
Rails 3,PostgreSQL数据库,git版本控制,heroku主机
有人可以用非专业人的术语解释嵌套出口在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) 希望这不是太广泛,但经过大量的谷歌搜索,我不知道从哪里开始.我正在寻找介绍/ noob概述,以帮助我开始构建rails 3应用程序的身份验证实现.
基本技术要求:
我正在寻找基本的示例/教程/策略/解释,通过上述设置,该过程如何在rails中工作.我希望这个过程对于用户来说是无缝的,工作流基本上是这样的:
策略是使用私有SSO资源完全自定义的,并且不使用良好发布的身份验证机制(换句话说,不是Facebook,Google,Twitter,OAuth等).
任何有关术语,连贯的教程,示例的帮助将不胜感激.
编辑/更新:
更具体地说,我也在寻找如何创建omniauth自定义开发人员策略的良好文档.一些教程介绍了与任意SSO服务器通信所需的代码类型,从cookie中读取令牌,以及完成身份验证握手和回调/重定向.
authentication ruby-on-rails single-sign-on access-token omniauth
有时,当您下载具有错误 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 可以理解的数字系统。但在更高的层面上,我试图了解二进制数据是什么。我想我想“看到抽象”,如果这有意义的话。
有没有办法在文本编辑器中以任何有意义的方式“查看”二进制数据?
在Xcode(Snow Leopard上的3.2)当我开始输入诸如的功能时
-(void)myFunctionName {
}
Run Code Online (Sandbox Code Playgroud)
当我第一次开始输入代码提示时
-(voidPtr
Run Code Online (Sandbox Code Playgroud)
void和之间有什么区别voidPtr?我假设这voidPtr是某种指针,在什么情况下要求使用它?我想要使用voidPtr而不是void吗?
我可以在编辑器中更改默认设置的首选项,void然后我可以输入P和tab完成,voidPtr如果我想要的话?
有没有一种通用的方法来配置或优先处理代码提示,以便在更加模糊的代码提示之前显示常见提示?
我可以创建代码提示快捷方式吗?我在哪里键入几个字符和命令来扩展常见的样板代码?
有哪些推荐的练习教程可以在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人都有这方面有用的背景信息吗?
我一直在尝试使用nanoc来生成静态网站.我需要组织一个复杂的排列页面,我希望保持我的内容干燥.
包含或合并的概念在nanoc系统中如何工作?我已经阅读了文档,但我似乎找不到我想要的东西.
例如:如何获取两个部分内容项并将它们合并为一个新的内容项.
在staticmatic中,您可以在页面中执行以下操作.
= partial('partials/shared/navigation')
Run Code Online (Sandbox Code Playgroud)
类似的约定如何在nanoc中起作用?
ember.js ×2
access-token ×1
asynchronous ×1
binary ×1
constants ×1
database ×1
debugging ×1
ember-rails ×1
heroku ×1
include ×1
javascript ×1
migration ×1
nanoc ×1
objective-c ×1
omniauth ×1
promise ×1
rake-task ×1
rsvp.js ×1
ruby ×1
staticmatic ×1
text ×1
usability ×1
xcode ×1