JR Yazılımcı Eğitim Kampı

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!

Spine Tower