Here are some answers on a couple of these:
Personas: These are essentially ‘fake people’ that are created based on your actual target users from user interviews, data and analytics. You should have a persona to cover each ‘type’ of user for your product. When you are creating new features or developing your product, these personas should be kept in mind at every stage to take into account how what you’re building will affect your users.
Proto-Persona: These are basically the starter version to actual personas. They aren’t based on real data, but they are a good way to start thinking about the end user on every project.
Customer Journey Map: This is an outline of the customer’s ‘journey’ using your product. With your personas in mind as the product users, go through your experience from start to finish starting with signing up, onboarding, etc through to completing tasks through your project (or whatever the product does ) While mapping this out, making sure to list any possible frustrations and successful moments that impact how a user feels about your product at that stage in the journey. From that, you can come up with opportunities for improvement.
A couple of articles: