Microsoft Techdays Paris - Day One

/*

Author : Jiangong SUN

*/

I've participated microsoft techdays paris in congress palace of paris between 12 and 14 february. I was surprised by the number of the attendants of this conference, a lot of passionate professionals, students, organizers and speekers. I missed several sessions because the halls were not big enough for accommodating so many people.

A lot of topics were covered during the 3 days, such as ALM, ASP.NET MVC, Visual Studio 2012, Windows Server, Office 365, Agile, TypeScript, Windows Phone, Windows 8 etc. I've chosen about 12 sessions in all, and most of them are helpful for my daily work.

Here is my personal card and the palace map for attending this conference.

Microsoft Techdays Paris - Day One_第1张图片


Next I will make some conclusions for the sessions I've attended in the first day.


Opening: 


Fake assembly: is a technology for isolate unit test. It provides two methods: stubs and shims.
Blend: is used to design applications and is integrated in VS 2012

Session 1: Plongé au coeur du .NET 4.5 (Finaxyx, MindMatcher)

New features in .NET 4.5
-Garbage collector: better background garbage collection for server
-Large Object Heap(LOH): better allocator. Allocation >= 80k bytes belongs to LOH. LOH is only collected on generation 2 collection.
-Multicore Just-in-Time(JIT): transform IL code to machine code. ProfileOptimization class is used to optimize the transformation.

NGEN(Native image GENeration) vs JIT: http://msdn.microsoft.com/en-us/magazine/cc163610.aspx
MPGO(Managed Profile Guided Optimization): tool to optimize code generated by NGEN
JIT debugger: RE-JIT, ICorDebug

Session 2: ASP.NET Web API, SignalR, UX

API: framework for building RESTful web services
It's Standard; heart of app; Simple, autonome

HATEOAS is RESTful API framework

SignalR is a framework for building real-time application

Problem:
HTTP is not adapted: it's stateless, it support only request/response
Html5, web sockets: 
advantage: http extension, support proxy, bi-directional communication
disadvantage: instable, need to write protocol
Solution:
Short pooling: a lot of traffic, expensive
Long pooling: server keep a connection with some time
Forever frame: most used 
1)Http /1.1 200 ok
2)<script>eval({id:'1'})</script>
3)<script>eval({id:'2'})</script>

SignalR: 
1) all proved techniques
2) suitable for browser
3) automatic server
4) prgramming abstraction

SignalR API: 
support persistent connection(low level)
hubs(high level)

SignalR Performance:
250k ~ 500k/s
SignalR 1.1 is 18 times rapid than version 1.0


Session 3: C# .NET énigimes

2001 .net 1.0
2012 .net 5.0 vs2012

C# language specification is installed when VS is installed,its path is: "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC#\Specifications\1033"


1) explicit type is not always recommanded, it depends on the situation. 
For example, 
it's recommanded to use var because you have already know the value's type.
var str = "Hello World!"; 
it's recommanded to use explicit type when you don't know the value's type.
string str = methodName();
If you see the machine code desassebled by ILDASM, you will see the code generated by var and explicit type are same. So none of the them have advantage.


2) i++ vs ++i

int i =1;
i = i++;
console.writeline(i);
Result => 1

3) stack vs heap
stack Last In First Out
heap ramdom

4) property 

5) yeild return:

yield return is very useful in conditional iterator or infinite collection. 
You don't need to know the next item in collection before returning it, which is a benefit for infinite collection or UI pagination.

foreach (var str in RunYieldOrderTest())
{
if (str == "charles")
Console.Write(str);
}

public static IEnumerable<string> RunYieldOrderTest()
{
var names = new List<string>() { "charles", "soleil" };
Console.Write("name1");
yield return "charles";
Console.Write("name2");
yield return "soleil";
}

http://stackoverflow.com/questions/410026/proper-use-of-yield-return

6) execution order 

int i = 0;
var s = string.Format("{0} {1} {2} {3}", ++i, i++ * ++i, i, i++ + i++);

Result => 1 3 3 7

Session 4: Améliorer votre productivité avec Visual Studio 2012

Visual Studio Version history:
VS 97(Version 5.0) -> VB 5.0
VS 6.0(Version 6.0) -> VB 6.0
VS .NET 2002(Version 7.0) -> C# 1.0
VS .NET 2003(Version 7.1) -> C# 1.1
VS 2005(Version 8.0) -> C# 2.0
VS 2008(Version 9.0) -> C# 3.5
VS 2010(Version 10.0) -> C# 4.0
VS 2012(Version 11.0) -> C# 5.0

In order to improve the productivity in VS 2012, you have to know the new functionalities which are:
->Integrated videos
You have integrated tutorials in VS 2012. You can also activate subtitle when clicking "CC".
->Multiple separated screens.
You can split your screens to several screens, And 
->Different color theme. 
You can configure different color themes with Dark mode, Blue mode and Light mode in 
"Tools" -> "Options" -> "General" -> "Color Theme"
->Integrated Search
There is a quick search which is a global search, and prompt a list just under the search field.
"Ctrl"+"F" is more powerful because it can exist when you develop, but you must finish you search 
or leave it in another tab to continue your development.
->Solution explorer
Now you have you "class view" in your solution which will list all the levels of elements
(class, method, interfaces etc) in your namespace.
You have also a search field in you solution explorer, you can search all the element with the keyword you search.
->sample code in "Samples Gallery"
->Web development
You have auto-completion for jQuery and all the jQuery documentation is integrated.
->Debugging
You can download remote debugger and configure a remote machine for remote debugging.

Session 5: ASP.NET MVC new features (Infinite Square)

News:
->New template for desktop and mobile 
->HTML5 support
->Authentication OpenID, OAuth
->Separation of controllers into different folders
->Default IIS Express for applications
->Different display for different user agent, ex: Iphone, Ipad etc
->Bundling: combine multiple files into one
Integrate multiple files to App_Start\BundleConfig.cs 
->Minification: Delete useless space of files


All the above sessions are more about CSharp ASP.NET. The day 2 is more about Visual Studio 2012, TFS and ALM.

I hope this articile can do some help! Enjoy coding!


你可能感兴趣的:(asp.net,Visual,Studio,csharp)