A vector space over a field $\mathbb{F}$ is a set $V$ with operations $+$ and $\cdot$ satisfying the vector space axioms. Given a vector space $V$, it's dual space $V^\star$ is defined as $\mathrm{Hom}(V,\mathbb{F})$, i.e. the set of all linear maps(functionals) between the vector space and its underlying field(considered as an own vector space in this case).
Normally, the Dirac notation $\langle v|w\rangle$ is a representation of a scalar product and the Bra and Ket correspond on a low level to vectors input in this scalar product. Note, that for the complex scalar product, order of the arguments is important due to its hermitian nature and its semi-bilinearity, i.e. that it is conjugate linear w.r.t. to one argument. A classical way is to define the standard complex scalar product to be conjugate linear in the second argument. In Bra-Ket-notation, you usually reverse the order of the arguments of the complex scalar product, i.e. $\langle x,y\rangle=\langle y|x\rangle$ resulting in conjugate linearity in the first argument.
The key thing is that there is a strong correspondence between scalar products and members of the dual space, i.e. linear functionals.
There is a way that any functional corresponds in a one-to-one fashion to a representation using the scalar product(of the associated vector space). This is known as Riesz representation theorem.
More precisely, you may look at a vector $v\in V$ and suppose that $\langle\cdot,\cdot\rangle$ is an associated scalar product(turning $V$ into a euclidean/unitary space in the real/complex case). Then the map $\varphi_v:w\mapsto\langle w,v\rangle$ is a member of the dual space $V^\star$ and the theorem says that any linear functional $\psi\in V^\star$ can be written as such a $\varphi_v$ uniquely.
Thus, you may convert a scalar product between two vectors into an application of a linear functional to another vector, pulling the problem statement into the realm of dual spaces, where you have other mathematical possibilities to tackle various questions.
EDIT: Note, that the definition of $\varphi_v$ of course depends also on the argument which is assumed to be conjugate linear, in this case the second, as linearity in the first is needed to make $\varphi_v$ a linear map(check this).
If you have learned that every Hermitian matrix $\boldsymbol A \in \mathrm M_N(\mathbb C)$ is unitarily similar to a diagonal matrix, then the conclusion would be quickly derived: since $\boldsymbol A = \boldsymbol U \boldsymbol {DU}^*$, where $$\boldsymbol D = \mathrm{diag} (\lambda_j)_1^N, \quad
\boldsymbol U = \begin{bmatrix}
\boldsymbol v_1 & \cdots &\boldsymbol v_n
\end{bmatrix}
$$
and $(\boldsymbol v_j)_1^N$ are eigenvectors written as $N \times 1$ matrices corresponding to $\lambda_j$, then
$$
\boldsymbol A = \begin{bmatrix}
\boldsymbol v_1 &\boldsymbol v_2 & \cdots& \boldsymbol v_n
\end{bmatrix}
\begin{bmatrix}
\lambda_1 & & &\\
& \lambda_2 &&\\
&&\ddots &\\
&&&\lambda_n
\end{bmatrix}
\begin{bmatrix}
\boldsymbol v_1^* \\ \boldsymbol v_2^*\\ \vdots \\\boldsymbol v_n^*
\end{bmatrix},
$$
and apply the multiplication of blocked matrices, we have
$$
\boldsymbol A = \sum_1^N \lambda_j \boldsymbol v_j \boldsymbol v_j^*,
$$
or write this in "bra-ket" notation if you want.
Moreover, if given matrix is unitarily diagonalizable, i.e. unitarily similar to some diagonal matrix, then you can always do the things stated above and obtain a similar decomposition.
Best Answer
Any projection operator can be written in the form $$ P = \sum_{j = 1}^r |\psi_j \rangle \langle \psi_j | $$ Where $\psi_1,\dots,\psi_n$ is an orthonormal basis of our Hilbert space. Given $\psi = c_1\psi_1 + \cdots + c_n \psi_n$, we calculate $$ \langle\psi| P = \langle \psi | \left(\sum_{j = 1}^r |\psi_j \rangle \langle \psi_j | \right) = \sum_{j = 1}^r \langle \psi \mid \psi_j \rangle \langle \psi_j | =\\ \sum_{j = 1}^r \langle \psi_j \mid \psi \rangle^* \langle \psi_j | = \sum_{j = 1}^r c_j^* \langle \psi_j | $$ This is the bra corresponding to the ket $P |\psi \rangle = \sum_{j=1}^r c_j | \psi_j \rangle$. So, $P$ is self-adjoint.