no need for a tutorial- just check it out in the docs here ;)
you can think of inputs as arrows in a 2d space. basically, if you input right, you have an arrow pointing to the right with a length of 1. if you input up, then you have an arrow pointing up with a length of 1. you multiply this 2D arrow (vector2) by your speed to decide how fast you're gonna go and in what direction (velocity). but if you input both up and right, you actually end up with an arrow pointing diagonally up and right with a length of sqrt(2) (here's a handy diagram). this is because of some pythagorean theorem shenanigans. you have to normalize the input vector, aka make it have a length of 1, otherwise you will be move ~1.4 times faster than if you just went up or right.