Going “Greene” with MVC 5.2

recyclekeyboard

We’re going “Greene” in our latest course releases— but don’t worry about recycling code in the big green dumpster at the end of your driveway. By “Greene” I mean Eric Greene, our newest instructor.

Eric is an independent IT professional who loves learning new things, sharing what he learns, and helping clients to solve business problems. He holds numerous software certifications and has experience programming mobile, web-based, and desktop applications using a variety of commercial and open-source platforms. Now Eric has joined forces with LearnNowOnline to produce two new courses to help you understand what’s new in MVC 5.2.

MVC or Model View Controller is an architectural pattern used for interface design. Each part of MVC has a different function. The Model controls the functioning aspects of the user interface. The View is the information from the Model—for example data-related graphics or other types of Views. The Controller is input information from the user that is relayed to the Model and does affect the View.

MVC  5 allows you to build web applications more efficiently.  See what’s new in MVC 5.2 with these new courses featuring Eric Greene:

MVC 5.2: OneASP.NET, Upgrading and Bootstrap
In this course, you’ll see that One ASP.NET makes new ASP.NET MVC project creation easier and more efficient… thus cutting down on wasted time. You’ll learn how to upgrade MVC  4 applications to MVC  5, again recycling old code instead of writing all new stuff. Then you’ll see how to use Bootstrap, a collection of tools for creating web applications that makes design easier and faster.

MVC 5.2: Views, Attributes, Identity and Filters
In this course, you will learn about the new enhancements to MVC Views such as Enum Helpers and unobtrusive Ajax for the MaxLength and MinLength attributes.  Another cool new feature bundled with MVC  5 is Attribute Routing.  With several new attributes, you can easily configure routes directly on the controller and its actions. These new enhancements make coding faster and easier.  You will learn what ASP.NET Identity is and review the default ASP.NET Identity code created by Visual Studio in new MVC  5 projects.  Finally, you will see Authentication Filters and Filter Overrides in action.

Check out these new courses to see why MVC  5 makes building web applications faster and easier than ever. You’ll be going “Greene” in no time as you learn how to do more with less.

 

About the Author

BrianBlogpicBrian Ewoldt is the Project Manager for LearnNowOnline. Brian joined the team in 2008 after 13 years of working for the computer gaming industry as a producer/project manager. Brian is responsible for all production of courses published by LearnNowOnline. In his spare time, Brian enjoys being with his family, watching many forms of racing, racing online, and racing Go-Karts.

Be Sociable, Share!

Avoiding hacker tricks

hacker-image

So in a perfect world, your computers, servers, and web pages could not be hacked. In a perfect world, users would not be allowed access to data or your servers. In a perfect world, computers would be stand-alone machines. In a perfect world, I would have a flying car and sharks with laser beams in a moat around my castle. We all know there is no such thing as a perfect world…and the flying car has little over a year to appear, at least according to the “Back to the Future” movies.

Because we don’t live in a perfect world, we need to have computer security. Computer security is said to be a reactionary endeavor. The IT security people are always reacting to a new threat. With that being said, there are ways to be proactive. In our most recent live webinar, expert Mike Benkovich covered ways that you can prevent some of the most common attacks.

Mike explored a secure development approach and showed some of the top exploits that you need to know about. He demonstrated how you can use .NET features to stop exploits before they happen, and he showed injection attacks, cross-site scripting, and security misconfiguration. We looked at the hacker’s psyche and showed how they think and work, and learned what we can do to build more secure software. With all the stories of data breaches in the last year or so, it is even more important to be sure you are on top of security from initial development of any project.

In a perfect world, you would have been able to attend this webinar. In perfect world, there would be a recording of this webinar available to you. Well, the world is not perfect, but in this case we do have the replay of the webinar for your viewing pleasure. The world may be perfect once flying cars appear.

 

About the Author

BrianBlogpicBrian Ewoldt is the Project Manager for LearnNowOnline. Brian joined the team in 2008 after 13 years of working for the computer gaming industry as a producer/project manager. Brian is responsible for all production of courses published by LearnNowOnline. In his spare time, Brian enjoys being with his family, watching many forms of racing, racing online, and racing Go-Karts.

Be Sociable, Share!

Entity Framework 6.1 Fundamentals

New from our instructor in the land of the midnight sun are new courses covering the fundamentals of Entity Framework 6.1. That instructor is Don Kiely…and between high adventure trips, skijoring, saving sled dogs, dodging moose, and running marathons, Don has found the time to work with us to create two excellent new courses.

According to Microsoft, Entity Framework (EF) is an object-relational mapper that enables .NET developers to work with relational data using domain-specific objects. It eliminates the need for most of the data-access code that developers usually need to write.

In our first new course, Entity Framework 6.1: Introduction, Don covers the basics from data access issues to the EF API and tools. In the second course, Entity Framework 6.1: Data Model, as the title suggests, Don digs in to the entity data model. These courses total over four hours of video training and are now available. Learn more

Entity Framework 6.1: Introduction

Watch trailer – Entity Framework 6.1: Introduction

Entity Framework 6.1: Data Model

Watch trailer – Entity Framework 6.1: Data Model

 

 

 

 

 

 

 

Watch for more EF courses from Don coming in the near future. In the meantime, I invite you to attend Don’s upcoming webinar on the Entity Framework Entity Data Model. He will be broadcasting live from Alaska beginning at 1pm CST on Wednesday, September 10th. (Don’t be surprised if you hear his dogs barking at moose in the background!) Register now

About the Author

BrianBlogpicBrian Ewoldt is the Project Manager for LearnNowOnline. Brian joined the team in 2008 after 13 years of working for the computer gaming industry as a producer/project manager. Brian is responsible for all production of courses published by LearnNowOnline. In his spare time, Brian enjoys being with his family, watching many forms of racing, racing online, and racing Go-Karts.

Be Sociable, Share!

A New Angle on Web Development

There is a relatively new open source JavaScript framework that is currently taking the web development community by storm. I’m speaking of AngularJS, which Black Duck’s Open Hub Web site (formerly Ohloh) currently has listed as one of the most active open source projects. Although it started at the top of 2010, it has really been in the last couple years that it has grown to rock star status and has become a go-to framework for many web developers.

So what’s so powerful about AngularJS? The power is in how it easily binds data to the objects on a Web page. It is essentially an MVC framework that can efficiently create dynamic views in a Web browser. AngularJS is built to perform all those complex, low-level DOM manipulation commands so you don’t have to. But doesn’t jQuery do that? Sure, but AngularJS is jQuery to the next level, and can be used in tandum with jQuery or as a complete replacement. AngularJS also provides built-in AJAX support and, unlike jQuery, RESTful services support.

AngularJS also has the unfair advantage of being heavily supported by Google with many Google developers actively working to improve the framework. That has led to a huge community that is actively engaged with the open source project on GitHub. So with or without Google, it is destined to stay on top as one of the best frameworks to use—so use it with confidence.

Ok, so what does AngularJS look like? Let’s look at a simple example of data binding using AngularJS. We will take a look at a Web page to do Fahrenheit to Celsius converting. The first step is we need to reference the Angular JavaScript file in the <head> tag. That is shown here:

Next add the following HTML code to the body:

What’s going on here? In the first DIV tag we provide scope for the block of HTML that will leverage AngularJS by including the “ng-app” attribute. AngularJS chose the ng namespace for the fact that when you phonetically say “NG” you say “aye-n-g” which is about as close to “angle” that you can get with two letters. Ok, moving on.

We then see an attribute “ng-init” that is used to initialize a variable “fTemp.” This sets the variable to 32. It is then used in the <input> tag to bind that textbox value to the variable fTemp. This variable is then used in the calculation of Celsius. Next you come across the double curly braces, “{{ }}”, which AngularJS picks up and evaluates what is between them. In this case, we calculated what the equivalent Celsius value is based on the current setting of Fahrenheit.

Below is what the page looks like:
NewAngleWebDevelopmentimg1

And if I change the value of Fahrenheit, the Celsius instantly changes as well, as shown here:
NewAngleWebDevelopmentimg2
Although this is a simple AngularJS example, I hope you can see the power behind it. It wouldn’t take much additional code to bind this Web page to a RESTful service that returns the current temperature in your area. And it’s not just weather data – you could hook up dynamic pages to your company’s data and manipulate it easily on the fly without getting buried in all the DOM-related calls or dealing with all the nuances of different browsers.

Check out our AngularJS courses for yourself and see John Culviner break down AngularJS so you can leverage the power in your Web sites.

About the Author

martysMartin Schaeferle is the Vice President of Technology for LearnNowOnline. Martin joined the company in 1994 and started teaching IT professionals nationwide to develop applications using Visual Studio and Microsoft SQL Server. He has been a featured speaker at various conferences including Microsoft Tech-Ed, DevConnections and the Microsoft NCD Channel Summit. Today, he is responsible for all product and software development as well as managing the company’s IT infrastructure. Martin enjoys staying on the cutting edge of technology and guiding the company to produce the best learning content with the best user experience in the industry. In his spare time, Martin enjoys golf, fishing, and being with his wife and three teenage children.

Be Sociable, Share!

What Makes the Best Reference Material

What is the best material to use when you want to learn a new topic within development or IT? If you are an experienced developer or IT pro, what is the best reference material to use?

These questions come up often, and typically developers and IT pros look at reference material and training material as coming from two different sources.  In my opinion, you need robust learning material that can first be used as training and subsequently as reference material.

Generally if someone needs to learn a skill (like how to effectively manage a project), a programming language (like C# or JavaScript), or a technology (like SharePoint or SQL Server), they will look for learning material that is focused on that specific subject. Many will look for “courses” on the topic thinking that is all they need. Effective developers and IT pros will instead look for “solutions” that will give them the best approach to solving their issue both in learning the subject from beginning to advanced and for reference material later.

Great reference material…

  • Is very searchable, including the ability to easily filter and find the needed material quickly.
  • Is built with short learning bytes so the user can learn it fast and get back to work.
  • Fits different learning styles.
  • Is practical and thorough.

Great training material has many of the same attributes…

  • Is well-organized, taking the learner from intro level concepts to advanced development.
  • Includes varied learning resources that will work well for different learning styles – learning visually, plus learning by doing, listening and reading. Many people learn best from different learning modalities.
  • Includes labs and “try-it-outs” so a person can practice and reinforce what he or she has learned.

Once you have learned your new skill, language, or technology, you are not done learning. You will continue to learn on-the-job and through trial and error. And sometimes you’ll encounter issues where you don’t know or can’t remember what to do.

When reference material is needed to solve a problem, what do you look for? Ideally it is best for developers and IT pros to find training material that also can function as easy-to-use reference material, such as…

  • Providing a strong search/filter system so you can find what you need quickly. There is nothing worse than needing a quick answer on how to do something and then spending hours searching for that answer. You need to find it fast, learn it fast, and get on with your life.
  • Being concise to best address your specific issue quickly. You don’t want to listen to someone blab on and on in a training video who never gets to the point. You need specific, practical advice—not training where the ego of the instructor gets in the way.
  • Training material that covers multiple learning modalities: read, listen, watch, do.

LearnNowOnline training has been designed to be excellent resource for both training and reference material, including:

  • Resources that will support all learning modalities: video training, ebooks/courseware, sample code, hands-on labs, and “try-it-outs.”
  • The best search/filter system to help you to access what you need quickly and easily.
  • Videos built in 5-10 minute nuggets so you can learn exactly what you need fast.
  • Content that is thorough, deep and comprehensive, written and presented by the best experts in that technology.

If you need learning resources for SharePoint, Visual Studio, SQL Server, JavaScript, PMP or other Developer and IT Pro technologies, I invite you to check out LearnNowOnline for yourself and experience a solution that provides both excellent training AND reference material.

About the Author

Craig PhotoCraig Jensen is the President and CEO of LearnNowOnline. Craig has led the company’s change from instructor-led classroom training, to self-study CD/DVD training, to the award winning online learning solutions offered today. Craig is passionate about helping individuals and businesses of all sizes solve their problems through practical learning and technology. He is involved in setting direction for the company, including selecting training content for development with resources to support all learning styles. He is also involved in The CEO Roundtable organization in the Twin Cities as well as the Minnesota High Tech organization. In his spare time, Craig loves to travel, golf, and partake in water sports of all kinds.

Be Sociable, Share!

Introduction to Python 3

python-logo-master-v3-TM-flattened

This week marked the release of our new courses covering Python 3. The Python language was originally developed in 1989 by Guido van Rossum.

And now for something completely different…”The Larch.”

As you can tell, I am a fan of Monty Python’s Flying Circus and so is Mr. Rossum. In fact that is why the language is called Python. If you don’t know who or what Monty Python’s Flying Circus is, they were a British comedy troop seen on British TV from the late 60s to the early 70s, followed up by several movies. Mr. Rossum still heads up the Python project, which is an Open Source project, and he has been given the title of Benevolent Dictator for Life (BDFL).

The Python language is a general purpose programming language that allows the programmer to create applications using less code by using constructs. Python is an object-oriented language and supports multiple programming paradigms and functional programming.

Peter Thorsteinson is the instructor for our Python courses.  I don’t know if he is a Monty Python fan, but I do know that he did a great job with these courses, making sure to cover every detail that someone who is new to Python will need in order to use the language to create applications. Our courses include:

Unlike the Monty Python TV show, there will be no dead parrots or need to figure out the weight of a swallow. Also, be thankful that the language was not named “Ekki-ekki-ekki-ekki-PTANG. Zoom-Boing, z’nourrwringmm.”

About the Author

BrianBlogpicBrian Ewoldt is the Project Manager for LearnNowOnline. Brian joined the team in 2008 after 13 years of working for the computer gaming industry as a producer/project manager. Brian is responsible for all production of courses published by LearnNowOnline. In his spare time, Brian enjoys being with his family, watching many forms of racing, racing online, and racing Go-Karts.

Be Sociable, Share!

Power Pivot Dashboards

powerpivotdashboardwithDO

It was a sunny day last Wednesday, but our instructor Doug Ortiz spent it indoors giving a great presentation on Power Pivot Dashboards. As the moderator of this event, I also spent the time inside watching how to turn data into compelling graphical representations so you can impress your colleagues in those “we have the data but we don’t know what it means” meetings.

Those who joined us for this event saw Doug show us how to can create Dashboards, Pivot Charts, Pivot Tables and Power Views. At the end of the one hour session, Doug answered lots of good questions from the attendees. If you didn’t get a chance to ask your question, you can always e-mail webinar@learnnowonline.com and I’ll be sure your question gets to Doug.

Now for those of you who spent your time outside, or missed our webinar because there was something “more important” to do, you can find the replay in our webinar archive. You can also watch our past events, or sign up for the next webinar with Mike Benkovich and learn about Avoiding Hacker Tricks.

About the Author

BrianBlogpicBrian Ewoldt is the Project Manager for LearnNowOnline. Brian joined the team in 2008 after 13 years of working for the computer gaming industry as a producer/project manager. Brian is responsible for all production of courses published by LearnNowOnline. In his spare time, Brian enjoys being with his family, watching many forms of racing, racing online, and racing Go-Karts.

Be Sociable, Share!

Hadoop…Pigs, Hives, and Zookeepers, Oh My!

zookeeper

If there is one aspect of Hadoop that I find particularly entertaining, it is the naming of the various tools that surround Hadoop. In my 7/3 post, I introduced Hadoop, the reasons for its growing popularity, and the core framework features. In this post, I will introduce you to the many different tools, and their clever names, that augment Hadoop and make it more powerful. And yes, the names in the title of this blog are actual tools.

Pig
The power behind Pig is that it provides developers with a simple scripting language that performs rather complex MapReduce queries. Originally developed by a team at Yahoo and named for its ability to devour any amount and any kind of data. The scripting language (yes, you guessed it, called Pig Latin) provides the developer with a set of high level commands to do all kinds of data manipulation like joins, filters, and sorts.

Unlike the SQL language, Pig is a more procedure or script-oriented query language. SQL, by design, is more declarative. The benefit of a procedural design is that you have more control over the processing of your data. For example, you can inject user code at any point within the process to control the flow.

Hive
To complement Pig, Hive provides developers a declarative query language similar to SQL. For many developers who are familiar with building SQL statements for relational databases like SQL Server and Oracle, Hive will be significantly easier to master. Originally developed by a team at Facebook, it has quickly become one of the most popular methods of retrieving data from Hadoop.

Hive uses a SQL-like implementation called HiveQL or HQL. Although it doesn’t strictly conform to the SQL ’92 standard, it does provide many of the same commands. The key language limitation relative to the standard is that there is no transactional support. HQL supports both ODBC and JDBC so developers can leverage many different programming languages like Java, C#, PHP, Python, and Ruby.

Oozie
To tie these query languages together for complex tasks requires an advanced workflow engine. Enter Oozie—a workflow scheduler for Hadoop that allows multiple queries from multiple query languages to be assembled into a convenient automated step-by-step process. With Oozie, you have total control over the flow to perform branching, decision-making, joining, and more. It can be configured to run at specific times or intervals and reports back logging and status information to the system. Oozie workflows can also accept user input parameters to add additional control. This allows developers to tweak the flow based on changing states or conditions of the system.

Sqoop
When deploying a Hadoop solution, one of the first steps is populating the system with data. Although data can come from many different sources, the most likely would be a relational database like Oracle, MySQL or SQL Server. For moving data to and from relational databases, Apache’s Sqoop is great tool to use. The name is derived from combining “SQL” and “Hadoop”; signifying the connection between SQL and Hadoop data.

Part of Sqoop’s power comes from the intelligence built-in to optimize the transfer of data both on the SQL side and the Hadoop side. It can query the SQL table’s schema to determine the structure of the incoming data, translate it into a set of intelligent data classes, and configure MapReduce to import the data efficiently into a Hadoop data store like HBase. Sqoop also provides the developer more granular control over the transfer by allowing them to import subsets of the data; for example, Sqoop can be told to only import specific columns within the table instead of the whole table.

Sqoop was even chosen by Microsoft as their preferred tool for moving SQL Server data into Hadoop.

Flume
Another popular data source for Hadoop outside of relational data is log or streaming data. Web sites, in particular, have a propensity to generate massive amounts of log data and more and more companies are finding out how valuable this data is to better understand their audience and their buying habits. So another challenge for the Hadoop community to solve was how to move log-based data into Hadoop. Apache tackled that challenge and released Flume (yes, think of a log flume).

The flume metaphor symbolizes the fact that this tool is dealing with streaming data like water down a rushing river. Unlike Sqoop which is typically moving static data, Flume needs to manage constant changes in data flow and be able to adjust to handle very busy times. For example, Web data may be coming in at an extreme high rate during a promotion. Flume is designed to scale itself to handle these changes in rates. Flume can also receive data from multiple streaming sources, even beyond Web logs, and does so with guaranteed delivery.

Zookeeper
There are many more tools I could cover but I’m going to wrap it up with one of my favorite tool names— Zookeeper. This tool comes into play when dealing with very large Hadoop installations. At some point in the growth of the system, as more and more computers are added to the cluster, there will be an increasing need to be able to manage and optimize the various nodes involved.

Zookeeper collects information about all nodes and organizes them in a hierarchy similar to how your operating system will create a hierarchy of all the files on your hard drive to make them easier to manage. The Zookeeper service is an in-memory service making it extremely fast, although it is limited by available RAM which may affect its scalability. It replicates itself across many of the nodes in the Hadoop system so that it maintains high availability and does not create a weak-link situation.

Zookeeper becomes the main hub that client machines connect to in order to obtain health information about the system as a whole. It is constantly monitoring all the nodes and logging events as they happen. With Zookeeper’s organized map of the system, it makes what could be a cumbersome task of checking on and maintaining each of the nodes individually a more enjoyable and manageable experience.

Summary
I hope this give you a taste of the many support tools that are available to Hadoop as well as illustrates the community’s commitment to this project. As technology goes, Hadoop is in the very early stages of its lifespan and components and tools are constantly changing. For more information about these and other tools, be sure to check out our new Hadoop course.

About the Author

martysMartin Schaeferle is the Vice President of Technology for LearnNowOnline. Martin joined the company in 1994 and started teaching IT professionals nationwide to develop applications using Visual Studio and Microsoft SQL Server. He has been a featured speaker at various conferences including Microsoft Tech-Ed, DevConnections and the Microsoft NCD Channel Summit. Today, he is responsible for all product and software development as well as managing the company’s IT infrastructure. Martin enjoys staying on the cutting edge of technology and guiding the company to produce the best learning content with the best user experience in the industry. In his spare time, Martin enjoys golf, fishing, and being with his wife and three teenage children.

Be Sociable, Share!

Bootstrap Fundamentals with Adam Barney

Bootstrap 3.1: Introduction and Installing
Watch the trailer for Bootstrap 3.1: Introduction and Installing

The LearnNowOnline production department has been busy working on four new courses for Bootstrap. So why would you need a course about how to use a bootstrap, you ask? How hard can it be? Actually, if you are going to create a web site about how to strap on your boots, you may want to use Bootstrap. Okay, enough with the bad play on words! The Bootstrap I’m talking about here is a free collection of web site creation tools. It was developed by engineers at Twitter as a framework to create uniformity in the development of websites.

Our new Bootstrap courses are presented by Adam Barney. Adam is a Microsoft C# MVP, consultant, speaker, author, and instructor. Starting in the 4th grade on a Commodore64, Adam has continually pushed himself to learn more about the construction of software, and he loves sharing that knowledge and passion with others. He is the instructor of our Microsoft Silverlight 5 courses, and we’re happy to have him back sharing his wisdom once again with these four new Bootstrap courses:

Bootstrap 3.1: Introduction and Installing (now available)
This course will take you through the process of acquiring Bootstrap – you’ll see how we can download Bootstrap distributions and sources or use a CDN or front-end package manager like Bower to get Bootstrap.

Bootstrap 3.1: Base CSS (now available)
This course will show you what basic CSS classes come with Bootstrap and how to apply them to your site to make it look great.

Bootstrap 3.1: Components (coming soon)
In this course you’ll learn about creating some different input elements, page navigation, emphasizing content in subtle ways with labels and badges, or in big ways with jumbotrons. You’ll also check out how you can visually separate content from its surroundings — both text-based content in wells, panels and alerts, and images in thumbnails.

Bootstrap 3.1: JavaScript (coming soon)
In this course, you’ll see that Bootstrap comes loaded with a ton of great JavaScript plugins to help you create powerful and engaging sites for customers and users. You’ll learn how to capture users’ attention with modal dialogs and create an auto-updating navigation element that remains fixed in the browser window as you scroll through your site.  You’ll also learn how to add some interactive elements to your site as we show and hide content dynamically using the tab and collapse plugins, and add some additional contextual content to our users in the form of tool-tips ad popovers.

One last item of note…yes Bootstrap 3.2 has just been released, but have no fear. All topics in these courses will still apply to Bootstrap 3.2.

About the Author

BrianBlogpicBrian Ewoldt is the Project Manager for LearnNowOnline. Brian joined the team in 2008 after 13 years of working for the computer gaming industry as a producer/project manager. Brian is responsible for all production of courses published by LearnNowOnline. In his spare time, Brian enjoys being with his family, watching many forms of racing, racing online, and racing Go-Karts.

Be Sociable, Share!

Watch “Getting Started with AngularJS”

GettingStartedwithAngularJSwJC

This week expert John Culviner presented the webinar “Getting Started with AngularJS.” John covered how AngularJS can be used to create interactive web pages, and how it makes this process quicker and easier than most JavaScript frameworks. He presented some very valuable material during the 90-minute presentation and Q&A session. If you missed this event, you can watch the replay now. In fact, replays of all of our past events are now available in the LearnNowOnline webinar archive – be sure to check it out.

Our next webinar is Wednesday, July 23rd and will be presented by Doug Ortiz. Doug will be demonstrating the power of Power Pivot Dashboards and how you can add graphics to your company’s data so your audience can more easily see what all that data means. Register now

About the Author

BrianBlogpicBrian Ewoldt is the Project Manager for LearnNowOnline. Brian joined the team in 2008 after 13 years of working for the computer gaming industry as a producer/project manager. Brian is responsible for all production of courses published by LearnNowOnline. In his spare time, Brian enjoys being with his family, watching many forms of racing, racing online, and racing Go-Karts.

Be Sociable, Share!