我在Bootstrapper中configuration了Automapper,我在Application_Start()调用了Bootstrap() ,而且我被告知这是错误的,因为每次我必须添加一个新映射时,必须修改Bootstrapper类,所以我我违反了开放原则。 你怎么看,我真的违反这个原则吗? public static class Bootstrapper { public static void BootStrap() { ModelBinders.Binders.DefaultBinder = new MyModelBinder(); InputBuilder.BootStrap(); ConfigureAutoMapper(); } public static void ConfigureAutoMapper() { Mapper.CreateMap<User, UserDisplay>() .ForMember(o => o.UserRolesDescription, opt => opt.ResolveUsing<RoleValueResolver>()); Mapper.CreateMap<Organisation, OrganisationDisplay>(); Mapper.CreateMap<Organisation, OrganisationOpenDisplay>(); Mapper.CreateMap<OrganisationAddress, OrganisationAddressDisplay>(); } }
所以作为一个新的web程序员(背景是C,C ++和Python),没有javascript的经验(或基于我所见过的经验),我一直在做一些关于CoffeeScript的前期研究,我真的很喜欢我懂了。 我注意到一个很酷的小细微差别就是CoffeeScript是用CoffeeScript编写的,这很酷……但是我不太明白这是怎么可能的。 不幸的是,在我上一次的高级计算机科学课程中,我select了networking安全而不是编译器。 我听说有人用目标语言编写语言来解释使用该语言的现有编译器,但我不能挖掘任何有关如何工作的信息,因为这是第一个实现。 我的猜测是一个embedded式的shell脚本,可能会考虑为构build一个自引用 ( 这个术语是否恰当地描述这种行为?)语言的一些初始框架?
在较新的例子(种子,angular.io,..)中,引导进程有另一个导入: @angular/platform-browser-dynamic 。 有人可以解释,它和@angular/platform-browser之间有什么区别? 目前还没有官方的angular.io网站上的信息。
有没有办法将后期dependency injection已经引导的angular度模块? 这是我的意思: 假设我有一个站点范围的angular应用,定义为: // in app.js var App = angular.module("App", []); 并在每一页: <html ng-app="App"> 稍后,我将重新打开应用程序,根据当前页面的需求添加逻辑: // in reports.js var App = angular.module("App") App.controller("ReportsController", ['$scope', function($scope) { // .. reports controller code }]) 现在,说这些按需的逻辑之一也需要自己的依赖(如ngTouch , ngAnimate , ngResource等)。 我如何将它们附加到基本应用程序? 这似乎不工作: // in reports.js var App = angular.module("App", ['ui.event', 'ngResource']); // <– raise error when App […]
什么是爱立信的Erlang和Erlang / OTP的编写和编译的实现? 是汇编,C还是Erlang本身? 更新1:感谢DrJokepu。 如果我理解正确,Erlang源到VM编译器是用Erlang编写的。 但是虚拟机是用C写的 更新2:Hynek-Pichi-Vychodil指出了很多细节。 VM和HW交互驱动程序:在C. 编译器(到VM)和库:在Erlang。 扩展:通过使用该语言编写端口或Erlang节点,可以使用任何语言。
这可能是徒劳的,因为我知道编写一个操作系统是非常复杂的(尤其是自己)。 我不期望构build下一个Linux或Windows。 我知道这将是可怕的,越野车,并将无法正常工作,但没关系。 我想自己写一切,在大会 , C ,和(一些) C + + 。 这是一个未来的项目,因为我现在正在忙于其他一些事情,并没有立即有时间,但我想我现在会问,所以也许我可以得到很多答案,它可以build立并成为这种方法的一个有用的资源(我所看到的其他一切都涉及到使用minix,使用现有的引导程序,在虚拟引导程序中构build它等)。 我想用显示器,键盘和鼠标设置我的旧桌面之一,并开始在一个空白的硬盘驱动器上工作。 我想学习如何编写自己的bootloader(我已经find了很多关于这方面的资源,但为了完整性,请添加一些好的资源),我自己的USB驱动程序(如果有必要的话),CD驱动程序(如果这是必要的)等一切,从头开始。 如何将代码放到电脑上? 最好用软盘来做吗? 大多数计算机是否可以通过USB棒进行操作? 我需要什么样的驱动程序?你能提出一些build议吗? 启动序列后 – 那么是什么? 如何进入保护模式等 如何在没有操作系统的帮助下pipe理内存? 我只是使用任何我想要的地址? 不需要初始化? 我无疑会遇到什么会迷惑我吗? 我怎样才能使它不是一个命令行O / S,而是一个graphics? 什么是build立在graphics操作系统上? 比如,我该如何做一些事情,如命令行,字体和顶部的图片? 我在哪里可以阅读有关设置多任务环境? (即,有两个graphics式的命令行并排运行)。 我将如何build立一种窗口系统? 一旦设置简单的多任务处理,如何在屏幕上显示graphics? 相信我,我明白这是一个非常复杂的项目,我可能永远不会完成它或任何使用它写任何东西。 还有很多其他的东西,我没有提到,如果你想到的话,也可以随意添加。 请为每个答案放上一个“主题”,例如,USB驱动程序,然后可能是资源列表,要注意的东西等等。 此外,请不要build议build立另一个操作系统或预先存在的代码。 我知道我会读很多预先存在的代码(比如linux内核,示例资源,现有的驱动程序等等),但是最终我想自己写所有的代码。 我知道我应该从别的东西上来,而且还有很多其他的问题,如果我改变主意,走上这条路,我就能读懂。 但是这一切都是关于从头开始整个事情。 更新 我有很多很好的答案,主要是关于引导过程,文件系统和各种现有的项目,以供参考。 有关如何获得graphics的任何build议? 不同的video模式,以及如何与他们合作等?
我正在学习C ++,而且我刚刚开始学习一些Qt编写GUI程序的function。 我问自己以下问题: 如果C ++以前没有语法能够向操作系统请求窗口或者通过networking进行通信的方式(我承认我还没有完全理解的API) ,那么C ++本身通过C ++库突然获得了这样的function呢? 这一切似乎对我来说非常循环。 你可能会在这些库中提供哪些C ++指令? 我意识到这个问题对于一个有经验的软件开发人员来说似乎微不足道,但是我一直在研究几个小时而没有find任何直接的回应。 它已经到了不能跟随关于Qt的教程的地步,因为图书馆的存在对我来说是不可理解的。
我一直在讨论应用程序开发的讨论中提到的“bootstrapping”。 这似乎既普遍又重要,但我还没有遇到什么引导实际是一个贫穷的解释; 相反,似乎每个人都应该知道这意味着什么。 不过,我没有。 就我所知,这与启动时应用程序所需的初始化任务有关,但我可能完全错误。 任何人都可以帮我理解这个想法吗?
我听说过引导一种语言的想法,也就是说为这个语言编写一个编译器/解释器。 我想知道如何做到这一点,并看看周围,看到有人说,这只能由两者之一 用不同的语言编写初始编译器。 在Assembly中手工编写一个初始编译器,这看起来像是第一个特例 对我而言,这两者似乎都不是从某种意义上来说是引导语言,因为它们都需要外界的支持。 有没有一种方法可以用自己的语言编写一个编译器?
直观地看来, Foo语言的编译器似乎不能在Foo中编写。 更具体地说,语言Foo的第一个编译器不能在Foo中编写,但是任何后续的编译器都可以为Foo编写。 但这是真的吗? 对于第一个编译器本身写成的语言,我有一些非常模糊的回忆。 这是可能的,如果是的话如何?