Geliştirici bilginizi yükseltebilir ve daha yetkin programcı yeteneklerine sahip olabilirsiniz!

Tüm eğitimlerin sonunda, kaynak kod repoları, eğitim pdf dökümanları
ve video kayıtları sağlanmaktadır.

Golang  

Golang ile ilgili 4 eğitim bulunuyor.

Eğitimlerle ilgili daha detaylı bilgi almak için bize e-posta adresinden ulaşabilirsiniz.

Golang 101

Google tarafından açık-kaynak olarak sunulan Golang programlama diline giriş...

  • Bir go programının anatomisi: main.go
  • Kodlama kuralları ve standartlarının temelleri
  • Paket kavramı, private/public erişim mantığı
  • Değişkenler ve atamalar
  • Pointer nedir? referans nedir?
  • Nesne tipini tanıma (type assertion) ve reflection
  • Standart veri tipleri: int ailesi, string, array, map
  • Fonksiyon tanımlama, argümanlar ve geri dönüş tipleri
  • Koşullar ve döngüler
  • struct tipi nedir?
  • struct metodu nedir?
  • interface nedir?
  • Error tipi nedir? panic() nedir? hata kurtarma (recover) nedir?
Uygulama
  • Standart kütüphane: io paketi örnekleri
  • Standart kütüphane: net/http paketi örnekleri

Golang 102

Go uygulamaları oluşturmak için daha ileri seviye konulara odaklanacağız.

  • go tool chain nedir?
  • Kodu otomatik olarak düzeltmek, formatlamak ve derlenmeden önce kontrol etmek
  • interface neden davranışı tanımlar?
  • interface metodlarını ve davranışlarını tatmin etmek
  • Go paketleri/modülleri oluşturmak ve test etmek
  • godoc nedir? detaylı paket dokümantasyonu ve örnekleri hazırlamak
  • Prezantasyon araçları ile gopher gibi sunum hazırlayın!
  • Goroutine’ler nedir?
  • Channel’lar nedir? ne işe yarar?
  • Testleri, örnekleri ve performans ölçümleri hazırlamak
  • Hafıza kaçaklarını nasıl tespit ederiz? memory leaks ve race conditions
  • 3. parti kütüphaneleri kullanırken nasıl test yazmak gerekir?
  • Gündelik hayatta işimize yarayacak faydalı kütüphaneler
Uygulama
  • Komut satırından çalışan bir http istemcisi hazırlayacağız

Golang ile REST API Geliştirmek

Go’nun standart kütüphanesini kullanarak ilk API’nızı geliştirmeye hazır mısınız?

  • http.Server paketine merhaba!
  • Request ve Response nedir?
  • URL routing nedir? Multiplexer nedir?
  • Middleware nedir?
  • Request ve Response header’ları ne işe yarar?
  • Acaba authentication seçeneklerimiz neler?
  • JSON, XML ya da TEXT sunabilir miyiz?
  • Veritabanı ile nasıl iletişim kurarız?
  • Sunucu log’lama nasıl yapılır?
Uygulama
  • Basit bir TODO rest-api geliştireceğiz!

gRPC ve Protocol Buffers Pratikleri

Google’ın bize armağan ettiği gRPC ve Protocol Buffer ile tanışmaya hazır mısınız?

  • gRPC nedir? Diğer protokollere göre artıları ve eksileri
  • Protocol Buffer protobuf nedir?
  • Protobuf isimlendirme ve tanımlama kuralları
  • Protobuf tipleri nelerdir?
  • Tag, Repeated Fields ve Default değerler nasıl tanımlanır?
  • Field ekleme, isim değiştirme ya da silme
  • Otomatik go kodu nasıl üretiriz?
  • Unary, Client stream, Server stream ve Bi-directional iletişim
Uygulama
  • Komut satırından çalışan basit bir chat uygulaması geliştireceğiz!

Django  

Django ile ilgili 10 eğitim bulunuyor.

Eğitimlerle ilgili daha detaylı bilgi almak için bize e-posta adresinden ulaşabilirsiniz.

Django 101

Django kütüphanesi kullanarak çok hızlı bir şekilde web uygulaması geliştirebilirsiniz!

  • Django geliştirme ortamının kurulması
  • Django projesi nedir? Django uygulaması nedir?
  • Django proje yapısı nasıl olmalı?
  • Ortamların izole edilmesi: test, staging ve production
  • Model nedir?
  • Migration nedir?
  • Django ORM nedir?
  • Django shell nedir?
  • Model-Template-View (MTV) yaklaşımı
  • Routing ve URL dispatcher
  • Django ile birlikte gelen yardımcı araçlar
  • Django’nun içinden çıkan fonksiyonlar, modeller ve yardımcılar
  • Django Admin nedir?
  • Authorization ve Authentication’a giriş
  • Function-based views nedir?
  • Class-based views nedir?
  • İsviçre çakısı: Django Debug Toolbar ve Django Extensions
  • Heroku platformunu nasıl kullanırız?
Uygulama
  • GitHub’ın bize sunduğu Gist gibi bir uygulama geliştiriyoruz!
  • Markdown parser, syntax highlighter gibi ek özellikler de ekliyoruz!

İleri Seviye Django

Django’nun derinliklerine iniyoruz!

  • Class-based views’a detaylı bakış
  • Multi-table inheritance nedir?
  • Proxy model nedir?
  • Polymorphic relation nedir?
  • Generic relation nedir?
  • Özelleştirilmiş Manager’lar ve Queryset’ler
  • Sorgularda performans optimizasyonu
  • View ya da shell katmanında debug nasıl yapılır?
  • Mixin’lere detaylı bakış
  • Data migration nedir? Ön tanımlı veri aktarımı
  • Özelleştirilmiş migration nasıl yapılır?
  • Django ile gelen Signal’ler
  • Özelleştirilmiş Signal nasıl yapılır?
  • Kendi User modelimizi yapalım!
  • I18N ve Timezone-aware olmak
  • İzinler (permissions)
  • PostgreSQL’le özel fonksiyonlar
  • Django Admin özelleştirmeleri: Formlar ve Widget’lar
  • Management Command nedir? Nasıl yazılır?
  • Özelleştirilmiş template tag’ler ve filtreler
  • Django class’larını doğru şekilde ezmek
  • Admin’e özel view’ları geliştirmek ve test etmek
  • Özel test kütüphaneleri, mock’lama ve vcrpy
  • Peki ya Caching?
  • Özelleştirilmiş log’lama, log’u format etmek

Django Admin’i Hacklemek

Django, içinde harika özellikleri olan bir Admin panel ile birlikte geliyor. Haydi gelin özelleştirelim!

  • Django’nun son versiyonu ile gelen özelliklere bakış
  • Özelleştirilmiş autocomplete view’leri
  • django.contrib.admin paketinin detayları
  • Özelleştirilmiş BaseModelAdmin yapalım
  • Permission/Group bazlı admin view’lar
  • Permission/Group bazlı admin form’lar
  • Sahte alanları olan admin formlar
  • Özelleştirilmiş Inline formset’ler
  • Calculated field’larla çalışmak
  • Özelleştirilmiş admin filtreleri
  • Admin view’larını ezmek, ilave öğeler yerleştirmek
  • Dashboard view yapalım!
  • Soft deletion nedir?
  • Admin panelde büyük veritabanlarını kullanmak
  • Django ile gelen Admin Widget’ları kullanmak
  • Admin panele özelleştirilmiş JavaScript takmak

Django Pratikleri

Performans sorunlarını, doğru ve yanlışları irdeliyoruz!

  • Ortamların ayrıştığı, daha iyi bir proje yapısı: test, development, production ayrımı
  • Fat Model - Skinny Controller nedir?
  • ORM performans pratikleri, özel sorgu fonksiyonları, mesela Prefetch() ve dahası
  • Model, View ve ORM’lerle ilgili özenle seçilmiş ipuçları
  • Veritabanı transactions ve race-condition önleme
  • Query Expressions: F(), Func(), Value() ve küme fonksiyonları
  • Subquery() ve annotation() fonksiyonları
  • Özelleştirilmiş aramalar: field__my_lookup=1
  • Hacimli operasyonlar (bulk) neler?
  • Özel metin arama, arama vektörleri ve dahası
  • Migration’ların optimize edilmesi, sadeleştirilmesi
  • PostgreSQL eklentileri
  • Özel arama filtreleri
  • Daha iyi ve hızlı test yazmak
  • Django formları ve admin paneli özelleştirmek

Django Class-based View’lar

Django uygulamasını Class-based View yapısı üzerine kurgulamak ve çalıştırmak!

  • Mixin ve MRO kavramları
  • Generic Views’a giriş
  • View’lar ve MRO’larına detaylı bakış
  • Farklı view’lardan karma view’lar üretmek
  • Dekoratör nedir? nasıl kullanılır?
  • Veri doğrulama mekanizmaları
  • Ajax ve Class-Based View kullanımı

Django ve Authentication

Bazen kullanıcıları başka bir servisten doğrulamak ya da içeri almak gerekebilir. Mesela LDAP!

  • Django ile birlikte gelen authentication mekanizmaları
  • Özelleştirilmiş authentication backend yazalım
  • Remote User nedir?
  • LDAP gibi 3. parti servis sağlayıcıları ile entegre olmak
  • Peki social auth? Twitter, Facebook, GitHub gibi kanalları kullanmak
  • Token ile authentication nedir?

Django Rest Framework 101

Uygulamamızı geliştirdik, artık tek eksiğimiz RESTful bir API sunucusu!

  • REST nedir? ne anlama gelir?
  • Serialization nedir?
  • Django modellerini serialize etmek
  • CRUD nedir? Temek CRUD operasyonları
  • Sorgulama, sayfalama
  • Güvenlik ve yetkiler
  • URL routing
  • İlişkili modeller, iç-içe geçmiş modeller
  • Token ile authentication
  • Yük dengeleme, limitleme, dar boğaz tanımlamaları
  • API nasıl test edilir?
  • Postman’e merhaba!

Django Modelleri

Django modeli nasıl tasarlanmalı? Nasıl planlanmalı? Nasıl kodlanmalı?

  • İlişkiler nasıl tasarlanmalı
  • Önce sorgular hesaplanmalı, planlanmalı
  • Sorguları nasıl ölçeriz?
  • Sorgu çalıştırma planı nedir?
  • ManyToMany mi? yoksa ManyToMany.through mu? faydası, zararı?
  • Veritabanı indeksi’i ve kısıtlar nelerdir?
  • Hangisi daha önemli: veritabanının ölçüsü mü? sorguların hızı mı?
  • Sorguların izlenmesi, gereken verinin çekilmesi ve işlenmesi
  • 3. parti yardımcı ölçüm araçları
  • Template ve Admin seviyesinde ufak tefek performans ipuçları

Django ve Test

Test Driven Development ya da testle yürüyen geliştirme!

  • Testleri nasıl tasarlamalı
  • Hangi ilave kütüphaneler kullanılmalı
  • Test için otomasyon (pipeline)
  • Neyi test etmeli? nereyi mock’lamalı?
  • Unit test mi? Integration test mi?
  • Testlerin devamlılığını nasıl sağlarız?
  • Testleri nasıl hızlandırabiliriz?

Django Deployment

Django uygulamanız hazır, bilgisayarınızda çalışıyor. Peki dış dünyada nasıl çalışacak?

  • Sanal makinede (Ubuntu) sıfırdan kurulum, process management
  • Gunicorn yaklaşımı
  • uWSGI yaklaşımı
  • PostgreSQL ve pooling
  • NGINX ile reverse-proxy
  • Uygulamanın Docker/Docker-Compose ile çalıştırılması
  • Kubernetes ortamı için gereken işlemler

Python  

Python ile ilgili 6 eğitim bulunuyor.

Eğitimlerle ilgili daha detaylı bilgi almak için bize e-posta adresinden ulaşabilirsiniz.

Python 101

Python programlama diline giriş.

  • Kod yazma tarzı ve standartları
  • Python söz dizimi (syntax)
  • Ayırıcılar ve operatörler
  • Object nedir?
  • method nedir?
  • Değişken ve atama nedir?
  • Tümleşik gelen veri tipleri: Booleans, Numbers, Nones
  • Sıralılar: Strings, Lists, Tuples
  • Üreteçler ve ifadeleri
  • Aritmetik operatörler
  • Sets ve Dictionaries tipleri
  • Fonksiyon ve kapsam kavramları
  • Lambda ifadeleri
  • Kontrol ifadeleri ve durum kontrolleri
  • Döngüler, yinelenebilirler

Python 102

Nesne yönelimli programlamaya merhaba! Sınıflar, miraslar ve dahası!

  • Class ifadesi nedir?
  • Base Class nedir?
  • Class, Instance ve özel metodlar
  • Metod çözünme sırası yani MRO nedir? Neden önemlidir?
  • instance nedir?
  • method, property ve attribute kavramları
  • Getters, setters ya da accessor nedir?
  • Dekoratör fonksiyon nedir?
  • Nesne teftişi: object inspection
  • Nesne içindeki gizli metodlar
  • Metodlara erişim seviyesi nedir? Python konuya nasıl yaklaşır?
  • Override, Overload ve super kavramları
  • Meta Class ve Abstract Base Class nedir?
Uygulama
  • Komut satırından çalışan bir TODO uygulaması geliştiriyoruz
  • Uygulamayı python paketi haline getiriyoruz!

Python ve Test

Python ile birlikte gelen test araçlarını inceliyoruz...

  • Testin temelleri, test filozofisinin ardındaki fikir
  • Kodun hangi kısımları test edilmeli
  • Docstring test nedir?
  • unittest’in temelleri
  • assertion nedir?
  • 3. parti test kütüphaneleri hakkında genel bilgi

Python Paketi Oluşturmak

Python bize tekrar tekrar kullanabilecek uygulama geliştirme ve dağıtma imkanı verir!

  • Standart bir Python paketi nasıl yapılır?
  • Paket içindeki bağımlılıkların yönetimi
  • Paket için test kodu nasıl yazılır, yerelde test edilir?
  • Sık yapılan hatalar nelerdir?
  • PyPI nedir?
  • PyPI’da paket yönetimi, yeni versiyon, güncelleme ve dahası...
  • Paketleri özel/gizli (private) olarak sunmak

Python Versiyon Yönetimi

Python versiyonu sürekli güncelleniyor. Siz bu hıza nasıl yetişeceksiniz?

  • PYTHONPATH’i anlamak
  • pyenv’e giriş
  • Farklı işletim sistemlerine pyenv kurmak ve konfigüre etmek
  • Sanal ortam (virtual environment) nedir?
  • pyenv ve virtualenvwrapper
  • Diğer python versiyon yönetim araçları neler?

Python Geliştirme Ortamı

İyi Python kodu yazmak için bazı yardımcı araçlara ihtiyacınız olabilir.

  • Versiyon yönetimi ile Python kurulumu
  • Metin editörü mü? Yoksa IDE’mi?
  • A-GRADE Python kodu yazmak için kod yazma aracınızı konfigüre etmek
  • Linting ve Formatting araçları
  • TextMate, VS Code, Atom, Sublime, vim, emacs gibi araçlar için eklentiler neler?

Flask  

Flask ile ilgili 2 eğitim bulunuyor.

Eğitimlerle ilgili daha detaylı bilgi almak için bize e-posta adresinden ulaşabilirsiniz.

Flask 101

2010 yılında 1 Nisan şakası olarak çıkan, daha sonra hayatımıza giren, basit web uygulamaları, API sunucuları yapmaya yarayan Flask’a giriş!

  • app nedir ? Flask app nedir?
  • Routing nedir? Flask view’leri ya da handler’ları
  • Flask’ın request nesnesi
  • İsimden yakalamalı routing, regex ve güvenli tipler
  • Template render etmek ve context’i anlamak
  • Template geçişme özelliği ve Jinja motoruna giriş
  • Formlar, redirect ve url routing
  • Upload ve dosya kaydetmek
  • make_response ve cookie temelleri
  • Messages yapısı ve flash
  • Flask uygulamasının sunucuda çalıştırılması (deployment)

Flask ile API Geliştirmek

Flask ile basit bir mikro-servis yapısı oluşturmak.

  • REST API tasarımı nedir?
  • Veritabanı modellerinin planlaması
  • Endpoints ya da resources planlanması
  • ORM nedir? SQLAlchemy’ye giriş
  • Fixture nedir? migration nedir?
  • CRUD nedir? CRUD operasyonları
  • Blueprint ve Api kavramları
  • Authentication ve Authorization temelleri
  • Basic HTTP auth mu? Yoksa HTTP Token auth mu?
  • curl ya da httpie ile komut satırından API’ı tüketelim!
  • Uygulamayı Docker konteynerin içine koyup çalıştıralım!
  • Uygulamayı Heroku’ya yükleyelim
Uygulama
  • Retro oyunlar satan online bir web API geliştiriyoruz!

Ruby  

Ruby ile ilgili 8 eğitim bulunuyor.

Eğitimlerle ilgili daha detaylı bilgi almak için bize e-posta adresinden ulaşabilirsiniz.

Ruby 101

Diğer pek çok programlama diline kıyasla, Ruby, öğrenmesi belkide en kolay olan programlama dilidir.

  • Ruby nasıl çalışır?
  • Ruby söz dizimi: syntax’ı
  • Etkileşimli REPL: irb
  • Ön tanımlı değişkenler, değişkenler ve sahte değişkenler
  • Operatörler ve sabitler
  • Metod, blocks, proc ve lambda kavramları
  • Durumlar ve kontrol ifadeleri
  • Sayılabilirler, yinelenebilirler, döngüler ve dahası...
  • Tümleşik gelen veri tipleri
  • Nesne yönelimli Ruby: Class ve Modules
  • Exception kavramı ve yönetimi
  • File system, IO ve Kernel module’a hızlı bakış
  • Rubygems nedir?

Sinatra 101

Dünyanın en hafif sunucu kütüphanesi Sinatra ile dakikalar içinde basit bir web uygulaması ya da karmaşık bir veritabanı uygulaması ya da API geliştirmek mümkün.

  • Rack’den fazla, Rails’den az ‐ Den Benjamin
  • Sinatra’nın DSL yapısı
  • İşleyiciler (handlers) ve HTTP metodları
  • URL params, splat, regex ve koşullu yakalayıcılar
  • ERB ve View mantığı
  • Layout kavramı
  • Statik dosya sunumu (resimler, JavaScript/CSS dosyaları)
  • Farklı dosya işleyicileri; Sass, Markdown ve daha fazlası
  • Filtre ve helper kavramı
  • Özelleştirilmiş filtre ve helper’lar
  • http isteklerini: karşılama, iptal, yönlendirme, pas geçme, hata üretme
  • Ortam izolasyonu: testing, development ya da production
  • Oturum yönetimi
  • Test
  • Uygulama yapısı kararı, tek dosya mı? yoksa yapılandırılmış mı?
  • Uygulamanın Heroku’ya yüklenmesi (deployment)

Ruby ve Test (TDD) 101

Ruby, test-first programming language yani öncelikle test yazmanın önemli olduğu bir dildir.

  • Teste giriş, testin önemi
  • Tümleşik gelen yardımcı test araçları
  • Test türleri neler?
  • Mocking, stubbing ve test doubles kavramları
  • Genel bakış: Minitest test kütüphanesi
  • Genel bakış: Rspec test kütüphanesi
  • Uygulama
    • Yer imlerini kaydeden bir komut-satırı uygulaması yapacağız!

    Sinatra ve Active Record

    ORM’lerin belkide en iyisi Active Record’un Sinatra ile entegrasyonu

    • ORM nedir?
    • Active Record’a giriş, kurallar neler?
    • Schema nedir?
    • Model nedir?
    • Migration nedir?
    • Veri doğrulama
    • Veritabanı ve Sinatra bağlantısı
    • Active Record ile ilgili Rake task’ler
    • Fat Model - Skinny Controller kavramı
    • Veritabanında sorgulama
    • Active Record ile CRUD
    • İlişkili modeller, ilişkili sorgular
    Uygulama
    • Blog uygulaması geliştirip Heroku’ya deploy edeceğiz.

    Bir Rack Uygulaması Geliştirmek

    Rack ile Ruby uygulaması geliştirmek!

    • Http’yi anlamak
    • Rack nedir? nasıl çalışır?
    • Rack Middleware nedir?
    • Rack’in katmanları nelerdir?
    • Http istekleri nasıl korunur?
    • Http metodlarını işlemek
    • Rack için eklenti geliştirelim
    • Rack uygulamasını nasıl deploy ederiz?
    Uygulama
    • Ziyaretçi defteri uygulaması geliştiriyoruz

    Middleman ile Statik Web Uygulaması

    Neticede her web uygulaması geriye HTML çıktı üretmez mi? Haydi o zaman gelin bir sürü html dosyası üretelim!

    • Statik sayfa nedir?
    • Middleman nedir?
    • Tümleşik gelen elementler neler?
    • Templating, template helpers ve renderers kavramları
    • Assets pipeline nedir?
    • Veri otomasyonu
    • Çoklu dil desteği
    • 3. parti servislerle entegrasyon
    • GitHub Pages’ uygulamayı deploy edelim!
    Uygulama
    • Basit bir elektronik ticaret uygulaması yapacağız

    Ruby Paketi (gem) Geliştirmek

    Rubygems içinde bir kısım kod, araç, kütüphane hatta framework barındıran Ruby paketleridir.

    • Bundler nedir?
    • Bundler ile gem şablonu oluşturmak
    • Manifest dosyası, revizyonlar ve release’lerin yönetilmesi
    • Geliştirme modu için paket bağımlılıkları
    • Genişletilebilir gem geliştirmek
    • Paketinizi Rubygems’e göndermek
    • Özel repo’lardan paketi sunmak

    Makefile değil Rakefile!

    Gündelik rutin işlerinizi otomatize edebileceğiniz gibi, pek çok işi Ruby kodu yazarak yönetebilirsiniz!

    • Saygılarımızla Jim Weirich
    • Rakefile’ın anatomisi, DSL nedir?
    • Task nedir?
    • Basit task’ler
    • Parametre alan task’ler
    • Namespace nedir?
    • Multi tasks nedir?
    • Rules nedir?
    • Bütünleşik gelen task’ler
    • File, FileList ve Directory özellikleri
    • Global / local task’ler
    • 3. parti eklentiler
    • Gerçek hayat örnekleri

    Git  

    Git ile ilgili 2 eğitim bulunuyor.

    Eğitimlerle ilgili daha detaylı bilgi almak için bize e-posta adresinden ulaşabilirsiniz.

    Git 101

    Komut satırından gündelik hayatta git kullanımı!

    • Yaygın işletim sistemlerine gitnasıl kurulur?
    • git konfigürasyonu nedir?
    • Repository nedir?
    • Commit nedir?
    • Dosyalarla çalışmak, değişiklik yapmak ve revizyonalı takip etmek
    • Bazı dosya tiplerinin izolasyonu
    • branch nedir?
    • merge nedir? Kaç tür merge stratejisi bulunur?
    • Conflict nedir? nasıl çözülür?
    • stash, tag nedir?
    • Undo, reset, amend ve revert özellikleri
    • git aliases nedir?
    • Konfigürasyon içinde bash komutu çağırmak!
    • Log işlemleri, dosya aramak, mesajlar ve dahası...
    • git, 90 gün boyunca hiçbir şeyi silmez!
    • Remote nedir? Remote’larla çalışmak
    • Git platformları: GitHub, Gitlab ve Bitbucket

    İleri Seviye Git

    git’in sihirli dünyasına derinlemesine giriş!

    • Konfigürasyon dosyasını orta seviyede incelemek
    • Dosyaları sıkıştırmak
    • merge commit nedir?
    • bundling nedir?
    • Repo’nın sığ kopyası
    • Etkileşimli ekleme, yama ve rebasing
    • Stash nasıl çalışır? Daha iyi stash için ipuçları
    • Stash ve Rebase çakışmalarını çözmek
    • İstediğiniz bir commit’i seçin
    • Komut satırından revizyonları gezin
    • Detaylı diff operasyonları
    • Commit’leri ayırmak ya da birleştirmek
    • Commit’lerin sırasını değiştirmek
    • bisect ile hata ayıklama
    • Repo genelinde herhangi ya da tüm commit’leri değiştirmek
    • Commit’lerinizi ve tag’lerinisi GPG ile imzalayın
    • Commit annotation nedir? Notlara nasıl bakılır?
    • Yamalama reçeteleri
    • Reflog ve garbage collection
    • tig komut satırı yardımcı aracı
    • Kendi git eklentinizi yapın! Örnek: Kommit
    • git-hooks nedir?
    • En iyi pratikler, git ile geliştirme metodolojileri

    Bash  

    Bash ile ilgili 2 eğitim bulunuyor.

    Eğitimlerle ilgili daha detaylı bilgi almak için bize e-posta adresinden ulaşabilirsiniz.

    Bash 101

    Bash, işletim sisteminin çekirdeğine açılan bir kapı! Bu kapıdan içeri girmeye hazır mısınız?

    • Değişkenler ve ortam (environment)
    • Tümleşik gelen komutlar
    • Profil, ayarlar ve konfigürasyonlar
    • Shell komutlarını çağırmak, komut hakkında yardım almak
    • İzinler, kullanıcılar ve gruplar
    • Dosyaları incelemek ve analiz etmek
    • Söz dizimi: syntax
    • META karakterler, parantez ifadeleri ve tırnak işaretleri
    • Komut formasyonu, zincirleme ve aktarma
    • Dosya açıklayıcıları, giriş/çıkış yönlendirme ve PIPE
    • Standart giriş, çıkış ve hata kanalı
    • Veri tipleri ve aritmetik ifadeler
    • Fonksiyonlar, durum kontrolleri ve döngüler
    • Otomatik tamamlama: Bash completion
    Uygulama
    • Bash completion anatomisi
    • Çoklu dil desteği veren uygulama geliştirmek

    Bash ile Komut-satırı Uygulaması

    Bash sadece bir betik dili değil, uygulama geliştirme hatta web sunucusu bile yapma imkanı veren bir araç!

    • Komut satırı argümanlarını çözümlemek
    • Bash tarzıyla hata ve exceptions yakalama
    • Linting ve kod kontrolü
    • Bash kodunu test etmek!
    • Lokalizasyon ve otomatik tamamlama eklemek
    • Uygulamanıza Man pages eklemek
    • brew için bash paketi oluşturmak
    • homebrew üzerinden paketi dağıtmak
    Uygulama
    • Basit bir CLI uygulamasını kendi repomuzdan brew tap ile sunuyoruz!

    DevOps  

    DevOps ile ilgili 2 eğitim bulunuyor.

    Eğitimlerle ilgili daha detaylı bilgi almak için bize e-posta adresinden ulaşabilirsiniz.

    Docker’a Giriş, Docker 101

    Uygulamanızı konteyner içinde çalıştırmak! Merhaba Docker

    • Docker motoru nedir?
    • Image ve container nedir?
    • Dockerfile nedir?
    • Çevre değişenleri, parametre geçmek
    • Bir imajdan container üretmek
    • Volume nedir? Kalıcı veri oluşturmak
    • Volume’leri container’lar arasında paylaşmak
    • Docker Compose nedir?
    • Python uygulamasını dockerize edelim!
    • Golang uygulamasını dockerize edelim!

    Kendi Vagrant Box’ını Yap!

    Bazen kendi ihtiyacınıza uygun bir Vagrant Box’a ihtiyacınız olabilir!

    • VirtualBox sağlayıcısını ayarlamak
    • VirtualBox’ı detaylı konfigüre etmek
    • Özelleştirilmiş Ubuntu box yapalım!
    • Özelleştirilmiş box için ilk provisioning
    • Network ve diğer cihaz ayarları
    • Yeni oluşturulan box’ın kurulumu
    • Box’ın güncellenmesi ve bakımın sağlanması
    • Vagrant host/guest ipuçları
    Uygulama
    • Oluşturduğumuz box’ın içinden nginx web sunucusu çalıştırmak