Ön Koşul
Eğitim Hakkında
Bu kurs Go ile web programlamayı öğrenmek isteyenleri sıfırdan başlayarak Go’ya ve Go ile web programlamaya derinlemesine hakim olabilmelerini sağlamayı hedeflemektedir.
Ayrıca bu eğitimde katılımcıların Go programlama dili, çevre teknolojileri ve bol miktarda open source araç kullanarak gerçek hayat projeleri ve ticari uygulamalar geliştirmelerini sağlıyoruz.
Kullanılacak Teknolojiler: Golang, PostgreSQL, Heroku, Visual Studio Code.
Kimler içindir?
Bu eğitim, Go Programlama dilinde uzmanlaşmak isteyen, bu dilin derinlemesine detaylarını öğrenirken, aynı zamanda gerçek ticari hayat uygulamaları ile sektöre hızlı ve doğru şekilde hazırlanmak isteyen herkese hitap etmektedir.
Eğitim Hedefleri
- Günümüzün en iyi uygulamalarını kullanarak sunucu tarafı uygulamaları oluşturun.
- Web programlamanın temellerinde olağanüstü bir temel edinin.
- Web geliştirmenin anlaşılması ve uygulanmasında ustalık elde edin.
- Sunucuları, yönlendirmeyi, dinlendirici uygulamaları, JSON'u, şablonları ve dosya sunucularını anlayın.
- Tanımlama bilgilerini, durumu, UUID'leri, HTTP yöntemlerini, HTTP yanıt kodlarını ve oturumları anlayın.
- Yalnızca Go programlama dilinin standart kitaplığını kullanarak web uygulamaları oluşturun.
- Üçüncü taraf çerçeveler kullanmadan web uygulamaları oluşturun.
- Dinamik olarak ölçeklenen performanslı dağıtılmış uygulamalar oluşturun.
- En yeni web geliştirme uygulamalarını uygulayın.
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.
Eğitim İçeriği
Go Programlama Diline Genel Bakış
Compiler
Go Versiyonları
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ış
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
String Veri Tipi
Unicode
Sabitler
Go’da Pointer Kullanımı
Komut Satırı Argümanlarını Kullanmak
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ı
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
Bytes ve Strings Paketleri
Dosya ve Dizin Operasyonları
Dosya Sıkıştırma ve Açma Operasyonları
Go Standard Library : Encoding Paketi
XML Formatı ile Çalışmak
JSON Formatı ile Çalışmak
CSV Formatı ile Çalışmak
YAML Formatı ile Çalışmak
TOML Formatı ile Çalışmak
Veri Dosya Formatlarını Konfigürasyon Dosyası Olarak Kullanmak
Protocol Buffers & gRPC
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 Tasarım İlkeleri : Doğru RESTful API Mimarisi Tasarlamak
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
Handling
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
Proje : Kullanıcı Giriş ve Kayıt Uygulaması
Zincirleme : Chaining
Sayfalama, Filtreleme, Sıralama ve Arama Operasyonları
‘Sayfa Bulunamadı’ Sayfaları Üretmek
Sayfa Yönlendirme Yöntemleri
Proje : Makale Sistemi Uygulaması
Caching
Proje : Kullanıcı İşlemleri Uygulaması
Veri Dönüş Türleri
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
Router Mekanizmasına Logger Ekleme
Veritabanı Programlamaya Genel Bakış
Veritabanı Yönetim Sistemlerine Genel Bakış
Go ile Veritabanı Programlama Temeller
ORM Mantığını Anlamak İçin ‘Native’ Veritabanı İşlemlerinin Önemi
database/sql paketi
Go ve pg ile Veritabanı Operasyonları
Go ve GORM ile Veritabanı Operasyonları
RDBMS vs NoSQL
Hangi Senaryo İçin Hangi NoSQL Veritabanı Kullanılmalıdır?
Go ve MongoDB ile NoSQL Veritabanı Operasyonları
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)
Önemli Notlar
Program ücretlerine KDV dahil değildir.