Logo

    How to Program with Java Podcast

    Learn how to program using the Java programming language. This podcast will teach you step by step how to use the Java programming language to create your own applications or web applications!
    en100 Episodes

    People also ask

    What is the main theme of the podcast?
    Who are some of the popular guests the podcast?
    Were there any controversial topics discussed in the podcast?
    Were any current trending topics addressed in the podcast?
    What popular books were mentioned in the podcast?

    Episodes (100)

    SQL Group By

    SQL Group By

    After having talked about all the SQL Aggregate functions, there’s one more topic that goes hand in hand with what we’ve already learned… The group by keyword.

    This particular keyword allows us to take a bunch of data and mash it all together into matching groups and then perform aggregate functions on those groups (like sum and avg).

    You might ask yourself why you’d want to “mash together” a bunch of data. The answer to this is best explained with an example, but let me try to put it in regular words before we jump into our example. Grouping data together allows us to look at aggregate data in relation to unique piece of data (or rows), a typical use case would be to group all the matching data together so you can get a count of the number of occurrences of specific data. An example related to grouping and counting could be a presidential election, you’ll have all the votes in a database and you’ll want to group that data together to get the total votes for each unique candidate...

    For more info, check out the show notes via http://howtoprogramwithjava.com/session48

     

    SQL Aggregate Functions

    SQL Aggregate Functions

    In today’s podcast episode you’ll be learning all about the aggregate functions that exist in SQL.

    What the heck is an aggregate function? Well that’s what I’m going to try and teach you today, and I promise, it’s not a difficult concept to grasp. Just think of an aggregate function as a method that you’re calling that will process data in your database and return a value. Obviously the returned value will depend on which of the aggregate functions you choose to use.

    So that begs an obvious question, what are the aggregate functions that we can use in SQL? I’m glad you asked, here’s the ones that I use all the time in MySQL:

    • MAX
    • MIN
    • SUM
    • AVG
    • COUNT

    Okay, great! So now we know what the names of these functions are, now let’s see some examples of them in use!

    Database Joins

    Database Joins

    There are three categories of joins that you can make use of in SQL:

    •   Inner Join
    •   Outer Join
    •   Cross Join

     

    But before we dive into the categories of joins, we first need to have an understanding of what a join really is.

    Joins are used in SQL to bring together all the relevant data from multiple database tables.  Remember that we've broken data down into multiple tables and established relationships between the tables.

     

    ... More via show notes: http://howtoprogramwithjava.com/session46

    Enforcing Database Relationships Part II

    Enforcing Database Relationships Part II

    In this SQL tutorial episode/post we’re going to learn how to enforce our SQL relationships that we’ve already learned about. We’re going to be tackling the one-to-one and many-to-many relationships and we’re going to learn how to write the code to enforce these relationships in our database.

    As outlined in the podcast, we are going to be focusing on the many-to-many relationship with the author and bookexample. Remember that one author can publish many books, and one book can be written by many authors. This indicates a many-to-many relationship and I’m going to show you how to enforce that relationship in your database...

     

    Show notes available via http://howtoprogramwithjava.com/session45

    Creating Database Tables in MySQL

    Creating Database Tables in MySQL

    You’ve learned all about how to create sql queries to read, write, update and delete data… but you haven’t yet learned how to create the tables where you’ll be doing the reading, writing, updating and deleting.

    So that’s what today’s podcast is all about, be sure to click the play button above this to listen to the show and then follow along with the notes via http://howtoprogramwithjava.com/session44

    Database Relationships: Many-to-Many and One-to-One

    Database Relationships: Many-to-Many and One-to-One

    Show Notes available via: http://howtoprogramwithjava.com/session43

     

    In this post we will be expanding on the topic of database relationships and touch on two that are less common but just as useful.

    Many-to-Many Relationship

    The many-to-many database relationship is used when you are in the situation where the rows in the first table can map to multiple rows in the second table… and those rows in the second table can also map to multiple (different) rows in the first table.

     

    One-to-One Relationship

    A One-to-One relationship means that you have two tables that have a relationship, but that relationship only exists in such a way that any given row from Table A can have at most one matching row in Table B.

    Database Relationships – One to Many

    Database Relationships – One to Many

    We’ve talked about relational databases already, and we’ve learned why this type of database management really dovetails with the object oriented programming model. So now I want to dive into the specifics when it comes to relationships.

    What are the different types of relationships in SQL?

    There are three types of relationships you can have in SQL, they are:

    1. One-to-Many
    2. One-to-One
    3. Many-to-Many

    In this episode we are going to be focusing on the One-to-Many relationship as it’s the most commonly used in my opinion.

    Database Terminology - Relationships, Joins and Keys

    Database Terminology - Relationships, Joins and Keys

    Terminology

    It's the foundation when learning any new concepts.  In this episode of the "How to Program with Java Podcast" we will be talking about some new database terminology.

    One of the most important aspects of modern databases is the fact that they allow you to define relationships.

    Relationships between tables allow you to break data up into its individual "areas of interest".  But when you break the data up, you'll need to know how to put it back together.  This is accomplished using relationships, keys and joins.

    There's plenty to learn about these concepts and we will start by scratching the surface in this episode.

     

    Exciting Announcement

    As you'll hear in the first few minutes of this episode, I've recently had an epiphone!  

    I realized that there's no great communities dedicated to programmers.

    So I took it upon myself to create the very first community dedicated to programmers and the pursuit of knowledge and advancement of our common goals (to excel as programmers).  You'll learn lots about this community in the episode, so I won't go in to details here, but if you're interested in checking it out - please visit:

    http://coderscampus.com

     

    Intro to Databases and SQL

    Intro to Databases and SQL

    Ladies and gentlemen the time has come for you to start learning about Databases and SQL.

    In this episode I will talk about the very basics of databases and why it is they exist in the first place.  You'll learn things like:

    • What exactly is a Database, and what ulitimate purpose does it serve?
    • Why are modern databases referred to as relational databases?
    • What a database does, day in and day out, it's sole purpose in life is essentially CRUD!
    • How does SQL fit into the database equation
    • Why it was that Trevor failed his first database course in university!  For shame!

    Learning and understanding databases is more is less a required skill in these modern days of programming, and at the very least, having knowledge about databases will give you a leg up on any competition.  So pay attention boys and girls, and strap on your thinking caps, because this ride is getting started.

    Let's talk AJAX - It's not just for cleaning anymore!

    Let's talk AJAX - It's not just for cleaning anymore!

    AJAX (Asynchronous Javascript and XML) is a techonology used to create Rich Internet Applications (RIA).  

    If you're asking "what the heck does that mean!?"  You're in the right place

    In this podcast episode we will talk about the uses for AJAX and how it can lead to a much nicer web browsing experience for your Java web applications.

    What else will you learn about in this episode?

    • The difference between an HttpRequest and an XMLHttpRequest
    • Why it's annoying when your website has to refresh every time you submit a form
    • The workflow behind how websites like Google Finance or live sports scores work
    • What JavaScript frameworks make dealing with AJAX easier
    • Why AJAX isn't really AJAX anymore (it's more like AJAJ, but that doesn't roll off the tongue!)

     

    Intro to Algorithms and Big-O Notation

    Intro to Algorithms and Big-O Notation

    An algorithm is essentially a well defined set of instructions that get carried out by a computer in an automated fashion to solve a problem.  A good example of this is to say "How would you tell a computer to figure out which of the 5 balls I've given to you is the heaviest (or lightest)".  In order to solve this "problem", you'll need to define a set of steps for the computer to carry out in order to reach a conclusion and solve the problem.

    Algorithms are very common in programming, as you are constantly trying to tell the computer how to solve problems in a step by step manner.

    The Big-O Notation is the way we determine how fast any given algorithm is when put through its paces.  

    Consider this scenario: You are typing a search term into Google like "How to Program with Java" or "Java Video Tutorials", you hit search, and you need to wait about 30 seconds before all of the results are on the screen and ready to go...  Would you still use Google?  Or would you start shopping around with other search engines to find one that is faster?  My guess is you'd start shopping around.

    Speed is everything these days, and building slow software is infuriating to users even if they aren't even paying for the software.

    Spring Security

    Spring Security

    Ever wondered how you could properly restrict access to certain parts of your web application?  

    Do you have an application that has a user registration page and a user login page?

    Spring Security is the answer if you have a web application created with the Spring Framework!

    Spring Security will restrict access to any URLs that point to your web application based on your custom configuration.

    Learn how in this week's How to Program with Java podcast.

    Data Binding with Spring Framework

    Data Binding with Spring Framework

    So, the Spring framework is a wonderful help for programmers, but sometimes it needs a bit of help.  It does a good job of trying to match fields on a webpage to Java objects (aka Java Beans), but sometimes when the "mapping" is complex, Spring needs our help.

    In this episode I will explain exactly how you can go about something known as "custom binding".  This process allows you to take any text from the presentation layer and convert/bind it to the appropriate Java object (Java Bean) on the server side.

    Spring Framework - Fun with Controllers

    Spring Framework - Fun with Controllers

    In our last episode I talked about controllers and how they are used in Spring.  In this episode I will be diving even further into Controllers in the Spring Framework and I will talk about the different parameters that can be passed into each method within each Controller.

    For example, there are HttpServletRequest objects, Model objects as well as @RequestParam and @ModelAttribute annotations that can be used within your Controller's methods.  The beauty of the Spring framework is that you can pick and choose which ones you want to include within any given method.

    Intro to the Spring Framework

    Intro to the Spring Framework

    Well, so far we've been focusing on a bunch of topics that align themselves around the Java programming language in general.  But now we're going to take things into a slightly new direction, we're going to be talking about the Spring Framework -- more specifically, Controllers and the Spring Framework.

    You see, my goal for this blog and podcast has been to not only teach you the Java programming language, but also teach you how you can build a web application.  So, this is the first step in that direction.

     

    Java Observer, Observable Design Pattern

    Java Observer, Observable Design Pattern

    Today let's talk about some design patterns, namely the Observer design pattern which can be used in Java.  Following the Oberser design pattern in Java is as easy as extending the Observable object and implementing the Observer interface for the appropriate objects.  

    Don't have a clue what the appropriate objects are?  Well then that's what this episode is all about!  You'll learn what the design pattern is, how it can be used, and how BIG companies have used it in their powerful frameworks.  Don't miss it!

    Interview w/ Self-Taught Programmer Troy Davis

    Interview w/ Self-Taught Programmer Troy Davis

    In this epsidoe of the How to Program with Java podcast, I talk with a self-taught programmer who has started up his own very successful marketing product based on his programming knowledge.  Troy was graduated with a degree that would have had him working as an audio engineer, but instead took a 180 and pursued his passion for tech and programming.  Now he's the big cheese (CTO) and living the dream.  Find out how he did it, and how YOU too can do it on this great podcast interview.

    The Agile Development Methodology

    The Agile Development Methodology

    If you've worked as a developer for a corporation, you've likely been exposed to the waterfall model of software development... If not, consider yourself lucky.  I've worked in this model before and it had its issues, but thankfully I was introduced to the Agile development methodology in the latter years of my career as an employee and I got a lot from the experience.  This podcast episode is dedicated to talking about the Agile methodology and recounts my experiences with it and how I went through my days using the Agile process.

    In the episode we will talk about:

    • Standup meetings
    • Backlog grooming
    • Story Planning
    • Review and Retrospectives
    • Story Cards and estimation points
    • Sticky Notes for Tasks
    • and more!

    Plenty to learn about, and plenty to get excited about!

    Alan Robbins - Self-taught Programmer Success Story

    Alan Robbins - Self-taught Programmer Success Story

    Alan Robbins is a self-taught programmer who dabbled with programming in college.  After not doing to well in the post-secondary system with respect to programming, he changed his major and graduated with a degree in Business Economics and a minor in Psychology and Philosophy.

    After graduating, he decided that he had a knack for programming (even if the "system" told him otherwise) so he ended up getting an entry level job as a programmer.  Since then, he's started up a couple of businesses and is now running a very successful software development company with 40 employees and "lives the dream" by working from home.