小编new*_*ple的帖子

如何在iPhone上创建圆角UILabel?

是否有内置的方法来创建圆角UILabels?如果答案是否定的,那么如何创建这样的对象呢?

cocoa-touch objective-c rounded-corners uilabel ios

149
推荐指数
11
解决办法
13万
查看次数

Ruby依赖注入库

我一直在寻找一些Ruby依赖注入库.特别是,我检查了 NeedleCopland.他们已经存在了很长一段时间,但并没有很多用法.

使用这两个库有哪些优点和缺点?看起来好像很多库/框架都可以很好地利用这两个库,例如Merb/Datamapper的Hook.

ruby aop dependency-injection

25
推荐指数
2
解决办法
6601
查看次数

如何在Rails的map.resources()中重命名默认标识符param"id"?

我喜欢Rail的map.resources生成的所有默认路由.但是,有些情况下我想在我的路线中使用非数字标识符.例如,如果嵌套路由由用户及其文章组成,则可以按如下方式编写标准路由:

map.resources :users, :has_many => [:articles] # => e.g. '/users/:id/articles/:id'
Run Code Online (Sandbox Code Playgroud)

但是,有许多优点/原因不使用Rails生成的默认数字标识符.有没有办法将default:id params替换为我选择的另一个规范标识符,而不会为每个标准操作编写自定义路由?如果我想要一个以下格式的路线:

'/users/:login/articles/:id'
Run Code Online (Sandbox Code Playgroud)

这种路线是否可以使用map.resources实现?

resources routes ruby-on-rails params

12
推荐指数
2
解决办法
5942
查看次数

iPhone Mobile Safari 3上的getBoundingClientRect相当于什么?

iPhone Mobile Safari似乎缺少element.getBoundingClientRect.iPhone Mobile Safari上的等效方法是什么?这种方法存在于iPad上.

javascript mobile-safari ios-3.x

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

如何在Clojure中将列表或向量转换为有序集?

在Clojure中,该set函数自动将a vectorlista 转换为a set.但事实并非如此sorted-set:

(set [3 2 1])  ; #{1 2 3}
(set '(3 2 1)) ; #{1 2 3}
(sorted-set [3 2 1])  ; #{[3 2 1]}
(sorted-set '(3 2 1)) ; #{(3 2 1)}
Run Code Online (Sandbox Code Playgroud)

这是我提出的解决方案:

(defn sorted-set-from-coll [coll]
    (eval (cons sorted-set (seq coll))))

(def v [3 2 1])
(sorted-set-from-coll v)        ; #{1 2 3}
(sorted-set-from-coll '(3 2 1)) ; #{1 2 3}
(sorted-set-from-coll [3 1 2])  ; #{1 2 3} …
Run Code Online (Sandbox Code Playgroud)

clojure sortedset

11
推荐指数
2
解决办法
2601
查看次数

在分布式和并发环境中生成唯一序列号时有哪些权衡?

我很好奇在分布式和并发环境中生成唯一序列号的约束和权衡.

想象一下:我有一个系统,它所做的就是每次提出时都会返回一个唯一的序列号.这是这种系统的理想规范(约束):

  • 保持高负荷.
  • 允许尽可能多的并发连接.
  • 分布式:跨多台机器分散负载.
  • 性能:尽可能快地运行并具有尽可能多的吞吐量.
  • 正确性:生成的数字必须:
    1. 不要重复.
    2. 每个请求都是唯一的(如果任何两个请求在同一时间发生,则必须有一种断开关系的方式).
    3. (增加)顺序.
    4. 请求之间没有差距:1,2,3,4 ......(实际上是一个总#请求的计数器)
  • 容错:如果一台或多台机器或所有机器发生故障,它可以恢复到故障前的状态.

显然,这是一个理想化的规范,并非所有约束都可以完全满足.参见CAP定理.但是,我很想听听您对各种限制因素的分析.我们将留下什么类型的问题以及我们将使用什么算法来解决剩余的问题.例如,如果我们摆脱了计数器约束,那么问题就变得容易了:因为允许间隙,我们可以对数值范围进行分区并将它们映射到不同的机器上.

欢迎任何参考(论文,书籍,代码).我还想保留一份现有软件清单(开源与否).


软件:

  • Snowflake:一种网络服务,可以通过一些简单的保证在大规模生成唯一的ID号.
  • keyspace:一个可公开访问的唯一128位ID生成器,其ID可用于任何目的
  • RFC-4122实现存在于许多语言中.RFC规范可能是一个非常好的基础,因为它可以防止任何系统间协调,UUID是128位,并且当使用来自实现某些版本规范的软件的ID时,它们包含一个时间代码部分,可能的分类等

counter guid distributed-computing sequence concurrent-programming

8
推荐指数
1
解决办法
781
查看次数

最快的 Ruby 记录器实现是什么?

我想找到 Ruby 提供的最快的记录器。我的直觉告诉我 syslog 会在这场比赛中获胜。但我的直觉似乎是错误的。Syslog 是我测试过的三个记录器中最慢的。我使用的是我的 MacBook Pro、OSX 10.6 (Snow Leopard)、Intel Core2 Duo、4GB 内存和由 MacPorts 构建的 Ruby 1.8.7。难道我做错了什么?或者 Ruby 的 syslog 实现就是这么慢?如果结果与我的不同,请随时发布您的结果。也欢迎您将您最喜欢的 Ruby 记录器添加到基准测试中。我的目标是找到可用的最快的记录器。我只对纯性能(吞吐量)感兴趣。像多目标日志记录这样的功能在这里不是问题。

# loggers_bench.rb

require 'rbench'
require 'activesupport'
require 'syslog'
require 'logger'

buffered = ActiveSupport::BufferedLogger.new('buffered.log')
logger   = Logger.new('logger.log')
syslog   = Syslog.open('rb_syslog')

TIMES = 10_000

RBench.run(TIMES) do
  column :syslog,    :title => 'Syslog'
  column :logger,    :title => 'Logger'
  column :buffered,  :title => 'ActiveSuppoort::BufferedLogger'


  report '#info' do
    syslog {
      300.times do |i|
        syslog.info "hello #{i}"
      end
    }

    logger {
      300.times do …
Run Code Online (Sandbox Code Playgroud)

ruby comparison benchmarking logging syslog

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

使用cloneNode后如何维护正确的Javascript事件(true)

我有一个包含多行输入的表单元素.将每一行视为我想在Web应用程序中创建的新对象的属性.而且,我希望能够在一个HTTP POST中创建多个新对象.我正在使用Javascript的内置cloneNode(true)方法来克隆每一行.问题是每个输入行还有一个附加到其onclick事件的删除链接:

// prototype based
<div class="input-line">
    <input .../>
    <a href="#" onclick="$(this).up().remove();"> Remove </a>
</div>
Run Code Online (Sandbox Code Playgroud)

单击克隆的输入行的删除链接时,它还会删除从同一个dom对象克隆的所有输入行.在上面的DOM元素上使用cloneNode(true)后,是否可以将"this"对象重新绑定到正确的锚标记?

javascript events dom clonenode prototypejs

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