Posted on

Learn Python Episode #5: PyCharm IDE Setup

Enroll in The Complete Python 3 Course: Beginner to Advanced!

Click here to subscribe for more videos like this!

Alright, so what kind of work environment do we need to be efficient at programming with Python? The question can be posed for any programming language really, and so the answer is usually going to be same. I mean feel free if you want to, to openup notepad on Windows or you know some basic text editor and write a script and go over to the terminal and command prompt and run it, however that’s not efficient for a variety of reasons. So, what we’re going to be using is an IDE, which stands for integrated development environment, and we’re going to be using Jetbrains PyCharm. Now, PyCharm is free for, I spelled that wrong just go to Google, search PyCharm, and click on the link there which is from jetbrains.com, and you can download it. Now when you get to the download screen you’re going to get a professional or community version, choose the community version that is free, it’s completely fully featured as far as i can tell, and that’s the one that we’re going to be using in this video. Now alternatively I mean you can go have a look at other IDEs for Python, but I find that this one it just works really well, it’s simple, and it does everything that we need it to do, and it also has some advanced features which we may look at some point in the future. So, go ahead download the installer for your platform, it does require Java as well, so you can just open up Google and type download Java, and it’s going to take a java.com/download if you click that link, just click download the appropriate version for your system, and once you have that installed then you can install PyCharm. So, let’s take a walk around PyCharm right quick. So, this is going to be the first screen that you see every time you start up PyCharm. The first launch screen is a bit different you can choose a theme and whatnot, all that is relevant really. We’re going to create a new project, it’s going to be pure Python, now there’s also other options here if you want to start a Django project, etc., but we’re just going to start a Python project here and we’re going to choose version 3.5.1 which is also going to tell the IDE here where to find the binary files to run Python. Now, we’re also going to name the project here, so first program, and this is going to be the name of our project. It’s going to create a folder called first program and this is how we’re going to identify it within here. So, along the left-hand side here this is the project view so let’s go ahead and right click and create a new file. Now, additionally you can create a new directory, a Python package, and a bunch of different file types here. We’re just going to choose a Python file and I’m going to name it main, which is going to name it main.py, and here we can start typing our script. So, again I’m just going to use the hello world example, and that’s all it’s going to be. I’m going to save it, keyboard shortcuts are going to take you a long way if you’re going to become a programmer, so I expect you know some already, if you don’t on Windows Linux control + S saves the file and on OS 10 its command + S so you don’t have to always go through the menus and stuff, but let’s have a look through the menus. If you want to create a new project, a new file, or directory you can open one etcetera, you can actually access the settings by going to default settings for this project, and a bunch of different options down here that we don’t really need. If you go to edit you’re going to see you can undo and it’s also going to show you the corresponding keyboard shortcuts for each one of these options, so this is command + Z and that’s going to undo whatever action I previously did, this is also going to be useful if you’re going to become a professional programmer. Same is true for copy, paste, find. We’re going to be discussing find at some point, I mean it’s a pretty powerful command you can find not only in the current file but your entire project if you want to look for instances of variable or string or something you can actually search through the entire root directory of this project if you want. If you go to view and go tool windows here is what we’re looking at here project if we select that it’s going to, it should hide that, yeah, so it hid the project sidebar, so we’re going to leave that open. Now, we can also show favorite structure, etcetera. If you have version control setup this will not be disabled and you can use that to perform first control actions. We’re going to open up a Python console here and here we can actually run Python code. If we wanted to say 5+5 you know and it’s going to return that so this is the interpreter itself, however if we want to actually open terminal we can open a terminal here and here we can just type python3 main.py and it’s going to run what we have up in this file right here. Now additionally we have a run right here. We can set up run, a run configuration here, to actually every time we hit the run it’s going to automatically run our project so let’s go ahead and hit the plus sign, choose python, and it’s gonna be called a Python run, script is going to be python3 or the script is going to be the actual python script that we want run so it’s going to be main.py, script parameters this is if we’re passing in any arguments or anything we’re not going to it’s already found the Python interpreter because when we set up the project we chose the correct Python version. This is going to be interpreter options we’re not going to be using any, and that’s all that we need to do. So, let’s go ahead and click apply and then run, and it’s going to run the script, output that, and then it says it finished with exit code zero which is completely normal. So, every time you want to run if you have this little section opened here just hit that play button, the Run button there, it’s going to run the code in real time. So, make changes, hit ctrl + S, and then run the code right there, this is the most efficient way to run a program in an IDE, you know, you don’t have to switch back and forth between windows and stuff. So, this is the primary reason that we’re going to be using this IDE for the sake of this course. Again, feel free to have a look at some others but I recommend if you’re a complete novice to any of this just follow along exactly with what I’m doing and you shouldn’t have a problem. However, if you do there’s a discussion section to the right of this video, use it, let me know if you have any trouble, and I’ll try to clear it up. So, with all that said we are finally ready to actually get in to the language itself.

Posted on

Learn Python Episode #4: Running Scripts in Terminal

Enroll in The Complete Python 3 Course: Beginner to Advanced!

Click here to subscribe for more videos like this!

So, let’s go ahead and create a Python script and learn how to run it. So, I’m going to be doing this in terminal completely we will discuss other options later, what I need to do first is change directory into “pycharm projects” and there’s nothing really in here so I’m going to create a file using the nano text editor, you guys don’t have to follow along, however if you want to that’s great too. I’m just going to call it test.py. Now all Python scripts need to have the .py extension. So, what we’re going to do is just a simple, simple script it’s going to print “hello world” So, I’m going to control + O to save, and control + C to exit, control + X to exit. Alright, now if we just type “test.py” you’ll see BASH doesn’t know what to do with this command because test.py is not an installed program. So what we need to do is run “python3 test.py” and it will return the result of anything in that script. So, that’s how to run python scripts, in the next video what we’re going to be doing is setting up an actual work environment using an IDE, and get you guys all ready to start with the basics.

Posted on

Learn Python Episode #3: Interpreted vs Compiled Programming Language

Enroll in The Complete Python 3 Course: Beginner to Advanced!

Click here to subscribe for more videos like this!

So, the interpreter, and this is going to be a short video I think, but we’re basically going to talk about the difference between an interpreted programming language and compiled programming language, and this might be a little adept for the novice programmer but just stick with us again if you have any questions or not sure if you completely understand it, there’s a discussion section to the right of this video, yes should be right to the right of this video, so use that and I will try and clear up any confusion. So, first, with a compiled programming language you write your code and you save it into this file, and you can’t run that file yet. Let’s say you’re writing C++ code, so you write a function, you write a script that will do something. If you try and open that file with the .cpp extension, which is for C++ files, it is just going to open that in a text editor or code editor because that’s not an executable file. What you need to do with a compiled programming language is once you save your file you need to compile it into a language that the computer can read, so binary ones and zeros, and by compiling this file into an executable file, then you can double click it and it will run. So, if you’re on Windows building executable files for windows they will have a .exe extension. If you’re on Linux I don’t believe they have an extension. So, the difference here is with Python when you write a script you can instantaneously run that script without having to compile it into binary and because we can do that what’s actually happening is when you run the Python command you’re not running the file standalone. So, when you compile a programming file into a binary file you can just type the name of that file in the terminal or command prompt and hit enter and it will run that program as a standalone program because the computer already knows how to run it, but when you run Python scripts you’re going to run it with the Python command and then the name of the file, and what basically happens is you’re running the program Python which is interpreting your code and running that. So, what happens is it does compile into binary but it does what’s called just-in-time compilation, and what that does is every time you run its going to parse all the code and it’s going to convert it into a temporary file and then run that temporary file. So, let me break out of this, there. So, how you would run a script and we’re going to talk about that later but basically how to enter the interpreter on its own you just type python3 to use the three version of Python you can see the version we are using Python 3.5.1. So, basically in the interpreter you can run real time code, so if I were to type “print hello world” it’s going to instantaneously run that line of code. If I run “4 + 6” it’s going to return 10 because that’s the sum of four and six, and so the interpreter is great to use if you want to test something really quick, if you want to debug a few lines of code, or if you just want to see if something would actually work. So, we’re going to be starting out using the interpreter but as things get a little more complex we’re going to get into writing scripts and executing those scripts. So, now we need to learn how to run a Python script.

Posted on

Learn Python Episode #2: Windows 10 Installation

Enroll in The Complete Python 3 Course: Beginner to Advanced!

Click here to subscribe for more videos like this!

Hello everyone. Last video Nick touched briefly on installing Python on a Windows system, and I assume many of you are using Windows as well, so i’m gonna go ahead and walk you through the installation real quick. So you want to go to python.org and we’re going to click the Downloads button, and then what we’re going to do is we’re going to download the latest version of Python 3 for Windows, and your browser should automatically download the installation. So let’s go ahead and click on that, and actually this is not what we want because I know for a fact I have a 64 bit system. I don’t know why it automatically downloaded the 32-bit version of Python. I’m going to cancel this, and if you’re curious whether or not you have a 32 or 64 bit operating system you can right click on the Windows icon, go to system, and it will tell you which operating system you have. So we have a x64 based processor and we need a 64-bit version of Python. So go ahead and click on the Windows link here instead of clicking the download button. Alright, so that’s beta, go ahead and click on 3.5 release again and what we’re going to do is scroll down a bit. Let’s do the Windows x86-x64 web-based installer and this should include both versions of Python. Try that one more time, there we go 64-bit. So you want to go ahead and click this box down here that says Add python 3.5 to PATH, this is so we can issue commands through the prompt, so we want to make sure this is clicked. We’re going to go ahead and hit Install Now, click yes, and then this should install everything you need to follow along with the course. So, thank you for taking the time to watch this video. I just wanted to do a quick video showing you guys exactly how to install it on Windows just so you don’t have any problems getting set up for the course.

Posted on

Learn Python Episode #1: Mac/Linux Installation

Enroll in The Complete Python 3 Course: Beginner to Advanced!

Click here to subscribe for more videos like this!

So, the first thing that we need to do to get into programming in Python is installing it. So, let’s go ahead and discuss about the three different ways that you’re going to be installing it. First, we’re going to cover Mac because that’s what i’m using and so it’s easiest to show you how to do it. So, what you’re going to do is open up terminal which I’ve moved into that folder and put right here. Now, if you haven’t installed Homebrew, what you’re going to do is run a Ruby command that’s going to download and set it up. So, basically what Homebrew is, is a package manager that you can use to install a lot of packages. So, if you’re used to Linux basically on Linux if you want to install a package you don’t need to go all around the internet and search for packages on websites and then download from shady sources and get viruses, that’s just a bad construct of computer operating systems, but unfortunately that’s how Windows works and so i’m going to show you guys the right way to install in Windows as well. Using Linux or OS 10 you’re going to be installing through terminal. So, first setup Homebrew, this is how you do it, come to brew.sh and it’s going to give you this line of code here. You just paste this in terminal, run it, it’s going to install brew. Once you’ve got brew installed what you’re going to do is run “brew install python” Now that’s how easy it is. OS 10 does ship with a version of Python but the the version included in OS 10 is 2.7 series and I think it’s actually an old really something that’s like to 2.7.5 or something like that so it’s pretty old. At least I think it was that. We can actually run “–python version” here, so okay so the version that OS 10 El Capitan ships with is 2.7.10. When you run brew install Python it’s going to install python 3, that’s the command that we’re going to have to be using because there’s already a Python version installed, so we’re going to be using Python 3 and you can check the version we’ve got 3.5.1 that’s the version that homebrew is going to install for you. Now similarly if you’re on Linux what you would do there’s a few different ways because there’s a few different package managers. So if you’re on Arch Linux I don’t think you’re gonna need help setting it up, and actually a lot of Linux distributions have Python/Python 3 pre-installed, so you can just run “python –version” and “python3 –version” and see what version you have installed, you might need to upgrade, it it might be fine. If you have 3.4 you can follow along with this course I don’t think there’s that many differences between the two versions and there’s definitely not code-breaking differences, so that shouldn’t be a problem. However, if you do notice that you’re having a problem you could upgrade the version of Python either through the repository or otherwise. If you’re on Ubuntu you’re gonna be using the apt-get command, so you’d run “sudo apt-get install python3” That’s going to install Python 3 for you. If you’re on Fedora I believe it used to be yum, I think it’s dnf now. Yeah, so let’s just review exactly what commands you’re going to be using, I think it’s like dnf install. So, you can still use yum I guess, ok so you can use yum to install. So, what you’re gonna do is we’re gonna run “sudo yum install” and then I believe the package is just called python3, Python 4 is going to be pretty amazing but right now we’re using Python 3. So, there we go. Now if you’re on Arch and I said I don’t think you need any help getting it setup but just for you know if you are new to Arch you’d run “sudo pacman -S python3” but again python3 should be pre-installed, so you shouldn’t even need to do any of this but if you do that’s gonna do it. Now on Windows you do need to go download a file from the internet and run it, the the difference between what I said before what I’m saying now is this is not a shady location. So, what you’re going to do is go to python.org, go to the download sections, and if you just hover over this it’s actually going to show you a drop-down and you can choose what platform you’re on. So you would choose windows and they actually have a 3.6 which we’re not going to we’re not going to be using because this is in alpha. So, click latest python3 release python 3.5.1, it’s going to take you to this page and basically give you a changelog and whatnot. If you go down here make sure you get the version that’s compatible with your system. If you have a computer that is not obsolete it should be running a 64-bit operating system which means it has a 64-bit processor. So you would download this one right here, Windows x86 64 executable and what that’s going to download is an .exe file which you can use to install the program. If you’re running a 32-bit system you’re going to download this one just the x86, and yeah just install it. Now, there is one note on the installation, when you run the installation there’s going to be a certain step where you have some checkboxes and one of them is going to say add python to the path variable, make sure that’s checked because if it’s not checked if you try to run Python in the command line you won’t be able to because it won’t know where to find this mysterious Python command. So, by checking that box basically it tells windows where the Python binary file is located, so you want to make sure Windows is aware of where that file is. And that’s all there is to installing it. To confirm that you’ve got it installed open up a command prompt to terminal and just type Python3 and it should drop you down into the interpreter, which we’re going to be discussing in the next video.

Posted on 4 Comments

The Complete MATLAB Course: Beginner to Advanced!

Click here to subscribe for more videos like this!

I hope you enjoy this FREE complete Matlab course! In this tutorial we will over the following topics:

  • What is Matlab, how to download Matlab, and where to find help
  • Introduction to the Matlab basic syntax, command window, and working directory
  • Basic matrix arithmetic in Matlab including an overview of different operators
  • Learn the built in functions and constants and how to write your own functions
  • Solving linear equations using Matlab
  • For loops, while loops, and if statements
  • Exploring different types of data
  • Plotting data using the Fibonacci Sequence
  • Plots useful for data analysis
  • How to load and save data
  • Subplots, 3D plots, and labeling plots
  • Sound is a wave of air particles
  • Reversing a signal
  • The Fourier transform lets you view the frequency components of a signal
  • Fourier transform of a sine wave
  • Applying a low-pass filter to an audio stream
  • To store images in a computer you must sample the resolution
  • Basic image manipulation including how to flip images
  • Convolution allows you to blur an image
  • A Gaussian filter allows you reduce image noise and detail
  • Blur and edge detection using the Gaussian filter
  • Introduction to Matlab & probability
  • Measuring probability
  • Generating random values
  • Birthday paradox
  • Continuous variables
  • Mean and variance
  • Gaussian (normal) distribution
  • Test for normality
  • 2 sample tests
  • Multivariate Gaussian
Posted on 1 Comment

Complete Meteor.js Web Development Tutorial

Enroll in the complete course for only $9!

https://josephdelgadillo.com/product/ubuntu-linux/

Click here to subscribe for more videos like this!

Hey guys, I want to touch briefly on Meteor.js, today in this video, and a little bit about how to use it. First thing you’re going to do is in a Google search just type “install meteor.” It’s going to give us the location of the Meteor installer to download. If you’re on OSX or Linux, just copy this command “curl https://install.meteor.com/ | sh“ open up Terminal, clear it out, and then paste it in here. If you get this error, it means that you don’t have curl installed so you need to install it. So sudo apt-get install curl” and once curl is setup you can run the previous command again. And it’s going to download Meteor and install it. I already have Meteor installed and so it’s removing my existing meteor installation, and it’s going to download a new one. So, when Meteor is done installing it gives you a notice here, how to get started. So, let’s just create an app, do I have a projects directory already, I do. So, I want to change directory to projects and I’m going to type, Meteor, create to do and it’s going to create project and a project directory in my current directory called “to do”. So, I’m going to change directory, and then if I list the directory Meteor has created the three files to get you started. So I can type “meteor” and it’s going to launch the program on port 3000, there we go. So, once again, this message means the app has been launched, so you can go to local hosts on port 3000 and this is our Meteor app. It’s got an event handler here for the click me button, which counts the times it’s been pressed, but that doesn’t really look to great. So I’m going to close this here, show you how you add packages to Meteor. So you type “meteor add” and then the package name. So you can browse Meteor packages by going to Atmospherejs.com, and if I were looking for say, bootstrap, I would…there is a lot here. However, the official bootstrap module or package is “add twbs:” stands for twitter bootstrap and then “bootstrap”. So, when I add that to my project like this, and let me go into the filemanager here, into projects, and to do, and you’ll going to see these three files that it created for us. But if you hit Control+H you’re going to also see a hidden directory entitled Meteor, and this is where it stores the packages that we add, and some internal Meteor stuff as well. So, I’m not going into that. These are the files that you’ll be working in with Meteor so you can open for instance, the HTML file with the “gedit” here we go. And you’ll see, this is the mark up. So, Meteor works with templates a lot. This isn’t an in depth tutorial, but more about how to get started. Meteor has a pretty awesome tutorial on their website. Just go to meteor.com and you can access the documentation, reference points, and the tutorial to get you started. So, that’s the basic usage of Meteor in the command line. Typically, it’s just Meteor create in the App name, and once you’re on the app directory just run Meteor to run the application, and you can use the Meteor add or Meteor remove, if you want to remove a package, add to add a package and then the package name. So, thanks for reading this and I hope you guys found it informative and a good place to start with Meteor. A selling point for Meteor is the fact that realtime interactions are built into its core. So, you no longer have to fake it, with Javascript, Ajax calls to PHP scripts, everything is done in Javascript, it’s all realtime. So, It’s awesome to work with and it makes things easy as well. So, check that out, if you’re into web application development at all.

Posted on 2 Comments

Complete Python 3 Programming Tutorial

Enroll in The Complete Python Course: Beginner to Advanced on Udemy
http://bit.ly/2yMsS7v/

Check out the Learn to Code Course Bundle!
https://josephdelgadillo.com/product/learn-to-code-course-bundle/

Hello everyone and welcome to the Python tutorial that we’re going to be doing. My name is Nick and I’m going to be the instructor for this course, and it’s going to be my job to get you completely immersed in the Python programming language. Now, this course is going to be aimed at somebody who may have basic knowledge about what a programming language is but this would be your first programming language, and this is a great programming language to start with. It does have some limitations and sometimes this is not the right tool for the job, but a lot of times this offers people who have no experience programming a really great way of understanding what a programming language is and how to use one. So, the main differences between Python and other languages like C++, or C, or Java is that Python is built around two main focal points which I believe are code readability and simplicity. So, we’re gonna jump into the language here and in a few videos but we need to do a few things first. First we need to discuss what Python is, and then we need to get it installed, and then we can start discussing you know what’s an interpreter, how do you run a Python script, and then get into the language itself. Now, the language is different but it’s easy, and once we get past an understanding of how the programming language works, and the syntax, and all the different stuff you do with it, we’re going to move on to actually programming real applications and showing you guys different practical applications of the Python programming language. So, for instance, we’re going to be building a website, we’re going to be building a web scraper, and a graphical utility we’re actually going to be building multiple graphical tools because there are a few different graphical or GUI, GUI, whatever you want to call it there’s a few different frameworks for Python that we could use. So we’re going to explore three of them. So, right off the bat here’s a fun fact if you didn’t know python is actually named after Monty Python who’s made some great films, so if you if you haven’t seen Search for the Holy Grail or the Life of Brian go do it, they’re great movies, which is completely beside the point. So, Python is actually a pretty old programming language. It was first introduced in 1991 which makes it 25 years old. There’s two current versions, now this may be confusing as well, so there’s a Python 2 series and there’s a Python 3 series. The Python 2 is currently at 2.7.11 and the 3 series is at 3.5.1. Now we’re going to be using Python 3 in this course however Python 2 shouldn’t be much different if afterward you want to explore using Python 2 that’s completely acceptable. Now as I said Python is based around simplicity and readability and this means that when you look at Python code it’s all indentation based. So, if you looked at another code like Java you would see a lot of curly braces, and brackets, and a lot of things that are just there to confuse the novice programmer. Python is based on indentation so you don’t need to wrap blocks of code in curly braces and you guys will see what I mean coming up in the next few videos. So, that’s all we’re going to talk about today. I hope you guys enjoy this course and find it useful. There’s a comment section to the right for each video if you guys ever feel that you’re not too sure on something that I explained, or maybe you had some input in addition to what I explained, feel free to use that. So, yeah, let’s get started!

Posted on

Putting the Finishing Touches on our Meteor Project

Click here to subscribe for more videos like this!

Alright guys, this is getting closer to done. We now have a new working way to insert posts and also, view the posts here. One thing you’ll notice is that we’ve got posts by two different people. So, how Meteor should handle this in React and Flow Router. We’re going to modify our home component a little bit to be able to use a different route, so I’m going to go on my router file here FlowRouter and let’s name the route posts-by and then user. So, the colon here basically means that while post is going to be the name of a variable, and we can use that variable by accessing params. So, what I’m going to do is name the route Posts and the action we’re going to pass Params to the action is going to be renderView I’m going to reuse the home component here, but I’m also going to pass it in with user property and that’s going to be equal to params.user and so now, I’m going to close this component and end that with semi colon. I actually need to that there It got a little displaced there. Silly issue. When we create new routes, we need to type Flow Router.route Alright. What we need to do now is we need to make this conditional if we’re on basically in the router, we’re passing a user property here, but we’re not here so we can use this to identify if we’re on this route. So, what we’re going to do here is when we get post method I’m going to say if this.props.user we’re going to return Posts.find where the user is equal to this.props.user we’re going to fetch those else, we’re just going to return all the posts. So, if I go back here, and refresh this, I’m going to see when I view posts by Nick, that these are the only results I get, and when I view posts by Pete, these are the only posts I get. And still accessing the home page I will get all of the posts. And you can see how you can really reuse components here to be able to serve conditional data. Now, that’s basically, all Meteor is. It’s very simple and straightforward. I use it with React and Flow Router, I really recommend it. It’s much faster, it’s basically quicker to do everything. It’s quicker to develop, It’s quicker to browse. It makes your app faster in general. I hope you guys found this tutorial informative. I know it’s a bit longer than the other ones. And so hopefully, you know, the next few videos will be shorter, I think they will. And I’m going to actually provide this code to you guys. through GitHub, so right now, we’re going to be combining a bit of what we’ve been doing. So, I’m going to GitHub.com I’m going to create a new repository here, and I’m going to call it Meteor React Tutorial. And let’s initialize it with a Readme file, and then all the usual stuff. So, right in the directory here git init, git remote, add origin, I need to paste that URL here. I’m going to close WebStorm, so that we can get rid of the .idea directory. So, we can just use the regular rm -rf .idea, there. And then we’re going to run git -ignore/* git add -A git commit -m the message is going to be Example meteor react stuff and git push origin master. Here we go, if I refresh this, we should see, here is the entire Meteor project that we just created. You can find it a GitHub.com/nickgermaine/meteor-react-tutorial Thanks for watching this video, I hope you guys found it informative, if a bit long, hopefully, the next set of videos should be a bit shorter.

Posted on

Rendering the Posts in our Meteor Project Using React

Click here to subscribe for more videos like this!

So, let’s create a component to render the post. So, in the home directory under components, I’m going to create a new file and I’m going to call it Post.jsx So, as usual, Post = React.createClass and up here. And what we’re going to do at this point is something a little different. Because each post that’s rendered needs to be rendered with this single post. So, what we’re going to do is we’re going to pass the post id as a property to this function. So, let’s just render, and let postid = and then the post id. This.props.postId Now, something I like to do if we’re passing multiple properties and they’re always passed in as these props and then the name of it. What you can do, you can actually, do this. So, wrap your variables in these curly brackets. And let’s say I also had a post image and whatnot and this will say basically, each one of this is equal to this.props. whatever it is. So, it’s really useful when you’re using multiple ones. And right now, I’m going to console log post.id and then the post id return div There. So, what we’re going to do is we need to map the posts, actually let’s get to that after let’s add a couple tasks in here, so we can actually pull them out and see what we’re working with. Username Nick This is my first post Save. And I should set it to automatically reset this to default empty when we save it. This is another post and then something you’ll really enjoy. So now, I’ve got three posts. And I want to pull them out them down here. So now, to render posts we need to create a couple of methods here in the home file. So, one of them is going to be called getPosts We’re going to pass it an id and the other one is going to be called renderPosts So, what we’re going to do is the get posts is going to return all of the posts because I didn’t need to pass it an id. So, get posts, let’s just return Posts.find fetch and then from here, from render posts, we need to return this.getPosts and then we’re going to map and we’re going to call it post here, and put a little fancy arrow, to an object, we can end that with a semicolon and we’re going to return the post component with the post being sent as an attribute or a property. Let’s end that with a semicolon as well. And what we need to do is in here, in the main body, I’m going to put a line break there, and then I’m going to call this renderPosts Let me have a quick look over here, make sure it’s all good. Looks all good. So let’s go back here and what we need to do, is in post. Ah, see there we go! In post, I’m just returning this, so let’s do class name is card and then in here, let’s go with an h3 tag and here, see this property that’s what I’m expecting to get and so the post is the only property I am setting over here. So, I’m going to in curly brackets here, I’m going to put post.user and then in a paragraph tag, I’m going to put post.content and Save. And so to recap, what we are doing is we are mapping the results of this function to basically this, and this is a new way we can actually pass each item from these results, over as posts to this little block here, which returns the component and we pass the posts through with the property name of posts, so in the post component we can reference the entire post as this from this props. So, we go back here and refresh I’ve got through there and this is not working. What have I done wrong? So, I’m going to pass the id along as a key property here. Posts._id and the reason why it wasn’t rendering the post, which is because I forgot to add the brackets here, so that it runs this function. So, if I save that, go back here and refresh, I’m going to see this. Now, I’m going to, let’s say Add a few of these here. And the great thing about React is when something changes, it scans the document, and you’ll see over here React ids and it performs a div of the current content vs the new content and only rewrites the portions that need to get rewritten. So, it’s a lot faster, that’s why it’s better to scale using React than Blaze. Second post of mine, which will be a bit longer. So, I’m going to style this up a bit, I’ll be right back.