GO İLE API PROGRAMLAMA EĞİTİMİ

Go ile temiz, hızlı ve test edilebilir API yaz

net/http, chi, pgx, JWT, OpenAPI ve Docker ile veritabanı destekli bir REST API'yi Go ile geliştirin.

net/http, chi, pgx, JWT, OpenAPI ve Docker ile veritabanı destekli bir REST API'yi Go ile geliştirin. Katılımcılar sıfırdan bir ürün-sipariş API'si geliştirir; her aşamayı Go testleri ve curl ile doğrular.

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

Eğitim Hakkında

Go ile REST API geliştirme: net/http, veritabanı, kimlik doğrulama, test ve dağıtım

Bu eğitim, Go ile üretime uygun bir REST API geliştirmeyi adım adım öğretir. Go modül yapısı, struct ve arayüzler, net/http ve Go 1.22 ServeMux ile yönlendirme, encoding/json ile doğrulamalı istek işleme, ara katman zinciri, pgx ve sqlc ile PostgreSQL erişimi, RFC 7807 hata modeli, sayfalama, JWT kimlik doğrulama, httptest ile tablo güdümlü testler, oapi-codegen ile OpenAPI, Docker ile dağıtım ve Prometheus metrikleri uygulanır.

Süre ve Format

3 Gün. Her gün dört modül; katılımcılar Go ile HTTP ve REST Temelleri → Katmanlı API ve Veri Erişimi → Test, Dokümantasyon ve Dağıtım sırasıyla ilerler.

Seviye

Orta Seviye — Go ile REST API geliştirme: net/http, veritabanı, kimlik doğrulama, test ve dağıtım.

Öğrenme Metodu

Katılımcılar sıfırdan bir ürün-sipariş API'si geliştirir; her aşamayı Go testleri ve curl ile doğrular.

Neden Bu Eğitim?

🧱Katmanlı Yapı

Handler, service ve repository katmanlarını Go idiomlarıyla ayırırsınız.

🧪Güvenli Değişiklik

Tablo güdümlü testlerle API davranışını güvence altına alırsınız.

📄Canlı Sözleşme

OpenAPI belgesini koddan üretip tüketicilerle paylaşırsınız.

Anahtar Konular

Go APIGolang REST APInet/httpchi routerpgxsqlcGo JWTGo httptestOpenAPI GoGo API eğitimi
“Go'da iyi API, az sihir ve çok açıklıktır.”

Ön Koşullar

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

1
Programlama Deneyimi

Herhangi bir dilde yazılım geliştirme deneyimi; Go bilgisi şart değildir ancak faydalıdır.

2
HTTP ve JSON

HTTP, REST ve JSON kavramlarına temel düzeyde aşinalık beklenir.

3
Komut Satırı

Terminal, Git ve temel Linux komutlarını kullanabilmek gerekir.

4
Çalışma Ortamı

Go 1.22+, VS Code (veya GoLand) ve Docker kurulu bir dizüstü bilgisayar gerekir.

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ı Go tip sistemi, arayüzler, goroutine ve channel yapılarını API geliştirme bağlamında ele alır, net/http, ServeMux ve ara katman ile sunucu yazar, JSON kodlama/çözme yapar, Basit bir kaynak üzerinde CRUD uç noktalarını uygulayıp curl ile doğrular ve GET, POST, PUT, PATCH ve DELETE metotlarını güvenlik ve idempotency açısından ayırır.
Modül 1
Go Dili Temelleri ve Eşzamanlılık
  • Modül sistemi: go mod init, bağımlılıklar, go.sum ve proje yerleşimi (cmd, internal, pkg)
  • Struct, metot, gömme (embedding) ve arayüzlerin örtük karşılanması
  • Hata yönetimi: error değerleri, errors.Is/As, fmt.Errorf %w ile sarmalama
  • Goroutine, channel, select ve sync.WaitGroup / Mutex ile eşzamanlı iş akışları
  • context.Context ile iptal, zaman aşımı ve istek kapsamlı değer taşıma
  • Jenerikler (type parameters), defer ve yarış durumu tespiti için go test -race
Modül 2
Go net/http ile HTTP Sunucusu
  • http.Handler / HandlerFunc, Go 1.22 ServeMux desenleri (metot + path parametresi)
  • encoding/json ile struct etiketleri, json.NewDecoder, DisallowUnknownFields ve doğrulama
  • Ara katman zinciri: günlükleme, panic recover, CORS, kimlik doğrulama ve istek kimliği
  • http.Server zaman aşımları (ReadHeaderTimeout, WriteTimeout) ve graceful shutdown
  • Chi, Gin veya Echo çatılarıyla net/http'nin karşılaştırılması
  • http.Client yapılandırması: Transport, bağlantı havuzu ve yeniden kullanım tuzakları
Modül 3
Bir REST API'yi Baştan Sona Ayağa Kaldırma
  • Bir "ürün" kaynağı için GET /products, GET /products/{id}, POST, PUT, DELETE uç noktalarının planlanması
  • Bellek içi depo ile ilk sürüm, ardından kalıcı veritabanına geçiş
  • İstek gövdesi doğrulaması ve 400/404/409 durumlarının uygulanması
  • Location başlığı, 201 Created ve 204 No Content yanıtlarının doğru döndürülmesi
  • curl ve Postman ile uç noktaların elle doğrulanması, ardından otomatikleştirilmesi
  • Basit sürümleme ve sağlık kontrolü (/health) uç noktasının eklenmesi
Modül 4
HTTP Metotları ve Idempotency
  • GET, HEAD, OPTIONS metotlarının güvenli (safe) olması ve PUT, DELETE metotlarının idempotent olması
  • POST ile PUT arasındaki fark: kaynak oluşturma, tam değiştirme ve 201 Created ile Location başlığı
  • PATCH ile kısmi güncelleme: JSON Merge Patch (RFC 7396) ve JSON Patch (RFC 6902) karşılaştırması
  • Idempotency-Key başlığı ile ödeme gibi kritik POST isteklerinin tekrar güvenli hale getirilmesi
  • Koşullu istekler: If-Match ve ETag ile iyimser eşzamanlılık (optimistic concurrency) kontrolü
  • Metot override (X-HTTP-Method-Override) ve OPTIONS ile Allow başlığının keşif amaçlı kullanımı
Günün hedefiKatılımcı database/sql, pgx ve sqlc ile veri katmanı; katmanlı API yapısı kurar, HTTP durum kodlarını seçer ve RFC 7807 Problem Details ile hata yanıtı tasarlar, Kaynak odaklı URI, sayfalama, filtreleme ve sürümleme kurallarını uygular ve API kimlik doğrulama yöntemlerini, JWT yapısını ve OWASP API Top 10 risklerini ele alır.
Modül 1
Go ile REST API Katmanları ve Veritabanı
  • Handler, service ve repository katmanları; bağımlılık enjeksiyonu için arayüz kullanımı
  • database/sql, pgx bağlantı havuzu, hazırlanmış ifadeler ve context ile sorgu iptali
  • sqlc ile tür güvenli sorgu üretimi ve golang-migrate ile şema geçişi
  • Girdi doğrulama (go-playground/validator), sayfalama ve tutarlı hata yanıt zarfı
  • JWT ile kimlik doğrulama, ara katmanda yetki kontrolü ve parola özetleme (bcrypt/argon2)
  • swaggo veya oapi-codegen ile OpenAPI belgesi üretimi
Modül 2
Durum Kodları ve Hata Modelleri
  • 2xx, 3xx, 4xx, 5xx sınıfları: 200, 201, 202, 204, 301, 304, 400, 401, 403, 404, 409, 422, 429, 500, 503 ayrımı
  • 401 Unauthenticated ile 403 Forbidden arasındaki fark ve WWW-Authenticate başlığı
  • 400 ile 422 arasında doğrulama hatası kararı ve alan bazlı hata listesi döndürme
  • RFC 7807 application/problem+json biçimi: type, title, status, detail ve instance alanları
  • Retry-After, 429 Too Many Requests ve 503 durumlarında istemci tarafı yeniden deneme davranışı
  • Hata yanıtlarında yığın izi sızıntısı ve hassas bilgi ifşasını önleme kuralları
Modül 3
API Tasarım İlkeleri ve Kaynak Adlandırma
  • Çoğul isim tabanlı URI tasarımı: /orders/{id}/items yerleşimi ve fiil içeren yolların neden kaçınılması gerektiği
  • Sayfalama stratejileri: offset/limit, sayfa numarası ve cursor tabanlı (keyset) sayfalama
  • Filtreleme, sıralama ve alan seçimi için sorgu parametresi sözleşmeleri (?status=open&sort=-created)
  • Sürümleme yaklaşımları: URI (/v1), başlık ve media type tabanlı sürümleme ile geri uyumluluk kuralları
  • Toplu işlem (bulk), uzun süren işlemler için 202 Accepted ve durum sorgulama kaynağı
  • API değişiklik yönetimi: deprecation, Sunset başlığı ve kırıcı değişiklik tespiti
Modül 4
API Güvenliği: OAuth 2.0, JWT ve Oran Sınırlama
  • API anahtarı, Basic Auth, Bearer token ve OAuth 2.0 akışları: authorization code (PKCE), client credentials
  • JWT yapısı: header, payload, imza, exp/iat/aud talepleri ve RS256 ile HS256 farkı
  • Scope ve rol tabanlı yetkilendirme ile nesne düzeyi yetki kontrolü (BOLA) açığı örneği
  • OWASP API Security Top 10: aşırı veri ifşası, mass assignment ve bozuk kimlik doğrulama
  • Oran sınırlama (rate limiting) algoritmaları: token bucket, sliding window ve 429 yanıtı
  • CORS yapılandırması, girdi doğrulama ve TLS zorunluluğu (HSTS) ile temel sertleştirme
Günün hedefiKatılımcı Tablo güdümlü testler, httptest, mock ve benchmark ile Go servislerini test eder, OpenAPI 3 tanımı yazar, Swagger UI ve kod üreticilerle sözleşme öncelikli çalışır, REST API katmanlarını veritabanına bağlar ve ortamlara dağıtım adımlarını uygular ve Merkezi günlük, Prometheus metrikleri ve OpenTelemetry ile dağıtık izleme kurar.
Modül 1
Go ile Test ve Kıyaslama
  • testing paketi, tablo güdümlü (table-driven) testler ve alt testler (t.Run)
  • httptest.NewRecorder ve httptest.NewServer ile handler ve istemci testleri
  • testify, gomock veya elle yazılmış fake nesnelerle bağımlılık taklidi
  • Testcontainers-go ile gerçek veritabanı entegrasyon testi
  • go test -bench, -benchmem ve pprof ile CPU/bellek profili
  • Fuzz testi (go test -fuzz) ve kapsama raporu (-coverprofile)
Modül 2
OpenAPI ile Sözleşme Öncelikli Tasarım
  • OpenAPI 3.0 belge yapısı: info, servers, paths, components, schemas ve securitySchemes
  • JSON Schema ile nesne modelleme: required, enum, oneOf, allOf ve $ref ile yeniden kullanım
  • Swagger Editor ve Swagger UI ile etkileşimli dokümantasyon yayınlama
  • openapi-generator ile istemci SDK ve sunucu iskeleti üretimi
  • Spectral ile OpenAPI lint kuralları ve CI hattında sözleşme doğrulama
  • Örnek (example) ve yanıt şeması ile mock sunucu (Prism) üzerinden tüketici ekiple paralel çalışma
Modül 3
REST API Mimarisi ve Veritabanı Dağıtımı
  • Katmanlı mimari: controller, service, repository ve veri erişim sınırlarının ayrılması
  • ORM ile ilişkisel veritabanı erişimi, bağlantı havuzu (HikariCP/pg-pool) ve işlem (transaction) sınırları
  • Flyway veya Liquibase ile şema geçişi (migration) ve sürümlü veritabanı değişiklikleri
  • Dockerfile ve docker-compose ile API + PostgreSQL ortamını tek komutla ayağa kaldırma
  • Ortama göre yapılandırma: secret yönetimi, sağlık uç noktası (/health) ve readiness kontrolü
  • Dağıtım sonrası duman testi, veritabanı yedeği ve geri alma (rollback) planı
Modül 4
Gözlemlenebilirlik: Günlük, Metrik ve İzleme
  • Üç sütun: günlük (log), metrik ve iz (trace); yapılandırılmış JSON günlük biçimi
  • ELK/EFK yığını veya Grafana Loki ile merkezi günlük toplama ve correlation ID
  • Micrometer ve Prometheus ile RED/USE metrikleri; Grafana panoları
  • OpenTelemetry, Jaeger/Zipkin ile dağıtık iz (span) ve bağlam yayılımı (W3C traceparent)
  • SLI, SLO ve hata bütçesi tanımı; Alertmanager ile uyarı kuralları
  • Sağlık uç noktaları: liveness, readiness ve Spring Boot Actuator yapılandırması

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Go Temelleri

Go'nun tip, arayüz ve eşzamanlılık modelini servis kodunda doğru kullanabilirsiniz.

🧩
CRUD API

Bir kaynak için CRUD uç noktalarını yazıp durum kodlarıyla birlikte doğrulayabilirsiniz.

🛠️
HTTP Metotları

Metotları güvenli ve idempotent olma özelliklerine göre doğru senaryoda kullanabilirsiniz.

🔐
Hata Modeli

Doğru HTTP durum kodlarını seçip RFC 7807 uyumlu hata yanıtları tasarlayabilirsiniz.

📈
API Tasarımı

İsimlendirme, sayfalama ve sürümleme kurallarına uygun tutarlı bir API tasarlayabilirsiniz.

🧪
Go Test

Tablo güdümlü testler ve httptest ile Go servislerini güvenle test edebilirsiniz.

🚀
OpenAPI

OpenAPI 3 tanımı yazıp Swagger UI ve kod üretimiyle sözleşme öncelikli geliştirebilirsiniz.

🔎
Gözlemlenebilirlik

Günlük, metrik ve dağıtık izleme ile mikroservis davranışını uçtan uca gözlemleyebilirsiniz.

Kimler İçin Uygundur?

  • Go ile API yazmak isteyen backend geliştiriciler
  • farklı dillerden Go'ya geçen mühendisler
  • servis ekipleri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Go ile API yazmak isteyen backend geliştiriciler, farklı dillerden Go'ya geçen mühendisler ve servis ekipleri için uygundur.
Gin veya Echo kullanılıyor mu?
Ağırlık standart kütüphane ve chi'dedir; Gin ve Echo ile karşılaştırma yapılır.
Veritabanı olarak ne kullanılıyor?
PostgreSQL; migrasyon için golang-migrate ve sorgular için sqlc kullanılır.
Go'da hiç deneyim şart mı?
Hayır, başka bir dilde deneyimliyseniz ilk modül temelleri hızlıca kazandırır.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. Üçüncü taraf kurumların sınav ve sertifikalarıyla bir bağı yoktur.

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. Go İle API Programlama Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

API ve Mikroservis MimarisiMicroservice Refactoring Patterns Eğitimi
Yazılım Geliştirme Eğitimleri

Microservice Refactoring Patterns Eğitimi

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

Mikroservis refactoring desenleri: Strangler Fig, ACL, veritabanı ayrıştırma ve güvenli geçiş. 3 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiMicroservices & Netflix Eğitimi
Yazılım Geliştirme Eğitimleri

Microservices & Netflix Eğitimi

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

Netflix OSS mimarisi, Spring Cloud karşılıkları, dayanıklılık ve Kubernetes dağıtımı. 3 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiMicroservices Architecture and Design Patterns Eğitimi
Yazılım Geliştirme Eğitimleri

Microservices Architecture and Design Patterns Eğitimi

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

Mikroservis mimarisi ve tasarım desenleri: ayrıştırma, veri, iletişim, dayanıklılık ve dağıtım. 4 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiMicroservices Architecture Eğitimi
Yazılım Geliştirme Eğitimleri

Microservices Architecture Eğitimi

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

Mikroservis mimarisi: servis sınırları, veri tutarlılığı, dayanıklılık, güvenlik ve işletme. 3 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

Detayları Gör →
API ve Mikroservis MimarisiMicroservices Deep Dive Eğitimi
Yazılım Geliştirme Eğitimleri

Microservices Deep Dive Eğitimi

4 günUzmanOnline / Yüz Yüze / Hibrit

Ileri mikroservis konuları: olay güdümlü tasarım, saga, zero trust, performans, GitOps ve evrim. 4 gün uygulamalı eğitim, DVA Katılım ve Başarı Sertifikası.

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