我最近在个人时间学习Scala.在工作中,我一直在学习C#/ .NET(4.0).我不是非常熟悉,要么能够最低限度地评估Lift或ASP-MVC 3.我正处于十字路口.鉴于我的时间非常有限,我必须在接下来的3-6个月内选择其中一个来学习和构建应用程序.
我今天遇到了这篇Lift文章,我立刻很感兴趣.我尝试过文章中概述的大部分内容,这让我感到无尽的沮丧和头痛.其中一些我最终放弃并实施原始的不安全的简单版本只是为了完成项目.因此,本文使Scala/Lift非常具有吸引力.
然后在午餐时,我的团队成员(和朋友)正在讨论他在.NET 4.0上使用C#进行ASP-MVC 3的工作.听起来学习和使用它会非常愉快.他谈到了足够多的东西,这些东西似乎与我早上读到的关于Lift的文章重叠.
我的问题是:鉴于我的时间有限,选择Scala/Lift而不是C#/ ASP-MVC 3有什么优点和/或缺点?与#Scala/Lift相比,C#/ ASP-MVC 3有哪些优势?
为了降低评估的复杂性:请假设每种技术的最新版本; Scala 2.8.1(2010/Dec),Lift 2.2(2011/Jan),C#/.NET 4.0(2010/Apr)和ASP-MVC 3(2011/Jan).
感谢您在这个关键架构决策点帮助我.
更新2011/Mar/19 12:25 CDT:
我曾经偶然发现了一些似乎对Scala/Lift方面非常有帮助的资源:
1.免费电子书(PDF和HTML),标题为"Exploring Lift(基于Scala) web-framework)"
2.由Lift的创建者发表的题为"View First"的 Wiki文章
电子书的第一章非常有用.我真的很喜欢Lift设计原则和实现的重点是"关注点分离"(将代码保留在显示片段之外)和"约定优于配置".
从我到目前为止看到的情况来看,虽然ASP-MVC 3使用了相同的"强大指南",但仍然依赖于代码和表示被"混合"的层.这是网站设计师和软件工程师在起源后都不敢踩的地方.IOW,在发起之后,有维护龙.我很想有人告诉我这里错了.
WPF使用XAML.Gtk有GladeXML和相关工具.
Qt有类似的东西吗?
只是为了澄清:我问的是从标记文件中加载UI的运行时.XML/YAML/JSON等
谢谢
在ActiveX控件中使用时,boost :: mutex标头是否存在已知问题?
(提升版本v1.39)
如果我在Visual Studio 2008中创建名为"DefaultOCXControl"的MFC ActiveX控件项目,那么我可以构建它,控件将自身注册为构建的一部分,并且可以像您期望的那样插入到ActiveX测试容器中.都好.
如果我然后添加此行:
#include <boost/thread/mutex.hpp>
Run Code Online (Sandbox Code Playgroud)
在我的DefaultOCXControlCtrl.h文件顶部并重建:构建结束时的注册步骤失败:
调试断言失败!
程序:C:\ Windows\system32\regsvr32.exe
文件:f:\ dd\vctools\vc7libs\ship\atlmfc\src\mfc\dllinit.cpp
行:587
令人不快的断言看起来像这样:
void AFXAPI AfxCoreInitModule()
{
ASSERT(AfxGetModuleState() != AfxGetAppModuleState());
...
Run Code Online (Sandbox Code Playgroud)
尝试将控件插入ActiveX测试容器现在会产生相同的消息.如果我删除该行并重建然后一切都很好 - 所以它肯定似乎是该头文件中导致问题的东西.
(注意,当我说"JVM"时,我的意思是"Hotspot",我正在运行最新的Java 1.6更新.)
示例情况:
我的JVM在-Xmx设置为1gb的情况下运行.目前,堆已经分配了500mb,其中使用了450mb.该程序需要在堆上加载另外200 MB.目前,堆中有300mb的"可收集"垃圾(我们假设它们都是最老一代的.)
在正常操作下,JVM会将堆增长到700 MB左右,并在它到达时进行垃圾收集.
在这种情况下我想要的是JVM首先gc,然后分配新的东西,这样我们最终的堆大小保持在500mb,而使用的堆在350mb.
是否有JVM参数组合可以做到这一点?
我正在寻找JAX-RS(JSR-311)中的机制,以便我能够提炼出一些我的应用程序特有的横切关注点.例如,我的应用程序具有为每个请求查找或构建的特定上下文.我希望能够在集中的位置执行这种类型的逻辑,然后以某种方式附加到上下文,以供各种资源用于请求的其余部分.如果我只对一些URL子集执行这些类型的操作会更好.
JAX-RS为路径段,cookie,标题等提供的默认注入是很好的但是那些部分的自定义解释呢?我真的不想每次需要时都要构建它.我宁愿有办法指定它是如何构建的,然后只是将上下文组件作为资源方法的一部分注入.
有没有这样的钩子?我可以操纵提供者模型来执行此操作吗?顺便说一句,我希望尽可能长时间保持与实现无关(Jersey,RESTEasy等).
提前感谢您的任何见解.
是否有可能有两个步骤定义类,第一个在一个命名空间/项目中,第二个在另一个中?我喜欢这个:
我运行的测试项目:namespace:ABZ.ExcelTest类名:ABZ.ExcelTest.ExcelStepDefinition
我的另一个项目是Logic for testing:namespace:ABZ.OfficeAddInTestLogic类名:ABZ.OfficeAddInTestLogic.StepDefinition
我的两个类都有[Binding]属性但是这个不在测试项目中的属性(ABZ.OfficeAddInTestLogic.StepDefinition)找不到,我得到NUnit错误:
找不到该步骤的匹配步骤定义.使用以下代码创建一个:...
是否有可能在不同的项目中有两个步骤定义类?
我正在运行Build 4A304a,在我的生活中,我无法在Xcode中找到它或在互联网上找到它.
任何帮助将不胜感激.
我是一个新的Ruby程序员,我的一个同事帮助我开始编写以下代码,在他的环境中运行良好.但是,当我尝试在我自己的环境中运行它时,我会出现以下错误:undefined method 'with_indifferent_access' for #<Hash:0x1012392c0>(NoMethodError)
有问题的方法在代码中出现两次:
require 'rubygems'
gem 'activerecord'
gem 'activesupport'
gem 'sailthru-client'
require 'active_support'
require 'active_record'
require 'sailthru'
# Setup our Sailthru object using our production Sailthru account information
sailthru = Sailthru::SailthruClient.new()
# Read database information from the database.yml file
CONFIG = YAML.load_file(File.join(File.dirname(__FILE__), 'database.yml')).with_indifferent_access
# Create a simple way for us to iterate through all publications
class Publication < ActiveRecord::Base
establish_connection CONFIG[:production]
set_table_name 'publications'
end
# Create a simple way for us to store data locally …Run Code Online (Sandbox Code Playgroud) 从多个线程获取消息到队列的最佳方法是什么,并且一次只有一个线程处理此队列的项目?
尝试断开多线程的活动时,我经常使用此模式.
我正在使用BlockingCollection,如下面的代码提取中所示:
// start this task in a static constructor
Task.Factory.StartNew(() => ProcessMultiUseQueueEntries(), TaskCreationOptions.LongRunning);
private static BlockingCollection<Tuple<XClientMsgExt, BOInfo, string, BOStatus>> _q = new BlockingCollection<Tuple<XClientMsgExt, BOInfo, string, BOStatus>>();
/// <summary>
/// queued - Simple mechanism that will log the fact that this user is sending an xMsg (FROM a user)
/// </summary>
public static void LogXMsgFromUser(XClientMsgExt xMsg)
{
_q.Add(new Tuple<XClientMsgExt, BOInfo, string, BOStatus>(xMsg, null, "", BOStatus.Ignore));
}
/// <summary>
/// queued - Simple mechanism that will log the data being …Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以添加onclick功能<input type="submit">?我想<div>在表单中单击“提交”按钮时显示一个名为“ div2” 的隐藏文件。