Go ile Web Programlama

Go ile Web Programlama

Eğitim Hakkında

Bu eğitim, Go programlama diline girişten başlayarak ileri seviye konulara kadar kapsamlı bir öğrenme süreci sunmaktadır. Katılımcılar, Go’nun mimarisi, sözdizimi, paket yönetimi, hata yönetimi, dosya işlemleri, serialization, RESTful API geliştirme, web programlama, veritabanı entegrasyonu, test süreçleri ve deployment konularını uygulamalı olarak öğreneceklerdir. Ayrıca Go’nun avantajları, kullanım alanları ve modern yazılım geliştirme ekosistemindeki yeri detaylı şekilde incelenecektir.

Ön Koşul

Katılımcıların temel düzeyde algoritma ve programlama mantığına aşinalıkları olması beklenmektedir. Daha önce herhangi bir programlama diliyle çalışmış olmak avantaj sağlar.

Eğitim İçeriği

  • Go Programlama Diline Genel Bakış
  • Compiler
  • Derleyici Nedir?
  • Go Derleyicisine Derinlemesine Bakış
  • Go Versiyonları
  • Geçmiş Go Versiyonları ile Gelen Yeni Özellikler
  • En Yeni Go : Go 1.16 ile Gelen Yeni Özellikler
  • Framework ve Library : Nedir ve Aralarındaki Farklar
  • Go Avantaj ve Dezavantajları
  • Web, RESTful API, Microservice ve Web Altyapı Uygulamalarında Go’nun Önemi
  • Go Programlama Dili Kullanım Alanları
  • Go Programlama Dili Kullanıcıları
  • Neden Devasa Open Source Projeler Go’yu Tercih Eder?
  • Go Kütüphanelerine Genel Bakış
  • Detaylı İnceleme : Go Standard Library
  • Detaylı İnceleme : Third-Party Go Kütüphaneleri
  • Anahtar Kelimeler
  • Operatör ve Noktalamalar
  • Türler
  • Go’nun Söz Dizimi Hassasiyeti
  • Go Programlama için Geliştirme Editörleri
  • Go Dökümanları ve Tur Sayfalarına Genel Bakış
  • Go Araç ve Komutları
  • Go Paketlerini Kullanmak
  • İlk Go Uygulaması
  • İlk Go Web Uygulaması
  • Komut Satırı Argümanları
  • Değişkenler, Veri Tipleri ve Operatörler
  • Değişkenler
  • Veri Tipleri
  • Operatörleri
  • String Veri Tipi
  • Unicode
  • Sabitler
  • Go’da Pointer Kullanımı
  • Komut Satırı Argümanlarını Kullanmak
  • Ortam Değişkenlerini Elde Etmek
  • Flags
  • Proje : Bölüm Sonu Uygulaması (CLI)
  • 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
  • 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
  • Paket Seviyeli Global Değişkenler
  • Uzun Süren İşlemler İçin Panikleri Yakalamak
  • I/O ve Stream
  • io Paketi
  • Temel Stream Operasyonları
  • Bytes ve Strings Paketleri
  • bytes ve Strings Paketleri ile String Manipülasyonu
  • Proje : Şifre Üretici
  • 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 ile Ç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
  • Go Standard Library : encoding Paketi
  • XML Formatı ile Çalışmak
  • XML Formatına Genel Bakış
  • Proje : XML Formatı ile Çalışmak
  • JSON Formatı ile Çalışmak
  • JSON Formatına Genel Bakış
  • Proje : JSON Formatı ile Çalışmak
  • CSV Formatı ile Çalışmak
  • CSV Formatına Genel Bakış
  • Proje : CSV Serialization
  • YAML Formatı ile Çalışmak
  • YAML Formatına Genel Bakış
  • Proje : YAML Serialization
  • TOML Formatı ile Çalışmak
  • TOML Formatına Genel Bakış
  • Proje : TOML Serialization
  • Veri Dosya Formatlarını Konfigürasyon Dosyası Olarak Kullanmak
  • Protocol Buffers & gRPC
  • Protocol Buffers
  • Tanımlama Dosyası Yazmak
  • Serializer Üretmek
  • Protocol Buffer Kullanımı
  • Proje : Go ile gRPC Kullanımı
  • RESTful API Kavramlarına Genel Bakış
  • RESTful API Nedir
  • Neden RESTful API Kullanılır
  • RESTful API Mimarisi
  • RESTful API Mimarisine Derinlemesine Bakış
  • RESTful API Mimarisine Genel Bakış
  • RESTful API Terminolojisi
  • Request Anatomisi : Request’i Doğru Anlamak
  • HTTP Metot
  • HTTP Header
  • Data
  • RESTful API Tasarım İlkeleri : Doğru RESTful API Mimarisi Tasarlamak
  • requests Modülü
  • requests Modülüne Genel Bakış
  • Proje : requests Modülü
  • Proje : Basit RESTful API Uygulaması Geliştirmek ve Test Etmek
  • Proje : GitHub API Uygulaması Geliştirmek ve Test Etmek
  • Proje : Exchange API ile Döviz Kur Uygulaması Geliştirmek ve Test Etmek
  • Proje : The Movie Database API ile Film Uygulaması Geliştirmek ve Test Etmek
  • 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 Closure Nesnelerinin Stateful Handler’lar İçin Kullanımı
  • Template’ler ile Web Uygulama Tasarımı
  • Proje : Not Defteri Uygulaması
  • Doğrulama Operasyonları : Validation Input
  • RegEx ile Veri Doğrulama
  • URL Doğrulama
  • HTTP’den Gelen İsteği Doğrulamak
  • Proje : Veri Doğrulama Uygulaması
  • Proje : 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
  • Proje : Makale Sistemi Uygulaması
  • Caching
  • Genel Cache Kullanımı
  • Server Side Cache
  • Proje : 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
  • Veritabanı Programlamaya Genel Bakış
  • Veritabanı Yönetim Sistemlerine Genel Bakış
  • Hangi Veritabanı Yönetim Sistemi Ne Zaman Kullanılmalı
  • Go ile Veritabanı Programlama Temeller
  • ORM Mantığını Anlamak İçin ‘Native’ Veritabanı İşlemlerinin Önemi
  • database/sql paketi
  • Go database/sql paket ve Mimarisine Genel Bakış
  • database/sql Mimarisini Anlamak
  • database/sql Pratikleri
  • database/sql ve PostgreSQL ile Temel Veritabanı Programlama Pratikleri
  • Proje : database/sql ve PostgreSQL ile Veritabanı Uygulaması
  • Go ve pg ile Veritabanı Operasyonları
  • pg Kütüphanesi ile Temel Veritabanı Programlama Pratikleri
  • Proje : pg ve PostgreSQL ile Veritabanı Uygulaması
  • Go ve GORM ile Veritabanı Operasyonları
  • GORM’a Genel Bakış
  • GORM ve PostgreSQL ile Temel Veritabanı Programlama Pratikleri
  • Proje : GORM ve PostgreSQL ile Veritabanı Uygulaması
  • RDBMS vs NoSQL
  • Hangi Senaryo İçin Hangi NoSQL Veritabanı Kullanılmalıdır?
  • Go ve MongoDB ile NoSQL Veritabanı Operasyonları
  • MongoDB Veritabanı Sorgulama Pratikleri
  • Proje : Go ile MongoDB Veritabanı Uygulaması
  • Diğer Açık Kaynaklı Go Veritabanı Kütüphanelerini İncelemek
  • 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ı
  • Deployment’a Genel Bakış
  • Deployment Süreçleri
  • Go ile Demo Web Uygulaması Geliştirmek
  • Web Uygulamasının Heroku’da Yayınlanması (Deployment)
  • Heroku Hesap Oluşturmak
  • Heroku Command-Line Interface(CLI)
  • Web Uygulamasını Yayınlamak
  • Heroku Deployment Workflow
  • Deployment Workflow’u Anlamak
  • Heroku’da Deployment Workflow
  • Production Ortamına Geçiş
  • Uygulama Ayarları ve Secret’ları Yönetmek

Kazanımlar

Go programlama dilinin temel yapısını ve sözdizimini öğrenmek

Go’nun paket yönetimi, araçları ve geliştirme ortamını etkin şekilde kullanabilmek

Hata yönetimi, loglama ve dosya işlemleri konularında yetkinlik kazanmak

RESTful API ve web uygulamaları geliştirebilmek

Go ile veritabanı entegrasyonu (PostgreSQL, MongoDB) gerçekleştirebilmek

Serialization formatları (JSON, XML, YAML, CSV, TOML) ile çalışabilmek

gRPC ve Protocol Buffers kullanarak servis entegrasyonu yapabilmek

Go uygulamalarında test süreçlerini (unit test, performans testleri) uygulayabilmek

Deployment süreçlerini yönetebilmek ve uygulamaları bulut ortamında yayınlayabilmek

Hedef Kitle

Yazılım Geliştiricileri & Mühendisleri (Başlangıç Seviyesi)

Yazılım Geliştiricileri & Mühendisleri (Orta Seviye)

Full Stack Developer’lar

Sistem Mühendisleri

DevOps Uzmanları

Sertifika

Eğitimlerimize %80 oranında katılım gösterilmesi ve eğitim müfredatına göre uygulanacak sınav/projelerin başarıyla tamamlanması durumunda, eğitimin sonunda dijital ve QR kod destekli “BT Akademi Başarı Sertifikası” verilmektedir.

SEKTÖRÜN GÜVENDİĞİ ÇÖZÜM ORTAĞI

BT Akademi'yi tercih eden 4.000'den fazla kurum yanılmıyor.

Aksigorta
ETI
RedBull
Turk Standartlari Enstitüsü
ING Bank
Tusas Motor
Ak Yatırım
Yıldız Teknik üniversitesi
Netaş
Allianz
Akçansa
Getir
Aras Kargo
SabancıDX
Yemeksepeti
Liberty Sigorta
Coca Cola
Erdemir
İş Bankası
Anadolu Üniversitesi
CK Enerji
Aselsan
Turknet
Migros
Fiba Yenilenebilir Enerji
Aksigorta
ETI
RedBull
Turk Standartlari Enstitüsü
ING Bank
Tusas Motor
Ak Yatırım
Yıldız Teknik üniversitesi
Netaş
Allianz
Akçansa
Getir
Aras Kargo
SabancıDX
Yemeksepeti
Liberty Sigorta
Coca Cola
Erdemir
İş Bankası
Anadolu Üniversitesi
CK Enerji
Aselsan
Turknet
Migros
Fiba Yenilenebilir Enerji
Bilgi İstiyorum