How to create PDF File in Java - iText Example

Hello guys, generating PDF files in today’s enterprise applications is quite common. Doing this with Java is not an easy task as Java does not gives default api’s to handle PDF files. No worries, iText jar is for you. Earlier, I have shared about iText vs Apache FOP, two of the most popular libraries to create PDF files and today, I will show you an example of how to create a PDF files using the iText library in Java. If you are not familiar,  iText is a free Java-PDF library that allows you to generate PDF files on the fly (dynamically). iText is an ideal library for developers looking to enhance web- and other applications with dynamic PDF document generation and/or manipulation.

10 Tips Improve Your Speed in Bash, and Linux Command Line

Hello guys, Have you ever amazed to see someone working very fast in UNIX, firing commands, and doing things quickly? Yes, I have noticed that a couple of times, and I have always inspired to learn from those superstar developers. In this article or tutorial or whatever you call it, I have dedicated to sharing some UNIX command practices I follow to work fast, quick, or efficiently in Linux. I work for the Financial services industry, and my work involves the development and support of online stock and futures trading applications in Electronic trading, Derivatives, etc. All our services run on Linux servers, so I need to work efficiently and quickly on the Linux machine, and that's how I have learned these productivity tips in Linux.

Top 5 Courses to learn Java FX in 2021 - Best of Lot

Hello guys, if you want to learn Java FX and looking for the best Java FX courses then you have come to the right place. Earlier, I have shared the best Java Programming programming courses and today, I am going to share with you the best online courses to learn Java FX from scratch. Java FX is the latest and greatest way for creating a GUI application in Java. There was a time when AWT and Swing was very popular for developing GUI based application in Java but slowly Java Swing lost that place to C#, which becomes the standard language for developing desktop GUI and AWS also lost the battle with Swing.

10 Tips to Improve Programming Skill and become a better Programmer

Many Java developers ask me how to become a better programmer? How do I improve my programming skills? Or I am good at Java but not so good on problem-solving ability etc. This is a reality, today's era is full of language expert than real programmers. It's easy to understand keywords, methods, and API of the Java programming language. Still, at the same time, it's challenging to solve practical problems, design reusable, and robust software and get the best of data structure and algorithm. I have often seen Java programmers are not doing so well when asked to design and code a solution in limited time, but at the same time, they are really good with Java concepts and all theory.

Top 10 Courses to Crack Java Programming Interviews in 2021 - Best of Lot

Hello guys, if you are preparing for Java interviews like for a core Java developer role in a big Investment bank like JP Morgan, Morgan Stanley, etc, or a Java web developer in service-based companies like Infosys, TCS, LuxSoft, Tech Mahindra, IBM, and Cognizant, and looking for some awesome courses and material, then you have come to the right place. Earlier, I have shared the best coding interview courses which focused on essential coding interview skills like Data Structure and Algorithms, SQL, Linux, etc.  While those are still very good to prepare for any coding interview including the Java developer role and you can use them to build your programming fundamentals. 

Top 10 IT Certifications for Java Developers in 2021

Hello guys, constant learning is part and parcel of being a programmer, and IT certification has a very important role in your career as an IT professional. There are many tangible and intangible benefits of certifications, first, they encourage you to learn more and become an expert in your fields, and second they provide recognition for your skill and knowledge. If you are a Java developer and wondering which IT certification you can do to take your career to the next level then you have come to the right place. In this article, I am going to share the best IT certifications for Java developers which include different areas like Java, Spring, Cloud, Linux, Project management, and others. You can choose the certification which aligns with your career goal.

Top 5 CompTIA Cloud+ Certification (CV0-002) Courses and Practices Tests in 2021 - Best of Lot

Hello guys, if you are preparing for the CompTIA Cloud+ (CV0-002) Certification exam and looking for the best online courses and practice tests to pass this exam then you have come to the right place. In the past, I have shared the best online courses to pass various CompTIA certifications like CompTIA A+, IT Fundamentals, Linux+, and Security+  exams and In this article, I am going to share the best CompTIA Cloud+ certification courses and practice tests to crack the CompTIA Cloud+ (CV0-002) Certification exam in 2021. These courses have been created by experts and trusted by thousands fo developer who has passed this in-demand exam and you can also join them to prepare better for this CompTIA certification. 

5 Projects You can do to learn iOS App Development

Hello guys, if you are learning iOS App development and looking for some project ideas to better learn the concepts and apply your existing knowledge then you have come to the right place. Earlier, I have shared the best iOS and Swift courses, and today, I am going to talk about 5 cool projects you can do to learn iOS app development and master several key concepts like UI, Core ML, Speech to ext, and other APIs. Since it's very common for people to get stuck while doing projects, I have also included guide courses, both free and paid which you can join to learn how to do these projects step by step. 

Top 6 Blockchain Online Courses and Certification for Beginners in 2021 - Best of Lot

Hello guys, if you are not leaving under the rock then you would have definitely heard about Blockchain and Cryptocurrencies. Blockchain is one of the most in-demand skills and there are not many people out there. If you are looking for Blockchain training courses and certification then you have come to the right place. In the past, I have shared free courses to learn Blockchain, and today, in this article, I am going to share the best Blockchain certifications and online courses to learn Blockchain programming from UdemyCoursera, and Pluralsight, and other websites. But, before that, let get a quick overview of what is Blockchain and why it's popular, and why you should learn Blockchain in 2021.

Does Udemy, Coursera, edX Course Certifications Helps in Job & Career?

While online courses provide an excellent platform for learning at low cost, at your schedule, and at your own pace, I often received questions from my readers about the worth of the certifications they offer. Many people asked me whether course completion certificates offered by Udemy, Coursera, edX, Educative, Udacity, or any such online platforms are worth any? The answer to this question is both Yes, and No because it totally depends upon what does worth mean for you?  If you are thinking that just completing a  Computer Science or Data Science course on Coursera and displaying a certificate on your resume or on LinkedIn will land you a Job than definitely, it's not worth it, but at the same time, these certifications can put your resume forward to many Recruiters looking for Data Scientist.

10 examples of grep command in UNIX and Linux

Hello guys, if you want to learn the grep command in Linux and looking for some awesome, hands-on, easy to use tutorial then you have come to the right place. Earlier, I have shared many examples based tutorials to learn essential Linux commands like find, lsof, curl, sed, and chmod command and in this article, I am going to share 10 examples of grep command in Linux. The grep command is one of the most frequently used UNIX command stands for "Global Regular Expression Print" along with find, chmod, and tar command in UNIX. grep command in Unix operating systems like Linux, Solaris, BSD, Ubuntu, or IBM AIX is used to search files for matching patterns.

Top 5 Courses to Learn Eclipse IDE for Java Programmers - Best of Lot

Hello guys, If you are in Java development then you may know that Eclipse is one of the most popular IDEs for Java development and millions of Java developers used it around the world. Since, IDEs like Eclipse, NetBeans, and IntelliJIDEA are an integral part of Java developer's life, it makes sense to spend some time learning your IDE like Eclipse and get productive with it. This will not only save a lot of your time during development, testing, and debugging, but it will also make you a better developer. It's said that a craftsman is as good as its tools and it's true for a programmer also. In general, expert developers have better tools and they know their tools better which often differentiate them from average programmers.

10 Examples of cURL command in UNIX and Linux

Hello guys, if you want to learn about the cURL command and looking for an awesome, hands-on tutorial then you have come to the right place. Earlier, I have shared many examples based tutorials to learn many essential Linux commands find, grep, lsof, and chmod command and in this article, I am going to share 10 examples of curl command in Linux. The curl is one of the essential commands to send HTTP requests from UNIX and Linux operating systems. curl command is part of the cURL package and it's not just useful to send HTTP requests but also allows you to transfer files using FTP and send mail using SMTP.

Top 5 Courses to learn Full Stack Development with Python in 2021 - Best of Lot

Hello guys, If you are a Python programmer and looking to become a full-stack developer using Python programming language then you have come to the right place. Earlier, I have shared the best python courses and In this article, I am going to share the 5 best online courses you can join to become a full-stack Python developer in 2021. There is a huge demand for full-stack developers and there are not many with Python Programming skills, which means there is a huge opportunity for full tack Python developers. 

Educative Best - 10 Free Python, Java, C++ and JavaScript Online Interactive Course for Beginners

Hello guys, if you are looking for text-based, interactive free courses to learn in-demand skills like Python, Java, C++, and JavaScript then you have come to the right place. Earlier, I have shared the best courses to learn Python, Java, C++, and JavaScript and today, I am going to share some awesome, free, online text-based interactive courses to learn Java, Python, C, C++, JavaScript, R, Scala, and Web Development from Educative. If you don't know, Educative is a new platform for learning online. Unlike traditional video course platforms like Udemy or Pluralsight, they provide Interactive Courses for Software Developers.

How to add new columns to an existing table in SQL Server database

Hello guys, adding a new column to an existing table with data is always tricky and if you don't pay enough due diligence then you risk of corrupting or deleting existing data. You need to know what data is there, how much data is there, to gauge how long your query is gonna take to complete in production. Also, you cannot add NOT NULL columns into an existing table if they are not empty and you don't have a default value specified. If you know SQL then you probably know that you can add columns to an existing table in SQL Server using the ALTER command. It not only allows you to add a column but to drop columns as well.

Top 5 Courses to learn Appium for Testing Android Apps - Best of Lot

Hello guys, if you want to learn the Appium tool for automation testing and looking for the best online courses then you have come to the right place. In the past, I have shared the best courses to learn Selenium and Android application development and in this article, I am going to share the best Appium courses for both beginners and experienced developers. These courses have been created by experts and trusted by many developers around the world and you can join them too to learn Appium from scratch as well as to improve your Appium skills if you are already using it without in-depth knowledge.

Database LEFT JOIN Example - How to Join Two Tables in a SQL query - LeetCode Solution

Hello guys, when it comes to combining two tables in SQL many programmers don't know that they can use the JOIN clause. In fact, JOIN is there to fetch data from multiple tables together. There are mainly two types of joins, INNER Join, and OUTER join. On Inner join, only those records are selected which has matching values in both tables, while in Outer join all records from one table are selected in addition to matching records from other tables. There are two kinds of Outer join in SQL, LEFT OUTER JOIN and RIGHT OUTER JOIN. Both are actually the same thing, which means you can get the same result by using either of the outer joins by just changing the position of a table from left to right.

Top 5 Courses to learn VI Editor or Vim for Beginners in Linux - Best of Lot

Hello guys, if you want to master the  VI editor or Vim and looking for the best online courses then you have come to the right place. Earlier, I have shared the best Linux courses and best shell scripting courses and today, I am going to share the best courses to learn VI editor. If you have worked in Linux, then you may know that VIM is one of the most useful and powerful text editor and every people working in a Linux environment should know about VIM. Also known as VI Editor, it is often touted as the go-to-editor for genius developers who make full use of Vim's capability for code navigation and do fancy things.

Udemy Courses vs Edureka vs LinkedIn Learning Review

Hello guys, if you are learning online and confused between different learning platforms like Udemy, Pluralsight, Edureka, LinkedIn Learning, Educative, etc then you have come to the right place. Earlier I have answered questions like Pluralsight vs. CodeCademy and Udemy vs. CodeCademy but never explained about Edureka vs. Udemy,  or LinkedIn Learning vs Udemy which many of my readers have been asking for a long time. Now, the wait is over as I will review Udemy, Edureka, and LinkedIn learning in this article. After going through the article, you will have enough information about strong areas of each platform and which online platform is suitable for your learning goals. 

Top 5 Courses to learn Tkinter and PyQT for Python GUI developers

Hello guys, if you want to learn Python for GUI development and looking for the best online courses to learn Tkinter and PyTQ, two of the most popular Python GUI development framework then you have come to the right place. Earlier, I have shared the free Python courses and today, I am going to talk about the best Tkinter and PyQT courses for GUI development using Python.  Two do not disagree that python has become nearly the most used programming language among the big companies and one of the most used fields is creating desktop applications.

Top 15 Java Multithreading, Concurrency Interview Questions Answers asked in Investment banks

Multi-threading and concurrency questions are an essential part of any Java interview. If you are going for any Java interview on any Investment bank like Barclays, Citibank, Morgan Stanley, etc for the Cash Equities Front Office Java Developer position, you can expect a lot of multi-threading interview questions on your way. Multi-threading and concurrency are favorite topics on Investment banking interviews,  especially on electronic trading development jobs and they grill candidate on many tricky java thread interview questions. They just want to ensure that the guy has a solid knowledge of multi-threading and concurrent programming in Java because most of them are in the business of performance which provides them a competitive advantage and it's hard to write correct and robust concurrent code.

Top 5 CompTIA IT Fundamentals (ITF+) Courses and Practice Tests in 2021 - Best of Lot

Hello guys, if you are preparing for the CompTIA IT Fundamentals certification exam and looking for the best online courses then you have come to the right place. n the past, I have shared the best online courses to pass CompTIA certifications like CompTIA A+, Cloud+, Linux+, and Security+  exams and In this article, I am going to share the best courses, practice tests to pass the CompTIA IT Fundamentals certification. This is one of the best certifications for people who want to start their career. You will not only learn key IT skills and computer science concepts but also gain certification to showcase your skills. 

Top 5 Reasons to Learn Firebase in 2021

While Firebase is around for quite some time, it really got traction in the last couple of years after the popularity of Google Cloud Platform increased, and several other Firebase services were introduced. If you are really React.js, Angular, Vue.js, or any other front-end development framework, you will benefit from Firebase. It provides an online, free database and several other useful services like FireStore, FireAuth, and Firebase Cloud function. Firebase is equally useful for Mobile developers as well as people using Swift, iOS, and Android to create mobile apps. They can also use Firebase services to create the backend for their application.

Top 5 Free Google Cloud Professional DevOps Engineer Certification Courses - Best of Lot

Hello guys, If you are looking to learn DevOps on Google Cloud Platform, or preparing for Google Cloud Professional DevOps Engineer certification and looking for free online training courses then you have come to the right place. In the past, I have shared the best courses to learn Google Cloud Platform and the best DevOps courses for experienced developers and in this article, we are going to share 5 Free Courses to pass the GCP Professional Cloud DevOps Engineer exam. These free online courses will help you become a professional Cloud DevOps engineer of the Google cloud platform. 

How to Crack AWS Certified Developer Associate Exam - DVA-001 Certification

Hello guys,  if you are preparing for AWS Developer Associate certification and looking for the best books, courses, and overall guidance to pass this exam then you have come to the right place. Earlier, I have shared the best AWS developer courses and practice tests, and today, I am going to share the overall guide and complete resources to pass this prestigious AWS cloud certification. There is no doubt that AWS certification is very valuable and opens the door for a lot of opportunities, not just for system admins and solution architect but also for developers and DevOps Engineers.

Coursera's Google IT Support Professional Certificate Review! - Is it worth it?

Hello guys, if you are looking for a cost-effective and recognized IT training program to start your career in IT then you have come to the right place. In this article, we'll review Google IT Support Professional Certificate from Coursera which can be used to launch your career in IT support. If you are trying to get involved in the IT industry at an entry-level may because you need to be a programmer web developer, or even cisco certified so you have to learn the basics of information technology or maybe just for fun and learn how things work and educate yourself more about this amazing industry.

Top 5 CompTIA Server+ Certification Exam Courses and Practice Tests - Best of Lot

Hello guys, If you are preparing for CompTIA Server+ certification and looking for the best online training courses and practice test then you have come to the right place. In the past, I have shared the best online courses to pass CompTIA certifications like CompTIA A+, Cloud+, and Security+  and In this article, I am going to share the best courses, practice tests, and exam simulator to prepare for this prestigious exam. These online courses have been created by experts and thousands of Server+ certification aspirants have joined this course. If you are also serious about passing the CompTIA Server+ exam on the first attempt, you should check out them and enroll in at least one course and one practice test for solid preparation.

Top 5 Courses to Crack CompTIA Pentest+ Certification Exam - Best of Lot

Hello guys, If you are preparing for the CompTIA PenTest+ exam and looking for the best online courses and practice tests to boost your preparation then you have come to the right place. In the past, I have shared the best online courses to pass CompTIA certifications like CompTIA A+, Cloud+, and Security+  and In this article, I am going to share the best courses, practice tests, and exam simulator to prepare for the prestigious Pentest+ certification. If you want to become  Pen Tester then this is the exam you should target.

Top 5 Computer Vision Certifications and Courses for Beginners - Best of Lot

Hello guys, if you are learning Computer Vision and Open CV library in Python and looking for the best online courses, certifications, tutorials, and projects then you have come to the right place. Earlier, I have shared the best python 3 courses, best data science courses, and best tableau courses,  and today, I am going to share the best Computer vision courses for beginners and experienced developers. These online training courses, certifications, and projects have been created by experts and trusted by thousands of developers around the world, you can also join these courses to learn Open CV and Computer Vision in 2020 and add an in-demand and highly valuable skill in your Resume to give your career a boost.

Top 5 Online Courses to learn Gatsby in 2021 - Best of Lot

Hello guys, if you want to learn Gatsby and looking for the best online courses to learn Gatsby then you have come to the right place. In the past, I have shared the best React courses and today, I am going to share the best Gatsby courses for beginners. The gatsby.js has become significantly popular in recent years. It is a react-based static site generator that is powered by GraphQL. Generally, it is used to give an enjoyable development experience by combining the best parts of React.js, react-router, Webpack, GraphQL, and other useful front-end tools.

Top 30 Eclipse Keyboard Shortcuts for Java Programmers

Hello guys, if you use Eclipse for Java development and looking to increase your productivity then you have come to the right place. Earlier, I have shared 5 best Eclipse courses and in this tutorial, I will share 30 Eclipse keyboard shortcuts to improve your productivity. This list is by no means complete, and I will suggest you guys share eclipse shortcuts listed other than here to make this more useful. Eclipse is the most used Java development IDE, and knowing these Eclipse shortcuts not only improve your productivity but also makes you more efficient. You will have more time for things you like to do. Using keyboard shortcuts also helps to impress colleagues and shows that you have a good hold on tools you used for Java Development.

Top 5 Courses to learn Scala Programming in 2021 - Best of Lot

Hello guys, if you want to learn Scala Programming language and looking for the best online courses to start your journey then you have come to the right place. In the past, I have shared the best Scala books and free Scala courses for Java developers, and today, I am going to share the best Scala courses for Programmers and Java developers. These are the truly best Scala courses and created by experts like Martin Oderskey, the creator of Scala himself, you will get a chance to learn Scala from the creator himself. They are also very affordable as Coursera courses are free for learning and Udemy courses can be bought in just $10 on Udemy sales.

Coursera 's Python for Everybody Certification Review - Is it worth it?

Hello guys, if you want to learn Python and looking for the best Python course on Coursera, or you are just wondering if the Python for Everybody course from the University of Michigan on Coursera is worth your time and money then you have come to the right place. Earlier, I have shared the best Coursera certifications for Python and  In this post, we will review Python for Everybody from the University of Michigan, the best Coursera specialization and certification for Python developers. If you are in a hurry and want a quick Yes/No answer whether you should join this Coursera specialization or not then our answer is Yes, by all means, you should go for it.

Top 5 Courses to learn DropWizard, MicroNaut and Quarkus for Java and Microservices Developers

Hello guys, if you are creating Microservices in Java and want to explore frameworks like DropWizard, MicroNaut, and Quarkus then you have come to the right place. In the past, I have shared the best Microsercies courses with Spring Boot and Spring Cloud and today, I will share the best online courses to learn Dropwizard and Micronauts. These are the best online courses and tutorials you can get to learn this useful technology. Unfortunately, not many online courses available but API docs and guides are also very useful, along with these courses you can read them as well.

Top 5 Web Scrapping Tools in 2021 - Best of Lot

Hello guys, if you are looking for the best web scraping tools then you have come to the right place.  Earlier, I have shared the best web scrapping courses, and the best course to learn Scrappy, one of the powerful web scraping API for python developers, and in this article, I am going to share the top 5 web scrapping tools which you can use online. Web scraping or web harvesting or extracting web-data are the same terms, and it refers to scrapping or extracting specific data from the web like emails of the employees or users that registered or sometimes secrets files on that website and anything that you can imagine.

Top 5 Courses to learn Servlet and JSP for Beginners in 2021 - Best of Lot

Hello guys, if you want to learn Servlet and JSP and looking for the best Servlet courses then you have come to the right place. In the past, I have shared free Servlet and JSP courses and today, I am going to share the best Sevelt and JSP online courses from websites like Udemy, Coursera, and Pluralsight. These courses have been created by experts and trusted by thousands of developers to learn Servlet and JSP. You can also join them to learn these key technologies online from your home or office. Servlet and JSP are two of the most important web technologies for Java developers. In the age of framework, you may not directly work with Servlet and JSP but knowing fundamentals like this always helps. 

Top 5 Websites to Learn React for FREE - Best of Lot

Hello guys, if you want to learn Reactjs and looking for the best websites to learn React then you have come to the right place. Earlier, I have shared the 2020 React JS Developer RoadMap, and today, I am going to share the best websites to learn React for FREE. If you don't know,  React is a Javascript library and open-source created by the Facebook development team used for building the UI or user interface for the front-end website and make the interaction with your website so simple such as a single page application a mobile application and dynamic components like the search bar is a component.

How to find the 3rd (kth) Node from end or tail in a linked list in Java

Hello guys, the problem to find the 3rd element from the end in a singly linked list or Kth node from the tail is one of the tricky but frequently asked linked list problems in Programming job interviews. I know you can easily solve this problem by moving from tail to head or in the reverse direction but the main challenge here is to solve the problem in just one pass. That means, you can not traverse the linked list again and you cannot traverse backward because it's a singly linked list. So what do you think? Isn't this problem challenging? Well, I did struggle when I saw this problem very first time but once you understand the logic and some tricks to solve a linked list based problem like Recursion then it would be easy for you, and that's what you will learn in this article.

Top 5 Courses to learn jQuery in 2021 - Best of Lot

Hello folks, if you want to learn jQuery and looking for the best jQuery online courses and tutorials then you have come to the right place. In the past, I have shared the best jQuery books and some free jQuery courses and in this article, I am going to share the 5 best jQuery courses you can join online to learn jQuery in depth. jQuery is one of my personal favorites and a popular JavaScript library focused on making it easier to use JavaScript on websites. It has a lot of methods to simplify repetitive tasks that need a lot of lines and coding in JavaScript. You can call these methods with a single line of code and spend much less time. It has plugins for a lot of different tasks. If you want to learn jQuery then joining one of these courses can boost your learning. 

How to declare and initialize a List with values in Java (ArrayList/LinkedList) - Arrays.asList() Example

Hello guys, today, I am going to share with you a useful tip to initialize a List like ArrayList or LinkedList with values, which will help you a lot while writing unit tests and prototypes. Initializing a list while declaring is very convenient for quick use, but unfortunately, Java doesn't provide any programming constructs like the collection literals of Scala, but there is a trick which you can use to declare and initialize a List at the same time. This trick is also known as initializing a List with values. I have used this trick a lot while declaring list for unit testing and writing demo programs to understand an API etc and today I'll you'll also learn that.

Top 5 Courses to learn Amazon (AWS) QuickSight in 2021 - Best of Lot

Hello guys, If you want to learn AWS Quicksight and looking for the best online courses then you have come to the right place. Earlier, I have shared the best AWS courses and in-depth courses to learn essential AWS services like EC2 and DynamoDB and In this article, I am going to share the best online training courses and classes to learn AWS Quicksight in 2021. If you are working in AWS then you may have heard about the AWS Quicksight tool. The Amazon AWS Quicksight is a cloud-based fast business intelligence tool that can do analysis and make dashboards and graphs out of your data as well as the AWS resource that is used by your application so it combines them into one dashboard to get more insight of your data. 

Top 5 Books to Learn Core Java for Beginners - Best of Lot

Hello guys, I have shared a lot of books related to Java and related technologies in the past, like books and online courses to learn Spring, Hibernate, JVM internals Java Performance tuning, Multi-threading, and Concurrency, Design patterns, Data structure, and Algorithms, etc., but I haven't shared books for core Java books for beginners yet. Even though I have mentioned a couple of popular titles every now and then, I really didn't have a complete compilation of essential core Java books for beginners. Since Java is one of the most popular programming languages and very useful for getting a job as a Software developer, it has become a choice of programming language to start learning coding and application development, it makes sense to start well with core Java.

Top 5 Courses to learn Progressive Web Apps in 2021 - Best of Lot

Hello guys, if you want to learn Progressive Web application development and looking for the best online courses then you have come to the right place. In the past, I have shared the best web development courses and UX/UI design courses, and today, I am going to share the best Progressive Web development courses you can join in 2021. These are the best courses to learn this in-demand technology and created by experts and chosen from sites like Udemy and Educative. There is a good chance that you haven't heard about the progressive web app, the modern style of creating and distributing your application, but don't worry. In this article, you will not only learn what is progressive web apps but also see the best online courses to learn about Progressive web apps and how to build them.