100 avsnitt • Längd: 40 min • Oregelbundet
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! These Java tutorials are presented in plain English and explain all of the important Java programming concepts needed to excel in the field of software.
The podcast How to Program with Java Podcast is created by Trevor Page: Java Guru | Programmer | Teacher. The podcast and the artwork on this page are embedded on this page using the public podcast feed (RSS).
Episode Summary
In this episode, Trevor Page delves into the challenges aspiring software developers face when trying to land their first job. Drawing from his 15 years of programming experience and 12 years of teaching, Trevor offers a unique perspective on the realities of breaking into the tech industry. He discusses the common misconceptions new developers have, the difficulties of finding a job, and why having coding skills alone isn't enough to secure a position.
Trevor also introduces Coders Campus's new Guaranteed Internship Program, designed to provide real-world coding experience in a team environment while working on software projects for actual customers. This innovative program offers a profit-sharing model, allowing participants to earn money based on the success of the projects they work on. He shares insights into the structure of the internship, the roles participants will play, and the long-term benefits of gaining practical experience.
Key Topics Discussed:
Call to Action: If you're ready to take your coding career to the next level and join a program that offers real-world experience, visit coderscampus.com/bootcamp to apply for the next cohort. For those interested in the upcoming certification program, email Trevor directly at [email protected].
Quotes:
Links and Resources:
Summary
To reach out and connect with Alex, here's her LinkedIn profile: https://www.linkedin.com/in/alex-mamolo-2a1b57222/
In this episode, Trevor interviews Alex, who shares her journey from being a musician to transitioning into the tech industry. Alex talks about her background in music, playing drums in a band, and the challenges she faced in her musical career. She then discusses her experience working in data entry and her decision to pursue a career in technology. Alex explains how she discovered coding and her decision to join a coding bootcamp. She shares her struggles with understanding methods and functions and the support she received from her instructors. Alex emphasizes the importance of understanding the fundamentals of coding and how it has impacted her personal growth and progress. In this conversation, Alex discusses her experience in the coding bootcamp and the challenges she faced. She shares how she overcame those challenges and gained confidence in her coding abilities. The conversation also explores the difficulty curve in learning programming and the importance of perseverance. Alex talks about her job search process and the need for relentless follow-up. The conversation concludes with an invitation for listeners to connect with Alex and seek advice on their own coding journey.
Takeaways
Chapters
00:00 Introduction and Background
02:09 Interest in Technology and Music
05:31 Transition from Music to Data Entry
06:26 Exploring Tech Education Options
08:23 Choosing a Coding Bootcamp
09:52 Learning HTML and CSS
12:43 Struggles with Methods and Functions
15:35 Support and Guidance from Instructors
23:00 Importance of Understanding Fundamentals
24:25 Personal Growth and Progress
24:54 Overcoming Challenges in the Bootcamp
26:15 The Difficulty Curve in Learning Programming
27:44 Struggling on the Job vs. in the Bootcamp
29:38 The Excitement and Satisfaction of Coding
31:04 Job Search Process and Challenges
32:33 The Importance of Relentless Follow-up
34:01 Conversion Rate in Job Applications
36:55 Balancing Time Between Assignments and Job Search
38:23 Avoiding the Comfort Zone and Focusing on Networking
39:20 Revisiting Assignments to Improve Skills
40:46 Alex's Strong Understanding of Programming Terminology
42:35 Follow-up and Feedback in the Job Search Process
45:29 Proving Interest and Following Up After Rejection
47:22 Closing Remarks and Invitation to Connect
To reach out and connect with Tony: https://www.linkedin.com/in/edmonds-tony/
Takeaways - Negotiate your salary and consider the market conditions in your area. - Remote work opportunities are available, but starting with a hybrid role can provide valuable experience. - Working in an office and collaborating with experienced developers can accelerate your learning and career growth. - Having mentors and leveraging their expertise can help you progress quickly in your career. - Bootcamp graduates can pivot to different roles within a company and apply their skills in various domains. - Don't be discouraged by negative news and focus on your own journey and progress. - When starting a new job, be resourceful, spend time learning on your own, and ask for help when needed.
Chapters 00:00 Introduction and Background 02:23 Becoming a Digital Nomad 03:42 Fascination with Latin America and the Digital Nomad Lifestyle 06:33 Choosing the University Path 09:20 Transitioning to a Bootcamp 13:03 The Benefits and Limitations of University Education 20:05 The Job Search Process 23:43 The Importance of a Structured Job Search 28:03 Seeking Remote Job Opportunities 30:50 The Interview Process 31:48 Job Offer and Salary 33:15 Remote Work Opportunities 34:39 The Value of Working in an Office 35:03 Transitioning to Remote Work 37:24 The Importance of Mentors 38:18 Opportunities for Development within a Company 39:39 Pivoting to Different Roles 40:36 Enjoying the Data Role 41:32 The Reality of Getting a Job 42:31 The Influence of News and Media 44:30 Advice for Bootcamp Students 48:16 Tony's Advice for Himself 49:41 Tony's Final Project 53:52 Connecting with Tony on LinkedIn 54:22 Questions for Trevor
This thought-provoking video delves deep into a highly controversial topic: Are coding jobs disappearing? As we stand on the brink of unprecedented technological advancements, what does the future hold for coders and software engineers? Are we facing a coding apocalypse or is it just a myth?
Join us as we expose the untold truths behind the glitz and glam of the coding industry. We uncover it all from the intricate world of coding boot camps to the journey of coding novices transforming into graduates.
This is not just about learning any specific language, it's about understanding the implications of these skills in a rapidly evolving job market.
If you've ever asked yourself, "Am I just wasting my time learning to code?" this episode is for you.
Interested in starting your coding career?
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 9 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this episode we'll talk to Ethan, who is a recent graduate from the Coders Campus Bootcamp and managed to land a job within two months of starting the search.
Ethan and I talk about how, from a young age, he was guided away from learning technology because his teachers didn't feel he was cut out for the field.
In this interview we'll learn how wrong his teachers were and how Ethan was able to complete the coding bootcamp while also raising a small child with a pregnant wife and working a full-time job.
If you'd like to get in touch with Ethan, feel free to add him via LinkedIn here
Interested in starting your coding career?
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation.
It is a 6 to 9 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world. You can learn more via https://www.coderscampus.com/bootcamp
If you'd like to get in touch with Dustin, feel free to add him via LinkedIn here Interested in starting your coding career? I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world. You can learn more via https://www.coderscampus.com/bootcamp
In this episode we'll talk to Yasiin, who is a graduate from the Coders Campus Bootcamp. We dive into his story about how he started his coding journey as a Restaurant Manager, and went through two Coding Bootcamp before landing his first job. Yasiin shares a ton of great insights and tips for beginner coders who are hoping to get a job, so be sure to listen to the whole episode. Interested in starting your coding career? I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world. You can learn more via https://www.coderscampus.com/bootcamp
In this episode we'll talk about how to sort a stream of objects using the ".sorted()" function. We'll also talk about the differences between using a stream to sort vs using something like Collections.sort(), which has been available since Java v1.2 Interested in starting your coding career? I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world. You can learn more via https://www.coderscampus.com/bootcamp
You can join the Bootcamp via coderscampus.com/beginner
The best part is that it's about 85% less expensive than our main Bootcamp, and you'll still get all the great features and support you need to actual master the fundamentals of coding.
So check out our "Core Java Coding Bootcamp" today if you've always wanted to become a professional coder.
GitHub link here: https://github.com/tp02ga/FunWithStreams
In this episode we'll talk about:
In this episode we'll talk about 7 common Functional Interfaces that Java provides to us. UnaryOperator, BinaryOperator, Supplier, Consumer, Function, Predicate and BiPredicate Interested in starting your coding career? I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world. You can learn more via https://www.coderscampus.com/bootcamp
In this episode we'll talk about a super useful feature that was introduced back in Java version 8, known as Lambdas.
The Lambda feature is something you didn't know you desperately wanted or needed until you understood it.
The Lambda syntax allows you to write much cleaner and more readable code, while also empowering you to get more done with less code.
In this lecture, I'll be referring to some code that you can download via this github repository.
Interested in starting your coding career?I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this episode we'll talk about the 3rd key to getting a job as a coder...
How do you stand out from the crowd?
You put in all this effort to learn how to code. You likely have a plan, you follow a curriculum, you seek help and learn. You practice and you struggle... but what about when it comes time to find a job?
Do you have a plan for finding a job other than: "I'll apply to a bunch of openings and make sure my resume is great!"
Most people don't.
Let's talk about that.
Interested in starting your coding career?I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this episode we'll talk about 3 big mistakes that aspiring coders make when trying to land their very first job.
Getting your first job as a coder will be the most difficult challenge when trying to launch your professional career, make sure you avoid these three mistakes:
Interested in starting your coding career?
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this episode we'll talk about 3 common issues I see that beginner programmers struggling with most when starting the journey of learning to code.
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
You can download a copy of my resume via https://coderscampus.com/resume
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In today's episode, we'll dive into all the different facets and disciplines that exist in the world of Java programming.
You'll learn about the "5 Pillars of Java Programming" and how they apply to the different types of jobs.
You'll also get a high level overview of the types of salaries you can expect to see in the world of Java programming.
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In today's podcast I'd like to share my knowledge on how to get that coveted entry-level / junior programmer position.
You'll hear about my take on things like: - certifications - projects - living situations - how best to apply to jobs - more sure-fire ways to land the job you want
Bootcamp Details: https://www.coderscampus.com/bootcamp
Curriculum: https://www.coderscampus.com/syllabus
Applications: https://www.coderscampus.com/apply
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
Show notes for this episode are available via http://coderscampus.com/40
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
Show notes for this episode are available via http://coderscampus.com/39
Don't forget to check out our current "deal" for coders campus available via http://coderscampus.com/deal
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
Show notes for this episode are available via http://coderscampus.com/38
Don't forget to check out our current "deal" for coders campus available via http://coderscampus.com/deal
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
Show notes for this episode are available via http://coderscampus.com/37
Don't forget to check out our current "deal" for coders campus available via http://coderscampus.com/deal
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
Show notes for this episode are available via http://coderscampus.com/36
Don't forget to check out our current "deal" for coders campus available via http://coderscampus.com/deal
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
Show notes for this episode are available via http://coderscampus.com/35
Don't forget to check out our current "deal" for coders campus available via http://coderscampus.com/deal
Show notes for this episode are available via http://coderscampus.com/34
Don't forget to check out our current "deal" for coders campus available via http://coderscampus.com/deal
Show notes for this episode are available via http://coderscampus.com/33
Don't forget to check out our current "deal" for coders campus available via http://coderscampus.com/deal
Show notes for this episode are available via http://coderscampus.com/32
Don't forget to check out our current "deal" for coders campus available via http://coderscampus.com/deal
Show notes for this episode are available via http://coderscampus.com/31
Don't forget to check out our current "deal" for coders campus available via http://coderscampus.com/deal
Show notes are available via http://coderscampus.com/30
If you're interested in grabbing the new "Java Interview Prep Course" you can get a significant discount by joining the "pre-sale" version of the course before Dec. 2017.
This course will be a work in progress until it's expected launch date in Dec 2017. You'll receive dripped access to the new lessons as they are recorded.
If interested in receiving a discount of 50% or higher on this Java interview prep course, please visit https://trevorpage.lpages.co/java-interview-prep-course
Show notes for this episode are available via http://coderscampus.com/29
Don't forget to check out our current "deal" for coders campus available via http://coderscampus.com/deal
Show notes for this episode can be found here: http://coderscampus.com/28
If you're interested in supporting the show, please leave a rating and review via http://coderscampus.com/itunes
And if you are interested in taking your Java skills to the next level, consider taking advantage of our lifetime access deal here: http://coderscampus.com/lifetime
Show notes are available via http://coderscampus.com/27
Show notes for this episode can be found via http://coderscampus.com/26
Also don't forget to check out our lifetime membership to Coders Campus and get access to 130+ hours of video tutorial content on full-stack Java. Click here to learn more: http://coderscampus.com/lifetime
Checkout the show notes of today's episode via http://coderscampus.com/25
Also, I've started a brand new "lifetime membership" deal for Coders Campus, you can check out the details of this new offer via http://coderscampus.com/lifetime
Show notes for this episode are available via http://coderscampus.com/23
Also, don't forget about the sweet deal I have over at http://coderscampus.com/deal - you help support the show when you join our community of coders.
You can sign up for early access to John's new course (plus a surprise bonus from me) via http://coderscampus.com/spring5
Don't forget to check out this sweet deal on a Coders Campus via http://coderscampus.com/deal
You'll get access to over 128 hours of video tutorial content that will teach you how to become a full-stack programmer (including an entire course on JavaScript too!)
Don't forget to check out the special deal that we're putting on for our podcast listeners via http://coderscampus.com/deal
You can subscribe to the new show via this link: http://coderscampus.com/itunes
There will be no more episodes of the How to Program with Java podcast (this podcast), all new episodes will be shared via the Coders Campus Podcast.
So please go subscribe to that one now :)
I'm happy to announce that dropping on July 1st, 2016 - a brand new podcast will be hitting the digital shelves!
Although the How to Program with Java podcast will be coming to an end, I'll be launching a brand new series dedicated to teaching you how to become a full-stack Java web application programmer.
This new podcast will be called the "Coders Campus Podcast", so be sure to search for it in iTunes or wherever you download your podcasts :)
Okay so you know how to add some styles and CSS to your webpage, that’s a great start, but what about deciding where all your text should go? What if you wanted to setup your website so that you have some text on the left hand side, and some images along the right?
This is where design and layout comes into play.
The DIV tagProbably one of the most powerful tools at your disposal for designing your webpage is the div tag. What this allows you to do is essentially outline “blocks” or “areas” for the content on your webpage. You can think if these areas like boundaries for your content.
Cascading Style Sheets are a bit of a tricky beast in HTML. Given this fact, I wanted to dedicate an entire section to just this topic.
Let’s start with the basics, shall we?
What are Cascading Style Sheets (CSS)?Well, we’ve already talked a little bit about HTML formatting tags (like ), but that kind of formatting is embedded within your HTML code itself. What I mean by that is while you are typing out the HTML code for your page, you’ll actually have to type in in order to apply styles to some of your HTML. What if you don’t want to clutter your HTML with style code, but you still want to apply styles to your website… well that’s where CSS comes in.
Cascading Style Sheets actually exist as a completely separate file to your HTML code.
In this HTML tutorial I would like to introduce two concepts to you:
Currently as of the date this was published, web browsers are (mostly) supporting HTML 5. HTML has gone through several versions and variations over it’s lifetime, and because of this it’s highly suggested that you include something called a DOCTYPE. The purpose of a DOCTYPE is to tell the web browsers what version of HTML you are using on any given webpage. The benefit of telling the web-browser what version of HTML you are using is that you save it from having to “guess”, which can often lead to strange behavior.
I’m so ridiculously excited to be introducing a whole new aspect of programming. Over the next few months I will be posting new articles on the topics of HTML, Javascript and jQuery. These are all technologies that you can use to create your very own interactive website. The really cool thing about building websites, is that you can leverage your existing knowledge of Java to create ever MORE powerful websites. But let’s not get ahead of ourselves, for now we’ll focus first on HTML, then we’ll move into Javascript/jQuery. But enough big picture talk, let’s get into our introduction to html shall we?
An Introduction to HTML…
HTML stands for HyperText Markup Language, and all this really means is that HTML is not a programming language, but rather just a set of rules for structuring your text. This means that if you type out certain words in a particular way, you can create a website! Piece of cake right? For the most part, YES, it is a piece of cake
The presentation layer is one of the three main layers in object-oriented programming.
The three main layers include:
Now, these three layers are typically related to enterprise web applications. It’s a design pattern used to help separate your code out in three distinct areas that (if need be) can easily be switched out with another programming language or technology.
So if you keep all of your presentation layer code in one area of your application, switching presentation layer technologies shouldn’t be too difficult.
Same rules apply to the business and data layers. If you separated your code out properly, switching databases shouldn’t be too big of an issue.
Having said that, we’ll be focusing on the presentation layer.
The four big players (in terms of technology) in the presentation layer are as follows:
In our last Hibernate lesson, you learned how to fix duplicate data from hibernate queries.
In this lesson we’re going to focus on some of theaggregate functions that can be used with Hibernate, and of course that means diving into theGroup By clause.
What’s important to note is that Hibernate doesn’t ever refer to it as group by, instead they use the term projections.
So, armed with this knowledge, let’s jump into the lesson!
Grouping Data with HibernateIn our examples, I’m going to show you how to create a query with hibernate that will group your data in some manner.
When we build our query, we will be focusing on using Hibernate’s Criteria queries, which allows for a nice way to build queries without having to know any SQL.
First, let’s start off with an example that we will build on.
This problem was the bane of my existence when I first started using Hibernate because I had no idea where the problem was coming from.
If you’re executing a query and finding that you have a bunch of duplicate records and haven’t a clue why, then you’re in the right place.
You see the problem is typically caused by having left joins (or optional joins) in your objects. When you have a base object, like say User and it joins to another table/object in an optional One-to-Many or optional Many-to-Many format, then you may get duplicates.
Consider this scenario… A User objects joins to the LoginHistory object, which keeps track of all the times a particularUser has logged into the system. And let’s say our user has logged in many times. You’ll have a situation where you have many records in the LoginHistory table.
So what happens when you run a query that joins to the LoginHistory table? Well it will return as many rows as there are entries for that User in the LoginHistory table.
So because of this, Hibernate doesn’t massage the data for you, it just returns exactly what it got from the database. The ball is in your court to tell Hibernate what to do with records it has retrieved.
There are two solutions to this problem:
Now it’s time to dive into the nitty gritty of Hibernate’s mysterious inner workings.
I’m by no means an expert in Hibernate, but I do use it almost every day for my own projects, so I do know a thing or two about how it works.
One topic that had me scratching my head for ages was the Hibernate life cycle. What I mean by the life cycle is the way Hibernate interacts with Java objects at certain points in the existence of said Java objects.
Let’s start from the beginning…
What the heck is a Hibernate Life Cycle?You see, Hibernate is picky about your Java objects. Hibernate prefers your objects to be in a certain “state”, known as the persistent state… this persistent state is one of four different states that exist inside of the hibernate persistence life cycle.
Once you have a firm grasp of the different states that an object can be in (as it pertains to Hibernate) you’ll be well on your way to mastering the Hibernate framework.
So let’s get this Hibernate persistence life cycle lesson started shall we?
Continue reading via: http://howtoprogramwithjava.com/session58
Great question! Hibernate is a very handy framework for removing your need to fully understand SQL, but it will force you to understand things such as joins.
Joining two tables in SQL is the foundation of a relational database, as joins allow you to actually define relationships between tables (objects).
Having said that, relationships are important to understand when talking about fetch types in Hibernate. This is the case because whenever you define a relationship in Hibernate, you’ll also need to define the fetch type. The fetch type essentially decides whether or not to load all of the relationships of a particular object/table as soon as the object/table is initially fetched.
For more information please see the show notes via http://howtoprogramwithjava.com/session57
The Many-to-Many relationship can be best described by example.
The example we’re going to use is that of the relationship between an Author and a Book.
Authors publish Books, and Books have Authors. Any one Author can publish many Books, and any one Book can be published by many Authors, so this is why it is a many to many relationship.
Other examples of the many to many relationship are Students to Courses and Employees to Projects.
Let’s take a look at how the unidirectional many-to-many relationship is created using Hibernate... for more info please visit http://howtoprogramwithjava.com/session56
Since you’ve already learned about the ins and outs of how unidirectional one-to-many and bidirectional one-to-many relationships work, it’s time to learn about the One-to-One relationships.
We will start things off with the unidirectional One-to-One relationship and how it’s set up in Hibernate.
First thing is first, you need to understand how a One-to-One relationship is actually set up in a database. Once you understand that the child table declares the parent’s primary key as the child’s primary key, then we can get moving with the Hibernate stuff!
For this example, we are going to use the One-to-One relationship between an Employee and their Address. TheAddress table will be set up as follows:
For more information, please read the show notes via http://howtoprogramwithjava.com/session55
Since we’ve already learned about the unidirectional @ManyToOne relationship, we can now move on to talking about what a bidirectional relationship is like, when using Hibernate. The term “bidirectional” literally means “functioning in two directions”, which is the concept that we will apply in our relationships between two Java objects. When we have a bidirectional relationship between objects, it means that we are able to access Object A from Object B, and Object B from Object A. We can apply this logic to our real world coding example that we saw in the last post. The example we will use is the relationship between an Employer and an Employee. Previously, we only defined a unidirectional relationship, so we could only access the Employer from the Employee object and not vice-versa. Now let’s take a look at how to transform our existing unidirectional relationship into a bidirectional one.
In the past we have learned about database relationships, specifically the One-to-Many as well as the Many-to-Many and One-to-One and that was all good, great and grand…
But now I want to talk about how to create those same relationships inside of Hibernate.
Specifically, I want to focus on the One-to-Many relationship in Hibernate and how we go about mapping it out in our Java objects.
But before we do, a word on unidirectional and bidirectional relationships.
Unidirectional vs BidirectionalIn Hibernate, it’s possible to map all three relationships that are available in a standard database, these include:
But what Hibernate also includes is the ability to make EACH of those relationships either unidirectional or bidirectional.
This means that we can have a unidirectional One-to-One and a bidirectional One-to-One mapping, as well as a unidirectional One-to-Many and a bidirectional One-to-Many, as well as a unidirectional Many-to-Many and a bidirectional Many-to-Many relationship.
That’s a lot of relationships!
So what exactly are unidirectional and bidirectional relationships?
Learn more on the show notes page via http://howtoprogramwithjava.com/session53
Data Access Objects (or DAOs for short) are used as a direct line of connection and communication with our database. DAOs are used when the actual CRUD (CRUD = Create, Read, Update, Delete) operations are needed and invoked in our Java code. These data access objects also represent the “data layer” of our application.
These objects are still just plain old Java objects that incorporate the use of some Hibernate annotations to give them the functionality we need from them. Again, that functionality being the communication with the database.
Also, believe it or not, the concept of creating a file specifically for accessing the database is a design pattern. It’s called the Data Access Object Pattern and you can read more about it from this nice short Wiki article.
What Hibernate Annotations Should We Use?Okay, so now that you’re somewhat familiar with DAOs, it’s time to learn how to integrate these plain old Java objects with our Hibernate framework (so they actually do the work we need them to do).
There are two main annotations that you need to be familiar with:
To learn more, visit our show notes page via http://howtoprogramwithjava.com/session52
The focus of this podcast / blog post is to teach you how to create the connection between your Java objects and the SQL Database tables. Remember, the whole point of the Hibernate framework is for you to be able to write Java code that allows you to communicate with your database.
When I say that the goal is to communicate with your database, what I mean is:
What we’re going to be tackling in this post will the step #1, how to get Hibernate to create our tables for us.
What is a Persistence Framework?
As the name implies, it has something to do with persisting things... this means that we're still talking about databases. But what is it that we are persisting with this framework?
Objects (of course)
A persistence framework is something we use in Java to bridge the gap between Java and SQL.
Hopefully we've gone through all of my previous tutorials and have learned a thing or two about Java and SQL. But one thing I haven't taught you yet, is how to put your knowledge of SQL into Java.
That's what I'll be teaching you throughout these Hibernate (persistence framework) tutorials.
And if you haven't guessed it already, Hibernate is a persistence framework that you can use in Java. It's what allows you to write Java code (staying true to Object Oriented programming practices) and yet still be able to communicate with your database. Cool eh?
For more information on this, check out the show notes page via: howtoprogramwithjava.com/session50
Now that you’ve learned about SQL Joins, aggregate functionsand the group by keyword, it’s time we moved on to our final topic in our SQL tutorial series. Today you’ll be learning all about SQL Subqueries, how to use them and when you should use a SQL subquery.
So, what is a subquery?First and foremost, let’s get the jargon out of the way. A subquery can also be referred to as a nested query. It’s just like having a nested if statement in your Java code. Essentially what you’re doing with a subquery is you are constructing a regular old query (select statement) which could be run all by itself if you wanted to, but instead of running it all by itself, you’re jamming it into another query (select statement) to give you more specific (filtered) results.
What’s very important to note here is that the SQL subquery can almost always be re-written as a join with a whereclause attached to it.
More info on this via http://howtoprogramwithjava.com/session49
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
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:
Okay, great! So now we know what the names of these functions are, now let’s see some examples of them in use!
There are three categories of joins that you can make use of in SQL:
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
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
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
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 RelationshipThe 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.
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:
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.
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:
This is the at the heart of all databases and SQL. A database essentially carries out these four operations over and over again for the duration of its existence.
In this podcast, I talk about these four database operations in detail and the actual syntax that is used in a flavour of SQL known as MySQL.
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:
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.
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?
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.
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.
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.
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.
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.
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!
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.
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:
Plenty to learn about, and plenty to get excited about!
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.
Knowing how to program with Java is only some of the battle when it comes to developing software, the other major part of the battle is knowing HOW to distribute the software. There are entire schools of thought that surround the ways that you can release software, but in this podcast episode we will focus on two methodologies.
The software development life-cycle is the broad term that defines methodologies like:
Have a listen, get informed and happy learning!
Keeping on our theme of becoming a success story with programming as a self-taught programmer, I interview a successful self-taught programmer by the name of John Sextro. As a seasoned programmer and agile coach with no degrees or diplomas, John made it to 'the big show' by impressing one of the gatekeepers of that coveted 'entry level programmer' position. Find out how he managed to kick start his career in today's interview.
Landing a job as a self-taught programmer is not impossible, and I will have an in-depth conversation about why this is the case. I will talk about strategies like creating your own software product based on your own interests, then slapping that on your resume and impressing potential employers. Finding programming contracts and getting paid to learn how to program and building up your marketable experience. I will also cover how to meet people and get interviews ON THE SPOT so you can land a job and get that all important real world working experience! Have a listen and take action!
Learn all about one of the four major principles of Object Oriented Programming (encapsulation) as well as the "final" keyword. In this episode I also dive into the popular topic of Java Certification. Learn what certifications you can get, what you should do to prepare, as well as what materials I'd suggest picking up to give yourself the best chance of success!
In this session I will cover some additional Java interview questions that you should be able to answer. I also cover some general tips that you should keep in mind when being interviewed (as it's not just these questions you'll need to be able to answer if you want to land the job).
This is part I of a series of episodes dedicated to common questions that are asked in entry level Java interview situations. The questions covered in this episode are some basic questions that I uncovered across the internet (and there are even questions I've asked in an actual interview situation myself). Enjoy!
In this episode you'll hear what mocking is all about and how it can be used to help you in your unit testing journey. Mocking is all about testing chunks of code in solutide, without having any dependecies on other Objects (as this would sully your unit test).
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this episode...
This is a very important topic of discussion, as it's probably the most important activity you can participate in as a software engineer. I'm absolutely convinced that you can save yourself and your company truck loads of money if you learned how to unit test your code. So if you've never heard of this before, it's time to put on your thinking caps!
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this episode...
Trevor Page takes you through all the nail biting action that is casting in Java. This episode will teach you what casting is and why it's needed in Object Oriented Programming languages.
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this episode...
Trevor Page teaches you exactly how you would go about implementing a custom sorting algorithm for your Collections or Arrays. By default, Java has the methods "Collections.sort()" and "Arrays.sort()" to sort your Lists/Arrays for you... but what happens when you want to change the way these methods sort? Find out in this podcast!
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this episode...
Constructors are used to initialize Objects in Java. These are not mandatory to use, but anytime you've got an Object that maintains state, you should always think about properly initializing your Object. The constructor isn't limited to just initializing though, so have a listen and find out what you can do!
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this episode...
Did you know Java allows you to organize all of your files in folders for a "neat" programming environment? Well it does, so learn all about Java packages in this week's episode of the How to Program with Java podcast.
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this week's episode I will cover the topic of regular expressions in Java. This topic came as a request from a listener, so I was thrilled to record it for them.
You'll learn everything you need to know to get started with regular expressions, and I even leave you with an assignment for you to do at home! So let's get to it! Be sure to check out the show notes at http://howtoprogramwithjava.com/session16
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this episode of the How to Program with Java podcast, I will be covering the topic of Collections. What is a Collection in Java? Some popular examples are: List, Set and Map. These are all interfaces, so what are the most common implementations of these interfaces? You'll find out and much more!
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this week's episode of the How to Program with Java Podcast, we talk about the last important piece of Java Exceptions, and that is the "finally" block. Also, I'll touch on what a Stack is and how it relates to the StackTrace and to Exceptions! Exciting stuff people!
I'm now accepting students into an immersive programming Bootcamp where I guarantee you a job offer upon graduation. It is a 6 month, part-time, online Bootcamp that teaches you everything you need to know to get a job as a Java developer in the real-world.
You can learn more via https://www.coderscampus.com/bootcamp
In this episode You will learn what the Java Exception handling framework is and how it works with a few example scenarios. You'll understand why you would use something called a try/catch block of code and how it is used.
Show notes via howtoprogramwithjava.com/session13
En liten tjänst av I'm With Friends. Finns även på engelska.