aehyok.com的成长之路二——技术选型
前言
首先奉上个人网站地址传送门:aehyok.com
在上一篇博客中http://www.cnblogs.com/aehyok/p/3934197.html主要简单的介绍了自己做个人网站的初衷,就是为了督促自己学点技术。让自己抓紧一点,毕竟花的是自己的血汗钱来搞的。要不好好学,都对不起自己。
本人最近也建立了一个QQ技术群,现在里面人数不是不多,是在写上一篇博客时陆陆续续的开始有人加入的。本人个人网站所涉及的所有源码也将会在群内共享。群账号为:206058845,记住群验证码为:aehyok。欢迎各位喜欢学习技术的朋友们入住。。
网站整体架设
1、自己思来想去最终决定在.Net Framework4.5下进行开发。
2、这也造就了服务器使用的Windows Server 2008 R2,貌似在Windows Server2003下安装不了Framework4.5的版本。
3、Visual Studio选择的是VS2013的这个版本。
4、服务器上一直想装Sql Server 2008的版本,苦于一直失败,还好Sql Server2005的版本可以安装,也不影响整体的规划。
5、源代码管理工具自己使用的是微软的在线云TFS: http://www.visualstudio.com/products/visual-studio-online-user-plans-vs。
网站使用.Net技术
在去年年底也对自己进行了一个简单的总结和规划http://www.cnblogs.com/aehyok/p/3495685.html。规划自己之后希望学习到的一些技术或者知识。经过这样一段时间的积累,也发现了一些问题或者产生了一些想法。暂时希望自己的项目网站能够使用如下的技术进行开发,或者有些已经使用了:
1、Asp.Net Mvc:因为是做个网站,自己工作中也用过Asp.Net Mvc,所以选择Mvc的开发模式没什么可考虑的,选择版本Asp.Net Mvc5.0。而且据说MVC 6.0,不再需要依赖System.Web,占的内存大大减少。可以self-host模式运行,网站不再需要依赖IIS而运行,由此从此可以快速向客户演示开发进度,以及更好地支持真正跨平台(Linux、Mac、Unix)。 有关MVC6的资料可以查看http://www.cnblogs.com/kvspas/p/asp-net-mvc6-vnext.html。
2、Entity Framework:工作中一直使用的Ado.Net,自己经常看到博友们分享使用各种ORM框架(EF、NH等等)感觉开发很方便有效率,可以查看现存的在C#语言下的各种ORM框架:各种ORM框架汇总。不过由于微软对于Entity Framework的策略,最终也选择微软的下一代Ado.Net产品EF,选择版本Entity Framework6.0。
3、Entity Framework Code First:自己之前也有简单尝试EF的使用:http://www.cnblogs.com/aehyok/p/3341823.html。选择使用EF的Code First模式,那么对于EF使用Repository仓储模式和UnitOfWork工作单元更是将开发的效率提升到了一个新的层次,虽然现在还不是特别明白,这也是自己最近一直在研究的。
4、Bootstrap3.0:对于非Web前端工程师而言,前端UI肯定是我们的痛处,自己既然想做网站,而且没那么多精力去专门搞UI。之前也一直思考过如果自己来做的话,会选择什么样的框架来做,自己最终学习了Bootstrap3.0,这是我的一个系列文章:http://www.cnblogs.com/strick/p/3946475.html。最终选择BootStrap3.0, 当然这并不是唯一的选择。
5、AutoFac:http://www.cnblogs.com/liping13599168/archive/2011/07/17/2108734.html这是对于比较流行的IOC框架的性能测评,自己也简单尝试过几个IOC框架后,感觉还是AutoFac最适合我吧。唉可惜的就是在工作中使用不到这些好的框架,有点遗憾,所以自己想多研究研究,要不然都有点脱轨了。这里也有一篇关于IOC的讲解:http://www.cnblogs.com/showjan/p/3950989.html。
6、AutoMapper:AutoMapper是基于对象到对象约定的映射工具,常用于(但并不仅限制于)把复杂的对象模型转为DTO,将业务实体Model与UI使用模型分开,所以考虑使用DTO数据传输对象,或者以后还会进行服务的开发,为了传输的更为自由方便效率。
7、T4:一个基于模板的代码生成器。它由文本块和控制逻辑块组成的一个模板,可以自动的生成一些文本。它可以快速的为我们生成一些代码,节省我们的时间。加快开发效率。这里有位大神分享的几篇感觉都很不错:http://www.cnblogs.com/heyuquan/articles/2427494.html#T4
8、单元测试:当身处团队项目,Bug层出不穷的时候,那么单元测试会是一个不错的选择。那么让我们一起走进单元测试吧:http://www.cnblogs.com/yangcaogui/archive/2012/02/06/2337483.html
9、Asp.Net Web API:之前自己简单学习过http://www.cnblogs.com/aehyok/p/3446289.html,但还没成型,打算之后可以用它来做服务。
10、Knockout.js :打算考虑使用MVVM进行解耦,主要目的是分离视图(View)和模型(Model),学习起来也比较简单,之前学习过一段时间http://www.cnblogs.com/aehyok/p/3381562.html
11、Log4Net:log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。有了这么好的组建,我也没必要进行单独开发了,直接引用封装到项目中吧:http://www.cnblogs.com/aehyok/archive/2013/05/07/3066010.html
12、jQuery:jQuery类库当然必不可少。http://www.cnblogs.com/Jolinson/tag/Jquery/打算继续跟随这个系列学习吧,不知道该博主是否还会将其系列写下去。
13、……14、……15、……以后可能还会用到其他的组件技术。
总结
经过上面的罗列,相信有些人看到了会感觉普普通通的。不过这些对于本人来说,这一切都是从零开始的,在公司工作中,只是对于最基本的MVC算是比较了解了。其他的基本上可以说是都是全新的,自己只是希望通过自己的个人网站,来学习这些自己感觉有用的技术或者知识,来促使自己更好的成长和提高,来更深入的学习。一切都在紧锣密鼓的进行着,毕竟还要上班,进度不会那么理想,不过只要自己一有时间,还是要把精力投入进去,让自己的网站快速的成长。
大家也可以发现,其实上面的知识也是很有关联性的,当然我还需要继续研究一下,然后慢慢整理出自己研究的框架。虽然没有大牛们的好,但毕竟是自己亲自搞出来的。
本人最近也建立了一个QQ技术群,现在里面人数不是很多,是在写上一篇博客的时候开始加人的。本人个人网站所涉及的所有源码也将会在群内共享。群账号为:206058845,记住群验证码为:aehyok。欢迎各位喜欢学习技术的朋友们入住。。期待我们的共同成长。同时希望自己能够一直坚持学习下去。
最后再次奉上个人网站地址传送门:aehyok.com
个人网站地址:aehyok.com
QQ 技术群号:206058845,验证码为:aehyok
本文文章链接:http://www.cnblogs.com/aehyok/p/3946286.html
感谢您的阅读,如果您对我的博客所讲述的内容有兴趣,那不妨点个推荐吧,谢谢支持:-O。
aehyok.com的成长之路二——技术选型的更多相关文章
- aehyok.com的成长之路三——框架结构
前言 首先奉上个人网站地址传送门:aehyok.com. aehyok.com的成长之路一——开篇 中主要阐述了自己为什么建立自己的网站,以及个人网站的大致方向. aehyok.com的成长之路二—— ...
- aehyok.com的成长之路一——开篇
前言 不得不说最近三个月都没更新博客了,除了6月初的一篇博客外,今天的这一篇算是这三个月里发表的第二篇博客了.不过本人几乎每天都在博客园里刷来刷去,看大家发表的博文,从中汲取营养.确实博客园也可以 ...
- WEB架构师成长之路 二
法宝一:牛人爱惜自己的时间. 时间就是金钱,时间就是生命,时间如同健康一样,如果时间都没有,那成功也就是浮云了.所以牛人总是很爱惜自己的时间,总是在想办法提高自己的做事效率.我突然想了起来,我QQ里有 ...
- SpringCloud学习成长之路二 服务客户端(rest+ribbon)
在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的. Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是f ...
- python成长之路二
python的print格式化输出,以及使用format来控制. 1,打印字符串(str),利用%s. >>> print ('My name is %s' % ('TaoXiao' ...
- 阿里技术分享:阿里自研金融级数据库OceanBase的艰辛成长之路
本文原始内容由作者“阳振坤”整理发布于OceanBase技术公众号. 1.引言 OceanBase 是蚂蚁金服自研的分布式数据库,在其 9 年的发展历程里,从艰难上线到找不到业务场景濒临解散,最后在双 ...
- redis成长之路——(二)
redis操作封装 针对这些常用结构,StackExchange.Redis已经做了一些封装,不过在实际应用场景中还必须添加一些功能,例如重试等 所以对一些常功能做了一些自行封装SERedisOper ...
- PHP程序员的技术成长之路规划
按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定 ...
- 京东无人超市的成长之路 如何利用AI技术在零售业做产品创新?
随着消费及用户体验的需求升级.人货场的运营效率需求提升.人工智能技术的突破以及零售基础设施的变革等因素共同推动了第四次零售革命的到来,不仅在国内,国外一线巨头互联网亚马逊等企业都在研发无人驾驶.无人超 ...
随机推荐
- 剑指offer题目41-50
面试题41:和为S的连续正整数序列 import java.util.ArrayList; public class Solution { public ArrayList<ArrayList& ...
- HLSL之漫反射光
整整忙了一个月了,总算清闲下来了,从上次写完环境光后又过了这么长时间,继续学习......加油!!今天整理下漫反射光并记录下来,那就直接进入主题吧,开始漫反射光的学习. 漫反射光是在环境光的基础上添加 ...
- (必看)ping值不代表网速
在下售卖美国.香港VPN服务器多年,在于客户的交流中,最多关心的就是ping值速度,认为ping速度越低速度越快,以此来评判一台VPN服务器的速度快慢,这其实是一个误区!现在来详细说明下. 1.pin ...
- UIColor 分类 16进制转 RGB
.h #import <UIKit/UIKit.h> @interface UIColor (WJ) + (UIColor *)colorWithWJString:(NSString *) ...
- 张小龙《微信背后的产品观》之PPT完整文字版
微信回顾 433天,一亿用户 成为移动互联网的新入口 启动(2010年11月19日) 用户数突破1亿 1.0 1月26日 2.0 5月10日 语音对讲 2.5 8月3日 查看那附近的人 3.0 10月 ...
- Android性能优化方法(五)
有时候,我们的页面中可能会包含一些布局,这些布局默认是隐藏的,当用户触发了一定的操作之后,隐藏的布局才会显示出来.比如,我们有一个Activity用来显示好友的列表,当用户点击Menu中的“导入”以后 ...
- hdu 5726(二分)
GCD Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepted Sub ...
- 做php网站后台开发,在Linux系统上进行更好吗?
1. PHP是开源软件,它在bsd/linux/win下都有很好的正式版及孪生版.并非开发php就必须要在linux下进行.主机服务商们习惯性的把asp与php分为两个主机系列几进行销售.由于asp只 ...
- [leetcode 23]Merge k Sorted Lists
1 题目 Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexi ...
- mysql 授权
cd /usr/local/mysql/bin/grant all privileges on *.* to 'root'@'%' identified by '12345678';flush pri ...