Sobes.tech
Junior

Proqram təminatı inkişafı kontekstində yığın nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Proqram təminatının inkişafında istifadə olunan yığın aşağıdakıları əhatə edə bilər:

  1. Çağrı Yığını (Call Stack): Proses tərəfindən aktiv alt proqramları (funksiyalar və ya metodlar) izləmək üçün istifadə olunan yaddaş sahəsi. Funksiya çağırıldıqda, onun məlumatları (qaytarma ünvanı, yerli dəyişənlər) yığına yerləşdirilir. Funksiya tamamlandıqda, bu məlumatlar silinir. LIFO (Last-In, First-Out) prinsipinə əsaslanır.

    // Çağrı yığınının işləmə nümunəsi
    void func2() {
        // func2-nin yerli dəyişənləri yığına əlavə olunur
        // ...
    } // func2-dən çıxarkən, onun məlumatları yığından silinir
    
    void func1() {
        // func1-nin yerli dəyişənləri yığına əlavə olunur
        func2(); // func2 çağırılır, onun məlumatları func1-in üstünə yerləşdirilir
        // ...
    } // func1-dən çıxarkən, onun məlumatları yığından silinir
    
    int main() {
        // main yığına əlavə olunur
        func1(); // func1 çağırılır
        return 0;
    } // main yığından silinir
    
  2. Texnologiya Yığını (Technology Stack): Müəyyən bir proqram məhsulunun inkişafı və yerləşdirilməsi üçün istifadə olunan ümumi texnologiyalar toplusu (proqramlaşdırma dilləri, çərçivələr, verilənlər bazaları, serverlər, alətlər).

Populyar yığın nümunələri:

Yığın növü Tərkib hissələri
MEAN Stack MongoDB, Express.js, Angular, Node.js
MERN Stack MongoDB, Express.js, React, Node.js
LAMP Stack Linux, Apache, MySQL, PHP
LEMP Stack Linux, Engine X (NGINX), MySQL, PHP
.NET Stack C#, ASP.NET, SQL Server, IIS

Yığın seçimi layihənin tələblərinə, genişlənməyə, performansa, komanda ixtisasına və ekosistemə əsaslanır. QA mütəxəssisi istifadə olunan yığını anlamalı və uyğun test alətləri və strategiyalarını seçməlidir. 3. LIFO Məlumatlar Strukturu (Stack Data Structure): LIFO (Last-In, First-Out) prinsipini həyata keçirən abstrakt məlumat tipi və ya xətti məlumat strukturu. Elementlər bir tərəfdən (stackin yuxarı, top) əlavə edilir (push əməliyyatı) və çıxarılır (pop əməliyyatı).

# Python-da siyahı ilə "stack" strukturunun nümunəsi
stack = []

# Element əlavə etmək (push)
stack.append('A')
stack.append('B')
stack.append('C')
print(f"Stack əlavə edildikdən sonra: {stack}") # Nəticə: ['A', 'B', 'C']

# Element çıxarmaq (pop)
element = stack.pop() # 'C' çıxarılır
print(f"Çıxarılmış element: {element}")
print(f"Stack çıxarılmadan sonra: {stack}") # Nəticə: ['A', 'B']

# Növbəti elementi çıxarmaq (pop)
element = stack.pop() # 'B' çıxarılır
print(f"Çıxarılmış element: {element}")
print(f"Stack çıxarılmadan sonra: {stack}") # Nəticə: ['A']