识字的Haskell(.lhs)和Haddock

目前我只使用哈多克,但在看到一些非常有趣的例子(如这个要点 )的Haskell,我有兴趣尝试一个项目。 我得到的问题是: 你写什么作为哈多克评论,你在文学部分写什么? 如何将文学编程扩展到多个文件? 任何人都可以指出一个例子,在多个模块的包中使用literate编程吗? 在大型软件包中使用文字编程的经验是什么? 识字Haskell的哪种风味(降价,乳胶,…)是首选? 你为什么编程识字的Haskell或简单的香草Haskell? 你是在两种风格编程,如果是的话,为什么? 你喜欢块式( \begin{code} )还是Bird式( > )? 为什么?

什么是ASP.NET MVC中强types的View

ASP.NET MVC中的强types视图是什么?

是否有可能使valgrind忽略某些图书馆?

或者最好是所有的人而不是我的代码? 我的程序使用Gtk,Loudmouth和其他一些东西,而这两个(还有一些是libgcrypto,libssl)自己造成了很多错误,所以我无法检测到自己的错误。 是否有可能让valgrind忽略比我自己的代码更深的东西?

QObject:不能为不同的线程中的父项创build子项

我在Windows 7旗舰版下使用了Qt Creator 1.3.0和Qt 4.6.0(32位)。 考虑以下QThread: 头 class ResultThread : public QThread { Q_OBJECT QString _post_data; QNetworkAccessManager _net_acc_mgr; signals: void onFinished(QNetworkReply* net_reply); private slots: void onReplyFinished(QNetworkReply* net_reply); public: ResultThread(); void run(); void setPostData(const QString& post_data); }; 履行 ResultThread::ResultThread() : _net_acc_mgr(this) { connect(&_net_acc_mgr, SIGNAL(finished(QNetworkReply*)), this, SLOT(onReplyFinished(QNetworkReply*))); } void ResultThread::onReplyFinished(QNetworkReply* net_reply) { emit onFinished(net_reply); } void ResultThread::setPostData(const […]

Makefile文件是否完整?

最近在工作中,我一直在做Makefiles的一些翻译到一个替代的构build系统。 我已经看到一些漂亮的毛发在一些地方使用function图,filter,和foreach结构的代码。 这让我感到惊讶,因为我认为构build脚本应该尽可能地声明。 无论如何,这让我想到:是Makefile语言(比如最新的GNU make是特定的)图灵完成?

数据库devise:计算账户余额

我如何devise数据库来计算帐户余额? 1)目前我从交易表中计算账户余额在我的交易表中我有“描述”和“金额”等。 然后,我将所有的“金额”值加起来,这将计算出用户的账户余额。 我向我的朋友展示了这一点,他说这不是一个好的解决scheme,当我的数据库增长将减慢? 他说我应该创build单独的表来存储计算的账户余额。 如果这样做,我将不得不保持两张表,而且它的风险很大,账户余额表可能不同步。 任何build议? 编辑 :选项2:我应该添加一个额外的列到我的交易表“余额”。 现在我不需要经过许多行数据来执行我的计算。 约翰买了100美元的贷款,他偿还了60美元,然后又增加了200美元。 金额$ 100,余额$ 100。 金额 – $ 60,余额$ 40。 金额$ 200,余额$ 240。

但为什么浏览器DOM经过十年的努力仍然如此缓慢呢?

网页浏览器DOM自90年代后期就已经出现,但它仍然是性能/速度方面最大的限制之一。 我们有来自谷歌,Mozilla,微软,Opera,W3C以及其他各种从事networking技术的机构的世界上最聪明的人,所以显然这不是一个简单的“哦,我们没有优化它“ 问题。 我的问题是,如果我正在处理专门处理这个问题的networking浏览器的一部分,为什么我会这么难以使其运行得更快? 我的问题不是问是什么让它变慢,而是问为什么它变得更快? 这似乎与其他地方正在发生的事情背道而驰,比如性能接近C ++代码的JS引擎。 快速脚本示例: for (var i=0;i<=10000;i++){ someString = "foo"; } 由于DOM缓慢的示例: for (var i=0;i<=10000;i++){ element.innerHTML = "foo"; } 根据要求提供一些细节: 在基准testing之后,看起来这不是一个无法解决的缓慢问题,但是通常使用了错误的工具,而使用的工具取决于您在跨浏览器上进行的操作。 看起来浏览器之间的DOM效率差别很大,但是我原来推测dom很慢并且无法解决似乎是错误的。 我对Chrome,FF4和IE 5-9进行了testing,您可以在此图表中看到每秒的操作: Chrome在使用DOM API时闪电般快,但使用.innerHTML运算符的速度要慢得多(速度要慢1000倍),但FF在某些领域比Chrome要糟糕(例如,追加testing比Chrome),但是InnerHTMLtesting运行得比chrome快得多。 IE浏览器似乎实际上在使用DOM append时变得越来越糟糕,并且在5.5版本(即IE9中的73ops /秒,现在在IE9中为51 ops / sec)上进展时,在innerHTML上更好。 我在这里有testing页面: http://jsperf.com/browser-dom-speed-tests2 有趣的是,看起来不同的浏览器在生成DOM时似乎都面临着不同的挑战。 为什么这里有这样的差距?

Git交互式停顿

有git add -p来改变阶段, git checkout -p交互地放弃更改。 我怎样才能停止从索引变化的人? (我认为git unstage -p或者git reset HEAD -p可能工作。)

由NSMutableArray支持的NSArray @property

我已经定义了一个类,我希望一个公有属性显示好像它是由一个NSArray支持的。 这很简单,但在我的情况下,真正的支持ivar是一个NSMutableArray : @interface Foo { NSMutableArray* array; } @property (nonatomic, retain) NSArray* array; @end 在我的实现文件( *.m )我@synthesize属性,但我立即遇到警告,因为使用self.words是试图修改NSArray 。 什么是正确的方法来做到这一点? 谢谢!

有没有任何语言编译为Bash?

我既爱又恨编写Bash。 我喜欢这样简化操作文件和处理stream程(我同意这个stream行的问题 ,在这方面比Python,Ruby等更好),但我讨厌的语法,特别是在条件,循环等。 (这是主观的,但我觉得这两个令人困惑和烦人。例如,当阅读时,无功,但无论写作时;写入静静地失败,如果有空格左右;;如果使用正则expression式双括号;有时双分号和单分号其他人等) 作为一个编译为JS的CoffeeScript的狂热粉丝,我一直在想:是否有任何语言具有像Python / Ruby / CoffeeScript这样的语言的美学/语法,但是它们是作为Bash而不是其他运行时? 例如,我希望能够使用更简单的语法来编写大部分Bash: $AGGREGATE_FILENAME = 'allfiles.txt' if not exists $AGGREGATE_FILENAME touch $AGGREGATE_FILENAME for $file in files/* cat $file >> $AGGREGATE_FILENAME switch $1 case 'test' run-tests echo 'Tests finished!' case 'deploy' echo 'Packaging…' mv foo bar/ deploy-bar 这是一个超级人为的例子,语法是一个稻草人(主要来自CoffeeScript,但保留了一stream命令的基本Bash概念,与variables分开,以及松散的打字)。 无论如何,只是一个问题和思考的食物。 我希望能够写出比Bash更好的脚本。 =)谢谢!