学习、摘录、目标——学习任务

2016下半年学习任务

一、写一套OGC服务 

二、学习云,《Microsoft Azure 入门指南》 

三、学习DDD——领域驱动  借鉴书籍《实现领域驱动》 预算88

四、学习ASP.NET Core 

五、学习Docker 《第一本Docker》

六、AngularJS 跟 React  

七、买的书看完《深入理解C#》、《大话设计模式》、《Tcp/Ip详解卷一》(课外书) ---并未深入,发现我目前需要看的不是TCP/IP。而是HTTP

八、学习敏捷开发

九、简历写起,且开始完善技能  -- 完成度80%

十、有钱后买个mac学习swift 虚拟机装OS X实在太卡

十一、单元测试学习

十二、Linux  --- 视频看到一阶段,常用命令熟悉一遍,完成度50%

十三、andriod学习 系列3季

欢迎交流~~~~~~~~~~

英语 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

结语:

 看完《ASP.NET Web API 2》 老A的书

 上线大江东监察系统---easyui+ASP.NET Web API+Oracle

 毕业设计(电子围栏)完成---一个月熟练掌握Openlayers3+Geoserevr+PostGIS一套开源WebGIS开发

 校招进入品茗,2017-2-12开始实习 

2017上半年学习任务

一、书籍 《HTTP权威指南》、《Javascript高级程序设计(第3版)》、《ASP.NET MVC5》--老A

二、学习Vue.js

三、学习微信小程序

...

 对数据库的学习得再深一步,存储过程、视图及触发器,熟悉数据库优化,熟练掌握,使用场景熟悉。可以以SQL SERVER为平台,多多练习,最好有时间写个完整的站点

以及Nosql的学习

http://blog.csdn.net/yangbutao/article/details/7437290          关于redis、memcache、mongoDB 的对比

应用场景

        redis:数据量较小的高性能操作和运算

        memcache:用于在动态系统中减少数据库负载,提升性能;做缓存,提高性能(适合读多写少,对于数据量比较大,可以采用sharding)

        MongoDB:主要解决海量数据的访问效率问题

 《MongoDB 实战》、《MongoDB管理与开发精要》、《MongoDB权威指南》

页面生命周期 --- 请求发起-->IIS等服务接收请求-->创建各种对象-->进入web api(或其他)的管道处理(包括创建请求上下文context,过滤器,返回对象Response构建等等)-->返回数据-->前端页面处理。针对不同框架,可具体展开。

asp.net 页面生命周期

单例

clr

gc

GC(Garbage Collection)垃圾收集,指的是在.net中垃圾内存收集的机制。


首先要了解的几点:


在.net中,托管代码的内存管理是自动的,由GC进行管理。但是对于非托管代码,.net就无法自动管理了。
CLR运行时候,内存分为“托管堆”和“栈”两个部分。其中,栈是用于存储值类型的数据,托管堆是用于存储引用类型的变量。其中托管堆是GC处理的内存部分。
进程中每个线程都有自己的堆栈。

 

对于托管代码的GC原理解读:

垃圾判定:

回收垃圾首先要知道什么是垃圾,一个变量如果在其生存期内的某一时刻已经不再被引用,那么,这个对象就有可能成为垃圾。

public static void Main()
              {
                 string sGarbage = "I'm here";
           //下面的代码没有再引用s,它已经成为垃圾对象---当然,这样的代码本身也是垃圾;
            //此时如果执行垃圾收集,则sGarbage可能已经魂归西天
                  Console.WriteLine("Main() is end");
              }

对象代龄:

GC认为,越晚创建的对象越短命,所以,其引入一个“代龄”的概念来划分对象生存级别

这个代龄划分机制简要来说是一代新人换旧人:

 

CLR初始化后的第一批被创建的对象被列为0代对象。CLR会为0代对象设定一个容量限制,当创建的对象大小超过这个设定的容量上限时,GC就会开始工作,工作的范围是0代对象所处的内存区域,然后开始搜寻垃圾对象,并释放内存。当GC工作结束后,幸存的对象将被列为第1代对象而保留在第1代对象的区域内。此后新创建的对象将被列为新的一批0代对象,直到0代的内存区域再次被填满,然后会针对0代对象区域进行新一轮的垃圾收集,之后这些0代对象又会列为第1代对象,并入第1代区域内。第1代区域起初也会被设上一个容量限制值,等到第1代对象大小超过了这个限制之后,GC就会扩大战场,对第1代区域也做一次垃圾收集,之后,又一次幸存下来的对象将会提升一个代龄,成为第2代对象。


    可见,有一些对象虽然符合垃圾的所有条件,但它们如果是第1代(甚至是第2代老臣)对象,并且第1代的分配量还小于被设定的限制值时,这些垃圾对象就不会被GC发现,并且可以继续存活下去。
View Code

GC1: http://www.cnblogs.com/yjf512/archive/2010/09/14/1825518.html

GC2:http://blog.csdn.net/directionofear/article/details/8034133

摘要:大多数时候我们创建的类不包含非托管资源,因此只需要直接使用,CLR自然会判断其生命周期结束而后回收相应的托管资源。但如果我们创建了含有非托管资源的类,CLR提供了finalize机制来帮助自动释放非托管资源。

2017下半年学习任务

一、书籍 《RabbitMq》、《哲学的故事》、《程序员的sql金典》认真读一遍杨中科老师的杰作,哈哈 

二、继续学习Vue.js

三、已入门python,asyncio为基础,Flask作为web框架,jinjia2作为模板引擎,aiomysql编写一个粗略版orm,组成一套MVC for python。

四、已入门Node.js,koa2作为web框架,Nunjucks作为模板引擎,Sequelize作为orm,辅以各种中间件,组成一套比上面的python更接近与ASP.NET MVC的MVC框架。

五、继续深入学习python及Node.js,python web入门,熟悉语言,以爬虫为方向进行学习。Node.js学习中插各种前端内容,构建化工具webpack等等。目前已熟悉包管理平台(工具)npm等。

在Node.js诞生后的短短几年里,出现了无数种Web框架、ORM框架、模版引擎、测试框架、自动化构建工具,数量之多,即使是JavaScript老司机,也不免眼花缭乱。

常见的Web框架包括:Express,Sails.js,koa,Meteor,DerbyJS,Total.js,restify……

ORM框架比Web框架要少一些:Sequelize,ORM2,Bookshelf.js,Objection.js……

模版引擎PK:Jade,EJS,Swig,Nunjucks,doT.js……

测试框架包括:Mocha,Expresso,Unit.js,Karma……

构建工具有:Grunt,Gulp,Webpack……

目前,在npm上已发布的开源Node.js模块数量超过了30万个。

设计模式是药,没病就不要吃药!——http://www.cnblogs.com/freeflying/p/4752415.html   老飞

原文地址:https://www.cnblogs.com/joeymary/p/5729777.html