<?php
/**
 * =====================================================
 * AI NEWS — ŠABLÓNA PRE NOVÝ ČLÁNOK
 * =====================================================
 * Postup:
 * 1. Skopírujte tento súbor do priečinka /ai-news/
 * 2. Premenujte ho podľa URL, ktorú chcete (napr. "moj-clanok.php")
 *    URL bude: 191tech.com/ai-news/moj-clanok
 * 3. Vyplňte $article pole nižšie
 * 4. Napíšte obsah článku do sekcie označenej "TU ZAČÍNA OBSAH"
 * =====================================================
 */

$article = [
    'title'    => 'FinOps: Efektívna optimalizácia výdavkov na AI',
    'excerpt'  => 'Implementácia FinOps metodológie do riadenia AI infraštruktúry umožňuje podnikom eliminovať plytvanie cloudovými zdrojmi a presne alokovať náklady na strojové učenie.',
    'date'     => '2026-06-27',              // Dnes. Alebo konkrétny dátum: '2026-06-01'
    'author'   => '191tech',
    'category' => 'Financie a Účtovníctvo',       // Napr: E-commerce, Webdesign, Marketing, AI školenia
    'image'    => 'https://images.pexels.com/photos/6930432/pexels-photo-6930432.jpeg?auto=compress&cs=tinysrgb&fit=crop&h=627&w=1200',      // Cesta k obrázku článku (odporúčaný rozmer: 1200x630)
    'cta_text' => 'Mám záujem o konzultáciu', // Text hlavného CTA tlačidla
    'cta_link' => '/kontakt',                 // URL link CTA tlačidla
];

$page_title       = $article['title'] . ' | AI News 191tech';
$page_description = $article['excerpt'];
include dirname(__DIR__, 2) . '/parts/ai-page-head.php';
?>

<!-- ===== HERO ČLÁNKU ===== -->
<section class="ai-hero" style="min-height:auto; padding:140px 0 60px;">
  <div class="ai-container" style="max-width:860px;">
    <div style="display:flex; gap:12px; align-items:center; margin-bottom:24px; font-size:14px;">
      <a href="/ai-news" style="color:var(--ai-cyan); text-decoration:none;">← Späť na AI News</a>
      <span style="color:var(--ai-border);">|</span>
      <span style="color:var(--ai-purple); font-weight:600; text-transform:uppercase; letter-spacing:1px;"><?= htmlspecialchars($article['category']) ?></span>
      <span style="color:var(--ai-border);">|</span>
      <span style="color:var(--ai-text-muted);"><?= date('d.m.Y', strtotime($article['date'])) ?></span>
    </div>
    <h1 style="font-size:42px; line-height:1.2; margin-bottom:28px;"><?= htmlspecialchars($article['title']) ?></h1>
    <p style="font-size:20px; color:var(--ai-text-muted); line-height:1.6; margin-bottom:40px;"><?= htmlspecialchars($article['excerpt']) ?></p>

    <?php if(!empty($article['image'])): ?>
    <div style="border-radius:16px; overflow:hidden; border:1px solid var(--ai-border); margin-bottom:0;">
      <img src="<?= htmlspecialchars($article['image']) ?>" alt="<?= htmlspecialchars($article['title']) ?>"
           style="width:100%; height:auto; display:block; max-height:420px; object-fit:cover;">
    </div>
    <?php endif; ?>
  </div>
</section>

<!-- ===== OBSAH ČLÁNKU ===== -->
<section class="ai-section" style="padding-top:0;">
  <div class="ai-container" style="max-width:860px;">
    <div class="article-content">

      <!-- ════════════════════════════════════════════
           TU ZAČÍNA OBSAH ČLÁNKU
           Môžete použiť: <h2>, <h3>, <p>, <ul>, <ol>,
           <li>, <strong>, <em>, <a href="">, <blockquote>
      ════════════════════════════════════════════ -->

<p>Prudký rozmach generatívnej umelej inteligencie priniesol neočakávanú finančnú výzvu: extrémny nárast výdavkov na hardvér a cloudové služby. Prevádzka veľkých jazykových modelov (LLM) a trénovanie neurónových sietí si vyžadujú masívny výpočtový výkon, ktorý rýchlo vyčerpáva podnikové rozpočty. Tradičné metódy riadenia IT nákladov zlyhávajú, pretože nedokážu dynamicky reagovať na špecifiká GPU infraštruktúry. Riešením je FinOps – strategický rámec, ktorý spája finančné riadenie, inžinierstvo a biznis s cieľom maximalizovať hodnotu každého investovaného eura do výpočtového výkonu.</p><h2>Čo je FinOps pre AI infraštruktúru</h2><p>FinOps (Financial Operations) predstavuje kultúrnu a technologickú prax zameranú na finančnú zodpovednosť v cloude. Pri AI projektoch sa táto disciplína stáva kritickou kvôli nepredvídateľnosti spotreby. Kým bežné cloudové aplikácie vykazujú stabilné vzorce správania, trénovanie modelov prebieha v nárazových vlnách s obrovskými požiadavkami na pamäť a procesory.</p><p>Efektívna stratégia FinOps pre AI stojí na troch základných pilieroch:</p><ul><li><strong>Viditeľnosť a alokácia:</strong> Presné priradenie nákladov konkrétnym vývojovým tímom alebo projektom pomocou detailného tagovania zdrojov.</li><li><strong>Optimalizácia spotreby:</strong> Identifikácia nevyužitých GPU kapacít, vypínanie neaktívnych inštancií a prechod na efektívnejšie modely.</li><li><strong>Priebežné plánovanie:</strong> Predpovedanie budúcich potrieb na základe historických dát a uzatváranie dlhodobých zmlúv s poskytovateľmi cloudu za zvýhodnené ceny.</li></ul><h2>Ako môžu slovenskí manažéri zaviesť FinOps</h2><p>Slovenské podniky často narážajú na obmedzené rozpočty a nedostatok lokálnych špecialistov. Implementácia FinOps preto musí začať auditom súčasného stavu. Prvým krokom je zavedenie monitorovacích nástrojov, ktoré v reálnom čase sledujú vyťaženie grafických procesorov (GPU). Mnohé tímy totiž alokujú drahé inštancie pre vývojárov, ktorí ich reálne využívajú len na zlomok kapacity.</p><p>Ďalším krokom je prechod na hybridné modely. Pre slovenské firmy je ekonomicky výhodné kombinovať lokálnu infraštruktúru (on-premise) na stabilnú, predvídateľnú záťaž s cloudovými službami pre nárazové trénovanie modelov. Týmto spôsobom sa predchádza plateniu za nevyužité cloudové licencie počas neaktívnych období.</p><p>Dôležitá je tiež zmena vývojárskej kultúry. Programátori musia vidieť finančné dopady svojich kódov. Ak optimalizácia algoritmu dokáže skrátiť čas trénovania modelu o polovicu, priamo to znižuje faktúru za cloud o tisíce eur.</p><h2>Príklady úspešnej optimalizácie z praxe</h2><p>Globálne organizácie dosahujú výrazné úspory kombináciou viacerých technických prístupov. Prvým z nich je využívanie takzvaných "spotových inštancií" (spot instances). Ide o prebytočnú kapacitu cloudových poskytovateľov predávanú s výraznou zľavou, často až do výšky 90 %. Hoci hrozí ich náhle odpojenie, pre prerušiteľné úlohy, ako je predbežné spracovanie dát alebo trénovanie s pravidelným ukladaním checkpointov, sú ideálnou voľbou.</p><p>Druhým trendom je prechod od univerzálnych grafických kariet k špecializovaným čipom (ASIC), ktoré sú navrhnuté výhradne pre konkrétny typ výpočtov. Veľkí technologickí hráči si dokonca vyvíjajú vlastný hardvér v spolupráci s výrobcami polovodičov, aby eliminovali marže sprostredkovateľov a znížili energetickú náročnosť dátových centier.</p><p>V neposlednom rade pomáha kvantizácia modelov. Ide o matematickú kompresiu neurónových sietí, ktorá znižuje ich nároky na pamäť pri zachovaní takmer identickej presnosti. Menší model vyžaduje lacnejší hardvér na prevádzku (inferenciu), čo dramaticky znižuje prevádzkové náklady v produkčnom prostredí.</p><h2>Záver a odporúčania pre finančných riaditeľov</h2><p>Finančná stratégia pre AI nemôže byť reaktívna. Pasívne platenie mesačných faktúr bez hlbokého porozumenia architektúre vedie k finančnému vyčerpaniu. Pre úspešné riadenie nákladov odporúčame nasledovné kroky:</p><ul><li><strong>Zostavte medziodborový tím:</strong> Prepojte finančných analytikov s AI inžiniermi. Finančníci musia rozumieť technickým potrebám a inžinieri zasa rozpočtovým limitom.</li><li><strong>Definujte KPI úspešnosti:</strong> Nesledujte len celkové náklady, ale metriky ako "náklady na jeden dopyt používateľa" (cost per query) alebo "náklady na jedno natrénovanie modelu".</li><li><strong>Automatizujte vypínanie zdrojov:</strong> Implementujte skripty, ktoré automaticky vypnú vývojárske prostredia mimo pracovných hodín a počas víkendov.</li></ul><p>Efektívne riadenie nákladov na infraštruktúru rozhoduje o tom, či sa AI projekt stane ziskovým produktom alebo len drahým experimentom. FinOps poskytuje potrebný rámec na to, aby inovácie zostali udržateľné a ekonomicky zmysluplné.</p>

<!-- ════════════════════════════════════════════
           KONIEC OBSAHU ČLÁNKU
      ════════════════════════════════════════════ -->

    </div>

    <!-- CTA Banner vo vnútri článku -->
    <div class="ai-highlight-box" style="margin-top:56px; text-align:center;">
      <div class="ai-label" style="margin:0 auto 16px; display:table;">Zaujíma vás toto téma?</div>
      <h3 style="font-size:26px;">Hovoríme o tom <span class="ai-gradient-text">osobne</span></h3>
      <p style="margin-bottom:24px;">Kontaktujte nás na bezplatnú konzultáciu — analyzujeme možnosti AI pre vašu firmu.</p>
      <a href="<?= htmlspecialchars($article['cta_link']) ?>" class="ai-btn ai-btn-primary ai-btn-lg"><?= htmlspecialchars($article['cta_text']) ?></a>
    </div>
  </div>
</section>

<!-- ===== NEWSLETTER ===== -->
<section class="ai-section" style="background:var(--ai-bg2);">
  <div class="ai-container" style="max-width:700px; text-align:center;">
    <div class="ai-label ai-label-purple" style="margin:0 auto 16px; display:table;">AI News Newsletter</div>
    <h2>Podobné tipy priamo do <span class="ai-gradient-text-2">e-mailu</span></h2>
    <p style="margin-bottom:30px;">Prihláste sa na odber — každý týždeň pošleme najdôležitejšie AI novinky pre vaše podnikanie.</p>
    <form id="nlForm" style="display:flex; gap:12px; flex-wrap:wrap; justify-content:center;">
      <input type="text" name="website" style="display:none;" tabindex="-1" autocomplete="off">
      
      <select name="category" required style="padding:14px 20px; border-radius:8px; border:1px solid var(--ai-border); background:var(--ai-card); color:var(--ai-text); font-family:'Inter',sans-serif; outline:none; min-width:180px;">
        <option value="">Zvoľte odvetvie</option>
        <option value="Všetky odvetvia">Všetky odvetvia</option>
        <option value="Marketing a Predaj">Marketing a Predaj</option>
        <option value="E-commerce a Maloobchod">E-commerce a Maloobchod</option>
        <option value="Priemysel a Výroba">Priemysel a Výroba</option>
        <option value="Logistika a Doprava">Logistika a Doprava</option>
        <option value="Financie a Účtovníctvo">Financie a Účtovníctvo</option>
        <option value="HR a Administratíva">HR a Administratíva</option>
        <option value="Služby a Iné">Služby a Iné</option>
      </select>

      <input type="email" name="email" required placeholder="Váš pracovný e-mail"
        style="flex-grow:1; min-width:240px; padding:14px 20px; border-radius:8px; border:1px solid var(--ai-border); background:var(--ai-card); color:var(--ai-text); font-family:'Inter',sans-serif; outline:none;">
      <button type="submit" class="ai-btn ai-btn-primary" style="border:none; cursor:pointer;">Odoberať novinky</button>
    </form>
    <div id="nlMsg" style="margin-top:16px; font-weight:600; display:none;"></div>
  </div>
</section>

<script>
document.getElementById('nlForm').addEventListener('submit', function(e) {
  e.preventDefault();
  const fd = new FormData(this), msg = document.getElementById('nlMsg');
  fetch('/subscribe.php', { method:'POST', body:fd })
    .then(r => r.json())
    .then(d => {
      msg.style.display = 'block';
      msg.style.color = d.status === 'success' ? 'var(--ai-green)' : '#ef4444';
      msg.textContent = d.message;
      if(d.status === 'success') {
          this.reset();
          localStorage.setItem('ai_newsletter_subscribed', '1');
      }
    }).catch(() => {
      msg.style.display = 'block';
      msg.style.color = '#ef4444';
      msg.textContent = 'Nastala chyba. Skúste to prosím neskôr.';
    });
});
</script>

<!-- ===== NEWSLETTER POPUP ===== -->
<div id="aiPopup" style="display:none; position:fixed; bottom:30px; right:30px; max-width:400px; background:var(--ai-card); border:1px solid var(--ai-border); border-radius:16px; box-shadow:0 20px 40px rgba(0,0,0,0.1); z-index:9999; padding:32px; font-family:'Inter',sans-serif;">
  <button id="aiPopupClose" style="position:absolute; top:16px; right:16px; background:none; border:none; font-size:24px; cursor:pointer; color:var(--ai-text-muted); line-height:1;">&times;</button>
  <div class="ai-label ai-label-purple" style="margin-bottom:12px; display:inline-block;">AI News Newsletter</div>
  <h3 style="margin-top:0; font-size:20px; color:var(--ai-text); margin-bottom:8px;">Získajte náskok s AI</h3>
  <p style="color:var(--ai-text-muted); font-size:15px; line-height:1.6; margin-bottom:20px;">Vyberte si vaše odvetvie a pošleme vám len tie najrelevantnejšie AI tipy a novinky.</p>
  
  <form id="nlPopupForm" style="display:flex; flex-direction:column; gap:12px;">
    <input type="text" name="website" style="display:none;" tabindex="-1" autocomplete="off">
    <select name="category" required style="padding:12px 16px; border-radius:8px; border:1px solid var(--ai-border); background:var(--ai-bg); color:var(--ai-text); outline:none; font-size:15px;">
      <option value="">Zvoľte odvetvie</option>
      <option value="Všetky odvetvia">Všetky odvetvia</option>
      <option value="Marketing a Predaj">Marketing a Predaj</option>
      <option value="E-commerce a Maloobchod">E-commerce a Maloobchod</option>
      <option value="Priemysel a Výroba">Priemysel a Výroba</option>
      <option value="Logistika a Doprava">Logistika a Doprava</option>
      <option value="Financie a Účtovníctvo">Financie a Účtovníctvo</option>
      <option value="HR a Administratíva">HR a Administratíva</option>
      <option value="Služby a Iné">Služby a Iné</option>
    </select>
    <input type="email" name="email" required placeholder="Váš pracovný e-mail" style="padding:12px 16px; border-radius:8px; border:1px solid var(--ai-border); background:var(--ai-bg); color:var(--ai-text); outline:none; font-size:15px;">
    <button type="submit" class="ai-btn ai-btn-primary" style="width:100%; border:none; cursor:pointer; padding:12px;">Odoberať novinky</button>
  </form>
  <div id="nlPopupMsg" style="margin-top:12px; font-weight:600; font-size:14px; display:none;"></div>
</div>

<script>
// Logika popupu
document.addEventListener('DOMContentLoaded', function() {
    if (!localStorage.getItem('ai_newsletter_subscribed') && !sessionStorage.getItem('ai_popup_closed')) {
        setTimeout(() => {
            document.getElementById('aiPopup').style.display = 'block';
        }, 5000); // Zobrazí sa po 5 sekundách
    }

    document.getElementById('aiPopupClose').addEventListener('click', function() {
        document.getElementById('aiPopup').style.display = 'none';
        sessionStorage.setItem('ai_popup_closed', '1');
    });

    document.getElementById('nlPopupForm').addEventListener('submit', function(e) {
        e.preventDefault();
        const fd = new FormData(this), msg = document.getElementById('nlPopupMsg');
        const btn = this.querySelector('button');
        btn.textContent = 'Odosielam...';
        btn.disabled = true;

        fetch('/subscribe.php', { method:'POST', body:fd })
          .then(r => r.json())
          .then(d => {
            msg.style.display = 'block';
            msg.style.color = d.status === 'success' ? 'var(--ai-green)' : '#ef4444';
            msg.textContent = d.message;
            if(d.status === 'success') {
                this.reset();
                localStorage.setItem('ai_newsletter_subscribed', '1');
                setTimeout(() => document.getElementById('aiPopup').style.display = 'none', 3000);
            } else {
                btn.textContent = 'Odoberať novinky';
                btn.disabled = false;
            }
          }).catch(() => {
            msg.style.display = 'block';
            msg.style.color = '#ef4444';
            msg.textContent = 'Nastala chyba. Skúste to prosím neskôr.';
            btn.textContent = 'Odoberať novinky';
            btn.disabled = false;
          });
    });
});
</script>

<style>
.article-content { font-size:17px; line-height:1.8; color:var(--ai-text-muted); }
.article-content h2 { font-size:28px; color:var(--ai-text); margin:48px 0 20px; padding-top:8px; border-top:1px solid var(--ai-border); }
.article-content h3 { font-size:22px; color:var(--ai-text); margin:32px 0 14px; }
.article-content p  { margin-bottom:24px; color:var(--ai-text-muted); }
.article-content a  { color:var(--ai-cyan); text-decoration:underline; }
.article-content ul, .article-content ol { margin-bottom:24px; padding-left:22px; }
.article-content li { margin-bottom:10px; }
.article-content blockquote {
  border-left:4px solid var(--ai-cyan);
  background:rgba(0,243,255,0.06);
  padding:22px 28px; font-size:20px;
  font-style:italic; margin:40px 0;
  border-radius:0 10px 10px 0; color:var(--ai-text);
}
.article-content strong { color:var(--ai-text); }

/* ── Case Study Box ─────────────────────────────── */
.case-study-box {
  background: var(--ai-bg3);
  border: 1px solid var(--ai-border);
  border-left: 4px solid var(--ai-cyan);
  border-radius: 12px;
  padding: 28px 32px;
  margin: 40px 0;
}
.case-study-box h3 {
  font-size: 14px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--ai-cyan) !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: none !important;
}
.case-study-box ul {
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none;
}
.case-study-box li {
  padding: 6px 0;
  border-bottom: 1px solid var(--ai-border);
  font-size: 15px;
  color: var(--ai-text-muted);
}
.case-study-box li:last-child { border-bottom: none; }
.case-study-box li strong { color: var(--ai-text); margin-right: 6px; }
</style>

<?php include dirname(__DIR__, 2) . '/parts/ai-page-foot.php'; ?>
