Microsoft Techdays Paris 2013 - Day 1
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 4.5 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!