In order to prove that:
$$\frac{\partial f}{\partial\vec u}(x_0,y_0) = ∇ f(x_0,y_0)\cdot \vec u $$
my book defines:
$$g(t) = f(x_0+at, y_0+bt)$$
then, by the chain rule:
$$g'(0) = \frac{\partial f}{\partial (x_0+at)}\frac{\partial (x_0+at)}{\partial t}+\frac{\partial f}{\partial (y_0+bt)}\frac{\partial (y_0+bt)}{\partial t}$$
which is just:
$$g'(0) = \frac{f(x_0,y_0)}{\partial x}a + \frac{f(x_0,y_0)}{\partial y}b $$
but then the exercise says:
$$g'(0) = \frac{df}{d\vec u}(x_0,y_0)$$
why this?
In general, for a vector $u=(u_1,u_2)$ of norm one, $$ \frac{\partial g}{\partial u}(a,b) = \lim_{\epsilon \to 0} \frac{g(a+\epsilon u_1,b+\epsilon u_2)}{\epsilon}=\lim_{\epsilon \to 0} \frac{g((a,b)+\epsilon u)}{\epsilon} $$