Go ile Web Programlama Eğitimi

Bölüm 1 – Başlangıç

  • Bu eğitim kimlere hitap ediyor?

  • Eğitimde İçeriğine Genel Bakış

  • Eğitimde Kullanılacak Teknolojiler

Bölüm 2 – Go Programlama Diline Genel Bakış

  • Go Programlama Dili Tasarımı ve Geliştirilmesi

  • Go Programlamaya Başlarken

  • Go Programlama Dili Kullanıcıları

  • Go Kütüphanelerine Genel Bakış

    • Go Standard Library
    • Parti Go Kütüphaneleri
  • Go’nun Söz Dizimi Hassasiyeti

  • Go Araç ve Komutları

  • Go Paketlerini Kullanmak

  • İlk Go Uygulaması

  • Komut Satırı Argümanları

  • Ortam Değişkenlerini Elde Etmek

  • Web ve API Uygulamalarında Go’nun Önemi

Bölüm 3 – Çalışma Ortamı ve Hazırlıklar

  • Go Programlama Ortam Kurulumu

  • IDE : Geliştirme Editörleri

  • İlk Go Programı

  • Ortam Değişkenleri

  • Go Araçları

  • Veritabanı Operasyonları İçin Ortam Hazırlıkları

    • PostgreSQL Veritabanı Hazırlıkları
      • PostgreSQL Veritabanı Kurulum Hazırlıkları
      • PostgreSQL Veritabanı Kurulumu
      • PostgreSQL Veritabanına Bağlanmak ve Test Etmek
    • PostgreSQL as a Service ile Cloud PostgreSQL Kullanımı
    • MongoDB Veritabanı Hazırlıkları
      • MongoDB Veritabanı Kurulum Hazırlıkları
      • MongoDB Veritabanı Kurulumu
      • MongoDB Veritabanına Bağlanmak ve Test Etmek
    • Redis Veritabanı Hazırlıkları
      • Redis Veritabanı Kurulum Hazırlıkları
      • Redis Veritabanı Kurulumu
      • Redis Veritabanına Bağlanmak ve Test Etmek

Bölüm 4 – Komut Satırı Operasyonları

  • Komut Satırı Argümanlarını Kullanmak

  • Ortam Değişkenlerini Okumak ve Değiştirmek

  • Flags

  • CLI Uygulaması Geliştirmek

Bölüm 5- Hata Yönetimi & Loglama

  • Hata Yönetimine Genel Bakış

  • Hata İşleme Stratejileri

  • Error Handling

  • Panic & Recover

  • Try … catching Yaklaşımı

  • Loglama

  • Pkg_errors Paketi

  • Apex ve logrus Paketleriyle Yapısal Loglama

  • Context Paketi ile Loglama

  • Paketi Seviyeli Global Değişkenler

  • Uzun Süren İşlemler İçin Panikleri Yakalamak

Bölüm 6 – I/O, Dosya Sistemi ve Tarih/Zaman ile Çalışmak

  • Tarih ve Zaman Operasyonları

    • Time Paketinin Temel Kullanımı
    • Tarih ve Zaman Operasyonları
  • Bytes ve Strings Paketleri

    • String Birleştirme : bytes Paketi ile
    • String Birleştirme : strings Paketi ile
    • Şifre Üretmek : GeneratePassword – Temel Versiyon
    • Şifre Üretmek : GeneratePassword – Gelişmiş Versiyon
  • Dosya ve Dizin Operasyonları

    • Dosya Oluşturmak
    • Dosya Bilgisi Almak
    • Dosyayı Yeniden İsimlendirmek ve Taşımak
    • Dosyanın Varlığını Kontrol Etmek
    • Dosyayı Açmak ve Kapatmak
    • Bir Dosyanın Okuma ve Yazma İzinlerini Kontrol Etmek
    • Bir Dosyayı Kopyalamak
    • Bir Dosyaya Bayt Veri Yazmak
    • Geçici Dosyalar ve Dizinler İle Çalışmak
    • Dosya Silmek
  • Dosya Sıkıştırma ve Açma Operasyonları

    • ZIP Dosyası Oluşturmak ve İçerisine Dosya Eklemek
    • ZIP Dosyasındaki Dosyaları Dışarı Aktarmak

Bölüm 7 – Veri Dosyaları ve Sıkıştırma Operasyonları

  • Go Standard Library : Encoding Paketi

  • Go ile XML, JSON ve CSV Operasyonları

    • XML, JSON ve CSV Veri Formatlarına Genel Bakış
    • JSON Operasyonları
    • XML Operasyonları
    • CSV Operasyonları
  • YAML & TOML Operasyonları

    • YAML
    • TOML
  • Araştırma Ödevi : Merkez Bankası Döviz Kuru Üzerinde Çalışmak

  • Dosya Sıkıştırma Operasyonları

    • TAR Dosyaları ile Çalışmak
    • ZIP Dosyaları ile Çalışmak
  • Veri Dosya Formatlarının Konfigürasyon Dosyası Olarak Kullanımı

Bölüm 8 – Web Programlama Temelleri

  • Paket İnceleme : net/http

  • net/http ile İlk Web Sunucuyu Oluşturmak

  • Routing

    • net/http ile Routing
    • Gorilla Toolkit ile Routing
  • Handling

    • Handle
    • HandleFunc
    • HandlerFunc
    • CustomHandler
    • 3-Party Serve Mux
  • Response Header ile Çalışmak

  • Request ve ResponseWriter ile Çalışmak

  • Header’a Veri Eklemek

  • Context

  • Output Stream’i Tamponlamak

  • Dosya Sunucusu Oluşturmak

  • Struct ve Clasure Nesnelerinin Stateful Handler’lar İçin Kullanımı

  • Mini Web Projesi : Not Defteri Uygulaması

  • Doğrulama Operasyonları : Validation Input

    • RegEx ile Veri Doğrulama
    • URL Doğrulama
    • HTTP’den Gelen İsteği Doğrulamak
  • Mini Web Projesi : Kullanıcı Giriş ve Kayıt Uygulaması

  • Zincirleme : Chaining

    • Go’da Uygulamalar ile Chaining Yöntemi
    • Chaining Yöntemi İçin API Uygulaması
  • Sayfalama, Filtreleme, Sıralama ve Arama Operasyonları

    • Sayfalama
    • Filtreleme
    • Sıralama
    • Arama
  • ‘Sayfa Bulunamadı’ Sayfaları Üretmek

  • Sayfa Yönlendirme Yöntemleri

  • Mini Web Projesi : Makale Sistemi Uygulaması

  • Caching

    • Genel Cache Kullanımı
    • Server Side Cache
  • Mini Web Projesi : Kullanıcı İşlemleri Uygulaması

  • Veri Dönüş Türleri

    • Sadece Header Döndürmek
    • Düz Metin Döndürmek
    • JSON Döndürmek
    • XML Döndürmek
    • Dosya Döndürmek
    • HTML Döndürmek
    • Üretilen HTML’i String Formatında Döndürmek
  • Struct ve Clasure Nesnelerinin Stateful Handler’lar İçin Kullanımı

  • Web Uygulamasına Gelen İstekleri Doğrulamak : Validation Input

  • Rendering ve Content Negotiation

  • Middleware Oluşturma ve API Entegrasyonu

    • Route Mekanizması İçin Middleware Katmanı Oluşturmak
    • Yetkilendirme İçin Middleware Katmanı Oluşturmak
  • Router Mekanizmasına Logger Ekleme

Bölüm 9 – Go Web Projeleri İçin Arayüz Geliştirme

  • Şablonlar ile Çalışmak

  • Layout ve İç İçe Şablon Kullanımı

  • Mini Go Web Uygulamaları

  • Kullanıcı ‘Login & Register’ Uygulaması Geliştirmek

  • Js ile Web UI Programlama

    • js’e Genel Bakış
    • js ile Web UI Programlama

Bölüm 10 – Go ile Veritabanı Operasyonları

  • Go ile Veritabanı Programlama Temeller

  • MongoDB

    • Go ve MongoDB ile API Programlama
  • PostgreSQL

    • Go ile Veritabanı Operasyonları
  • Go ve GORM ile Veritabanı Operasyonları

  • Açık Kaynaklı Go Veritabanı Kütüphanelerini İncelemek

Bölüm 11 – Go Web Uygulamalarında Güvenlik ve Kriptografi

  • Web Güvenliğine Genel Bakış

  • Kriptografi

    • Kriptografiye Genel Bakış
    • Hashing
    • Encryption
  • HTTPS

    • Web Uygulamalarına HTTPS/TLS Desteği Eklemek
    • Aynı Yayını HTTP ve HTTPS Üzerinden Yapmak
    • HTTP İsteklerini HTTPS’e Yönlendirmek
  • Web Uygulamalarında Kimlik Denetimi

    • Kimlik Doğrulama ve Yetkilendirme
    • Kimlik Doğrulama Yaklaşımlarına Genel Bakış
      • Cookie-Based Yetkilendirme
      • Session-Based Yetkilendirme
      • Token-Based Yetkilendirme

Bölüm 12 – Web Uygulamalarında ‘Temiz Mimari’ Kullanımı

  • Temiz Uygulama Mimari Nedir?

  • Temiz Uygulama Mimari Geliştirme ve Kullanmanın Avantaj ve Dezavantajları

  • Go ile Temiz Web Uygulama Mimarisi Örneği

Bölüm 13 – Uygulama : ‘Yapılacaklar Listesi’ Geliştirmek

  • Web Uygulama Mimarisine Genel Bakış

  • Web Uygulamasının Model Katmanını Geliştirmek

  • Web Uygulamasının Veri Katmanını Geliştirmek

  • Web Uygulamasının Yayın Sunucusu Geliştirmek

  • Web Uygulamasının Fonksiyonlarını Test Etmek

Bölüm 14 – Go Web Uygulamaları İçin Test Operasyonları

  • Yazılımda Test Kavramına Genel Bakış

  • Go’da Unit Test Gerçekleştirmek

  • Go’da Performans Testleri Gerçekleştirmek

  • Go RESTful API Uygulamalarında Test Operasyonları

Bölüm 15 – Go Web Uygulamaları İçin Docker

  • Go RESTful API Uygulamaları İçin Docker Kullanımı

Diğer eğitimler hakkında bilgi almak istiyorsanız Eğitim Takvimini inceleyebilirsiniz. Depar BT ailesiyle tanışmak için bizi ziyaret edebileceğiniz konumuzu öğrenebilirsiniz.