CodeGym /Kurslar /Python SELF AZ /Məhsulların yaradılması

Məhsulların yaradılması

Python SELF AZ
Səviyyə , Dərs
Mövcuddur

1.1 «İnsanlar artıq doğulmur, onları yetişdirirlər»

Yaxşı, əgər hələ də buradasınızsa, davam edək. «Və sizə göstərəcəm ki, dovşan yuvası nə qədər dərindir» ©

Gəlin sizə məhsulun inkişaf prosesi haqqında danışım — ən yuxarı qlobal səviyyədən tutmuş ən aşağıya — kod yazmağa qədər addımlarla keçəcəyik. Düşünürəm ki, siz bir neçə maraqlı kəşflər edəcəksiniz…

Müasir İT-məhsullar artıq yazılmır, onlar yaradılır. Onlar kitabxanalardan, frameworklərdən, üçüncü tərəf proqramlarından və məhsullardan və ya ümumiyyətlə pullu və ya pulsuz internet-servislərdən hissələr şəklində yığılırlar.

Müasir məhsul — bu, bütöv bir texnologiyalar, servislər, həllər və proseslər zülməti deməkdir. İşin bir hissəsi insanlar tərəfindən həyata keçirilir, bir hissəsi avtomatlaşdırılıb, qalan 90%-i isə ümumiyyətlə cloud servisləri tərəfindən data mərkəzlərində edilir. Dünya artıq əvvəlki kimi deyil.

Amma diqqətinizi cəlb edəcək ilk şey — bu daimi dəyişikliklərdir. Siz artıq proqramlar yazmırsınız, siz onlara dəyişikliklər edirsiniz.

1.2 Daimi dəyişikliklər

İşə başlayacaqsınız və artıq 5 ildir bir məhsul üzərində işləyən 20 nəfərlik komandaya qoşulacaqsınız. Hazırda istifadəçilər üçün məhsulun 7-ci versiyası mövcuddur. Sizin vəzifəniz bu məhsula dəyişikliklər etmək olacaq. Elə ki, mövcud aktiv istifadəçiləri qorxutmasın.

Bu çox asan olmayacaq, axı məhsul artıq işləyir. Onun müştəriləri var və onlar pul ödəyirlər. Ona görə də heç nəyi sındırmaq olmaz. Artıq işləyən bir məhsula dəyişikliklər etmək yeni bir məhsul üzərində işləməkdən bir neçə dəfə daha çətindir. Bunun üçün xüsusi standartlar, miqrasiya protokolları və utilitlər mövcuddur. Aşağıdakı lətifə yadıma düşür:

İki köhnə dost rastlaşır: biri mexanik olub, digəri isə cərrah... Hər birinin öz həyatı, qayğıları, sevincələri... Bir-birinə həyatlarını danışırlar və bir anda söhbət maaşlardan açılır. Mexanik deyir: "Mən ayda 30 min manat qazanıram və çox razıyam, bəs sən nə qədər qazanırsan?". Kardiocərrah deyir: "Təxminən 100 min bir əməliyyat üçün...". Mexanik maraqlanır: "Qəribədir, niyə bu qədər böyük fərq var? Axı sanki biz eyni işi görürük - ehtiyat hissələri dəyişirik". Cərrah ona deyir: "Gəl avtomobilə baxaq, işə sal...". Mexanik avtomobili işə salır, cərrah kapotu açır və mexanikə deyir: "Görürsən, mühərrik işləyir? Dəyiş! :)"

Hətta bir möcüzə baş verərsə və komandanız bütöv bir il ərzində məhsulu sıfırdan yazıb ancaq bundan sonra onu buraxarsa, bilirsiniz nə baş verəcək?

Əgər məhsulunuz uğurlu olarsa, məhsulun sahibi onu inkişaf etdirmək istəyəcək. Yeni bir versiya buraxmaq, əlavə funksionallıq əlavə etmək. Yaxud ən azından bir neçə eksperiment aparmaq. Və bilirsiniz, bunun ardından nə olacaq? Dəyişikliklər.

1.3 Məhsulun Dəyəri

Müasir inkişaf baxımından yalnız artıq released olunmuş kod və istifadəçilərin istifadə etdiyi feature dəyər daşıyır. Əgər siz kod yazmısınızsa, o haradasa saxlanılır, işləyir, amma insanlar onu istifadə etmirlərsə, bu kodun dəyəri sıfıra yaxındır. Buna görə də bütün kod mümkün qədər tez production-a yerləşdirilməlidir.

Kodunuz aşağıdakı mərhələlərdən keçməlidir:

  • Siz onu yazmısınız və onun işlədiyinə əmin olmusunuz.
  • TeamLead kodu review edib və Git-də əsas branch-ə daxil edib.
  • Programın build edilməsi zamanı testlər göstərdi ki, siz heç bir önəmli şeyi pozmamısınız.
  • İnteqrasiya testləri göstərdi ki, məhsul lazım olduğu kimi işləyir.
  • Testçi bu kodu yoxladı və release üçün icazə verdi.
  • Daha sonra məhsulun yeni versiyasını build etmək və serverdə release etmək lazımdır.
  • Məhsulun yeni versiyasını Docker Images-də yığıb release etmək lazımdır.
  • Ola bilər ki, migration skriptlərini işə salmaq və verilənlər bazasına və/və ya digər xarici həllərə dəyişikliklər etmək lazım olacaq.
  • Daha sonra serverdə loglar toplamaq lazımdır ki, hər şeyin lazım olduğu kimi işlədiyinə əmin olasınız.
  • Əgər qeyri-adi vəziyyət yaranıbsa və siz nəyisə pozmusunuzsa, build-i geri qaytarmaq, verilənlər bazasının əvvəlki vəziyyətini bərpa etmək və istifadəçilərin məhsulun qeyri-stabil versiyası ilə işlədiyi müddətdə etdikləri dəyişiklikləri itirməmək lazımdır.

Əksər şirkətlərdə bu məsələlər artıq həll olunub: yeni proseslər qurulub, xüsusi insanlar işə götürülüb, xüsusi təhlükəsizlik protokolları və keyfiyyətə nəzarət standartları tətbiq olunub.

Şirkət nə qədər böyükdürsə, yazılan kodun production-a çatıb dəyərə çevrilməsi — insanlara fayda gətirməsi üçün keçən vaxt bir o qədər az olur.

Əksər şirkətlərdə kod bu yolu iki həftə ərzində keçir. Lakin elə şirkətlər var ki, hər həftə və ya hətta hər gün release edirlər. Xüsusi fərqli olanlar isə — gündə bir neçə dəfə.

Yazılmış kod heç bir şeyə dəyməz. Dəyəri yalnız production-da işləyən kod gətirir.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION