WEB PROGRAMMING IN GO: WORKING WITH TEMPLATES IN GO EĞİTİMİ

Go şablonlarıyla güvenli ve esnek HTML üretin

html/template, aksiyonlar, pipeline, range/with/if, FuncMap, layout ve block, bağlamsal kaçış, embed ve şablon testi.

Go html/template ile aksiyonlar, layout, partial, FuncMap, bağlamsal kaçış, embed ve şablon testlerini XSS örnekleriyle öğreten 2 günlük orta seviye eğitim.

2 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Go template motoru ile arayüz üretimi

Eğitim, Go şablon motorunu derinlemesine ele alır: text/template ve html/template farkı, aksiyonlar ({{.}}, if, range, with, define, template, block), pipeline ve karşılaştırma fonksiyonları, değişkenler, FuncMap ile özel fonksiyonlar, layout ve partial yapısı, bağlamsal otomatik kaçış (HTML, JS, CSS, URL), template.HTML riski, embed ile şablonları ikiliye gömme, önbellekleme ve şablon testi.

Süre ve Format

2 Gün. Her gün dört modül; Şablon Sözdizimi ve Veri; Layout, Güvenlik ve Üretim Kullanımı ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — Go html/template ve text/template: aksiyonlar, fonksiyonlar, layout ve güvenlik

Öğrenme Metodu

Bir blog ve rapor uygulaması üzerinde layout, partial ve özel fonksiyonlar yazılır; XSS senaryoları denenir.

Neden Bu Eğitim?

🧩Esnek şablon

Layout, partial ve block ile yeniden kullanılabilir şablonlar kurarsınız.

🛡️XSS koruması

Bağlamsal kaçışı anlayıp güvensiz kullanımlardan kaçınırsınız.

🔧Özel fonksiyon

FuncMap ile şablonu iş kurallarına uygun genişletirsiniz.

Anahtar Konular

Go templateGo html/templateGolang şablonGo FuncMapGo layoutGo XSSGo embedGo text/templateGo web arayüzGo şablon motoru
“İyi şablon az karar verir; kararlar kodda, görünüm şablonda kalır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Go temeli

Go struct, slice, map ve interface.

2
HTML/CSS

Temel HTML bilgisi.

3
net/http

Basit bir Go handler yazmış olmak.

4
Ortam

Go 1.21+ kurulu ortam.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı şablon aksiyonlarıyla veriyi biçimlendirir, kontrol yapılarını ve fonksiyonları kullanır.
Modül 1
Şablon Temelleri
  • text/template ve html/template farkı
  • Parse, ParseFiles, ParseGlob
  • Execute ve ExecuteTemplate
  • {{.}} ve alan erişimi
  • Boşluk kırpma {{- -}}
  • Hata yönetimi: Must ve option missingkey
Modül 2
Kontrol Yapıları
  • if, else if, else
  • range ve boş durumu (else)
  • with ile bağlam daraltma
  • Karşılaştırma: eq, ne, lt, and, or, not
  • Değişken tanımlama {{$x := ...}}
  • break ve continue
Modül 3
Pipeline ve Fonksiyonlar
  • Pipeline (boru) işareti
  • Yerleşik: len, index, slice, printf, html, js
  • Metot çağrısı ve alan zinciri
  • Harita ve iç içe yapılar
  • Tarih ve sayı biçimleme
  • Yorumlar {{/* */}}
Modül 4
Veri Modelleme
  • Şablona uygun view model struct
  • Dışa aktarılmış alanlar kuralı
  • Map ve interface{} veriler
  • Sayfalama modeli
  • Form hata modeli
  • Şablona bağımlılık sızdırmama
Günün hedefiKatılımcı layout ve partial yapısı kurar, özel fonksiyon ekler, bağlamsal kaçışı doğru kullanır ve şablonları üretime hazırlar.
Modül 1
Layout ve Partial
  • define ve template aksiyonu
  • block ile varsayılan içerik
  • Ana layout + sayfa şablonu deseni
  • Partial: header, footer, form alanı
  • Şablon önbelleği haritası
  • Geliştirmede yeniden yükleme
Modül 2
FuncMap
  • Özel fonksiyon ekleme: Funcs()
  • Tarih, para birimi, kısaltma yardımcıları
  • URL üretimi ve reverse routing
  • Hata dönen fonksiyonlar
  • Fonksiyon güvenliği
  • Fonksiyonların testi
Modül 3
Bağlamsal Kaçış
  • HTML, attribute, JS, CSS, URL bağlamları
  • template.HTML, template.JS, template.URL riskleri
  • Kullanıcı girdisiyle XSS denemesi
  • CSP nonce ile uyum
  • Markdown çıktısı ve sanitizasyon (bluemonday)
  • Güvenlik denetim listesi
Modül 4
Üretim ve Test
  • embed.FS ile şablonları ikiliye gömme
  • E-posta şablonları
  • Şablon unit testi ve golden file
  • Performans: önceden parse
  • Çok dilli şablon yaklaşımı
  • templ ve alternatif motorlara bakış

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Şablon sözdizimi

Aksiyon, pipeline ve değişkenleri doğru kullanabilirsiniz.

✅
Kontrol yapıları

if, range ve with ile veriyi sunabilirsiniz.

✅
Layout kurma

define, block ve partial ile yeniden kullanılabilir yapı kurabilirsiniz.

✅
FuncMap

Özel şablon fonksiyonları yazabilirsiniz.

✅
Güvenli çıktı

Bağlamsal kaçışı anlayıp XSS'i önleyebilirsiniz.

✅
View model

Şablona uygun veri modelleri tasarlayabilirsiniz.

✅
embed kullanımı

Şablonları tek ikili dosyaya gömebilirsiniz.

✅
Şablon testi

Şablon çıktısını golden file ile test edebilirsiniz.

Kimler İçin Uygundur?

  • Go ile sunucu taraflı HTML üreten geliştiriciler
  • e-posta
  • rapor şablonu yazan backend ekipleri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Go ile sunucu taraflı HTML veya e-posta üreten geliştiriciler için uygundur.
text/template mi html/template mi?
İkisi de işlenir; web çıktısı için bağlamsal kaçış sağlayan html/template önerilir.
XSS konusu var mı?
Evet, template.HTML riski ve bağlamsal kaçış örneklerle gösterilir.
Üçüncü parti motorlar?
templ gibi alternatifler karşılaştırma amacıyla tanıtılır.
Sertifika verilir mi?
Katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Web Programming in Go: Working with Templates in Go Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Yazılım Geliştirme GenelTroubleshooting Deployments Eğitimi
Yazılım Geliştirme Eğitimleri

Troubleshooting Deployments Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Troubleshooting deployments eğitimi: pipeline log analizi, container ve registry hataları, Kubernetes CrashLoopBackOff/OOMKilled, probe, DNS, ağ ve geri alma.

Detayları Gör →
Yazılım Geliştirme GenelTruffle Suite: Automating Development with the Truffle Framework Eğitimi
Yazılım Geliştirme Eğitimleri

Truffle Suite: Automating Development with the Truffle Framework Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Truffle Suite eğitimi: Solidity akıllı sözleşme, truffle compile/migrate/test, Ganache, OpenZeppelin, Mocha-Chai testleri, testnet dağıtımı ve dApp entegrasyonu

Detayları Gör →
Yazılım Geliştirme GenelUCS X-Series Intersight, Deployment, Operations, Troubleshooting (UCSXDOT) Eğitimi
Yazılım Geliştirme Eğitimleri

UCS X-Series Intersight, Deployment, Operations, Troubleshooting (UCSXDOT) Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

UCS X-Series Intersight eğitimi (UCSXDOT): X9508 mimarisi, IMM, domain ve server profilleri, firmware, OS kurulumu, otomasyon, izleme ve sorun giderme.

Detayları Gör →
Yazılım Geliştirme GenelUiPath - Giriş Eğitimi
Yazılım Geliştirme Eğitimleri

UiPath - Giriş Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

UiPath giriş eğitimi: Studio arayüzü, Sequence ve Flowchart, UI otomasyonu, selector, Excel ve e-posta otomasyonu, REFramework girişi ve Orchestrator yayını.

Detayları Gör →
Yazılım Geliştirme GenelUiPath için Geliştiriciler: Otomasyon Geliştirici Profesyonel Eğitimi Eğitimi
Yazılım Geliştirme Eğitimleri

UiPath için Geliştiriciler: Otomasyon Geliştirici Profesyonel Eğitimi Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

UiPath Otomasyon Geliştirici Eğitimi: selector, Data Table, REFramework, Orchestrator kuyrukları, Document Understanding ve Git ile uygulamalı 3 gün.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn