JR Yazılımcı Eğitim Kampı 28 Mayıs Cumartesi Trendyol Campus'te başlıyor!
4 hafta sürecek eğitimimizde kurumsal uygulama geliştirme süreçleri kapsamlı bir şekilde ele alınacak.
Fiziksel olarak katılmak isteyen arkadaşların katılım formunu doldurması ve olumlu katılım sonucunun mail ile tarafına iletilmesi gerekiyor. Fiziksel katılacak arkadaşlar için sağlık tedbiri olarak maske takılması ricamızdır. Etkinlik boyunca içecek ve atıştırmaklık ikramlar olacaktır.
Fiziksel katılım için kontenjan 100 kişi ile sınırlıdır.
Fiziksel olarak katılacak arkadaşların etkinliği uygulamalı takip edebilmesi için bilgisayar getirmesi ve Docker, Goland kurulu olması faydalı olacaktır.
Fiziksel Katılım Formu: https://forms.gle/kXTWjkTTdY33Rm6e7
Discord JR Yazılımcı Eğitim Kampı kanalından eğitim boyunca kampta işlediğimiz konular ile ilgili soru ve önerilerinizi paylaşabilirsiniz: https://discord.gg/bpA9qJhXmK
Online katılım: Youtube Yayın Link
İçerik
Neden böyle bir eğitim kampı düzenleniyor?
- Tecrübeli yazılımcı oluşturulması
- Sektörün yazılım projelerindeki ihtiyaçları
- Kurumsal şirketlerin yazılım geliştirme süreçlerinin tanıtılması
Devops konuları
- Devops bize ne söylüyor?
- Projelerde otomasyon
- CI/CD süreçleri
- Kullanılabilecek toollar (Jenkins, ArgoCD)
Design Patterns
- Nedir bu tasarım desenleri?
- Creational, Behavioral, Structural
- Kategorilerine göre en yaygın kullanılan patternlar
- Factory, Singleton, Builder
- Proxy, Adapter, Decorator
- State, Dispatcher, Observer, Chain of Resp.
Scaling ve Performance
- Scaling nedir?
- Horizontal / Vertical scaling
- Bir uygulama performansını arttırmak için neler yapılabilir?
Monolith vs Microservice
- Monolith uygulama nedir
- Monolith uygulama zorlukları
- Mimari ve ekip yapısı açısından etkileri
- Microservice mimarisi nedir
- Microservicelere olan ihtiyaç
- Microservicelerin çözdüğü sorunlar
- Microserviceler arası haberleşme yöntemleri (http, grpc, messaging)
Project Setup
- Go projesi oluşturma
- Main.go ve go mod init
- Go projesini çalıştırmak
- Go projesini build etmek
- Build edilmiş binary çalıştırmak
- Projeye Git version control eklemek
- Github üzerinde proje oluşturmak
- Remote origin adresi tanımlamak
- İlk commit ve push işlemleri
CI/CD Süreçlerinin Oluşturulması
- CI/CD Nedir
- Continuous Integration neden gerekli?
- Continuous Deployment nasıl yapılır?
- Jenkins (veya Gitlab) ile pipeline oluşturmak
- ArgoCD ile deployment yapmak
Go ile Rest Api Geliştirmek
- Go HTTP Paketi ile Api geliştirmek
- Endpointler oluşturmak
- Request objeleri oluşturmak ve parse etmek
- Response ve header dönmek
Go ile Veritabanı İşlemleri
- Sql ile veritabanına kayıt atmak
- CRUD işlemleri
- NoSql ile veritabınına kayıt atmak
- Couchbase ile key value işlemler
Containerlar ve Docker
- Container nedir?
- Neden containerlara ihtiyacımız var?
- Docker nasıl kullanılır
Kubernetes
- Container orchestration nedir?
- İlk Deployment - Bir uygulamayı Kubernetes üzerinde çalıştırmak
- Uygulamayı dışarıdan erişilebilir kılmak - Networking
- Uygulama configlerini Kubernetes üzerinde tutmak
- Uygulamayı scale etmek
- Rolling Update (MaxSurge, MaxUnavailable)
- Kubectl exec ile çalışan uygulamaya bağlanmak
- Kubectl proxy ile uygulamayı local ortama yönlendirmek
Testing
- Unit testing
- CDC Testing
- Integration Testing
- UI Testing
There are no comments. Be the first one!