小编War*_*ker的帖子

还有更原始的,功能更强大的Haskell Web框架吗?

我查看了像Snap和Yesod这样的Haskell Web框架.大多数似乎都实现了一种MVC-ish方法,提醒我像Ruby on Rails这样的Web框架.是的,MVC可以通过FP实现,但恕我直言,它并没有显示FP方法的巨大优势.由于HTTP是无状态协议,我希望可能有一个Haskell框架采用更原始,更纯粹的功能方法.有吗?

haskell web-frameworks

10
推荐指数
1
解决办法
1055
查看次数

REST API缓存,我应该使用Reverse代理还是memcache(d)?

我有一个REST API,我希望缓存索引的JSON响应(GET/foo)和读取操作(GET/foo/1)以显着提高性能.当资源上有POST或PUT时,索引和读取结果的缓存条目需要过期,因此不会提供旧内容.

这是一个最好用Squid/Varnish等反向代理完成的场景,还是选择memcache(d)?

rest memcached reverse-proxy squid varnish

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

加快Erlang编辑,编译,运行/调试周期

编辑Erlang应用程序,编译代码并查看运行结果的最快方法是什么?最好在最后一步跳入Erlang shell.

我目前的新手设置:

  • 一个编译应用程序并启动erl shell的脚本.
  • 然后我输入应用程序:start(foo).
  • 当我修复拼写错误时,我使用c('module')重新编译模块并重新启动应用程序.

有更快的方法吗?BTW.我选择的编辑是Emacs.

debugging erlang erl

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

Precendence的影响是什么:批量标题对电子邮件的影响

根据Google Mail指南,批量邮件必须包含标题

Precedence: bulk
Run Code Online (Sandbox Code Playgroud)

它有什么作用?我找不到描述邮件传递效果的RFC.

一些背景:我正在处理每天发送500k +邮件的脚本.它们是不同类型的消息:帐户相关邮件(交付关键),但也有新内容的通知(交付不重要).

email gmail smtp

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

在路径中加载所有erlang模块

使用Easy方式加载具有钢筋依赖关系的项目的答案,现在可以自动解决依赖关系,但不会自动加载它们.

那么,如何自动加载我的ebin和/ deps/*/bin路径中的所有模块?这样,当使用Erlang shell选项卡完成时,它们可用,这大大加快了我的开发过程.

我的解决方案基于Adam Lindberg的优秀答案:https://gist.github.com/1131312它只会自动加载项目模块,所以在erl启动时几乎没有延迟.

erlang module erl

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

Rails CMS用于多语言网站

客户想要一个带有CMS的多语言网站.是否有一个Ruby on Rails CMS可以处理那个超出范围的盒子?

multilingual ruby-on-rails content-management-system

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

如何衡量服务器代码的性能和TCP RTT?

我创建了一个基本的TCP服务器,它以协议缓冲区格式读取传入的二进制数据,并将二进制消息作为响应写入.我想对往返时间进行基准测试.

我尝试了iperf,但无法让它多次发送相同的输入文件.是否有另一个基准工具可以重复发送二进制输入文件?

sockets performance benchmarking tcp tcptrace

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

erlang:现在再来一次时间戳

在我的项目erlang中:现在转换为高精度时间戳(bigint)以便在MySQL中存储:

timestamp({Mega, Secs, Micro}) ->
    Mega*1000*1000*1000*1000 + Secs * 1000 * 1000 + Micro.
Run Code Online (Sandbox Code Playgroud)

我现在使用以下命令将时间戳转换回原始的{Mega,Secs,Micro}元组:

time_tuple(Timestamp) ->
    TimeList = erlang:integer_to_list(Timestamp),
    Mega = erlang:list_to_integer(string:substr(TimeList, 1, 4)),
    Sec = erlang:list_to_integer(string:substr(TimeList, 5, 6)),
    Micro = erlang:list_to_integer(string:substr(TimeList, 11, 6)),
    {Mega, Sec, Micro}.
Run Code Online (Sandbox Code Playgroud)

字符串转换/ substr感觉就像一个丑陋的,可能不正确的黑客.什么是更优雅的方式?

erlang timestamp unix-timestamp

4
推荐指数
1
解决办法
6197
查看次数

CKQuery的distanceToLocation上没有NSSortDescriptor?

使用CloudKit CKQuery,您可以过滤距离(参见示例).但你怎么能对距离进行排序呢?喜欢位置ASC.位置上的排序描述符返回错误query.sortDescriptors = [NSSortDescriptor(key: "distanceToLocation", ascending: true)]:

  static func getNearbySpots(location : CLLocation, completionHandler: (spots : CKRecord[]) -> Void) {
        let predicate = NSPredicate(format: "distanceToLocation:fromLocation:(location, %@) < 10000", location)

        let queryOperation = CKQueryOperation(query: query)
        var results : CKRecord[] = []

        queryOperation.recordFetchedBlock = {
            results += $0
        }

        queryOperation.queryCompletionBlock = {
            if $1 {
                NSLog($1.description,[])
                abort()
            } else {
                completionHandler(spots: results)
            }
        }

        self.publicDB().addOperation(queryOperation)
    }
Run Code Online (Sandbox Code Playgroud)

cloudkit ckquery

4
推荐指数
1
解决办法
847
查看次数

记住*nix命令行参数

对于我的开发人员工作,我几乎整天都在*nix shell环境中,但仍然无法记住我每天不使用的程序的名称和参数细节.我想知道其他'休闲记忆者'如何处理这个问题.你有一个大的备忘单吗?每周洗一次淋浴时,你会排练emacs快捷方式吗?或者你的桌子是否被粘滞便笺所覆盖?

unix shell command-line-arguments

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