小编Val*_*lev的帖子

学习算法和数据结构基础知识

你能推荐我一本书或(更好!)一个有许多难题的网站和关于数据结构的练习吗?

我已经回答了Euler项目的问题,但这些问题都是有趣的,但不常见的算法.我几乎没用过一棵简单的树.也许有一个网站有类似的练习:嘿,你需要计算一下:.... 用树做它.现在用拉链做吧.上传你的C(Haskell,Lisp,甚至是Pascal或Fortress go)解决方案.哦,你的解决方案太慢了!

当你尝试学习非常普通的基本事物时,自我教育是非常困难的.如何在不参加课程或其他任何事情的情况下帮助自己?

algorithm data-structures

55
推荐指数
4
解决办法
4万
查看次数

"存在"在Haskell类型系统中意味着什么?

我正在努力理解与existsHaskell类型系统相关的关键字.据我所知,默认情况下Haskell中没有这样的关键字,但是:

  • 在这些声明中有扩展添加它们data Accum a = exists s. MkAccum s (a -> s -> s) (s -> a)
  • 我已经看过一篇关于它们的论文,并且(如果我没记错的话)它声明exists关键字对于类型系统是不必要的,因为它可以通过forall

但我甚至不明白是什么exists意思.

当我说,forall a . a -> Int这意味着(在我的理解中,不正确的一个,我猜)"对于每个(类型)a,都有一个类型的函数a -> Int":

myF1 :: forall a . a -> Int
myF1 _ = 123
-- okay, that function (`a -> Int`) does exist for any `a`
-- because we have just defined it
Run Code Online (Sandbox Code Playgroud)

当我说exists a . a -> …

haskell exists quantifiers forall

33
推荐指数
4
解决办法
3063
查看次数

如何获得客户的时区?

我正在使用Zend_Framework编写应用程序(因此解决方案可以依赖它).

如何获得客户的时区?

例如,如果有人在俄罗斯莫斯科,我想获得3*60*60(因为有UTC + 3).如果他在英国,我想要零.如果他使用UTC-3:30(加拿大?),我想要-3.5*60*60.

(这不是关于格式的问题 - 我对俄罗斯圣彼得堡获得'欧洲/莫斯科'或'UTC-3'是好的,而是让时区客户端使用.但是以秒为单位的delta是首选)

想到的唯一解决方案是让javascript获取本地时间并重定向.

php timezone zend-framework

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

有一个很好的ClojureScript工作流程吗?

我正在尝试将ClojureScript用于项目.要成为一个快乐的开发人员,我需要一个快速的反馈循环:编写一些代码并尽快看到它.我也喜欢在当前页面的上下文中使用REPL.

我正在使用lein-cljsbuild和从我遇到的问题我认为我没有正确设置它.

首先,即使在"JWM热身"之后,小文件的编译时间也太大了:optimizations :simple:

Compiling "resources/public/js/cljs.js" from ["src-cljs"]...
Successfully compiled "resources/public/js/cljs.js" in 8.233018 seconds.
Compiling "resources/public/js/cljs.js" from ["src-cljs"]...
Successfully compiled "resources/public/js/cljs.js" in 5.522989 seconds.
Compiling "resources/public/js/cljs.js" from ["src-cljs"]...
Successfully compiled "resources/public/js/cljs.js" in 8.144354 seconds.
Run Code Online (Sandbox Code Playgroud)

其次,我不时会得到这样的东西:

Compiling "resources/public/js/cljs.js" from ["src-cljs"]...
Compiling "resources/public/js/cljs.js" failed.
Exception in thread "main" java.lang.NullPointerException
at java.util.regex.Matcher.getTextLength(Matcher.java:1140)
at java.util.regex.Matcher.reset(Matcher.java:291)
at java.util.regex.Matcher.<init>(Matcher.java:211)
at java.util.regex.Pattern.matcher(Pattern.java:888)
at clj_stacktrace.utils$re_gsub.invoke(utils.clj:6)

# ... many similar useless lines

at clojure.lang.Var.applyTo(Var.java:532)
at clojure.main.main(main.java:37)
Run Code Online (Sandbox Code Playgroud)

这些堆栈跟踪(大部分时间与语法错误有关,正如我从实验中所理解的那样)比没有帮助更糟糕:它们不仅提供关于错误的零线索,还停止自动重新编译.在每次这样的堆栈跟踪之后,我应该做这些事情:

  • 找出问题是什么,使用我称之为"假装你是解析器"的技术.感谢上帝,它是Lisp,我唯一应该做的就是仔细计算匹配的括号.
  • 按下运行Cmd-C的shelllein cljsbuild auto
  • 再跑 …

workflow clojure read-eval-print-loop clojurescript

24
推荐指数
2
解决办法
2072
查看次数

Emacs Haskell缩进

请帮我在Emacs haskell-mode中设置适当的缩进

当我试图键入下来像ADT或记录,我按下后才能上错列<ENTER>,并按<TAB> 不会,直到我进入或者切换到合适的一个|或";"!

data MyADT = Oh
           | Hi
           | Hello
             | <- the cursor is here again!
Run Code Online (Sandbox Code Playgroud)

试图解决我设置的问题

(define-key global-map (kbd "RET") 'reindent-then-newline-and-indent)
Run Code Online (Sandbox Code Playgroud)

在我的.emacs文件中,但它也不会在按下时缩进当前行<enter>!

另一个奇怪的行为:缩进案例

oneChar c =  case lookup c simpleEscapes of
  | <- what? here?!
Run Code Online (Sandbox Code Playgroud)

emacs haskell indentation

23
推荐指数
2
解决办法
3673
查看次数

Emacs指出:信息太多了

我正在尝试使用Emacs,一切都很好,但是我目录中每个文件的信息都太全面了.我怎么能告诉它只显示文件名(也许是人类可读格式的文件大小)?我尝试了类似dired-listing-switches但没有运气的选项.

emacs dired

21
推荐指数
2
解决办法
5676
查看次数

面向对象的PHP速度慢吗?

我曾经使用过程式PHP.后来,我曾经创建过一些类.后来,我学习了Zend Framework并开始以OOP风格编程.现在我的计划是根据我自己的框架(与CMS的元素,但没有任何设计架构),它是建立在Zend框架的顶部.

现在它由很多类组成.但是我编程的越多,我就越害怕.我担心我的程序因为它们会很慢我害怕每增加一个可以帮助我开发但可以减慢应用程序的类.

我所知道的是,包含大量文件会降低应用程序的速度(使用eAccelerator +在一个文件中收集所有代码可以加速应用程序20次!),但我不知道创建新类和对象是否会减慢PHP本身的速度.

有没有人有任何关于它的信息?

php oop performance

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

为什么.net程序集对于不同的架构有所不同?

我可以为x86和x64构建我的C#项目.为什么?我认为它会生成一个特殊的代码,而不是特定于平台的代码.

.net 64-bit x86

16
推荐指数
1
解决办法
5301
查看次数

确定Int是否是Haskell中的完美正方形的方法是什么?

我需要一个简单的功能

is_square :: Int -> Bool
Run Code Online (Sandbox Code Playgroud)

它确定Int N是否是一个完美的正方形(是否存在整数x,使得x*x = N).

当然我可以写一些类似的东西

is_square n = sq * sq == n
    where sq = floor $ sqrt $ (fromIntegral n::Double)
Run Code Online (Sandbox Code Playgroud)

但它看起来很糟糕!也许有一种常见的简单方法来实现这样的谓词?

algorithm haskell sqrt

13
推荐指数
4
解决办法
9352
查看次数

couchdb vs mysql速度

你能谈谈couchdb和mysql数据库的速度吗?

我的意思是,非常简单的请求,比如通过唯一ID获取一行(或一个文档)和简单的请求,例如获取具有最大日期的20个ID /行/文档(当然,使用索引和视图等 - 不知道如何它可以在CouchDB中运行,但我很确定有一些东西.请不要让我了解CouchDB是如何工作的:我将学习它,但无论如何我需要进行性能比较).

谢谢!


正如我从第一个答案中的链接中意识到的那样,虽然我只有一台DB服务器,但使用MySQL要好得多吗?

mysql couchdb

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