We just published my latest webcast. Feel free to watch it or download the demos and slides. Hope you enjoy it!
I’m very proud to announce DevelopMentor’s soon-to-be released MongoDB for .NET course which I am authoring along with Pierre Nallet.
NoSQL and MongoDB for .NET developers
This course is a deep exploration of building applications in MongoDB (the most popular NoSQL document-database). There are many benefits to choosing a NoSQL database over traditional RDMBSs such as SQL Server or Oracle. This course starts out by looking at why you should choose NoSQL in the first place. We will explore the native query language and capabilities of MongoDB. Then we will start working with MongoDB from our .NET applications and look at several topics that explore the advanced aspects of the MongoDB .NET API including (MongoDB from .NET, Advanced serialization in .NET, Untyped API in .NET via BSON documents, and more). We will see how to leverage the immense scalability of MongoDB using the aggregation framework, replica sets, and sharding. You will discover how to store and manage files of virtually unlimited size in MongoDB using GridFS. We will discuss how to properly design your entities and documents (both natively and in C#) to take full advantage of what MongoDB has to offer. Finally, we will round out the course with a few topics that you will need to be successful with MongoDB including Server administration for developers and Security and permissions.
During this class, you will learn:
- Learn why you should consider NoSQL as your database.
- Discover the MongoDB shell and ‘native’ query language and capabilities
- Work with MongoDB from .NET and LINQ
- Design your classes and entities to take full advantage of MongoDB
- Build and tune high performance applications with indexing and profiling
- Use the extensive .NET serialization API to go between .NET and MongoDB
- Work with the filesystem (GridFS) within MongoDB from .NET
- Answer complex questions while leveraging MongoDB’s scalability using the aggregation framework
- Learn enough to administration MongoDB servers to be productive
- Scale out using sharding and replica sets
- Add security and permissions to MongoDB
Note: Some of the topics cover in this course are technology agnostic (for example the native query lesson is equality applicable to .NET developers as well as Python developers) and some are specifically optimized for .NET developers (for example Advanced serialization in .NET).
Why should you choose DevelopMentor’s MongoDB course? At DevelopMentor we have experience building and running large scale MongoDB deployments in .NET including our online training platform LearningLine and develop.com itself. The course authors work closely with the MongoDB team and are in the MongoDB Masters program. We have been teaching MongoDB in our Guerrilla .NET course for several years. In short, we we know what we’re doing with MongoDB and .NET and we’d love to share it with you.
Register for these now:
Getting started with MongoDB and NoSQL in .NET and C#
by Pierre Nallet
The world of data offers new choices and MongoDB is the most popular alternative to SQL databases today. In this one hour webinar, we’ll look at the reasons developers turn to NoSql databases and what makes MongoDB special. Then we’ll look at how to manipulate MongoDB data from C# efficiently and safely by leveraging Linq.
Building data-driven applications for iOS in C#
by Mark Smith
Creating a dynamic UI for data display and navigation takes time – in this 1 hour webinar, we’ll look at using C# and Xamarin.iOS to pull data from the web and display it in a quick, easy fashion in table views using the cool services of DialogViewController. With this technique, you can quickly build data-driven applications to display almost any form of data and be positioned to port that code to other platforms like Windows Phone and Android easily.
Building beautiful websites with Bootstrap: A case study
by Michael Kennedy
Bootstrap has literally changed the game when it comes to web design. This is especially true for developers who have traditionally struggled to build beautiful and engaging sites. With Bootstrap, developers can now start from a good design and evolved. This webcast look at how we at DevelopMentor have used bootstrap to completely redesign our website. We’ll take you through a quick introduction to bootstrap and then look at the various ways we have made use of it’s simple and productive design foundation.
I’m super excited to announce that I’ll be speak at the brand new SDD conference in London next May. I’ll be doing two sessions on ASP.NET MVC and two on MongoDB as well as a full day post conference workshop on MongoDB.
- MongoDB: Applied NoSQL in .NET
- MongoDB: High performance NoSQL techniques
- Workshop: From zero to app with NoSQL, MongoDB and .NET
- ASP.NET MVC: 18 ways your brand new ASP.NET MVC project can be better
- ASP.NET MVC: Building rich input forms in ASP.NET MVC
I hope to see you there.
We're excited to announce a new online course at LearningLine:
This course is a hands-on exploration of Team Foundation Server's and Visual Studio's source control system authored by the very talented John Bowen. Here are all the details:
Do you need to get up to speed on Team Foundation version control?
[Note: I am reblogging this post which originally was posted to the LearningLine blog. Hope you all find it useful here as well]
I recently had a conversation with someone who is looking to make a fresh start and become a developer (coming from other IT positions). The question they had was:
What should I learn to get started in .NET and web development?
Now this question was starting from a position of “I’d like to get started with .NET and the web. How do I do that?” So please hold your “No, choose Ruby (or NodeJS or … )” comments. That’s another blog post. :)
Here’s my advice along with a bunch of courses you can use to accomplish this efficiently and affordably. Continue reading
Do you want to know the biggest single reason you should choose document databases over SQL Server, Oracle, or MySQL? Hint: It’s not performance or scalability.
Here is a short screencast which shows you the stark contrast in simplicity between an application using a relational database and one using a document database such as MongoDB, CouchDB, or RavenDB.
This is an excerpt from my upcoming online MongoDB course for DevelopMentor. You can take the first 1 1/2 hours for free here:
Ready to get started with NoSQL and MongoDB? Here are two 7-minute walkthroughs for installing MongoDB as a Windows service / OS X daemon.
These are both excerpts from my upcoming online MongoDB course for DevelopMentor. You can take the first 1 1/2 hours for free here:
I’ve been working with MongoDB for a long time now. Back in the early days, there really were no management tools analogous to RDBMS tools (e.g. SQL Server Management Studio). Since then, things have changed significantly. It’s time to look around and see what management / monitoring tooling is around these days for MongoDB.
The news is good. There are many different options to choose depending on your platform and use-cases.
1. Robomongo, price: $0 / open-source, platforms: Windows, OS X, Linux
Key features: Continue reading
[Update: Available via NuGet - MongoDB.Kennedy.Concurrency]
This article demonstrates a technique and supporting library for adding optimistic concurrency control to NoSQL databases and MongoDB in particular.
Watch a video walk-through using this library:
Quickly, what is optimistic concurrency control?
Ideally, all databases that allow concurrent access or disconnected access need to implement some form of concurrency control. This usually comes in two flavors:
Pessimistic concurrency control is usually used when working heavily within transactions. That may be fine for bank transfers, but it typically falls down in the face of disconnected models used by almost all ORMs such as Entity Framework. Moreover, it is entirely inappropriate for NoSQL databases.
Frameworks such as Entity Framework have optimistic concurrency control built in (although it may be turned off). It’s instructive to quickly see how it works. Basically there are three steps:
- Get an entity from the DB and disconnect.
- Edit in memory.
- Update the db with changes using a special update clause. Something like: “Update this row WHERE the current values are same as original values”.
If that update returns “0 rows modified” then we know it was changed since we loaded it and are about to overwrite someone’s changes. This results in a concurrency exception and not changes go through.
Optimistic concurrency control for MongoDB
By carefully constructing update commands in C# with the official 10gen C# driver, we can achieve almost exactly the same flow. At the end of this article is a simple C# class (data context) which has save and delete methods which internally are safe via optimistic concurrency control. Continue reading
[Note: reblogged from blog.learninglineapp.com. I'd like to personally invite you to check out our work over at LearningLine - just follow the links below.]
We believe that LearningLine is the most effective online training for developers, period. Today it gets even better. We are announcing the ability to preview any of our online courses, for free without entering any payment information.
This is not a trial that becomes a subscription or a silly 5 minute preview like other company’s offer. You can now study approximately the first hour of any one of our courses. And you can spend as much time as you like doing so.
To get started, just head over to our schedule page, click on any course title you’d like and choose “Preview course for free“:
This means there is now a lot of content available to you right now. At a typical student speed working for an hour a day, it would take over a month to complete all the content that is available for preview. Continue reading
[Update: I added the downloads for the demo code on March 12th.]
I had a great time discussing these topics with everyone at DevWeek 2013. Thanks to all who attended my sessions. Here are the slides:
Important note: In order to run this demo, you must download MongoDB and start it on your local machine. You do not need to initialize a database or anything like that but the db will be empty so use the admin feature to create categories and books. Running MongoDB as a Windows Service is not required.
I am very proud to announce an exciting new online learning platform from DevelopMentor:
At DevelopMentor we have been thinking deeply about online training. We wanted to create an environment that combines the best parts of online learning and classroom training, the best parts of self-directed exploration and expert-led mentoring. We believe we have created just such an environment and I am thrilled to publicly announce it today.
Here’s a short 2-minute video which will give you a quick overview. You can get more details at http://www.learninglineapp.com.
Online training today
There are many shortcomings in how developers learn online today. Continue reading
The goal of this post is to show you validation options beyond those that come in-the-box from Microsoft and the ASP.NET team.
Currently, there are nine pre-built validation attributes that come with MVC:
While these are very helpful, knowing where to look to find additional validation options is super helpful. For example, what if the State property is only supposed to be required if Country property is set to USA? Good luck with that one! Continue reading
Here’s a new screencast for you MVC guys and gals out there.
Validating ASP.NET MVC Forms with DataAnnotations
In this short screencast, I will show you how to leverage ASP.NET MVC’s excellent model binding as well as the DataAnnotations attributes to easily add both server-side and client-side validation for MVC websites.