小编mwi*_*ams的帖子

复合主键与唯一对象ID字段

我继承了一个数据库,其构思是复合键比使用唯一的对象ID字段更理想,并且在构建数据库时,永远不应将单个唯一ID 用作主键.因为我正在为这个数据库构建一个Rails前端,所以我遇到了使它符合Rails约定的困难(虽然可以使用自定义视图和一些额外的gem来处理复合键).

编写它的人的这种特定模式设计背后的原因与数据库如何以非有效方式处理ID字段有关,并且当它构建索引时,树类排序存在缺陷.这个解释没有任何深度,我仍然试图围绕这个概念(我熟悉使用复合键,但不是100%的时间).

任何人都可以提供意见或为此主题添加更深入的内容吗?

database database-design design-patterns ruby-on-rails

71
推荐指数
6
解决办法
2万
查看次数

Carbon vs. Aqua vs. Cocoa Emacs构建

OSX上的Emacs似乎有几个阵营; 碳与Aqua Emacs.似乎有一种观点认为Aqua与标准的Emacs相差太远,如果你觉得太舒服,那么你将无法使用任何其他版本的Emacs.

作为一名尝试进入Emacs几个月的开发人员,我一直在使用Carbon Emacs和Emacs Starting Kit,事情进展顺利.

但随着Emacs的Cocoa构建与Emacs 23(以及每晚构建)一起出现,这会改变什么吗?

我应该考虑在预期中使用每晚的Cocoa构建吗?我非常想知道这两个主要的OSX Emacs应用程序的好处以及是否会有重大改变或改进.

emacs cocoa text-editor editor

30
推荐指数
3
解决办法
2万
查看次数

要foo吧,还是不要foo bar:这就是问题所在

这是最初在大型书呆子牧场的查尔斯布莱恩奎因在acts_as_conference上发表的演讲中讨论的内容.他正在讨论他从指导Ruby on Rails Bootcamp所学到的东西给许多新手编程和Rails新手的人.

突出的一个特别的幻灯片就是在尝试教别人编程时,从不使用foo和bar作为例子.他的推理非常简单.

哪个更容易理解?

baz = foo + bar
Run Code Online (Sandbox Code Playgroud)

要么

answer = first_number + second_number
Run Code Online (Sandbox Code Playgroud)

在解释某些内容时,我自己发生了很多次,然后我立刻跳到了foo bar占位符,然后意识到我的错误,并通过使用真实场景让这个例子变得更有意义.

这一点尤其适用于尝试教导没有编程曝光的人,并且在解释你实际上要教的内容之前最终需要解释foo和bar.

然而,对有经验的程序员使用foo和bar似乎没问题,尽管我个人认为,与Charles一起,这是需要改变的东西.

快速SO搜索"foo"会返回超过20页的结果,foo以我能理解的更多方式使用.在某些情况下,我正在阅读关于特定语言的问题,而我正在这样做以帮助更好地理解该语言.如果使用适用的变量名而不是foo和bar,则可以更容易理解和解释问题.因此对于经验丰富的开发人员来说,这个结构似乎也有点缺陷.

这是一种能够被踢的习惯吗?你为什么选择foo bar或者不选择foo bar?

variables coding-style naming-conventions metasyntactic-variable

28
推荐指数
3
解决办法
1162
查看次数

在Rails模型中使用持续时间字段

我正在寻找在Rails模型中使用持续时间字段的最佳方法.我希望格式为HH:MM:SS(例如:01:30:23).正在使用的数据库是本地的sqlite和生产中的Postgres.

我还想使用这个字段,这样我就可以看一下该字段中的所有对象,并得出该模型中所有对象的总时间,最后得到如下结果:

30条记录共计45小时25分34秒.

那么什么最适合?

  • 迁移的字段类型
  • CRUD表单的表单字段(小时,分钟,第二次下拉?)
  • 生成模型中所有记录的总持续时间的最便宜的方法

ruby time duration ruby-on-rails

28
推荐指数
3
解决办法
1万
查看次数

让Emacs尊重我的默认shell +选项

我正在尝试让我的Emacs shell模仿我的标准终端会话.基本上我希望它尊重相同的PATH以及命令提示符.

到目前为止,我有一些问题:

  • 找不到PATH,下面是我正在使用的修复程序.
  • 我正在尝试使用另一个修复程序来获取ascii颜色代码.

我在mwilliams.el文件中有以下内容.前几行让我可以访问Mx shell中的/ usr/local/bin,这解决了一半问题,最后几行让我使用Zsh运行,但我的提示非常灵活.

(setenv "PATH" (concat (getenv "PATH") ":/usr/local/bin"))
(setq exec-path (append exec-path '("/usr/local/bin")))


(defun shell ()
  (interactive)
  (ansi-term "/bin/zsh"))
Run Code Online (Sandbox Code Playgroud)

有了上面我在Mx shell中得到了以下所有内容.

4m\342/236/234 
Run Code Online (Sandbox Code Playgroud)

使用的模式是:(术语:char run yas)

据我所知,它不尊重我的Zsh主题中的一些ascii颜色代码.然而,我看到一些颜色通过; 所以它在那里的一半.我最好的猜测是我需要尊重我的.zshrc,其中包含有关我的主题和PATH的信息.

我刚刚在Emacs中弄湿了,在我开始将日常工作(以及其他所有工作)迁移到Emacs之前,获得坚固的外壳是我需要的最后几件事之一.

我在OSX Snow Leopard中运行Emacs 23.1(9.0).

emacs terminal elisp text-editor

14
推荐指数
1
解决办法
7604
查看次数

Emacs练习变得更加舒适,熟悉编辑器本身以及Lisp?

有一个名为Ruby Koans的伟大项目,它是一系列使用Ruby语言自我锻炼的任务,使用Ruby Unit Testing套件作为学习工具,引导您完成标准库.这是一个很棒的项目.

我很想看到类似Emacs的东西.

任何人都可以推荐在Emacs内部进行任何Lisp练习来运用Lisp和Emacs吗?也许在完成Ruby Koans时也是如此?

lisp emacs

13
推荐指数
1
解决办法
2520
查看次数

从Oracle Forms 6i迁移到Web的最佳解决方案?

我在Oracle商店工作.有一个工具集由大约1000个Oracle Forms(使用6i的早期90版软件中的Forms构建器)和后端的Oracle 10g组成.它每月为大约500名独特的人提供服务,在工作日的任何时间都有200个并发连接.

显然,这是需要解决的问题,以摆脱Forms运行时并转移到基于Web的解决方案.需要从Windows,Linux,各种UNIX,VMS和Solaris访问这些工具.

有哪些选择可以迁移到?它不仅需要对迁移是可行的,而且需要由支持该工具集的大约8名工程师完成开发(其中许多人宁愿保持这种工具集并且不对其进行现代化).

Oracle提供了一些解决方案,可以将Oracle Forms转换为糟糕的Java Applet(这是一个非常糟糕的临时解决方案).

我选择的解决方案一直在迁移到Ruby on Rails(我是Rails的大力支持者),但这将涉及到其他开发人员的学习曲线(我们会用任何解决方案).此外,另一个困难是将一些非常复杂的表单转换为HTML表单.

有没有人解决过这样的解决方案?是否有任何Oracle以外的人提供的软件包?

任何特定的Java Web框架?

GWT,jQuery UI,ExtJS或任何其他JavaScript UI框架是否能提供所需的丰富用户体验?

.NET是一个考虑但是最后的手段(主要是因为许可证成本,除了我们为Oracle许可证支付的费用之外,预算中没有空间).

java migration oracle oracleforms

12
推荐指数
1
解决办法
3万
查看次数

强制Javascript函数调用等待上一个函数调用完成

我有一个简单的Javascript函数:

makeRequest();
Run Code Online (Sandbox Code Playgroud)

它做了很多东西,并将大量内容放入DOM中.

我做了几个电话:

makeRequest('food');
makeRequest('shopping');
Run Code Online (Sandbox Code Playgroud)

但是,它们都发射得太快,以至于它们踩着对方的脚趾.最终我需要它具有的功能.

makeRequest('food');
wait....
makeRequest('shopping'); only if makeRequest('food') has finished
Run Code Online (Sandbox Code Playgroud)

关于让这些只能一次执行一个的想法?

谢谢!

javascript jquery

12
推荐指数
1
解决办法
3万
查看次数

从我的胰岛素泵控制器反向设计统计数据文件

这可能是也可能不是灰色地区的主题,虽然我的意图当然不是,所以我的意图不是激起关于逆向工程主题的道德辩论.

我是目前正在接受泵疗法的1型糖尿病患者.我是OmniPod用户,它是一个一次性的豆荚,粘在我的身体上并分配胰岛素3天.它由个人糖尿病管理员[PDM](见下文)控制,该管理员控制在用餐期间分配多少胰岛素,血糖读数,并且它包含用于计算碳水化合物的食物指数.

替代文字http://www.myomnipod.com/images/pdm-200.jpg

新PDM具有用于下载数据的USB端口.该软件对Windows用户是免费的(一个名为CoPilot的软件包),但没有Mac支持.

将PDM插入我的Mac后,它就像任何其他USB设备一样安装,并向我提供一个可读卷,上面有一个带有IBF扩展名的单个文件.它的重量为16KB.

我的第一直觉是通过文本编辑器传递它,并呈现了一个非常二进制的文件.然后我通过字符串传递它(见下文)并用十六进制编辑器打开它.虽然除了下面的字符串之外我无法获得太多信息; 没有压缩格式的细节或任何东西

$ strings omnipoddata.ibf 
Insulet
OmniPod
basal 1
Post-meal
e-meal
Pre-meal
e-bedtime
Pre-bedtime
.(@P
.(@P
.(@P
Run Code Online (Sandbox Code Playgroud)

在这个过程中我的下一步应该是什么?我是一个动态的语言人,因此Ruby的任何资源都很棒,或者Python.是否有任何测试驱动的逆向工程流程?

至于我想要获得的数据,我想绘制的信息可以获得更多关于我的进展的信息(胰岛素摄入量,血糖读数,时间戳); 所有这些都可以在Windows软件包中使用.

ruby reverse-engineering binary-data

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

使用Prototype遍历特定的子元素

鉴于以下标记.

<div id="example">
  <div>
    <div>
      <input type='hidden'></input>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如果我拥有ID为'example'的最顶部div元素的ID,我如何快速获取隐藏的输入元素?

我可以破解它,所以我可以遍历每个子元素直到我点击输入,但是,我想改进它并利用Prototype并简单地跳转到给定div的隐藏输入.

谢谢!

javascript prototypejs

9
推荐指数
2
解决办法
2万
查看次数