This commit is contained in:
magdo
2026-02-17 21:17:42 +01:00
parent d90a6ed735
commit af57733506
17 changed files with 4194 additions and 59 deletions
+55 -41
View File
@@ -11,56 +11,70 @@
\end{frame}
\begin{frame}{Kapcsolati paraméterek}
\begin{itemize}
\item Host, port, adatbázis név
\item Felhasználónév, jelszó
\item SSL/TLS beállítások
\item Timeout és pool méretek
\end{itemize}
\begin{block}{Alapvető beállítások}
\begin{itemize}
\item \textbf{Host:} Szerver címe (localhost, IP, domain)
\item \textbf{Port:} Adatbázis portja\\
(PostgreSQL: 5432, MySQL: 3306, MongoDB: 27017)
\item \textbf{Database:} Adatbázis neve
\item \textbf{User/Password:} Hitelesítési adatok
\item \textbf{SSL/TLS:} Titkosított kapcsolat (production kötelező!)
\end{itemize}
\end{block}
\end{frame}
\begin{exampleblock}{Connection string példa}
\texttt{postgres://user:pass@localhost:5432/appdb}
\begin{frame}[fragile]{Connection String formátumok}
\begin{exampleblock}{PostgreSQL}
\begin{lstlisting}[language=bash]
postgresql://user:password@localhost:5432/mydb?schema=public
\end{lstlisting}
\end{exampleblock}
\begin{exampleblock}{MySQL}
\begin{lstlisting}[language=bash]
mysql://user:password@localhost:3306/mydb
\end{lstlisting}
\end{exampleblock}
\begin{exampleblock}{MongoDB}
\begin{lstlisting}[language=bash]
mongodb://user:password@localhost:27017/mydb
\end{lstlisting}
\end{exampleblock}
\end{frame}
\begin{frame}{Connection pooling}
\begin{block}{Miért kell?}
\begin{itemize}
\item A kapcsolat fel- és leépítése drága
\item Pool újrahasznosítja a kapcsolatokat
\item Stabilabb teljesítmény csúcsterhelésen
\end{itemize}
\end{block}
\begin{alertblock}{Beállítási irányelv}
Túl kicsi pool lassít, túl nagy pool túlterheli a szervert.
\end{alertblock}
\end{frame}
\begin{frame}[fragile]{Konfiguráció alkalmazásban}
\begin{block}{Környezeti változók}
\begin{block}{Környezeti változók (.env fájl)}
\begin{lstlisting}[language=bash]
DATABASE_URL="postgres://user:pass@localhost:5432/appdb"
# Alapvető kapcsolat
DATABASE_URL="postgresql://user:pass@localhost:5432/appdb"
\end{lstlisting}
\end{block}
\begin{block}{Függőség kezelés}
A kapcsolat beállításait ne kódold a forráskódba, használj env fájlt.
\begin{alertblock}{SOHA ne commitold a .env fájlt!}
Használj .env.example sablont, a valódi értékeket .gitignore-ba!
\end{alertblock}
\end{frame}
\begin{frame}[fragile]{Prisma specifikus konfiguráció}
\begin{block}{schema.prisma fájl}
\begin{lstlisting}[language=JavaScript]
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
\end{lstlisting}
\end{block}
\begin{block}{Connection URL extended példa}
\begin{lstlisting}[language=bash]
DATABASE_URL="postgresql://user:pass@localhost:5432/mydb?schema=public\
&connection_limit=10&pool_timeout=20"
\end{lstlisting}
\end{block}
\end{frame}
\begin{frame}{Prisma megjegyzés}
\begin{itemize}
\item Prisma-val a kapcsolat a \texttt{DATABASE\_URL}-on keresztül jön létre
\item A koncepció ugyanaz, csak a keretrendszer kezeli a részleteket
\item Ebben a részben nem feltétel a Prisma használata
\end{itemize}
\end{frame}
\begin{frame}{Hibakezelés és stabilitás}
\begin{itemize}
\item Használj újracsatlakozást ideiglenes hibákra
\item Naplózd a kapcsolat hibákat, de ne írj ki jelszavakat
\item Tranzakcióknál kezeld a visszagörgetést
\end{itemize}
\end{frame}