How to Schedule Spring Professional Certification Exam (VMware EDU-1202) Online?

Hello folks, even since Pivotal made the mandatory training optional for Spring certification, I have been writing a lot about Spring 5.0 Core Professional exam here. In the past, I have written about general preparation tips, books, coursesmock tests. So, after months of hard work and preparation, you are finally ready for the day. In order to schedule for the Spring certification exam, you first need to buy an exam voucher from Vmware's website. If you have taken their training course like the Core Spring training course, then you also receive a free voucher for 1 attempt.

How to use InstanceOf keyword in Java [Example Tutorial]

The Java programming language and JVM are full of hidden gems and even though I am using Java for more than a decade I still get surprised by features that I didn't know for quite some time e.g. shutdown hook, covariant method overriding, and JVM option to refresh DNS cache.  The instanceof operator is also one of the rarely known features of Java, It is used to check if an object is the instance of a particular class or not. It returns true if the object is an instance of the class, otherwise, returns false. You might have seen usages of the instanceof keyword in Java while overriding the equals() method. Since for checking equality of two instances, the first step is to verify whether they are the instance of the same object or not, you can use the instanceof operator there.

5 Advanced Books for Experienced Java, C++, Python, Ruby and JavaScript Developers

It's one thing to know about the syntax and semantics of a programming language and other things to use it effectively. If you are a programmer and want to take your programming skill to next level in your choice of programming language, and looking for the best resources then you have come to the right place. Earlier, I have shared the best online courses to learn Python, Java, JavaScript, and C++, and today, I am going to share advanced programming books for experienced Java, C++, Python, Ruby, and JavaScript developers. To be honest, there are several books that will be taught you about the syntax and grammar of a programming language, but there are really few books that will teach you the customary and effective ways to use it, also known as idiom and usages.

Difference between 32-bit vs 64-bit JVM in Java?

Hello Java Programmers, if you want to learn Java virtual Machine in-depth and wondering what is the difference between a 32-bit and 64-bit JVM and which one should you use and why? then you have come to the right place. Earlier, I have shared the best JVM books and online JVM courses and in this article, I am going to talk about 32-bit vs 64-bit JVM and their pros and cons. This is also a common Java interview question for beginners and intermediate Java programmers. I have tried to answer this question to the point that's why this article is a short but informative one. You will find out what they are, how they are different, how much heap size, and the pros and cons of each of them. 

Top 5 Books and Courses to learn C and C++ Programming in 2021 - Best of Lot

Hello there, If you want to learn C or C++ and looking for the best books and online courses then you have come to the right place. Earlier, I have shared free C programming courses and free C++ courses and today, I am going to share the best books and online courses to learn C and C++ programming language from scratch. If you are just starting out with computer programming but not sure which programming language to choose then you are not alone, we have all faced this problem before and new programmers are facing it every day. That's why starting with a basic programming language like C Programming language is the best decision you can make and I am saying this with my 15+ years of experience in C, Java, and software development. 

Top 5 Free Courses to learn Salesforce in 2021 - Best of Lot

Hello there, If you want to learn the Salesforce platform and looking for some free online Salesforce courses then you have come to the right place. Earlier, I have shared the best online courses for  Salesforce DeveloperAdministrator, and App Builder certification, and today, I am going to share free Salesforce courses beginners can use to learn this highly useful platform and add an in-demand skill to their resume. The Salesforce platform is a unique platform for custom application design, analytics features, and new features.

7 Top Paying Programming Languages You Can Learn in 2021 for Higher Salaries

Since last a couple of the week, I have been doing some research about which programming languages beginners and experienced developers can learn in 2021 to increase their pay and packages when I stumbled about StackOverflow's Developer Survey. If you have seen them before and it's one of the best surveys for software developers, which provides useful insights about programming and the IT world. One of the things I really like about this survey was its several lists like the list of top 10 programming languages and the most loved frameworks by programmers. Still, the one I found most useful was the list of high-paying technologies. This is a great list and allows you to choose what you can learn in 2021 to go to the next level in your career in terms of both financial and career growth.

Coursera's Applied Data Science with Python Certification Review - Is it worth in 2021?

If you are thinking to join Data Science with Python Specialization on Coursera but thinking whether it's worth your time and money or not then you have come to the right place. Earlier, I have shared the best Coursera courses for Data Science, and today, I will review one of the most popular Data Science specializations on Coursera. If you have been learning online then you may know that  Coursera is one of the giant platforms out there that offers courses in many different industries from web development and IoT to business and self-development and all those courses are created by major universities such as Michigan University and some companies like IBM which means you are in good hands when enrolling in some of their courses.

ContextLoaderListener - Spring MVC Tutorials for Beginners [UPDATED]

The ContextLoaderListner is one of the essential components of the Spring MVC framework, probably the most important after the DispatcherServlet itself. It is used to create the root context and responsible for loading beans, which are shared by multiple DispatcherServlet like beans related to the service layer and data access layer. In general, When you develop Spring MVC based web applications and also using Spring in the services layer, you need to provide two application-contexts. The first one is configured using ContextLoaderListener, and the other is set using DispatcherServlet. The DispatcherServlet is responsible for loading web component-specific beans like controllers, view resolvers, and handler mappings while, as I said before, ContextLoaderListener is accountable for loading middle-tier and data-tier beans which forms the back end of Spring applications.

What is difference between Heap and Stack Memory in Java JVM

One of the many traits of a good programmer is how well he understands the fundamentals and if you want to check the fundamentals of a Java programmer then asking the difference between heap and stack memory is a good choice. Even though both are part of JVM and both consumer's memory allocated to the Java process, there are many differences between them like Heap memory is shared by all threads of Java application but Stack memory is local to each thread. Objects are created in heap memory but method frames are stored in Stack memory, and the size of heap space is much bigger than the small size of Stack in Java.

Difference between GET and POST Request in HTTP and REST APIs

HTTP Protocol supports many methods to retrieve data from the server or perform any operation on the server, like upload data, delete the file, etc. In total, the HTTP protocol supports the following methods, GET, POST, PUT, DELETE, HEAD, DELETE, OPTIONS, and TRACE, and the HTTP 1.1 reserves technique called CONNECT for future use.  GET, and POST is two of the most common HTTP methods you would hear or work on the web. Though both can be used to send and receive data from client to server, there are some crucial differences between the GET and POST in HTTP, which will help you to understand when you should use GET vs. POST while writing your client and server application.

How to Send HTTP Request from a Java Program - Example Tutorial

If you are thinking is it possible to send an HTTP request from a Java program and if yes, how to send a simple HTTP GET request in Java, then you have come to the right place. In this article, I'll show you how you can use the HttpURLConnection class from the package to send a simple HTTP request in Java. But, first, let me answer your first question, is it possible to send an HTTP request in Java? Yes, it's possible and you can send any kind of HTTP request like GET, POST, PUT, DELETE, HEAD, or PATCH. The package provides a class called HttpURLConnection, which can be used to send any kind of HTTP or HTTPS request from Java program.

Top 5 Courses to become a Software Tester and QA Analyst in 2021 - Best of Lot

Hello guys, if you want to learn Software testing, both manual and automation testing, and looking for the best online courses to master this skill then you have come to the right place. In the past, I have shared the best and free online courses to learn essential automation testing tools like Selenium, Appium, and JUnit, and today, I am going to share the best courses to learn Software testing in general and start your career as a Software tester or Quality Analysts (QA).  These are the best online courses from sites like Udemy, Pluralsight, Coursera, and edX. It's a combination of both free and paid courses as edX and Coursera courses are free for learning and you only need to pay if you want certification.

Top 5 Spring Certification Books and Courses for Java Developers - Best of Lot

If you are preparing for Spring Professional certification (VMware EDU-1202) and looking for the best books, online courses, and practice tests for your preparation then you have come to the right place. As an author of a Java blog and a medium publication, I often receive questions about how to self-prepare for a technical certification like Spring Professional v5.0 certification from Pivotal, and which are the best books and courses to prepare for Spring Core certification? After answering a couple of my readers over Facebook chats and linked in, I decided to jot down my recommendations. Books, Online Courses, Study Guides, and Practice tests are some of the important resources to prepare for Spring certifications.

Is it Possible to take Spring Professional v5.0 Certification without the Official Training course?

Just a couple of years ago, It wasn't possible to take Spring Professional certification without a mandatory expensive training course from Pivotal, but from 10th May 2017 onwards, you can take Spring Certification without a training course. Yes, you read it correctly, it's now possible to become Spring certified developer without spending USD 3200 on mandatory Spring training, like the Core Spring training. For years, Pivotal, the company behind the Spring framework (now Vmware) ensured that a Java developer can only get a Spring Professional certification by first going into a 4-day training run by Pivotal and its partner around the world.

Top 5 Courses to learn Web Scraping using Python and JavaScript in 2021 - Best of Lot

Hello guys, if you want to learn Web Scrapping and looking for the best online courses to learn Web Scrapping using Python and other programming languages then you have come to the right place. Earlier, I have shared the best web scraping tools and best scrappy courses and in this article, I am going to share the best online training courses to learn Web Scrapping using NodeJS, JavaScript, Python, and BeautifulSoup. These are the best courses from sites like Udemy and Pluralsight which are the best places to learn online. So what is Web Scraping? Web scraping, also known as web harvesting, is a technique used to extract large amounts of data from websites. How does this happen?

How to Prepare for Vmware Spring Professional v.5.0 Certification Exam in 2021

Hello guys, If you have been doing Java development then you may know the benefits of the Spring Framework that make it one of the best Java frameworks in the community. As an open-source framework, Spring offered the opportunity to build applications on the Java Enterprise Edition platform. First introduced in October 2002, Spring Framework obtained a recent stable release in the form of Spring v5.0 which brought things like Reactive programming and WebFlux. There is a huge demand for Java developers with Spring experience, in fact, Spring is often considered as the most important skill while hiring Java developers and many companies prefer to hire those candidates who have Spring Professional certification in their resume.

Difference between trustStore vs keyStore in Java SSL

If you are confused between truststore and keystore and looking to find what exactly they mean then you have come to the right place. Earlier, I have shared free Java courses and today, I am going to tell you the difference between trustStore and keyStore in Java. Both trustStore and keyStore are important but confusing concepts and constantly tormented Java developers when they connect to servers using SSL. The main difference between trustStore vs keyStore is that trustStore (as the name suggest) is used to store certificates from trusted Certificate authorities(CA) which are used to verify certificate presented by Server in SSL Connection while keyStore is used to store the private key and own identity certificate which program should present to other parties (Server or client) to verify its identity.

How to Prepare for Java Certifications like OCAJP, OCPJP, or Java SE 11 Developer?

No doubt that Oracle's Java certification is one of the most valuable certifications for the IT industry and helps you to get a better job, better pay, and a better rise in your current salary. It also improves your recognition and job prospects because many big clients demands certified Java programmers for their mission-critical applications. Because of enormous popularity and usefulness, many Java developers and computer science graduates aspire for Java certifications. I often receive queries like, what is the best way to prepare for Java certifications like OCAJP or OCPJP?

7 Examples of HttpURLConnection in Java - Sending GET and POST Request

If you want to learn how to send GET and POST requests from the Java program then you have come to the right place. Earlier, I have shared free Java Courses for beginners, and today, I am going to show you how to use HttpURLConnection class in Java to send HTTP requests to the server.  The HttpURLConnection is an important class in the package which allows you to send an HTTP request from a Java program. By using this class you can send any kind of HTTP request like GET, POST, PUT, DELETE, HEAD, etc to the server and call REST APIs. 

Decorator Design Pattern Example in Java [Tutorial]

The Decorator design pattern is one of the famous Gang of Four (GOF) structural design patterns, which provides a dynamic way of extending an object's functionality. It's different than the traditional way of adding new functionality into an object using Inheritance, instead, it uses Composition which makes it flexible and allows the addition of new functionalities at the run time, as opposite to Inheritance, which adds new functionality at compile time. Because of this flexibility, Decorator is one of the darling patterns for many Java developers. 

6 Advanced Linux command Examples for Developers and DevOps Engineers

Hello guys, Linux is an important skill for any developer or DevOps engineer becuase most of the server-side applications run on Linux boxes. At least you should be familiar with essential Linux commands like ls, cat, ps, top, find, grep, awk, sort, uniq, kill, xargs, curl, lsof, etc. I have shared a lot of useful Linux tutorials in this blog and you can take a look at them to learn about those commands in detail. Today, I am going to share some of the useful Linux one-liners you can use in your day-to-day life. These one-liners are either example of one single command or multiple commands used together to do a certain task like finding duplicate rows in a text file or counting how many times each IP address appear in a text file, much like group by clause of SQL.

OCPJP 11 or OCAJP 8? Which Java Certification should You Take in 2021?

Java certification is a great way to learn and master the Java programming language, do well on the interview and get recognition in the job, but the most common reason for doing Java certification is to find a job. After Oracle's acquisition and dividing the old SCJP exam into two exams OCAJP and OCPJP, it had become really confusing for many developers to decide which Java certification exam they should take, but thankfully that has changed now and now you can become an Oracle certified Java professional by passing just one exam, OCPJP 11 or Java SE 11 Developer 1Z0-819 certification in 2021. 

10 Object Oriented Programming Fundamental Concepts Every Java Programmer Should Learn

Object-oriented programming (OOP) is a programming style that is used to solve the problem by thinking in terms of real-world objects like Car, Bag, Animal, etc. It also helps you to organize code, which makes it easier to understand and solve complex programs. Objects hold information about state and behavior. States are the characteristics of the object, or the words you would use to describe it, and usually, take the form of is or has descriptors. A computer is either on or off, a chair has four legs, and you have a name. Behaviors are the things the object can do, or the actions the purpose can perform and are usually verbs that end in ing like You are sitting, using a computer, and reading this article.

How get and put methods of HashMap or Hashtable internally works in Java [Answered]

In this article, I am revisiting a couple of interesting questions related to the internal working of HashMap in Java, mostly asked senior Java developers, ranging from 4 to 6 and up to 8 years of experience. I did cover a lot of these questions from HashMap, ranging from thread-safety to race conditions, in my post about the internal working of Java HashMap, but I thought to revisit two of those questions, how does get and put method of HashMap or Hashtable works internally in Java and what happens if two different keys return the same hashCode, how do you return value from HashMap in that case. 

Top 5 Books for Java 8 Certifications - 1Z0-808 (OCA) and 1Z0-809 (OCP)

If you are preparing for Oracle's Java SE 8 certification then you may know that in order to become a Java 8 Certified developer, you need to pass two exams, the OCAJP 8 exam with code 1Z0-808 and the OCPJP8 exam with code 1Z0-809. You will not be a Java SE 8 certified programmer if you just pass the OCAJP8 exam. In order to prepare for both these exams, you need to choose an excellent study guide, a couple of quality online courses, and a unique mock exam simulator, apart from writing programs on a daily basis. This is the perfect recipe to crack Oracle's Java certification in the first attempt. It requires a lot of hard work but it's worth it. 

10 Examples of HashMap in Java - Programming Tutorial

The HashMap in Java is one of the most popular Collection class among Java programmers. After my article on How HashMap works in Java, which describes the theory part of Java HashMap and becomes hugely popular among Java programmers, I thought to share how to use HashMap in Java with some fundamental HashMap examples, but couldn't do that earlier and it was slipped. The HashMap is a data structure, based on hashing, which allows you to store an object as a key-value pair, an advantage of using HashMap is that you can retrieve objects on constant time i.e. O(1) if you know the key.

Top 5 Free JavaScript Books for Beginners - Download PDF or Read Online

The internet is full of good things, and one of them is free eBooks and PDF. Programmers can almost run anything by these free books. Earlier I have shared some of the free JavaScript tutorials, and in this article, I am going to share 5 good books to learn JavaScript, which are open to read online or allow you to download PDF for offline reading. JavaScript is probably another language I recommend someone who knows Java, Why? Because it's really ubiquitous. There is almost no website that is not using JavaScript in one or another format.

How to check if a Key Object Exists in HashMap Java? containsKey() Example

Hello guys, you might know that one of the common programming tasks while using HashMap in Java is to check if a given key exists in the map or not. This is supposed to be easy, right? Yes, it is easy if you know your API well, all you need to is call the containsKey() method, it returns true if the given key exists in HashMap, otherwise false; but I have seen many programmers write code like below which is not correct, which inspired me to write this blog post.

if(map.get(key) !=  null){
    System.out.println("key exits in Map");

This code is fragile, it will not work if you have added null values into HashMap because HashMap does allow null values.

5 Free Online Courses for AWS Solution Architect Professional Exam in 2021 - Best of Lot

Hello folks, if you are preparing for the AWS Certified Solution Architect Professional exam and looking for some free online courses then you have come to the right place. In the past, I have shared free and best online courses to prepare for  AWS Cloud Practitioner, AWS Developer, AWS Architect Associate, and SysOps Administrator certification, and today I am going to share free online courses to prepare for the AWS Solution Architect Professional certification exam in 2021. The AWS Solution Architect Professional Exam is one of the most reputed and most challenging AWS certification exams. For this exam, you have to be ready enough to answer questions from any corner of AWS.

10 Programming questions and exercises for Java Programmers

If you have just started learning the basics of Java programming language or familiar with programming in either C or C++, then these Java programming questions and exercises for you. It doesn't focus on a particular part of Java, but these coding exercises will switch you into programming mode. These are also great ways to master basic programming construct like if-else, loops like for and while break and continue with loop,   Java operators e.g., arithmetic and logical operator, recursion, methods, or functions, and standard Java API. You may also find these Java programming questions in most Java courses taught in schools, colleges, and various Java training courses.

Top 5 Books to Learn Groovy and Grails for Java Programmers - Best of Lot

If you want to learn Groovy and Grails and looking for the best resources then you have come to the right place. Earlier, I have shared some of the must-read Groovy books, and today, I'll share some of the best books to learn Grails for Java developers. Grails is a web application development framework completely written in Groovy. The Grails and Gradle framework are built using the Groovy language. Grails is the framework to develop a web application using Groovy. The concepts within Grails, like interceptors, tag libs, and Groovy Server Pages (GSP) are very similar to what we have in Java.

How to Count number of 1s (Set Bits) in a binary number in Java [Solved]

Good morning folks, In today's article, we are going to discuss one of the frequently asked bit manipulation-based interview questions, how do you count the number of set bits in a given bit sequence?  Bit Manipulation is an important topic in programming interviews and a good programmer should have sufficient knowledge and skill to work with binary numbers. This kind of question tests the skill of the programmer. Sometimes, it is also asked as to how to count the number of 1s (ones) in a given number? Both are the same question because 1 is also known as set bit.  For example, if the given input is 1000110010 then your program should return 4, as three are only four set bits in this bit sequence.

How to Find the Largest and Smallest of Three Numbers in Java? [Solved]

Hey Java programmers, I have been sharing coding problems from interviews for quite some time and today I am going to share with you another interesting coding problem for beginners, how to find the largest and smallest of three numbers. If you are learning how to program or looking to improve your problem-solving and coding skills then these kinds of small problems are good to start with. They not only provide you an opportunity to think about how to solve a problem using basic programming constructs like conditionals (if, else, if-else, switch), loops (for, while, do-while), operators like arithmetic, bitwise and logical operator as well as teach you how to write functions, class and create a program which you can run.

80+ Core Java Interview Questions for 1 to 3 Years Experienced Professionals

Hey Java programmers, if you are preparing for a Core Java interview and looking for some frequently asked Java interview questions for quick revision then you have come to the right place. Earlier, I have shared the best books and best courses for Java interviews.  I have also shared many posts about Java Interview Questions and in this article, I will share Java Interview questions and answers especially for junior Java programmers, someone with 1 to 3 years of experience. This includes college graduates, who are looking for the job, Java programmers who have 1 to 2 years of experience in Java, and junior developers who have 2 to 3 years of experience in Java, C++, etc. 

How to Implement a Power Function in Java - Coding Interview Question

If you are preparing for a coding interview and wondering how to implement a function to calculate the power of x to y then you have come to the right place. Earlier, I have shared the best books, websites, and courses for coding interviews and in this article, I will show you how to solve this common coding problem from interviews with companies like Amazon, Flipkart, Google, and startups, and in this article  Even though the Java library has a power function Math.pow() to calculate the power of a given number in Java, it's a regular programming exercise for Java programmers to implement a power function. 

Top 5 Courses & Practice Tests to Crack Professional Scrum Master (PSM) Certification in 2021

If you want to become a Scrum Master and grow your career, or preparing for Scrum Master Certification (PSM) in 2021 and looking for the best Scrum courses, classes, books, and tutorials then you have come to the right place. Earlier, I have shared the best Agile & Scrum courses and books, today, I am going to share the best online courses you can join for Scrum Master Certification in 2021. These courses have been chosen from popular learning websites like Udemy, Pluralsight, and Edureka and they are created by experts who have also gone through the same path and already certified Scrum Master. I have also include PSM practice tests which are very important to build the speed and accuracy required for a time-based exam. 

Counting Sort in Java - Example

The Counting sort algorithm, like Radix sort and Bucket sort, is an integer-based algorithm (i.e. the values of the input array are assumed to be integers), non-comparison, and linear sorting algorithm. Hence counting sort is among the fastest sorting algorithms around, in theory. It is also one of the few linear sorting algorithms or O(n) sorting algorithms. It's quite common in Java interviews nowadays to ask, whether do you know any O(n) sorting algorithm or not. If you face this question in the future, you can mention Radix sort, Bucket sort, or Counting sort algorithms.

Top 5 Online courses to learn Adobe Premiere Pro + After Effects in 2021 - Best of Lot

If you want to learn Video Editing with Adobe Premiere and After skills, two of the most popular tools for one of the most in-demand and necessary skills for digital marketing, and looking for the best video editing courses then you have come to the right place. Earlier, I have shared the free Adobe Photoshop courses and In this article, I am going to share the best online courses to learn Video editing in 2021 using tools like Adobe Premiere Pro CC and After Effects. These online courses have been taught by expert graphic designers and people who have a strong command of Adobe Premiere Pro and After effects and trusted by thousands of people who wanted to learn Video editing in 2021 and add a useful skill to your Resume. 

How to Print all leaf Nodes of a Binary tree in Java [ Coding Interview Questions]

This is another interesting coding problem that is based on a binary tree and mostly asked beginner programmers. If you have some experience in solving binary tree-based problems then it's rather easy to solve because, like many other binary tree algorithms, you can use recursion to print all leaf nodes of a binary tree in Java. Since the tree is a recursive data structure, you can apply the same algorithm to both the left and right subtree. In order to solve this problem, the first thing you should know is what is a leaf node because if you don't know that then you won't be able to solve the problem. Well, a leaf node is the one whose left and right child nodes are null.

5 Free Online Courses to learn Photoshop for Graphic Design in 2021 - Best of Lot

If you want to become a web designer or Graphics designer and want to learn Photoshop and looking for the best online courses to learn Photoshop from scratch on Udemy, Pluralsight, and Coursera then you have come to the right place. In the past, I have shared free web design courses, and In this article, I am going to share 5 free courses from Udemy and Coursera to learn Photoshop online. These Photoshop courses have been created by expert Graphic designers and Photoshop experts and trusted by thousands of developers to learn Photoshop skills and they are absolutely free. You can use them to learn Photoshop skills and start your career as a Graphic designer or Web designer.

10 Things about Array Every Java Programmer Should Learn [UPDATED]

Without any doubt, the array is one of the most used data structures in all programming languages, including Java. Pick up any programming language be it functional, object-oriented, imperative, or even scripting languages like Python, Bash, and Perl, you will always find an array. That's why it's important for any programmer to have a good understanding of the array data structure. Like any other data structure, the array also provides a way to organize and store objects, but the way it does makes all the difference. An array is used to store elements in the contiguous memory location and many C, C++ programmers can take advantage of a pointer to work with an array.

Binary tree InOrder traversal in Java using Recursion

The InOrder traversal is one of the three popular ways to traverse a binary tree data structure, the other two being the preOrder and postOrder. During the in-order traversal algorithm, the left subtree is explored first, followed by root, and finally nodes on the right subtree. You start traversal from root then go to the left node, then again go to the left node until you reach a leaf node. At that point in time, you print the value of the node or mark it visited and moves to the right subtree. Continuing the same algorithm until all nodes of the binary tree are visited. The InOrder traversal is also known as the left-node-right or left-root-right traversal or LNR traversal algorithm.

3 ways to Count words in Java String - Google Interview Questions

Today, I am going to share with you Java interview questions from Google, which were asked to one of my readers during the telephonic round. How do you count the number of words in a given String in Java? You can count words in Java String by using the split() method of String. A word is nothing but a non-space character in String, which is separated by one or multiple spaces. By using a regular expression to find spaces and split on them will give you an array of all words in a given String. This was the easy way to solve this problem as shown here, but if you have been asked to write a program to count a number of words in a given String in Java without using any of String utility methods like String.split() or StringTokenizer then it's a little bit challenging for a beginner programmer.