AI Asistent Učitelj Vasa: Praktična obuka za početnike (32 dana)

Dan -2/28: PyCharm unified edition

Vreme potrebno: 60-120 minuta

Gde je Učitelj Vasa danas?

Danas još uvek nema Učitelja Vase – on će se roditi za nekoliko dana. Ali priprema za njegovo rođenje je u punom jeku! Juče smo instalirali Python, mozak koji će pokretati našeg AI asistenta. Danas postavljamo njegovu radionicu – PyCharm, najmoćnije razvojno okruženje za Python. Nakon ove lekcije, imaćeš potpuno funkcionalno razvojno okruženje spremno za kodiranje.

Cilj današnje lekcije

Danas ćeš instalirati i podesiti PyCharm unified edition, kreirati svoj prvi projekat i razumeti osnove rada sa ovim moćnim alatom koji će ti biti glavni partner u kreiranju Učitelja Vase.

Predznanja

  • Instaliran Python 3.13+ (Dan -3)
  • Osnovno poznavanje rada sa računarom
  • Razumevanje šta je Python (iz prethodne lekcije)

Glavni sadržaj

Šta je PyCharm unified edition?

PyCharm je integrisano razvojno okruženje (IDE) specijalno dizajnirano za Python programiranje. Od verzije 2025.1, PyCharm je prešao sa modela dva odvojena proizvoda – besplatnog Community Edition i plaćenog Professional Edition – na jedinstven, objedinjeni proizvod koji se sada jednostavno zove “PyCharm”. Ovo znači da svi korisnici sada preuzimaju i instaliraju jedan te isti softverski paket.

📚 NIVO 1 – Osnovno objašnjenje

PyCharm je kao Word za programere – specijalizovan editor koji razume Python kod i pomaže ti da pišeš bolje i brže. Zamislimo da je programiranje bez PyCharm-a kao pisanje knjige običnim notepad-om, a PyCharm je kao pisanje u Microsoft Word-u sa spell check-om, gramatikom i automatskim formatiranjem. PyCharm ti pomaže da:

  • Automatski ispravlja greške dok kucaš
  • Predlaže šta želiš da napišeš (kao T9 na starim telefonima)
  • Organizuje tvoj kod u logičke celine
  • Povezuje se sa GitHub-om jednim klikom
  • Pronađe greške pre nego što pokreneš program

💡 PRO TIP: Zamislite PyCharm kao Google Maps za kod. Dok kucate, on “automatski preusmerava” na ispravnu sintaksu i predlaže najkraću rutu do rešenja – a sve to bez napuštanja jednog prozora. Kada dobijete grešku, PyCharm vam pokazuje “crveni semafor” i predlaže obilaznicу.

🚀 NIVO 2 – Dublje razumevanje

PyCharm unified edition kombinuje najbolje iz oba sveta. Prilikom instalacije automatski dobijaš 30-dnevni besplatni probni period za Pro funkcije. Nakon isteka ovog perioda, možeš:

  • Kupiti Pro pretplatu za nastavak korišćenja naprednih funkcionalnosti
  • Nastaviti da koristiš osnovne funkcije (uključujući Jupyter Notebook podršku) potpuno besplatno

Ova promena ima za cilj da pojednostavi korisničko iskustvo – nema više dileme koje izdanje preuzeti, što je posebno korisno za početnike.

🔍 UVID: PyCharm nije samo editor; to je centralni hub za upravljanje složenošću. Kada projekat “Učitelj Vasa” poraste, nećeš imati samo jedan fajl, već desetine. PyCharm kreira “mapu” tvog koda, razumejući kako su fajlovi povezani. Ovo omogućava funkcije poput “Go to Definition” (skoči na definiciju) ili “Find Usages” (pronađi gde se koristi). Na sistemskom nivou, PyCharm gradi interni model tvog koda (indeks) koji mu omogućava da razmišlja o projektu kao celini, a ne samo o pojedinačnim fajlovima. To je ključna razlika između prostog tekst editora i IDE-a.

🎈 ZABAVNA ČINJENICA: PyCharm prvi put je objavljen 2010. godine, baš iste godine kada je Python 2.7 dobio svoje poslednje veliko izdanje. Coincidence? – Radije sinhronizovana evolucija alata i jezika!

PyCharm welcome screen

PyCharm welcome screen

Sistemski zahtevi i priprema za instalaciju

Pre nego što krenemo sa instalacijom, važno je proveriti da li tvoj računar ispunjava potrebne zahteve:

📚 NIVO 1 – Osnovno objašnjenje

Minimalni zahtevi (tvoj računar mora imati barem ovo):

  • 2 GB slobodnog RAM-a
  • 3.5 GB prostora na hard disku
  • Windows 10 (64-bit), macOS 12.0+ ili Linux
  • Rezolucija ekrana najmanje 1024×768

💡 PRO TIP: Ako niste sigurni da li vaš računar ima dovoljno RAM-a, u Windows-u pritisnite Ctrl + Shift + Esc, a zatim pogledajte karticu Performance → Memory. Za macOS kliknite Apple → About This Mac → Memory. Tako ćete odmah znati da li je nadogradnja potrebna.

🚀 NIVO 2 – Dublje razumevanje

Preporučeni zahtevi za optimalan rad:

  • 8 GB ukupnog sistemskog RAM-a
  • SSD disk sa najmanje 5 GB slobodnog prostora
  • Višejezgarni procesor (multi-core CPU)
  • Rezolucija ekrana 1920×1080
  • Najnovije stabilne verzije operativnih sistema

Napomena: PyCharm dolazi sa ugrađenim Java Runtime Environment (JRE), tako da ne moraš posebno da instaliraš Javu.

SAVET ZA OPTIMIZACIJU: Preporučeni sistemski zahtev navodi SSD disk sa razlogom. PyCharm konstantno čita i piše male fajlove u pozadini (indeksiranje, keširanje, lokalna istorija izmena). SSD (Solid State Drive) je dramatično brži u ovim operacijama od tradicionalnog HDD-a (Hard Disk Drive). Investicija u SSD znači:

  • Značajno brže pokretanje PyCharm-a
  • Gotovo trenutno pretraživanje koda
  • Brže indeksiranje projekta kada dodaješ nove fajlove ili biblioteke

Za početnika, ovo znači manje čekanja i više fokusa na učenje i kodiranje.

🎈 ZABAVNA ČINJENICA: JetBrains alati, uključujući PyCharm, interno koriste JVM. Zbog toga neki korisnici pošalice kažu da “pokrećete Python na vrhu Java-e da biste pisali drugi Python”!

Download i instalacija PyCharm-a

Idemo korak po korak kroz proces instalacije. Ne brini ako ti se čini komplikovano – samo prati instrukcije i za 10 minuta ćeš imati sve spremno!

Korak 1: Download

  1. Otvori browser i idi na: https://www.jetbrains.com/pycharm/
  2. Klikni na dugme “Download”
  3. Sistem će automatski prepoznati tvoj operativni sistem i ponuditi odgovarajuću verziju

📚 NIVO 1 – Osnovno objašnjenje

Detaljne instrukcije po operativnom sistemu:

Za Windows:

  • Klikni “Download” dugme pod Windows sekcijom
  • Fajl koji se downloaduje treba da bude oko 600MB (.exe fajl)
  • Čekaj dok se download završi (može potrajati 5-15 minuta zavisno od brzine interneta)

Za Mac:

  • Klikni “Download” dugme pod macOS sekcijom
  • Download će biti .dmg fajl
  • Postoje odvojene verzije za Intel i Apple Silicon (M1/M2/M3) procesore

Za Linux:

  • Klikni “Download” dugme pod Linux sekcijom
  • Download će biti .tar.gz arhiva
  • Postoji i posebna arhiva za ARM64 procesore

🚀 NIVO 2 – Dublje razumevanje

Alternativni načini instalacije:

  • JetBrains Toolbox App (preporučeno): Aplikacija koja olakšava instalaciju, ažuriranje i upravljanje svim JetBrains alatima
  • Snap paket (Linux): Iako je moguć, ponekad može imati probleme sa performansama
  • Homebrew (macOS): brew install –cask pycharm-ce (za one koji preferiraju terminal)

💡 PRO TIP: JetBrains Toolbox nije samo “aplikacija za instalaciju”. On čuva istoriju svih verzija koje ste ikada koristili. Ako nešto prestane da radi posle ažuriranja, dva klika vas vraćaju na prethodnu verziju – kao time-machine za IDE!

🔄 VEŽBA: Instaliraj PyCharm preko Toolbox-a, a zatim pokušaj de-instalaciju i re-instalaciju jednim klikom. Ovo će vam pokazati koliko je lako upravljati više verzija.

Korak 2: Instalacija

📚 NIVO 1 – Osnovno objašnjenje

Windows instalacija korak po korak:

  1. Pokreni skinuti .exe fajl duplim klikom

  2. Prihvati UAC (User Account Control) – Windows može pitati da li dozvolјavaš instalaciju, klikni “Da”

  3. Klikni “Next” na prvom ekranu

  4. Ostavi default putanju instalacije (C:\Program Files\JetBrains…)

  5. Na ekranu “Installation Options” VAŽNO je da štikliraš:

    • ✅ “64-bit launcher” (dodaje ikonicu na Desktop)
    • ✅ “Create Desktop Shortcut”
    • ✅ “Open Folder as Project” (dodaje opciju u desni klik na foldere)
    • ✅ “.py” (da se Python fajlovi otvaraju u PyCharm-u)
    • ✅ “Add launchers dir to the PATH” (omogućava pokretanje iz terminala)
  6. Klikni “Install” i sačekaj da se završi

  7. Klikni “Finish”

PyCharm installation options sa označenim checkboxovima

PyCharm installation options sa označenim checkboxovima

Za Mac:

  1. Otvori skinuti .dmg fajl
  2. Prevuci PyCharm ikonu u Applications folder
  3. Pri prvom pokretanju, macOS može upozoriti da je aplikacija skinuta sa interneta – klikni “Open”

Za Linux:

  1. Raspakuj skinuti tar.gz fajl u /opt direktorijum:

    sudo tar -xzf pycharm-*.tar.gz -C /opt/
    
  2. Pokreni PyCharm:

    /opt/pycharm-*/bin/pycharm.sh
    
  3. Možeš kreirati desktop entry preko Tools → Create Desktop Entry

🚀 NIVO 2 – Dublje razumevanje

Napredne opcije tokom instalacije:

  • Silent instalacija na Windows-u za sistemske administratore
  • Možeš promeniti instalacionu lokaciju ako imaš specifične potrebe
  • PATH opcija je korisna za pokretanje PyCharm-a iz terminala komandom pycharm

🎈 ZABAVNA ČINJENICA: Snap paket PyCharm-a na Linux-u dolazi sa sandbox-om koji sprečava neke drag-and-drop funkcije. Ako vam fali ta mogućnost, klasična tar.gz instalacija vraća pun pristup sistemu.

Prvo pokretanje i osnovno podešavanje

Kada prvi put pokreneš PyCharm, proći ćeš kroz početno podešavanje. Ne brini – pokazaću ti tačno šta da izabereš!

Korak 1: Import Settings

Pri prvom pokretanju, PyCharm će te pitati:

  • “Import PyCharm Settings”: Ako je ovo prvi put da koristiš PyCharm, izaberi “Do not import settings”
  • Ako si ranije koristio PyCharm ili neki drugi JetBrains IDE, možeš importovati postojeća podešavanja

Korak 2: Izbor teme

PyCharm će te pitati da izabereš UI temu:

📚 NIVO 1 – Osnovno objašnjenje

Opcije koje imaš:

  • Darcula (tamna tema): Preporučujem ovu – lakša je za oči tokom dugog rada, posebno uveče
  • Light (svetla tema): Kao Word dokument, dobra za rad po danu
  • High Contrast: Za one sa problemima vida
  • Sync with OS: Automatski prati sistemsku temu

💡 PRO TIP: Ne možete da se odlučite između Dark i Light? Probajte “Sync with OS” tokom dana, a uveče ručno prebacite na Darcula (Alt + `). Vaše će vam oči biti zahvalne!

🚀 NIVO 2 – Dublje razumevanje

Dodatno prilagođavanje:

  • Kasnije možeš fino podesiti temu u Settings → Appearance & Behavior → Appearance
  • Možeš instalirati dodatne teme preko Plugin marketplace-a
  • Popularne community teme: Material Theme UI, One Dark Theme
PyCharm theme selection sa Dark temom

PyCharm theme selection sa Dark temom

Korak 3: Podešavanje fonta

Dobar font čini veliku razliku kada čitaš kod satima!

  1. Kada se PyCharm otvori, idi na:

    • Windows/Linux: File → Settings (Ctrl+Alt+S)
    • Mac: PyCharm → Preferences (Cmd+,)
  2. U levom meniju: Editor → Font

  3. Preporučene postavke:

    • Font: JetBrains Mono (već instaliran sa PyCharm-om)
    • Size: 14 (ili veće ako imaš veliki monitor)
    • Line height: 1.2

📚 NIVO 1 – Osnovno objašnjenje

Zašto je font važan?

  • JetBrains Mono je dizajniran specifično za programiranje
  • Jasno razlikuje slične karaktere: 0 (nula) i O (slovo), l (malo L) i 1 (broj)
  • Nije sramota imati veliki font – bolje je videti dobro nego se mučiti!

🚀 NIVO 2 – Dublje razumevanje

Dodatne font opcije:

  • Ligature omogućavaju lepši prikaz operatora (npr. != postaje ≠)
  • Možeš imati različite fontove za editor i UI
  • Alternative: Fira Code, Source Code Pro, Consolas

🎈 ZABAVNA ČINJENICA: JetBrains Mono open-source font podržava više od 140 jezika, uključujući i srpsku latinicu i ćirilicu – savršeno ako u komentarima želite da koristite maternji jezik.

Korak 4: Dodatna podešavanja

  • Keymap: Ostavi “Default” osim ako nisi navikao na drugi editor
  • Plugins: Za sada preskoči, dodaćemo po potrebi kasnije
  • Featured plugins: PyCharm može predložiti popularne plugin-e – za početak nisu potrebni
Welcome to PyCharm

Welcome to PyCharm

Kreiranje prvog projekta i razumevanje interfejsa

Sada kada imamo PyCharm podešen, vreme je da kreiramo naš prvi projekat!

Korak 1: Novi projekat

  1. Na Welcome ekranu, klikni “New Project”

  2. U dijalogu koji se otvori:

    • Project type: Ostavi “Pure Python” selektovano

    • Location:

      • Klikni na folder ikonicu da bi izabrao lokaciju
      • [NIVO 1] Predlog: Napravi folder “Python-Projekti” na Desktop-u
      • Ime projekta: “test-pycharm” (bez razmaka i naših slova!)
    • Python Interpreter:

      • PyCharm bi trebalo automatski da pronađe Python 3.13+ koji smo instalirali juče
      • Ostavi “New environment using Virtualenv” štiklirano

💡 PRO TIP: Kada kreirate projekat, kliknite na “⚙ → Add sample code”. PyCharm će u startu dodati main.py sa if __name__ == "__main__": blokom – manje kucanja, manje grešaka.

New Project dialog sa popunjenim poljima

New Project dialog sa popunjenim poljima

📚 NIVO 1 – Osnovno objašnjenje

Šta je virtuelno okruženje?
Virtuelno okruženje je kao izdvojena soba za tvoj Python projekat. Zamislimo da imaš sobu sa određenim knjigama (bibliotekama) – svaki projekat ima svoju sobu sa svojim knjigama, tako da se ne mešaju jedne sa drugima. PyCharm automatski kreira ovu “sobu” za svaki projekat.

🚀 NIVO 2 – Dublje razumevanje

Opcije za interpreter:

  • Virtualenv: Standardni Python način kreiranja virtuelnih okruženja
  • Conda: Popularan u data science zajednici
  • Poetry: Moderniji dependency manager
  • Existing interpreter: Ako želiš da koristiš globalni Python

🎈 ZABAVNA ČINJENICA: Naziv venv nije slučajan – prvi put se pojavio u PEP 405 (2012). Do tada ste morali da instalirate virtualenv kao spoljni paket. Sada je ugrađen u standardnu biblioteku.

  1. Klikni “Create” i sačekaj da PyCharm pripremi projekat

Korak 2: Razumevanje PyCharm interfejsa

Kada se projekat otvori, videćeš nekoliko glavnih delova:

┌─────────────────────────────────────────────┐
│  Menu bar (File, Edit, View...)             │
├─────────────┬───────────────────┬───────────┤
│             │                   │           │
│  Project    │   Editor Area     │  Tool     │
│  Tool       │   (glavni deo)    │  Windows  │
│  Window     │                   │  (desno)  │
│  (levo)     │                   │           │
├─────────────┴───────────────────┴───────────┤
│    Terminal / Run / Debug / Version Control │
└─────────────────────────────────────────────┘

📊 DIJAGRAM: Osnovni tok rada u PyCharm-u

[1. Project Window (Fajlovi)]  ────> [2. Editor (Pisanje koda)]
        │                                      │
        │ (Struktura projekta)                 │ (Logika programa)
        ↓                                      ↓
[4. Terminal/Git (Upravljanje)] <──── [3. Run/Debug Window (Rezultat)]
  • Korak 1: U Project Window-u biraš ili kreiraš fajl na kome radiš
  • Korak 2: U Editoru pišeš i menjaš svoj Python kod
  • Korak 3: Pokrećeš kod, a rezultat vidiš u Run (ili Debug) prozoru
  • Korak 4: Po potrebi, koristiš Terminal za komande, instalacije ili (kasnije) Git

📚 NIVO 1 – Osnovno objašnjenje

Glavni delovi koje ćeš koristiti:

  • Project Tool Window (levo): Lista svih fajlova u projektu – kao File Explorer
  • Editor (centar): Ovde pišeš kod
  • Run window (dole): Ovde se prikazuje rezultat kada pokreneš program
  • Terminal (dole): Direktan pristup komandnoj liniji

🚀 NIVO 2 – Dublje razumevanje

Dodatni korisni delovi:

  • Navigation bar: Brza navigacija kroz folder strukturu (Alt+Home)
  • Gutter: Leva margina editora sa brojevima linija i breakpoint-ima
  • Status bar: Informacije o projektu, enkodingu, Python verziji
  • Structure view: Pregled funkcija i klasa u trenutnom fajlu
  • Version Control: Integracija sa Git-om (koristićemo od sutra)

Korisne prečice za upravljanje prozorima:

  • Alt+1 (Cmd+1 na Mac): Prikaži/sakrij Project tool window
  • Alt+F12: Otvori terminal
  • Shift+F12: Sakrij sve tool window-e (maksimizuj editor)
  • Ctrl+Shift+F12: Vrati prethodni layout

Korak 3: Prvi Python fajl u PyCharm-u

Hajde da napravimo naš prvi Python fajl i testiramo da sve radi:

  1. Desni klik na naziv projekta u Project Tool Window
  2. New → Python File
  3. Ime fajla: “test_pycharm” (PyCharm će automatski dodati .py)
  4. Enter

U editoru koji se otvorio, ukucaj:

# Moj prvi program u PyCharm-u
print("=" * 50)
print("PROVERA PYCHARM INSTALACIJE")
print("=" * 50)

# Test osnovnih funkcionalnosti
print("\n✅ PyCharm je uspešno instaliran")
print("✅ Python projekat je kreiran") 
print("✅ Možemo da pokretamo Python kod")

# Priprema za Učitelja Vasu
ime_asistenta = "Učitelj Vasa"
print(f"\n🎯 Uskoro ću kreirati AI asistenta: {ime_asistenta}")
print("🚀 Spreman sam za sledeći korak!")

📚 NIVO 1 – Osnovno objašnjenje

Objašnjenje koda:

  • Linije koje počinju sa # su komentari – Python ih ignoriše
  • print() ispisuje tekst na ekran
  • "=" * 50 pravi liniju od 50 znakova jednakosti
  • \n pravi novi red
  • f"..." omogućava ubacivanje promenljivih u tekst

🚀 NIVO 2 – Dublje razumevanje

Primeti PyCharm funkcionalnosti:

  • Syntax highlighting: Različiti delovi koda su obojeni različitim bojama
  • Code completion: Dok kucaš, PyCharm predlaže opcije (Ctrl+Space)
  • Auto-indent: Automatski uvlači kod nakon dvotačke
  • Bracket matching: Kada otvoriš zagradu, PyCharm je automatski zatvara
  • PEP 8 warnings: Žute ili sive linije upozoravaju na stilske greške

Korak 4: Pokretanje programa

Vreme je da pokrenemo naš prvi program! Imaš nekoliko načina:

  1. Način 1 (najlakši): Desni klik bilo gde u editoru → Run ‘test_pycharm’

  2. Način 2 (prečica):

    • Windows/Linux: Ctrl+Shift+F10
    • Mac: Ctrl+Shift+R
  3. Način 3: Klikni zelenu strelicu (▶) u gutter-u pored main bloka

  4. Način 4: Klikni Run dugme u toolbar-u

💡 PRO TIP: Ako želite da vidite rezultat bez prelaska mišem, pritisnite dva puta Shift i ukucajte “run”. IntelliSearch će ponuditi sve konfiguracije. Izaberite strelicama i pritisnite Enter – pokreće se odmah.

PyCharm sa pokrenutim programom i prikazanim outputom

PyCharm sa pokrenutim programom i prikazanim outputom

U donjem delu ekrana otvoriće se “Run” window sa rezultatom:

==================================================
PROVERA PYCHARM INSTALACIJE
==================================================

✅ PyCharm je uspešno instaliran
✅ Python projekat je kreiran
✅ Možemo da pokretamo Python kod

🎯 Uskoro ću kreirati AI asistenta: Učitelj Vasa
🚀 Spreman sam za sledeći korak!

Process finished with exit code 0

“Process finished with exit code 0” znači da je program završen bez grešaka!

🎈 ZABAVNA ČINJENICA: PyCharm pamti poslednjih 50 Run/Debug konfiguracija. Možete im pristupiti preko Alt + Shift + F10 – kao Stack History za vaše skriptove.

Praktična implementacija

Sada kada razumeš osnove, hajde da istražimo još nekoliko korisnih funkcionalnosti:

Test debugging funkcionalnosti

📊 DIJAGRAM: Tok procesa debugovanja

        [START]
           │
           ↓
[1. Postavi Breakpoint] 🔴 <--- Klik u gutter (leva margina)
           │
           ↓
[2. Pokreni u Debug modu] 🐞
           │
           ↓
[3. Program se zaustavlja na Breakpoint-u] ⏸️
           │
           ↓
[4. Analiziraj varijable] 🔍 <--- Pogledaj Debug prozor
           │
           ↓
[5. Izvrši korak-po-korak] →   <--- Koristi F8 (Step Over)
           │
           └───────────> (ponavljaj dok ne nađeš grešku)
           ↓
         [END]

Kreiraj novi fajl “test_debug.py”:

# test_debug.py
def pozdrav_korisniku():
    """Funkcija koja pozdravlja korisnika"""
    ime = input("Kako se zoveš? ")
    godine = int(input("Koliko imaš godina? "))
    
    # Postavi breakpoint na sledećoj liniji (klik u gutter)
    poruka = f"Zdravo {ime}! Imaš {godine} godina."
    
    if godine < 18:
        dodatak = "Još si mlad za programiranje? Naprotiv!"
    else:
        dodatak = "Savršene godine za učenje Python-a!"
    
    print(poruka)
    print(dodatak)
    return poruka

# Pozovi funkciju
if __name__ == "__main__":
    rezultat = pozdrav_korisniku()
    print(f"\nFunkcija je vratila: {rezultat}")

📚 NIVO 1 – Osnovno objašnjenje

Kako testirati debugging:

  1. Klikni levo od broja linije 8 (gde piše poruka = ...) – pojaviće se crveni krug
  2. Desni klik → Debug ‘test_debug’
  3. Unesi svoje ime i godine kada program pita
  4. Program će stati na breakpoint-u
  5. U Debug window-u možeš videti vrednosti svih promenljivih
  6. Koristi F8 za prelazak na sledeću liniju

🚀 NIVO 2 – Dublje razumevanje

Naprednije debug opcije:

  • F7 (Step Into): Ulazi u funkcije
  • Shift+F8 (Step Out): Izlazi iz trenutne funkcije
  • F9 (Resume): Nastavlja do sledećeg breakpoint-a
  • Evaluate Expression: Alt+F8 za testiranje izraza u debug modu
  • Conditional breakpoints: Desni klik na breakpoint za dodavanje uslova

🔄 VEŽBA: Napravi fajl test_calculator.py i napiši funkcцiju koja sabira dva broja pročitana preko input(). Postavi breakpoint na liniji gde se računa zbir i pokreni Debug. Prati vrednosti u Variables panelu.

Testiranje code completion i navigacije

Kreiraj fajl “test_navigacija.py”:

# test_navigacija.py

class UciteljVasa:
    """Naš budući AI asistent"""
    
    def __init__(self, ime="Vasa"):
        self.ime = ime
        self.poruke = []
    
    def pozdravi(self):
        """Metoda za pozdravljanje"""
        poruka = f"Zdravo! Ja sam {self.ime}, tvoj AI učitelj."
        self.poruke.append(poruka)
        return poruka
    
    def broj_poruka(self):
        """Vraća broj sačuvanih poruka"""
        return len(self.poruke)

# Testiranje
def main():
    # Kreiraj instancu (Ctrl+Click na UciteljVasa da skočiš na definiciju)
    vasa = UciteljVasa()
    
    # Testiraj code completion: ukucaj "vasa." i vidi predloge
    print(vasa.pozdravi())
    print(f"Broj poruka: {vasa.broj_poruka()}")

if __name__ == "__main__":
    main()

Vežbe za navigaciju:

  • Stavi kursor na UciteljVasa u liniji 22 i pritisni Ctrl+B (Cmd+B na Mac) – skočićeš na definiciju
  • Pritisni Ctrl+Alt+← da se vratiš nazad
  • Alt+F7 na bilo kom metodu pokazuje gde se sve koristi

🎯 ALTERNATIVNO REŠENJE:
Sledeći primer pokazuje kako isti “pozdravni” program možete napisati kao funkciju umesto skripte. Ovo je korisno ako kasnije želite da uvezete kod u druge fajlove:

def proveri_okruzenje() -> None:
    """Provera da li PyCharm i Python rade kako treba."""
    print("=" * 50)
    print("PROVERA PYCHARM INSTALACIJE")
    print("=" * 50)

    checks = [
        "✅ PyCharm je uspešno instaliran",
        "✅ Python projekat je kreiran",
        "✅ Možemo da pokrećemo Python kod",
    ]
    for line in checks:
        print(line)

    ime_asistenta = "Učitelj Vasa"
    print(f"\n🎯 Uskoro ću kreirati AI asistenta: {ime_asistenta}")
    print("🚀 Spreman sam za sledeći korak!")


if __name__ == "__main__":
    proveri_okruzenje()

Na ovaj način, ako kasnije želite da testirate funkciju, možete je jednostavno importovati u tests/ mapu bez kopiranja koda.

🎈 ZABAVNA ČINJENICA: Ako napišete main() funkciju i ukucate if __name__ == "__main__":, PyCharm će predložiti automatsko generisanje “run” konfiguracije – ali i testa ukoliko imate pytest.

Dodatni primeri i zabavne vežbe

🔄 VEŽBA:

  1. Otvori Terminal unutar PyCharm-a (Alt + F12) i pokreni skriptu python test_pycharm.py. Uoči da li se izlaz razlikuje od pokretanja preko zelene strelice.
  2. Izmeni fontove u Editor → Font i podesi Ligatures. Obrati pažnju da li se operator != pretvara u simbol ≠.

💡 PRO TIP: Ligature mogu poboljšati čitljivost, ali nekima smetaju. Ako radite par-programiranje, proverite da oba programera koriste isti font da biste izbegli “čudne simbole” na ekranu partnera.

🎈 ZABAVNA ČINJENICA: PyCharm ima ugrađeni Productivity Guide (Help → Productivity Guide) koji prati koliko komandi i prečica koristite. Izazovite sebe da naredne nedelje podignete procenat iskorišćenja sa 10% na 25%!

Optimizacija i najbolje prakse

SAVET ZA OPTIMIZACIJU: Iako je PyCharm moćan, može postati spor ako se ne održava. Evo dva saveta za početnike kako da ti okruženje uvek bude brzo:

  1. Invalidate Caches / Restart: Ako primetiš da PyCharm “brljavi” (npr. ne prepoznaje novu funkciju), najčešće je rešenje da se obriše keš. Idi na File → Invalidate Caches... i izaberi opciju Invalidate and Restart. Ovo će naterati PyCharm da ponovo indeksira ceo projekat od nule, rešavajući 90% čudnih problema sa performansama.
  2. Upravljanje Plugin-ovima: PyCharm dolazi sa mnogo ugrađenih plugin-ova. Ako ne planiraš da radiš sa npr. bazama podataka ili JavaScript-om u ovom projektu, možeš ih isključiti da bi ubrzao pokretanje. Idi na Settings → Plugins → Installed i de-štikliraj one koji ti ne trebaju. Za početak, bezbedno je ostaviti sve kako jeste, ali dobro je znati za ovu opciju kada ti zatrebaju dodatne performanse.

Česte greške i rešenja

GREŠKA: “No Python interpreter configured for the project”
💡 REŠENJE:

  1. File → Settings → Project → Python Interpreter
  2. Klikni na zupčanik → Add Interpreter → Add Local Interpreter
  3. Izaberi “Virtualenv Environment” → New
  4. Base interpreter: pronađi python.exe (obično C:\Users[ime]\AppData\Local\Programs\Python\Python313\python.exe)

🔬 DETALJNIJE:
Na sistemskom nivou, ova greška znači da je veza između tvog projekta (koji je samo skup fajlova u folderu) i Python izvršne datoteke (programa python.exe ili python3 koji stvarno izvršava kod) prekinuta ili nikada nije ni uspostavljena. PyCharm ne zna “kako” da pokrene .py fajlove. Virtuelno okruženje (venv) koje PyCharm kreira sadrži kopiju Python interpretera specifičnu za taj projekat. Kada konfigurišeš interpreter, ti zapravo kažeš PyCharm-u: “Za ovaj projekat, koristi OVO specifično python.exe iz ovog venv foldera da bi pokrenuo kod.” Zato je ključno pokazati mu tačnu putanju.

GREŠKA: PyCharm se ne pokreće ili se ruši pri pokretanju
💡 REŠENJE:

  1. Proveri da imaš minimum 2GB slobodnog RAM-a
  2. Obriši folder .PyCharm iz home direktorijuma
  3. Reinstaliraj sa Run as Administrator (Windows)
  4. Ako i dalje ne radi, proveri Windows Event Log za detalje

GREŠKA: Kod se pokreće ali ne vidim output
💡 REŠENJE:

  1. Proveri da li je Run window otvoren (Alt+4)
  2. Možda si u Debug tabu – prebaci se na Run tab
  3. Clear All pre novog pokretanja ako je output zagušen

GREŠKA: “Cannot start process, working directory doesn’t exist”
💡 REŠENJE:

  1. Edit Configurations (dropdown pored Run dugmeta)
  2. Proveri Working Directory putanju
  3. Ili jednostavno: desni klik na .py fajl → Run (kreira novu konfiguraciju)

GREŠKA: Font je previše sitan/krupan ili se loše vidi
💡 REŠENJE:

  1. Brzo zumiranje: Ctrl+Mouse Wheel (ako je Enable mouse wheel zoom u Settings)
  2. Trajno: Settings → Editor → Font → Size
  3. Za bolji kontrast: Settings → Editor → Color Scheme → Console Font

GREŠKA: PyCharm koristi pogrešnu verziju Python-a
💡 REŠENJE:

  1. Settings → Project → Python Interpreter
  2. Show All… → klikni na postojeći → Show Interpreter Paths
  3. Proveri da pokazuje na pravu Python instalaciju
  4. Ako ne, Remove pa Add novi interpreter

GREŠKA: “PyCharm indexing takes forever”
💡 REŠENJE: Isključite virus-skener za project folder ili dodajte izuzetak. Indeksacija čita milione malih fajlova; antivirus ume da uspori proces i do 10×.

Proveri svoje razumevanje

Pitanje 1: Koja je glavna prednost PyCharm unified edition u odnosu na ranije verzije?

  • [NIVO 1]: Razmisli o tome kako je ranije bilo potrebno birati između dve verzije
  • [NIVO 2]: Kako 30-dnevni trial period pomaže u odlučivanju o kupovini?

Pitanje 2: Zašto PyCharm automatski kreira virtuelno okruženje za svaki projekat?

  • [NIVO 1]: Zamisli da svaki projekat ima svoju sobu sa knjigama
  • [NIVO 2]: Šta bi se desilo kada bi dva projekta trebala različite verzije iste biblioteke?

Pitanje 3: Nabrojte tri načina pokretanja Python skripta u PyCharm-u.

  • [NIVO 1]: Koji način ti je najlakši i zašto?
  • [NIVO 2]: Kada bi koristio Debug umesto Run?

🤔 MINI-KVIZ

  1. Koja su najmanje dva načina da pokrenete Python skriptu u PyCharm-u bez upotrebe miša?
  2. Zašto je virtuelno okruženje važno ako radite na više projekata istovremeno?
  3. Gde u PyCharm-u možete brzo videti trenutnu verziju Python interpretera za aktivni projekat?

🔄 VEŽBA: Otvori PyCharm → Help → Find Action (Ctrl + Shift + A) i ukucaj “Registry…”. Pronađi opciju ide.balloon.notifications.enabled i isključi je. Primeti da li vam manje iskačućih obaveštenja pomaže tokom rada.

Git commit za danas

Pošto još nismo povezali Git, danas nema commit-a. Ali zapamti ovu sekciju – od sutra će biti obavezna! Za sada, samo proveri da su svi fajlovi sačuvani (Ctrl+S ili File → Save All).

Sutra Učitelj Vasa uči

Sutra je veliki dan – kreiraćemo GitHub nalog i naučićemo osnove version control sistema. Ovo je kao da Učitelju Vasi dajemo mogućnost da pamti svaku verziju sebe tokom razvoja! Takođe ćemo povezati PyCharm sa GitHub-om, što će nam omogućiti da čuvamo i delimo naš kod sa svetom.

📚 REČNIK DANAŠNJE LEKCIJE:

  • IDE (Integrated Development Environment): Integrisano razvojno okruženje – program koji kombinuje sve alate potrebne za programiranje u jednom mestu, kao švajcarski nož za programere
  • Unified Edition: Nova verzija PyCharm-a koja kombinuje Community i Professional izdanja u jedan proizvod sa 30-dnevnim trial periodom
  • Virtual Environment (venv): Izolovano Python okruženje za svaki projekat – kao izdvojena soba sa svojim bibliotekama koje se ne mešaju sa drugim projektima
  • Interpreter: Program koji čita i izvršava Python kod, kao prevodilac između tebe i računara
  • Syntax highlighting: Bojenje različitih delova koda različitim bojama radi lakšeg čitanja i uočavanja grešaka
  • Breakpoint: Tačka u kodu gde program pauzira tokom debug-a, kao “stop znak” za detaljnu analizu šta se dešava
  • Gutter: Vertikalna traka levo od editora sa brojevima linija i mestima za breakpoint-e
  • Code completion: Automatsko predlaganje koda dok kucaš – štedi vreme i smanjuje greške

Odličan napredak! Danas si postavio temelje svoje radionice u kojoj ćeš graditi Učitelja Vasu. PyCharm unified edition sada je tvoj glavni alat, sa svim potrebnim funkcionalnostima za kreiranje AI asistenta. Sutra nastavljamo sa još jednim ključnim alatom – GitHub-om! 🚀