Uygulama mimarisi: Bir geliştirici gibi yazın, bir mimar gibi düşünün - elbette 80.000 ruble. Slurm'dan, eğitim 3 ay, Tarih 22 Ocak 2024.
Miscellanea / / November 29, 2023
Temiz ve yönetilebilir projeler yazmayı, bakımı yapılabilir sistemler oluşturmayı ve kodları düzenlemeyi öğrenin.
Pratik görevler sırasında olası tüm hataları ücretsiz olarak yapacağız, böylece daha sonra işinizde bunlardan kaçınabilir ve milyonlar tasarruf edebilirsiniz.
Geçmişte pek çok uygulama tasarım olmadan oluşturuldu. Uygun görünüyordu: planlama maliyeti yok, hızlı prototipleme.
Ancak zamanla karmaşık uygulamalar, buzdağına doğru tam hızla koşan, kontrol edilemeyen bir kruvazöre dönüştü.
İşte o zaman mimarlık gerçek bir can yeleği haline geldi. İyi tasarlanmış bir mimariye sahip bir uygulamanın genişletilmesi, değiştirilmesi, test edilmesi, hata ayıklanması ve anlaşılması daha kolaydır.
Uygulama mimarisi bir sanattır. Büyük ölçekli sistemler tasarlama ve yaratma sanatı.
UML diyagramları oluşturmayı, kodu yeniden düzenlemeyi, mimari sınırları çizmeyi ve sistemleri analiz etmeyi öğreneceksiniz. Her katılımcı bir kurs projesini tamamlayacak: gerçek üretim faaliyetlerinde olduğu gibi bir bilgi sistemi tasarlayacak ve tam olarak tanımlayacaktır.
Konuşmacılarla giriş oturumu
22 Ocak 19:00
Birinci Modül: Uygulama Mimarisine Giriş
22 Ocak
Uygulama mimarisinin yaklaşımlarını ve paradigmalarını tanıyalım
- Konu I. Sorun, yazılımı doğru şekilde tasarlamanın neden önemli olduğudur. Mimarlığa neden ihtiyaç duyulur, insanlar düşünmeyince ne olur?
- Konu II. Karmaşıklığı kontrol etmenin bir yolu olarak izolasyon. Spagetti kodu. Modülerlik. Kaplin. Statik bağlama, dinamik bağlama. Bileşenler ve etkileşimleri. Bağımsız bir varlık olarak bir bileşen. Gevşek bağlı bileşenlerin tasarımı. Bileşen testi. Modüler desen örneği olarak MVC. Değişiklik nedenleri, değişiklik nedenlerine göre izolasyon.
İkinci modül: Birleşik Modelleme Dili
29 Ocak
Grafik görüntüleme diline hakim olalım: bu dili kullanarak okuyabilecek ve tasarım yapabileceksiniz. Mimariyi ve bağlantıları görselleştirmek için diyagramları kullanmayı öğrenelim.
- Konu I. Ana bileşenler, onlarla ne ifade edilebileceği, ne için ihtiyaç duyulduğu.
- Konu II. Sınıf, etkinlik, sıra ve kullanım senaryosu diyagramları.
- Konu III. UML'nin dezavantajları. C4 modeli. Aletler
Üçüncü modül: OOP ilkeleri
12 Şubat
Yüksek düzeyde analiz yapmayı öğreneceğiz: Bir sorunu nasıl çözeceğinizi ve hangi paradigmayı kullanacağınızı bileceksiniz.
- Konu I. Programlama paradigmalarının gözden geçirilmesi.
- Konu II. OOP ilkeleri. Bir mimari aracı olarak OOP. Sınıflar ve yöntemler. Bir izolasyon yöntemi olarak nesne yaklaşımı. Arayüzler ve soyut sınıflar. Miras sorunları.
- Konu III. OOP ilkeleri: (KATI, KURU).
Konuşmacılarla AMA oturumu
Dördüncü Modül: Tasarım Desenleri
26 Şubat
Kalıpları kullanarak sistem tasarlamayı öğreneceğiz: kalıpların avantajlarını ve sınırlamalarını anlayacaksınız, sistemlerde uygulanan kalıpları tanıyabileceksiniz
- Konu I. Kalıplar nedir ve neden gereklidirler? Onların türleri.
- Konu II. Üretken ve yapısal modeller.
- Konu III. Davranış kalıpları.
- Konu IV. Anti-örüntüler.
Beşinci Modül: Temiz Mimari
11 Mart
Saf mimari kriterlerine göre tasarım yapmayı, saf mimariden sapmaları bulmayı ve sistem çözümü için seçenekler önermeyi öğreneceğiz. Kodun daha sonraki değişikliklerini ve bakımını basitleştirmek için kod düzeninin nasıl uygulanacağını, mimari sınırların nasıl tasarlanacağını ve çizileceğini öğreneceğiz.
- Konu I. Kaplin ve Kohezyon.
- Konu II. Mimari sınırlar.
- Konu III. Temiz mimari.
Altıncı Modül: Çeşitli Mimari Yaklaşımlar
25 Mart
Verilen üretim problemlerini çözmek için bir yaklaşım seçmeyi, avantajlarını veya başkalarının/kendi çözümlerimizi açıklamayı öğreneceğiz. Mevcut durumu dikkate alarak verilen görevlere uygun çözümler bulabileceğiz.
- Konu I. Gereksinimler, konu alanı. Analiz. İşlevsel/işlevsel olmayan gereksinimler.
- Konu II. Mimari stiller. Onion, çok düzeyli, hizmet odaklı, mikro hizmet, olay odaklı.
- Konu III. Uygulama mimarisi. MVC, MVP, MVVM, MV*.
Konuşmacılarla AMA oturumu
Yedinci modül: her yerde mimari
1 Nisan
Mimarlık hakkındaki bilgileri çeşitli ölçek seviyelerine (yalnızca sınıfların ve modüllerin yerleşimini değil aynı zamanda tüm sistemleri) uygulamayı öğreneceğiz.
- Konu I. Mimar türleri ve görevleri.
- Konu II. Farklı seviyelerdeki mimariler (gömülü, uygulama, dağıtılmış sistem, bulutta yerel hizmet).
Sekizinci modül: özetleme
8 Nisan
Belirli bir görev için kolayca bir araç seçmeyi öğrenelim
- Konu I. Temel araç ve teknolojilerin, mimarideki yerlerinin ve seçim ilkelerinin gözden geçirilmesi.
- Veri depolama: S3, Ceph, Posgres, MongoDB, Clickhouse, Neo4J, Cassandra, KeyValue.
- Kuyruklar: AMQP, Tavşan, Kafka, MQTT.
- Diller: Python, Java, GO, C++, Javascript/Typescript.
- Arayüz: Konsol, yerel uygulamalar, WEB: React, Vue, Angular, Jquery, hibrit, sohbet robotları.
- Altyapı araçları: docker, k8s, terraform, ansible.