Go Programlama Dili

Bu kurs Go Programlama diline yeni başlayanların ve tecrübeli yazılımcıları dahi sıfırdan başlayarak programlama diline ve Go, Visual Studio Code, PostgreSQL, MongoDB, Redis teknolojileriyle profesyonel uygulama geliştirme süreçlerine hakim olabilmelerini sağlamayı hedeflemektedir. Ayrıca Go programlama diliyle bol miktarda gerçek hayat projesi geliştirerek, katılımcıların ticari uygulama geliştirme yeteneklerini de tecrübe aktarımı ile geliştirmeyi hedeflemektedir.

Eğitim takvimi kısa süre içerisinde duyurulacaktır.


Derslerin gün ve saatleri eğitim takvimiyle birlikte yayınlanacaktır.


Eğitim Süresi


80 Saat
Eğitim Ücreti


Sorunuz
Sertifika


Var


Canlı Yayın

Bu Eğitim Kimler İçin?

Bu kurs, 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.

Neden DeepLab?

DeepLab ile ister kariyer yolculuğunuzun başında ister bu yolda ilerliyor olun kendinize yeni ufuklar açacak bilgiler edinebileceğiniz bir topluluk ve alanında uzmanlaşmış eğitmenler bulabilirsiniz. Kaydedeceğiniz bu önemli ilerleme esnasında 10 yıl boyunca Türkiye’nin önemli kuruluşlarıyla çalışmış ve AR-GE eğitimleri sağlamış olan Cihan Özhan sizlere destek olacak. Başlangıç seviyesinden ileri seviyeye kadar yükselen bu eğitim merdivenlerini tırmanırken öğrendiklerinizi uygulamalar ile pekiştirme imkanına sahip olacaksınız. Bu süreçte yeterli ve kaliteli kaynaklara ulaşabileceksiniz. Eğitim basamaklarını ise kendinize yeni deneyimler ekleyebileceğiniz bir proje ile tamamlayacak ve geleceğinize değerli bir yatırım sağlama olanağına sahip olacaksınız.

golang

Geleceğinize Bir Katkı Sağlayın

Google tarafından geliştirilen, açık kaynak kodlu, sade ve güçlü bir programlama dili olan Go'nun güçlü olduğu alanlarda (Sistem, Veri Odaklı & Veri İşleme, Microservices, RESTful, API, Back-End, Real-time, Web, Oyun, Security) kendinizi geliştirebilir, bu kursta kullanılacak olan teknolojilerden de yararlanarak kurumsal projeler üretebilirsiniz. Ayrıca mentörlük desteği alarak daha doğru ve verimli bir eğitim süreci geçirebilirsiniz.

Kullanılacak Teknolojiler

Eğitimlerde Go, Visual Studio Code, PostgreSQL, MongoDB, Redis teknolojilerinin en güncel versiyonlarını kullanarak projeler geliştirebileceksiniz.

go-logo visual-studio-code-logo postgresql-logo mongodb-logo redis-logo

Müfredat

Go Programlama Diline Genel Bakış
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ı
Go Programlama Dili Kullanım Alanları
Go Programlama Dili Kullanıcıları
Neden Devasa Open Source Projeler Go'yu Tercih Eder?
Go Kütüphanalerine Genel Bakış

  • Detaylı İnceleme : Go Standard Library

  • Detaylı İnceleme : Third-Party Go Kütüphaneleri
Anahtar Kelimeler
Operatöre 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ı
Komut Satırı Argümanları
Değişkenler, Veri Tipleri ve Operatörler

  • Değişkenler

  • Veri Tipleri

  • Operatörler
String Veri Tipi
Unicode
Sabitler
Go'da Pointer Kullanımı
Ortam Değişkenlerini Elde Etmek
Proje: Bölüm Sonu Uygulaması (CLI)
Go Programlamaya Giriş
Akış Kontrolü
Diziler
Döngüler
Slice
Maps
type Nesnesi
Alıştırmalar

  • Temel Konsol Giriş/Çıkış Operasyonları
Go Standard Library: builtin Paketi
Go Standard Library: time Paketi

  • time Paketine Genel Bakış

  • Tarih ve Zaman Operasyonları
Go Standard Library: strings Paketi

  • Tekli ve Çoklu Satır Kullanımı

  • Veri Tipi Dönüştürme Operasyonları

  • String Birleştirme Operasyonları

  • Rastgele Veri Üretmek : Şifre Metinleri Üretmek

  • Go Built-in String Fonksiyonları
Go ile Örnek Algoritma Uygulamaları
Proje: Bölüm Sonu Uygulaması
Paket Yönetimi
Go Paket Kavramına Genel Bakış
Paketleri Oluşturmak
Paket İnşa Etmek
Paketlerin Kullanımı
Paketlerin Yönetimi
Proje: Bölüm Sonu Uygulaması
Hata Yönetimi & Loglama
Hata Yönetimine Genel Bakış
Hata İşleme Stratejileri
Error Handling
panic & recover
Go ile try ... catch Yaklaşımı
Loglama
Proje: Bölüm Sonu Uygulaması
Fonksiyonlar, Yapılar, Metotlar, Arayüzler
Fonksiyonlar
Yapılar
Metotlar

  • Metotları Aşırı Yüklemek
Arayüzler
Proje: Bölüm Sonu Uygulaması
Pointer
İşaretçilere Genel Bakış
İşaretçiler ile Slice'lar
İşaretçiler ile 'Slice of Slice'
İşaretçiler ile Fonksiyonlar
İşaretçiler ile Referans ve Referans Olmayan Tipler
Proje: Bölüm Sonu Uygulaması
OOP: Nesne Yönelimli Programlama
Nesne Yönelimli Programlama(OOP) & Package-Oriented Design(POD) Kavramları
Kapsüllemek
Message Passing
Go'nun Kalıtıma Bakışını Anlamak
Inheritance ve Composition
Gömülü Tipler
Polymorphism (Çok Biçimlilik)
Arayüzlerin Çok Biçimlilik ile İlişkisi
Proje: Bölüm Sonu Uygulaması (Ödeme Sistemi)
Concurrency
Concurrency ve Paralelizm Nedir?
Eş Zamanlılık Mimarisi
Goroutine’ler
Kanallar
Veri Paralelleştirmek
Eşzamanlı I/O Görevleri
Görevleri Paralelleştirmek
Proje: Bölüm Sonu Uygulaması
Encoding/Decoding, Dosya ve Sıkıştırma Operasyonları
Go Standard Library: encoding Paketi
Dosya Operasyonları

  • Dosya Oluşturmak

  • Dosya Açma ve Kapatma İşlemleri

  • Dosya Okuma ve Yazma İşlemleri

  • Bir Dosyanın Bilgisini Elde Etmek

  • Dosyaları Yeniden İsimlendirmek ve Taşımak

  • Dosya Kopyalamak

  • Dosyaların Okuma ve Yazma İzinlerini Kontrol Etmek

  • Dosya Silmek
XML, JSON, ve CSV Operasyonları

  • XML

    • XML Veri Formatına Genel Bakış

    • XmlSerializer

    • XML Verisi Okuma ve Yazma

    • XML Verisini Düzenleme

    • XML Dosyası Üzerinde Güncelleme ve Silme Yapma

    • Proje: Go ile XML İşleme Uygulaması

  • JSON

    • JSON Veri Formatına Genel Bakış

    • JSON Verisi Okuma & Yazma

    • JSON Verisini Düzenleme

    • JSON Dosyası Üzerinde Güncelleme ve Silme Yapma

    • Proje: Go ile JSON İşleme Uygulaması

  • CSV

    • CSV Veri Formatına Genel Bakış

    • CSV Verisi Okuma & Yazma

    • CSV Verisini Düzeleme

    • CSV Dosyası Üzerinde Güncelleme ve Silme Yapma

    • Proje: Go ile CSV İşleme Uygulaması
Proje: Merkez Bankası Döviz Kuru
Dosya Sıkıştırma Operasyonları

  • TAR Dosyaları ile Çalışmak

  • ZIP Dosyaları ile Çalışmak
Go ile Masaüstü Uygulama Geliştirme
Masaüstü Uygulamaya Genel Bakış
Go ile Masaüstü Uygulama Geliştirme Araçlar
Go ile Masaüstü Uygulama Geliştirme Pratikleri
Proje: Go ve Open Source Kütüphaneler ile Masaüstü Uygulaması
Go ile Veritabanı Programlama: RDBMS
Go ile Veritabanı Programlama Temeller
ORM Mantığını Anlamak iç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ı
pg Kütüphanesi

  • pg Kütüphanesi ile Temel Veritabanı Programlama Pratikleri

  • Proje: pg ve PostgreSQL ile Veritabanı Uygulaması
GORM Kütüphanesi

  • GORM'a Genel Bakış

  • GORM ve PostgreSQL ile Temel Veritabanı Programlama Pratikleri

  • Proje: GORM ve PostgreSQL ile Veritabanı Uygulaması
Diğer Açık Kaynaklı Go Veritabanı Kütüphanelerini İncelemek
Go ile Veritabanı Programlama: NoSQL
NoSQL Nedir ve Neden Kullanır?
Go ile NoSQL Veritabanı Programlama için Kullanılacak Kütüphaneler
RDBMS vs NoSQL
Hangi Senaryo için Hangi NoSQL Veritabanı Kullanılmalıdır?

  • NoSQL Veritabanılarının Karşılaştırılması

  • Detaylı İnceleme: MongoDB

  • Detaylı İnceleme: Redis
MongoDB Veritabanı Programlama

  • MongoDB Veritabanı Sorgulama Pratikleri

  • Proje: Go ile MongoDB Veritabanı Uygulaması
Redis Veritabanı Programlama

  • Redis Veritabanı Sorgulama Pratikleri

  • Proje: Go ile Redis Veritabanı Uygulaması
Reflection
Reflection Kavramına Genel Bakış
Reflection Avantaj & Dezavantajları
Reflection Uygulama Pratikleri
Proje: Reflection Odaklı Uygulama
Güvenlik
Yazılımda Güvenlik ve Güvenli Yazılım Geliştirmeye Genel Bakış
Güvenli Yazılım Geliştirme Süreçleri (SecureDLC)
Derinlemesine Yazılımcılar İçin Veri Güvenliği
Kriptografi

  • Hashing

  • Encryption

  • Proje: Kriptografi Odaklı Uygulama
Ağ Programlama
Ağ Programlama Kavramına Genel Bakış
Go ile TCP İletişimi
Go ile UDP İletişimi
Protocol Buffers
Proje: Ağ Programlama Odaklı Uygulama
Go ile Web Programlama
Web Programlamaya Genel Bakış
RESTful API Programlama Temelleri

  • RESTful API Programlama Mimarisi

  • Proje : Go ile RESTful API Uygulaması
Microservice Programlama Temelleri

  • Microservice Programlama Mimarisi

  • Proje : Go ile Microservice Uygulaması
Go ile Web Programlama Temelleri

  • Go ile Web Programlama Temelleri

  • Proje : Go ile Web Uygulaması
Go Web Application Hosting & Deployment

  • Hosting & Deployment Temelleri

  • Self-Hosting

  • Go ve Docker Kullanımı
Unit Testing, Performans ve Cross-Compilation
Yazılımda Test Kavramına Genel Bakış
Go'da Unit Test Gerçekleştirmek
Go'da Performans Testleri Gerçekleştirmek
Go'da Cross-Compilation

Sertifika Koşulları

  • %80 derse katılım sağlamak.
  • Ödevleri yapmak.
  • Bitirme projesini tamamlamak.
  • Sertifika

    Events

    Life-Long Learning

    Slider 1

    “MLaaS: Presenting & Scaling Machine Learning Models as Microservices”

    Speaker: Cihan Özhan, Founder of DeepLab
    DevNot Developer Summit

    Slider 1

    "Industrial Application Development"

    Speaker: Cihan Özhan, Founder of DeepLab
    Host: KARDEMİR ÇELİK

    Slider 1

    "Dijital Dönüşüm - Mini MBA : Yapay Zeka"

    Speaker: Cihan Özhan, Founder of DeepLab

    Slider 1

    "Python with Machine Learning/Deep Learning"

    Speaker: Cihan Özhan
    School: Saint Benoit High School

    Slider 1

    "Blockchain: Decentralized Application Development"

    Speaker: Cihan Özhan, Founder of DeepLab