A lire

Facebook Twitter

Blog - String Calculator kata with Autofixture exercise 5. F# Design Patterns. Mieux comprendre les émotions. ASP.NET WebAPI: Getting Started with MVC4 and WebAPI. Download source code - 2.81 MB Introduction I’ve spent the last year working on ASP.NET MVC3 and feeling good this year on MVC4.

ASP.NET WebAPI: Getting Started with MVC4 and WebAPI

I got some new exciting features after updating to MVC4, Web API is one of those exciting features. I have read a lot on this feature and have read a lot of good articles on the web. But I didn't get any article that covers all the concepts in one place. Prerequisites ASP.NET MVC 4 You can also use the Web API on MVC3. What is ASP.NET Web API? ASP.NET Web API is a framework for building and consuming HTTP services that can reach a broad range of clients including browsers, phones and tablets. In this article we will show the basic database operations (CRUD) in an HTTP service using ASP.NET Web API. Why use ASP.NET Web API? ASP.NET Web API is built for all the other, non-human interactions your site or service needs to support.

ASP.NET Web API includes support for the following features: How To Create a New Web API Project Add a Model Name the class Book. History. About - Nemerle programming language official site. Programming language for "special forces" of developers.

About - Nemerle programming language official site

Nemerle is a general-purpose, multi-paradigm programming language for the .Net platform. It is as easy to learn and use as C# or VB.NET but Nemerle is by far more powerful. One may start using it as an advanced C# and then, as learning goes on, employ a range of cool features enabling metaprogramming and functional programming. The metaprogramming is based on macros bearing some similarity to Lisp.

General information Supported paradigms: Object-Oriented Programming (OOP), Functional Programming (FP), Metaprogramming (MP), Component-Oriented Programming (COP), DSL-Oriented Programming (DOP) or Language Oriented Programming (LOP). Type system: static typing, strong typing, inferred, nominal. Key features Type inference Nemerle can infer type from initialization and from usage: def dict = Dictionary(); // Dude, where are my type params? Metaprogramming Flexible and very powerful metaprogramming subsystem using the Nemerle macros: IDE support.

Clean Architecture. In the weeks since I started talking about the need to clean up our architecture, I’ve noticed a surprising resistance to the idea. Apparently the notion that it’s a good idea to hide the framework, UI, or database from the application code is not universally accepted. I first blogged about this topic here, I did some short video blogs here, here, and I did a whole cleancoders.com episode on the topic. I’ve also done several keynotes on the topic, the slides for which are here, and a video recording of which is here. One somewhat dissenting view, written by The Frustrated Architect in his coding {the} architecture blog is here. He shows a picture, which I’ll repeat: The point he’s trying to make is that if the UI and Database are a much larger part of the system than the business rules, then the architecture of the system should be more oriented around those larger elements.

Other dissenting (or perhaps a better word is “skeptical”) views have been less formal. Not Rocket Science. NServiceBus - First Hands-On Experience - sfeldman.NET. Tuesday, December 20, 2011 8:28 PM Sean Feldman NServiceBus - First Hands-On Experience I previously blogged on afterthoughts on NServiceBus course. Equipped with new powerful knowledge I have approached on of the TODO tasks on my plate – decouple email notification service from the main web application.

First, the problem with the code that needed to be resolved. A customer is submitting content that has to be approved. What should it be? Personally, I think email notification service should be completely separated from the application. Weak Points I have used NServiceBus 2.6 since 3.0 is still in Beta and it wouldn’t be wise to apply a beta in production… There are several points of weakness I run into: Configurations – yacks. SOA Done Right? I am not sure if using NServiceBus will answer all the questions, but so far a lot of them got covered for me: Reliability Sub-systems decoupling Single Responsibility Single point of failure Versioning. Gallery -EventSourcing Store. KsigDo. A Knockout, SignalR, ASP.net, MVVM, MVC and EF all mixed together into a multiuser real time sync To Do" example. The scope of technology used in this example was kind of breath taking, yet Anoop was able to bring it all together, exampling it to us as we followed along...

KsigDo. A Knockout, SignalR, ASP.net, MVVM, MVC and EF all mixed together into a multiuser real time sync To Do" example

KsigDo = Knockout + SignalR To-do app. Source code is here in Codeplex, keep it handy.Real time data syncing across user views *was* hard, especially in web applications. Most of the time, the second user needs to refresh the screen, to see the changes made by first user, or we need to implement some long polling that fetches the data and does the update manually.Now, with SignalR and Knockout, ASP.NET developers can take advantage of view model syncing across users, that’ll simplify these scenarios in a big way, with minimal code. This post discusses how to implement a real time to-do pad, which will sync data across users accessing the application. This means, users can make changes to their tasks (add/remove/update etc), and other users will see the changes instantly. ConclusionSurprise, we are done. Sustainable Test-Driven Development: Test Reflexology, Part 1 (first post)

Download the Podcast How unit tests inform us about our design As proponents of Test-Driven Development, we constantly seek to identify and point out the various ways that the effort one puts into writing tests will be of value to the development team.

Sustainable Test-Driven Development: Test Reflexology, Part 1 (first post)

As with most highly-powerful techniques, TDD tends to deliver multiple values across the entire development effort.One example is this: We all agree that design is important, but most people would say that ‘good’ design is hard to define. It's like pornography and the Supreme Court [1]; we cannot quite define it but we know it when we see it.

Good designers often have an instinctive ability to come up with good design. The problem with this is that it is hard to confirm such an instinct, and even harder to argue the point if other members of the team disagree. Support may come from an expected source – the system’s unit tests. This coupling is not necessarily a bad thing. ...continued on next post... [2] We like this analogy. Liz Keogh's blog » Scrum and Kanban: both the same, only different. When I started coaching Agile methodologies, I didn’t know how much I didn’t know.

Liz Keogh's blog » Scrum and Kanban: both the same, only different

I had come from Thoughtworks, a company whose tools and processes are mostly driven by Extreme Programming, aka XP. In that respect, most of what I learnt and coached was very similar to Scrum, albeit with different words. We called them iterations instead of sprints, and had stand-ups instead of daily scrums. We had planning meetings, but we didn’t make commitments – just estimates. We had collaborative code ownership and a focus on delivery instead of a cross-functional team, which meant that we ended up with flexible and blurred roles anyway. In the last few years, I’ve been privileged to be part of the Kanban community. In this post, I’d like to cover some of the differences I’ve seen between Scrum and Kanban, and add in some insights from the Cognitive Edge training I’ve done using Cynefin and complexity thinking.

Scrum and Kanban have more similarities than differences. Scrum has certification. Yet. Tech·Ed North America 2011. Agile software development emphasizes that some increment of business value be delivered every iteration.

Tech·Ed North America 2011

How can this happen when your iterations are two weeks in length and you estimate it will take you two months just to design the database and the access layers? The answer is to think in slices,not layers. In this session,learn how to implement enough of each layer,including the database,to solve that iteration’s problems and provide value to the business. As we use good design principles,engineering practices,and tools,the architecture will emerge. By avoiding big design up front,we’ll skip the wasted coding and brainpower on the low priority user stories. Is it Time to Stop Estimating User Stories? Most new Agile teams transition from hours based estimates to relative estimation using story points, but do we even need estimates at all?

Is it Time to Stop Estimating User Stories?

Michael Dubakov suggests the following reasons why you should stop estimating user stories: You don’t waste time on estimation You shouldn’t explain to higher managers why it took soooo loooooooong You don’t give promises that are hard to keep You don’t put additional pressure on development team You focus on really important things Stephan Schwab, worries about how estimation can result in silos and prevent team based solutions: Imagine an organization where teams are expected to have a fully estimated backlog in order to determine the cost for the project. At first glance such an approach seems to be a good idea. Mike Cottmeyer comes to the defence of estimates: Since we don’t like managers and we don’t like death marches, we conclude the creation of software is an unpredictable process, that estimates are bad, and we should never estimate at all.

CQRS, l’architecture aux deux visages (partie 1) Entity Framework doit-il faire peur aux DBA ? Tito.Net: n layer web app with Entity Framework 4.1/4.2 - Things to consider. Public class CompanyRepository : BaseRepository public CompanyRepository() :base() public void Create(Company company) this.Context.Companies.Add(company); this.Context.SaveChanges(); public Company GetCompanyById(int id) return this.Context.Companies.Find(id); public IEnumerable<Company> GetAll() return this.Context.Companies.ToList(); public void Update(Company company) Company currentEntry = this.Context.Companies.Where(c => c.Id == company.Id).First(); this.Context.Entry(currentEntry).CurrentValues.SetValues(company); public void Remove(Company company) Remove(company.Id); public void Remove(int id) Company currentEntry = this.Context.Companies.Where(c => c.Id == id).Single(); this.Context.Companies.Remove(currentEntry); public class BaseRepository : IDisposable protected HSMDBEntities Context { get; set; } public BaseRepository() this.Context = new HSMDBEntities(); public void Dispose() this.Context.Dispose();

Tito.Net: n layer web app with Entity Framework 4.1/4.2 - Things to consider