/*
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.
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
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"; }
int i = 0; var s = string.Format("{0} {1} {2} {3}", ++i, i++ * ++i, i, i++ + i++);
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!