Kezdőlap Rólunk Szolgáltatások Munkák Tanulás
DigitForge Tanulás

Programozási alapok érthetően.

Válassz bal oldalt egy nyelvet, olvasd el az alapfogalmakat, majd nézd meg a rövid példákat. A cél az, hogy ne csak másold a kódot, hanem lásd, mit miért írunk.

<section>
  tanulás = "HTML + CSS + Python + TS + React"
  gyakorlás += 1
</section>
Haladás

Tanulási állapot

0 / 10 kész
HTML logó
01 / Struktúra

HTML alapok

A HTML adja a weboldal vázát. Címeket, bekezdéseket, képeket, linkeket, listákat és űrlapokat helyezünk el vele. A legtöbb HTML elem nyitó és záró tagből áll.

Tag

Ilyen például a <h1>, <p> vagy <a>.

Attribútum

Extra adat az elemhez, például href, src vagy class.

Szemantika

A header, main, section segít értelmezni az oldalt.

Példa 1: egyszerű oldalrész

HTML kód
<section>
  <h1>Első weboldalam</h1>
  <p>Ez egy rövid bemutatkozó szöveg.</p>
  <a href="https://digitforge.hu">Megnézem</a>
</section>

Példa 2: lista és kép

HTML kód
<h2>Tanulási terv</h2>
<img src="logo.png" alt="DigitForge logó">
<ul>
  <li>HTML váz elkészítése</li>
  <li>CSS stílus hozzáadása</li>
  <li>Python alapok gyakorlása</li>
</ul>
Tipp: először mindig a tartalom szerkezetét írd meg, és csak utána foglalkozz a kinézettel.
CSS logó
02 / Stílus

CSS alapok

A CSS mondja meg, hogyan nézzen ki a HTML. Színeket, betűméretet, távolságokat, elrendezést, animációkat és reszponzív működést adhatunk az oldalhoz.

Szelektor

Kiválasztja, mit formázunk. Például h1, .card, #menu.

Tulajdonság

Amit módosítunk, például color, padding, display.

Reszponzivitás

@media szabállyal mobilon más elrendezést adhatsz.

Példa 1: kártya formázása

CSS kód
/* Egy modern, egyszerű tartalomkártya */
.card {
  background: white;
  border: 1px solid #eeeeee;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
}

.card h2 {
  color: #3b82f6;
  margin-bottom: 10px;
}

Példa 2: két oszlopból egy oszlop mobilon

CSS kód
.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

@media (max-width: 700px) {
  .grid {
    grid-template-columns: 1fr;
  }
}
Tipp: a CSS-ben a kis távolságok is sokat számítanak. A rendezett margó és padding profibbá teszi az oldalt.
Python logó
03 / Logika

Python alapok

A Python egy könnyen olvasható programozási nyelv. Jó kezdőknek, automatizálásra, adatok feldolgozására, kisebb programokra és webes háttérrendszerekhez is.

Változó

Adatot tárol, például nev = "Anna" vagy pont = 10.

Feltétel

Az if dönti el, hogy melyik kódrész fusson le.

Ciklus

A for ismétlésekre jó, például listák bejárására.

Példa 1: változó és feltétel

Python kód
pontszam = 82

if pontszam >= 80:
    print("Szép munka, haladó szint!")
elif pontszam >= 50:
    print("Jó irány, gyakorolj még!")
else:
    print("Kezdd újra az alapokkal.")

Példa 2: lista és ciklus

Python kód
nyelvek = ["HTML", "CSS", "Python"]

for nyelv in nyelvek:
    print(f"Ma ezt gyakorlom: {nyelv}")
Tipp: Pythonban a behúzás nem csak szépség. A program ebből tudja, melyik sor tartozik az if vagy for blokkba.
JavaScript logó
04 / Interakció

JavaScript alapok

A JavaScript teszi élővé a weboldalt. Gombkattintásra reagál, módosítja a HTML tartalmat, ellenőrzi az űrlapokat, animációkat indít, és adatokat kérhet le szerverről.

DOM

A böngészőben lévő HTML elemek rendszere, amit JavaScripttel módosíthatsz.

Esemény

Például kattintás, gépelés vagy görgetés. Ezekre addEventListener figyel.

Függvény

Újrahasznosítható kódrész, amit akkor futtatsz, amikor szükség van rá.

Példa 1: szöveg módosítása kattintásra

JavaScript kód
const gomb = document.querySelector("#gomb");
const cim = document.querySelector("#cim");

gomb.addEventListener("click", () => {
  cim.textContent = "Sikerült megváltoztatni a címet!";
});

Példa 2: pontszám számoló

JavaScript kód
let pont = 0;

function joValasz() {
  pont = pont + 1;
  console.log(`Pontszámod: ${pont}`);
}

joValasz();
joValasz();
Tipp: JavaScript gyakorlásnál nyisd meg a böngésző fejlesztői konzolját, mert ott azonnal látod a hibákat és a console.log eredményét.
PHP logó
05 / Backend

PHP alapok

A PHP szerveroldali nyelv. Ez azt jelenti, hogy a kód a szerveren fut le, majd a böngésző már a kész HTML választ kapja meg. Űrlapok, belépési rendszerek és adatbázisos oldalak gyakori alapja.

Szerveroldal

A PHP nem a böngészőben fut, hanem a tárhelyen vagy helyi szerveren.

Űrlapadat

A $_POST és $_GET segítségével érkezhet adat a felhasználótól.

Kiírás

Az echo HTML-t vagy szöveget küld vissza a böngészőnek.

Példa 1: változó kiírása

PHP kód
<?php
$nev = "DigitForge tanuló";
$pont = 95;

echo "<h1>Szia, $nev!</h1>";
echo "<p>Pontszámod: $pont</p>";
?>

Példa 2: egyszerű űrlap feldolgozás

PHP kód
<?php
if ($_SERVER["REQUEST_METHOD"] === "POST") {
    $email = $_POST["email"];
    echo "Köszönjük, erre írunk: " . htmlspecialchars($email);
}
?>
Tipp: felhasználói adatot soha ne írj ki nyersen. A htmlspecialchars segít elkerülni a veszélyes HTML beszúrását.
SQL logó
06 / Adatok

SQL alapok

Az SQL adatbázisok kezelésére való. Táblákból kérhetsz le adatot, új sorokat szúrhatsz be, módosíthatsz rekordokat, vagy szűrhetsz feltételek alapján.

Tábla

Olyan, mint egy rendezett táblázat: oszlopokból és sorokból áll.

Lekérdezés

A SELECT megmondja, milyen adatokat szeretnél látni.

Szűrés

A WHERE feltétellel csak bizonyos sorokat kapsz vissza.

Példa 1: adatok lekérése

SQL kód
SELECT nev, email, pontszam
FROM tanulok
WHERE pontszam >= 80
ORDER BY pontszam DESC;

Példa 2: új tanuló felvétele

SQL kód
INSERT INTO tanulok (nev, email, pontszam)
VALUES ("Kovács Anna", "anna@example.com", 72);
Tipp: valódi weboldalnál SQL parancsot ne rakj össze sima szövegösszefűzéssel. Használj előkészített lekérdezést, mert az biztonságosabb.
TypeScript logó
07 / Típusok

TypeScript alapok

A TypeScript a JavaScript kibővített változata, ahol előre megadhatod, milyen típusú adatot vársz. Ez segít hamarabb megtalálni a hibákat, főleg nagyobb projektekben.

Típus

Megmondja, hogy egy érték string, number, boolean vagy más legyen.

Interface

Leírja egy objektum formáját, például milyen mezői vannak egy tanulónak.

Fordítás

A TypeScriptből végül JavaScript készül, amit a böngésző futtat.

Példa 1: típusos változók

TypeScript kód
let nev: string = "Anna";
let pontszam: number = 88;
let aktiv: boolean = true;

console.log(`${nev} pontszáma: ${pontszam}`);

Példa 2: interface és függvény

TypeScript kód
interface Tanulo {
  nev: string;
  pont: number;
}

function ertekeles(tanulo: Tanulo): string {
  return tanulo.pont >= 80 ? "Haladó" : "Gyakorló";
}

console.log(ertekeles({ nev: "Bence", pont: 91 }));
Tipp: TypeScriptben a hiba gyakran már kódírás közben látszik, nem csak futtatáskor. Ezért hasznos komolyabb webappoknál.
React logó
08 / Komponensek

React alapok

A React JavaScript könyvtár felhasználói felületekhez. Az oldalt kisebb, újrahasználható komponensekre bontod, majd ezekből építed fel a teljes appot.

Komponens

Egy önálló UI darab, például gomb, kártya, menü vagy teljes szekció.

Props

Kívülről átadott adatok, amelyekkel ugyanaz a komponens többféle tartalmat mutathat.

State

Olyan belső állapot, ami változáskor újrarajzolja a felületet.

Példa 1: egyszerű komponens

React kód
function TanulasKartya() {
  return (
    <article className="card">
      <h2>HTML alapok</h2>
      <p>A HTML adja az oldal szerkezetét.</p>
    </article>
  );
}

Példa 2: state számlálóval

React kód
import { useState } from "react";

function PontSzamlalo() {
  const [pont, setPont] = useState(0);

  return (
    <button onClick={() => setPont(pont + 1)}>
      Pont: {pont}
    </button>
  );
}
Tipp: Reactban gondolkodj komponensekben: ha valami ismétlődik az oldalon, jó eséllyel külön komponens lehet belőle.
Node.js logó
09 / JavaScript szerveren

Node.js alapok

A Node.js lehetővé teszi, hogy JavaScriptet ne csak böngészőben, hanem szerveren is futtass. API-k, botok, automatizációk és backend rendszerek készülhetnek vele.

Runtime

A Node.js környezet futtatja a JavaScript kódot a gépeden vagy szerveren.

Module

A kódot külön fájlokra bonthatod, majd import vagy require segítségével használhatod.

API

Egy backend végpont adatot ad vissza, például JSON formátumban.

Példa 1: egyszerű konzol program

Node.js kód
const nyelvek = ["HTML", "CSS", "JavaScript"];

nyelvek.forEach((nyelv) => {
  console.log(`Ma ezt tanulom: ${nyelv}`);
});

Példa 2: alap HTTP szerver

Node.js kód
import http from "http";

const server = http.createServer((req, res) => {
  res.writeHead(200, { "Content-Type": "application/json" });
  res.end(JSON.stringify({ uzenet: "Szia a szerverről!" }));
});

server.listen(3000, () => {
  console.log("Szerver fut: http://localhost:3000");
});
Tipp: Node.js tanulásnál először értsd meg a kérés-válasz működést. A backend lényege, hogy a kliens kér, a szerver válaszol.
C# logó
10 / Alkalmazásfejlesztés

C# alapok

A C# erős, típusos programozási nyelv. Használják asztali alkalmazásokhoz, játékfejlesztéshez Unityben, webes backendhez ASP.NET-tel és vállalati rendszerekhez.

Típusosság

A változók típusát meg kell adni, például string, int vagy bool.

Osztály

Az objektumorientált kód alapja. Adatokat és műveleteket fog össze.

Metódus

Olyan függvény, amely egy osztályhoz tartozik.

Példa 1: változók és feltétel

C# kód
string nev = "Anna";
int pont = 86;

if (pont >= 80)
{
    Console.WriteLine($"{nev} haladó szinten van.");
}
else
{
    Console.WriteLine($"{nev} még gyakorol.");
}

Példa 2: egyszerű osztály

C# kód
class Tanulo
{
    public string Nev { get; set; }
    public int Pont { get; set; }

    public string Szint()
    {
        return Pont >= 80 ? "Haladó" : "Kezdő";
    }
}
Tipp: C#-nál először a típusokat és az osztályokat érdemes stabilan megérteni, mert erre épül a nyelv nagy része.
Gyakorlás

Mini feladatok és gyors quiz

HTML + CSS kártya

Készíts egy bemutatkozó kártyát képpel, címmel, rövid szöveggel és egy gombbal. CSS-ben adj neki keretet, árnyékot és hover állapotot.

Megoldási ötlet
<article class="profile-card">
  <img src="logo.png" alt="Logó">
  <h2>DigitForge tanuló</h2>
  <p>Ma HTML-t és CSS-t gyakorlok.</p>
  <button>Megnézem</button>
</article>

JavaScript kattintás

Hozz létre egy gombot, ami minden kattintásnál növeli a pontszámot, és kiírja az aktuális értéket a képernyőre.

Megoldási ötlet
let pont = 0;
const gomb = document.querySelector("#pont-gomb");
const kimenet = document.querySelector("#pont");

gomb.addEventListener("click", () => {
  pont++;
  kimenet.textContent = pont;
});

Python lista

Készíts listát a tanult nyelvekből, majd ciklussal írd ki mindegyik mellé, hogy “gyakorlás alatt”.

Megoldási ötlet
nyelvek = ["HTML", "CSS", "Python"]

for nyelv in nyelvek:
    print(f"{nyelv}: gyakorlás alatt")
Előnézet

1. Mire való a HTML?

2. Mi a CSS fő feladata?

3. Mire jó a JavaScript?

Válaszolj a kérdésekre.