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.
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.
[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
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
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.
Here’s a quick post on how and why you want to consider using NuGet package restore.
First, if you’re unfamiliar with NuGet, it’s basically “add reference” to external software projects (typically open source ones such as jQuery, but also for Microsoft ones such as Entity Framework). You definitely need to check out David Ebbo’s post introducing it. NuGet will change the way you develop.
Now when using NuGet it maintains a packages folder near your solution file. For things like ASP.NET MVC that heavily leverage NuGet, you’ll see this folder is very large. It’s usually much larger than your project itself in the beginning.
If you write small projects and share them out as compressed files (e.g. zip’s), and size matters to you, you might want to consider enabling NuGet package restore (off by default) for those projects and delete the packages folder before zipping and sending it out.
As an example, with a typical MVC 4 project, the “raw” content is 680 KB. After doing a build and counting the packages folder you’ll see it jumps to 16.9 MB. If that helps you significantly, then it’s probably a good idea to use package restore.
Three things have to happen to use NuGet package restore. Continue reading
As an instructor at DevelopMentor, I have the unique opportunity to watch many developers experience ASP.NET MVC for the first time. This typically goes through several stages:
- Extreme Interest (the web is exciting again!)
- Confusion (where does the view go again? wait, what’s routing?)
- Shock (you have got to be kidding, forearch in the html file?)
- Loss (surely there are some drag-and-drop controls, right… right?)
- Acceptance (OK, I will learn HTML and CSS after 10 years of working on the web)
- Joy and Freedom (How could I have ever used webforms?)
I rarely hear developers who’ve adopted MVC returning to webforms voluntarily. But not everyone makes it to level 6 of MVC enlightenment. So here is an article to help the new comers make it across step 2 more easily as well as help the advanced MVC developers be more productive. Continue reading
In this screencast I discuss the ViewBag and ViewData properties in ASP.NET MVC. We look at how they can be used to pass data (both simple and complex) from controller action methods down to razor views.
Download the code: Code-Kennedy.Mvc.ViewBagsAndViewData.zip
Here’s a short screencast I did on understanding the ASP.NET MVC folder structure. As you will see, MVC uses the philosophy of convention over configuration. There are many benefits to this. You simply drop a file here or there, give a class a certain name, etc, and things start to happen. But you must understand how MVC expects you to layout your project.
What happens if you link to a js file twice in your page?
Here is a contrived example.
Notice that we are including bad-example.js twice. Do modern browsers somehow realize they loaded this file already and skip this? Not yet, as we’ll see!
Imagine bad-example.js had this code in it. Continue reading
Here’s a recording of a webcast I did for DevelopMentor covering .NET 4.5 and .NET 4 asynchrouns programming concepts, including Task<T>, async, and await.
PS – Be sure to watch it in 720p quality.
Thanks to all who attended my webcast yesterday. Here is the recorded video, slides, and demo application.
[Update: View the recordings and downloads.]
Want to learn more about building great forms in MVC? Attend my free DevelopMentor webcast this Tuesday.
Webcast: Building Rich Input Forms in ASP.NET MVC
In this webcast we will explore the powerful features of ASP.NET MVC that allow us to build rich forms that accept user input. We’ll begin by discussing the built-in HTML Helpers and Model Binding. Next we’ll add validation and show how we can do both client- and server-side validation using DataAnnotations. Finally, we’ll see that sometimes using domain models as our form-bound objects doesn’t make sense. We’ll look at more advanced scenarios using View Models.
[note: This screencast has been adapted from my earlier blog post.]