
Contoso University示例程序演示了如何使用Entity Framework 6 Code First 和 Visual Studio 2013创建ASP.NET MVC 5应用程序。在上一篇文章中你已经创建了由三个实体组成的简单的数据模型。在本文章中你将会添加更多的实体和关系,并且通过指定格式、验证和数据库映射规则来自定义数据模型。这里介绍两种自定义数据模型的方法:向实体类中添加属性和向数据库上下文类中添加代码。
引言
本书的目的是讲授如何使用Go语言的所有特性和标准库中常用的包来进行地道的Go语言编程。本书同时也被设计成在学习Go语言后有用的参考资料。为了实现这两个目标,本书知识相当全面并尽量保证每一章只涵盖一个主题–各章之间会进行前后交叉引用。
2012年冬,我在一家创业公司的小团队里搞软件开发。彼时我们有一位真实的企业客户,且软件的第一版也已发布。开发按进度完工,在发布时我欣喜若狂,也非常骄傲,看着系统服务于每天几百万的独立用户,并发送出数千万条短信真是太令人满意了。到了第二年夏天,公司拿到了真实收入,我的职位变成了开发主管,公司又招了些新人,正待蓬勃发展,一切都很美好。然后我们做了一个巨大的决策失误:决定重写软件——从头开始。
Go语言支持两种类型的注释,与C++的一样。行注释以//开始,以换行符结束;它们被简单当做一个换行符。块注释以/*开头,以*/结尾,可能包含多个行。如果块注释只占用了一行(如/*line comment*/),它被当做一个空格对待,如果该块注释占用了多行,它就被当做一个换行符对待。(我们将在第5章看到,换行符在Go语言中非常重要。)
有时候程序员们需要写一段独立于位置操作的代码,可当作一段数据写到其他进程或者网络中去。该类型代码在它诞生之初就被称为shellcode,在软件利用中黑客们以此获取到shell权限。方法就是通过这样或那样的恶意手法使得这段代码得以执行,完成它的使命。当然了,该代码仅能靠它自己,作者无法使用现代软件开发的实践来推进shellcode的编写。
go语言开发之解压rar、zip文件,这里使用了go的os/exec包,并没有使用go原生的解压特性,因为go还不支持rar文件的解压缩功能。当然前提是你的电脑已经安装了winrar或者7z等可以提供命令行解压文件的功能。