More things coming out from my recent session about MongoDB. Documents and Types MongoDB is a document database. Such documents are stored as JSON (well, kind of). JSON has a very challenged simple type system. .NET is an object-oriented environment that promotes types. Such type system is pretty rich. Are MongoDB’s documents and .NET Framework types doomed to miscommunicate? They […]
I have already written about the talk I gave in the local user group about MongoDB. I always try to push the limits of what I want to show by adding a couple of more advanced (yet useful) scenarios. The one I want to describe here is document projections using the .NET official driver. What is a projection anyway? The […]
Last week I was able to give a talk in the local .Net user group, AAnug. The topic in question was MongoDB and, more specifically, how it can be used by .NET developers (using the official driver).
I cannot say I am a big BDD-er. I have used it for commercial projects, mostly to define complex scenarios for complex pieces of code (a custom discount engine comes to mind) but it comes with a price tag that I am not willing to pay for the majority of tests I write (unit tests). I am not going to describe what BDD is, philosophy, syntaxes, flavors… I am just going to mention my experience with a couple of tools one can use if developing for the .NET Framework.
I have already touched the subject of NMoneys serialization in the context of a third party serialization library. Even a custom converter was released as a Nuget package. But real world experience taught me it is not enough. A new model I have always been hesitant on the policy to adopt when depending on third party libraries in my packages: shall I fix it to a known version? Fix the upper limit to the next semantic version and hope for the best? Update the minimum version every now and then? Quite a few questions and few definitive answers. In this particular case (serialization using a Json.NET converter), I chose to break with the past and deliver the custom converters and everything else as source code and remove the dependency to the serialization framework from my package.Is this the way to go? It definitely has its advantages, but time will tell. New horizons A side effect of the decision is allowing the user of the package to tweak the serialization process or remove the artifacts that won’t be used.It also gives me the opportunity to supply the same code for Json.NET and RavenDB (that uses an internalized version of the former) just by switching namespaces during the build process.
Working on a larger project where CSS and LESS code are split into many files, IntelliSense can be a great help. For a particular project, both the desktop and mobile site are in the same solution and shared some LESS variables and mixins. Remembering what variables where available in ether desktop or mobile made me crazy. Some where used in […]
Other than showcasing how monetary quantities can be formatted and showing off the data available for different currencies, one of the objectives of NMoneys.Web is showing code samples on how to accomplish common tasks.
The main reason that NMoneys.Web was envisioned (apart from the learning experience) was to provide information about how the library displays monetary quantities in order for non-technical users to be able to spot mistakes or improvements. Such requirement is fulfilled in the Currencies section
It’s rare these days to have a mostly free evening to look after some OSS.
NMoneys.Web is website, built with ASP.NET MVC. I might as well share with you a couple of things I learnt.