How to Contribute to Java Open Source Projects

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
now before we get started I want to give a huge shout out to node Maven for sponsoring this video If you're looking for a proxy provider I'd recommend checking out node Maven unlike other providers node Maven uses an advanced filtering algorithm to screen IPS in real time before assigning them uring you get best high quality addresses 95% of the time with node maven's hybrid proxy technology you're able to have longer session times and IPS that last up to 24 hours many times the industry average some more features include accessing um 5 plus million premium residential IPS you get the best with their filtering algorithm uh you can go super sticky with the 24 hours IP sessions you can do it all with the unlimited concr sessions can also use city-based targeting in 1400 plus cities across 150 plus countries and you can also get expert level of um support um online and it also has no major domain restrictions you can use it for various things such as account management data scraping online shopping SEO monitoring and much much more check out the links in the description below to get started hey everyone welcome back to my channel a new video and if you don't already know I've done a complete Java data algorithms boot cam so getting started with Java all the Java Concepts object R progamming and all sorts of things and recently I also did a video on Java development so we learned about uh spring Boot and Ivan and Maven and uh build tools and uh built a project using MySQL and some cloud services so I leave the link to that in the description below I highly recommend you to check it out if you want to contribute to Java development or just get started with Java development uh you can check out that tutorial that I did complete tutorial with the Hands-On project in the description below this video is a follow up on that like in that video I got a lot of comments that you can check out that say how do we get started with Java open source or some of the prerequisites and the reason I'm making this video is my open source Journey also started from java my first open source contribution and real world contributions were the Java open source uh project the Java kubernetes Java client by red hat middleware so let's get started just going to drive straight into it the first thing you need to learn is uh okay how do we get start with open source projects so I've done some videos on it already around uh how to find open source projects and the best practices and all sorts of things so you can check that out in the my experiences playlist but this video is specifically about Java open source so Point number one learn Java so Java Core Concepts the syntax of java how to get start with Java object pramming exception handling the collections framework you know generics uh these are some of the things that are used heavily uh Lambda expressions are there then there are stream apis for processing data in a functional and concise manner and also concurrency so study like multi-threading programming and synchronization in Java um you know it's used to build a concurrent and multi-threaded applications so that's Point number one and my Java DSA playlist will help you with this now Point number two Java libraries and Frameworks so you can learn about the Java standard Library famili familiarize yourself with the commonly used Java libraries for uh input output networking and much much more spring framework for which I did a video already you can check out the links in the description below for that spring framework in short it's used for building Enterprise level Java applications can learn about hibernate for object relational mapping and database interactions if you're interested in building desktop applications you can learn about Java FX and you can also understand unit testing Frameworks for writing and running tests in Java junit test NG so on and so forth also I I'd say a pro tip is like you can get started with testing if you're contributing to an open source project I started with Jun testing so it's um much less complicated than you know adding a new feature in a project right so that's Point number two now Point number three about about databases so learn about database connectivity so you can learn about how to connect Java applications to databases using the Java database connectivity so G so J DBC and you can explore like database management system Concepts dvms uh explore the database design and uh SQL for example for creating and curating databases that's Point number three point number four very popular field lot of options for you to contribute in open source here web development so you can learn about if the project is using it learn about Java servlets and JSP Java server Pages for web application development I'd say Don't just learn for the sake of learning it learn only if you get to apply it somewhere and also you can learn about we Frameworks like spring boot which I did a video already and uh you can learn about restful apis and things like that also familiarize familiar familiarize yourself with HTML CSS JavaScript and uh you know front end development a little bit okay that was Point number four point number five now I'm telling you know in one by one step you know all sorts of things so after watching this video you'll have a lot of points and a lot of action items Kunal told us so many points now we can get started with it so I'm giving you as much pointers and action items as I can point number five build tools and dependency management very important so Java open source projects that's how these are going to be built so many projects are going to use apachi Maven or gradal for managing Java projects so you can use build tools like that that and also understand how to learn how to handle dependency using tools like Apachi IV or the maven Central repository if you want to learn more about this you can watch the spring boot tutorial I did I've used me in that right Point number six also very important but really easy I think this is the easiest part learn Git Version Control System for this I've done a video already which has crossed a million views more than enough for you to get started number seven also easy uh it's uh integrated development environment and IDE that you can use for Java idea intell idea is a really popular one you can also use vs code or you can also use uh something like Eclipse but I'd recommend intelligent idea the free version you can try the community version all right Point number eight I'm just going I I don't have I don't know how many points I will tell you I'm just keep going so learn about API design and learn about the documentation so learn about how to design clean and efficient apis because that's what you'll be doing and also how to document your code and apis using tools like Java to and swag all right it's going to since you're going to be contributing to a real world open source project you'll find yourself working with cicd platforms so learn about cicd um right so understand how to build test and deploy that entire process it's pretty much about it uh there's so many tools Circle C Jen king um and um Travis GitHub actions so a lot of tools you can try that's Point number nine point number 10 security so because you're contributing to an open source projects is important to learn about the Java security best practices some of the common security vulnerabilities authentication and authorization mechanisms it's Point number 10 point number 11 design patterns so when you cont contributing to an open source project they will have some design patterns in standard so familiarize yourself with common design patterns for example like single turn Factory Observer and where where you can apply them in your code okay um Point number 12 performance optimization so how to optimize your Java applications for better performance I'd say learn about that point number 13 is unit testing in test driven development practice writing unit tests and consider adopting test driven development principles in your development workflow Point number 14 this will help you in setting up your project and also scaling it um so containerization and microservices learn about Docker orchestration with kubernetes and also the microservices architecture you can check out the links in the description like just check out my devops boot camp playlist that will help you in that now uh some more real world use cases can be cloud services so that can be5 how to deploy Java applications using some Cloud providers you can try that you'll get stuck somewhere so Point number 16 would be debugging and troubleshooting learn you know how to develop debugging skills to identify and fixed issues in your code because if you make a PR you get stuck somewhere people will request changes so you should be able to replicate those changes um what else 17 can be soft skills because you'll be contributing to open source so having good communication skills and collaboration skills is important Point number 18 um certifications maybe you can go for some s Java certifications like the Oracle certified Java developer or the spring certifications if you want to validate your skills it's not mandatory I don't have any certifications as such but if you want go for it so just remember Java is in a very versatile language and your learning path is going to depend on various type of like interest and your career goals or the type of project that you're going to be contributing to but uh that was basically how you can get started with Java development open source so I mentioned a lot of Point more than 15 so as a part of the next video like as a part of this um video to get the most value out of it I'd say Google is your best friend so all the points I have mentioned Google it you will find plenty of free learning opportunities and resources on YouTube and documentation in blogs if you just Google it so one by one research every point that I mentioned and you are going to be busy um yeah thanks a lot for watching if there's any specific video you want me to make you know just let me know that's the best way and uh the way you can do that is by commenting on this video and if you have any questions you can comment as well and like share and subscribe I'll see you in the next one have a great day
Info
Channel: Kunal Kushwaha
Views: 40,695
Rating: undefined out of 5
Keywords: open source, Google Summer of Code, faang
Id: sUGSNxYGqbk
Channel Id: undefined
Length: 10min 59sec (659 seconds)
Published: Tue Nov 21 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.