Kodlama Terimleri Kılavuzu: Yeni Başlayanlar İçin Temel Terimler

tarafından | Mar 25, 2025 | R2 - Kodlama Kariyer Yolu İçin Online Eğitim Oluşturma | 0 yorum

Öncelikle, bu blog yazısına—Kodlama Terimleri Kılavuzu—hoş geldiniz. Bu yazıyı, kodlama dünyasını yeni başlayanlar için daha anlaşılır hale getirmek amacıyla hazırladık. Kodlama terimlerine basit bir giriş sunarak, her programcının bilmesi gereken temel kavramları ve terimleri açık bir şekilde açıklıyoruz. Sözdizimi (syntax) ve değişkenler (variables) gibi temel konulardan, fonksiyonlar (functions) ve döngüler (loops) gibi daha ileri seviyedeki kavramlara kadar uzanan bu kılavuz sayesinde, kodlamaya güvenle adım atabileceksiniz.

Bu blog yazısını, AB (Avrupa Birliği) tarafından finanse edilen Code For Future Projesi kapsamında oluşturduk. (reference number: 2022-3-DE04-KA210-YOU-000092666).

Xient GmbH, projeyi L4Y Learning for Youth GmbH ve Seyhan Danişment Gazi Anadolu Lisesi ile koordine ediyor .

Bu proje kapsamında, kodlamayla ilgili daha fazla içerik paylaşacağız. İçeriklere bu bağlantı üzerinden ulaşabilirsiniz.

Öğrenme Hedefleri

  • Temel kodlama kavramlarını öğrenin: Değişkenler, fonksiyonlar, döngüler ve koşullu ifadeler gibi temel kodlama yapılarını anlayarak, Python, JavaScript ve C++ gibi farklı programlama dillerinde nasıl uygulandıklarını keşfedin.
  • Programlama paradigmalarını kavrayın: Emirsel (imperative), bildirime dayalı (declarative), prosedürel (procedural), nesne yönelimli (object-oriented) ve fonksiyonel (functional) programlama gibi farklı paradigmaları öğrenerek, kod yapısına ve davranışına etkilerini anlayın.
  • Yapılandırılmış yazılım geliştirme sürecini öğrenin: Yazılım geliştirme sürecinde planlama, tasarım, uygulama, test etme ve bakım aşamalarını keşfedin. Hata ayıklama (debugging), sürüm kontrolü (version control) ve kod iyileştirme (refactoring) gibi önemli süreçlerin önemini kavrayın.
  • Gelişmiş kodlama araçlarını tanıyın: API’ler, framework’ler, kütüphaneler ve algoritmalar gibi ileri düzey araç ve kavramları öğrenerek, bunların karmaşık yazılım sistemleri oluşturmadaki rollerini ve uygulamalarını anlayın.
  • Kodlamanın farklı alanlardaki uygulamalarını keşfedin: Veri analizi, dijital pazarlama, proje yönetimi ve teknik yazım gibi çeşitli sektörlerde kodlamanın nasıl kullanıldığını öğrenerek, bu becerilerin kariyer fırsatlarını ve iş verimliliğini nasıl artırabileceğini keşfedin.

Kodlama Terimleri Kılavuzu: Giriş

Kodlama, diğer adıyla programlama, belirli görevleri yerine getiren veya belirli sonuçlar üreten çalıştırılabilir bilgisayar programları geliştirme becerisidir. Bu süreç, bilgisayar programlarının kaynak kodunu yazmayı, test etmeyi, hata ayıklamayı (debugging) ve bakımını yapmayı içerir.Programcılar, bu kaynak kodunu çeşitli programlama dilleri kullanarak yazarlar. Programlama dilleri, bilgisayara belirli işlemleri gerçekleştirmesi için verilen resmi talimatlar bütünüdür ve geniş bir yelpazede çıktılar üretebilir. Bu diller, yazılım uygulamalarından sistem yazılımlarına, makine kontrolünden karmaşık hesaplama işlemlerine kadar birçok alanda kullanılır ve modern teknolojinin temel taşlarından biridir.

Temel olarak, her biri kendine özgü sözdizimine (syntax) ve kullanım alanlarına sahip çok sayıda programlama dili vardır. Örneğin: Python – Basit sözdizimi ve okunabilirliği ile öne çıkan Python, özellikle veri analizi, yapay zeka ve otomasyon gibi alanlarda yaygın olarak kullanılır. JavaScript – Web geliştirme için vazgeçilmez bir dil olan JavaScript, dinamik ve etkileşimli web siteleri oluşturmak için kullanılır. C++ – Güçlü ve yüksek performanslı bir dil olan C++, sistem yazılımı, oyun geliştirme ve gömülü sistemler gibi alanlarda tercih edilir. Her programlama dili, belirli senaryolar için avantajlar sunar ve geliştiriciler, projelerine en uygun dili seçerek verimli çözümler üretebilirler.

Kodlama Terimleri Kılavuzu: Problem Çözme

Aslında, kodlama bir problem çözme sürecidir. Çünkü belirli bir görevi bilgisayara en verimli şekilde yaptırmanın yollarını bulmanız gerekir. Bunu başarmak için yalnızca kullandığınız programlama dilini iyi anlamak yeterli değildir; aynı zamanda hata ayıklama (debugging) becerisine de sahip olmalısınız. Kod yazarken her şey her zaman planlandığı gibi gitmez. Hatalarla karşılaşmak kaçınılmazdır, ancak önemli olan bu hataları tespit edip düzeltme yeteneğinizdir. Başarılı bir programcı, yalnızca kod yazmayı değil, aynı zamanda verimli, optimize edilmiş ve hatasız çalışan çözümler üretmeyi de bilir.

Kodlama öğrenmek, kendi uygulamalarınızı geliştirmekten teknoloji alanında bir kariyer yapmaya kadar birçok fırsatın kapısını aralar. Günümüzün dijital dünyasında kodlama becerisi yüksek talep gören ve giderek daha önemli hale gelen bir yetenektir. İster yazılım geliştirici olmak isteyin ister mevcut mesleğinize teknik beceriler eklemek, kodlama öğrenmek kariyerinizi ve yaratıcılığınızı geliştirmek için güçlü bir araçtır.

Temel Kodlama Kavramları

Programlama öğrenirken bilmeniz gereken temel şeyler vardır:

Değişken

Değişkenler, verileri saklayan kaplar gibidir. Bu veriler, sayılar, metinler (string), mantıksal değerler (boolean) vb. gibi farklı türlerde olabilir. Örneğin, Python’da bir değişkeni şu şekilde tanımlayabilirsiniz: age = None and age = 25

Coding Terminology Guide
Variable

Fonksiyonlar

Fonksiyonlar, belirli bir görevi yerine getiren ve tekrar kullanılabilen kod parçalarıdır. Parametre olarak bilinen girdileri alabilir ve bir çıktı döndürebilirler. Örneğin, Python’da iki sayıyı toplamak için bir fonksiyon şu şekilde olabilir:: def add(a, b): return a + b.

Coding Terminology Guide
Function

Bu Python kodu, Şekil 3’te gösterildiği gibi, negatif olmayan bir tam sayının faktöriyelini hesaplayan “factorial” adlı bir fonksiyon tanımlar. Fonksiyon, eğer negatif bir giriş algılarsa, negatif sayılar için faktöriyel tanımlamadığımızı belirten bir mesaj döndürür. Girdi 0 olduğunda, faktöriyelini 1 olarak tanımladığımız için 1 döndürür. Pozitif sayılar için ise, 1’den giriş sayısına kadar olan tüm sayıları çarparak faktöriyel değerini hesaplamak için bir döngü kullanır.

Döngü

Döngüleri, bir kod bloğunu birden fazla kez tekrarlamak için kullanırız. Örneğin, Python’da sayıların toplamını bulmak için bir for döngüsü şu şekilde olabilir:

Coding Terminology Guide
For-loop

İlk olarak, toplam toplamı sıfır olarak ayarlanır. Daha sonra, listedeki her sayı tek tek kontrol edilir. Her sayı için, “for” adlı döngü kullanılarak o sayı toplam toplama eklenir. Bu döngü, listenin başından başlayarak her sayıyı tek tek işler ve listenin sonuna ulaşana kadar devam eder. Tüm sayılar kontrol edildikten sonra, toplam toplam sonuç olarak verilir. Örneğin, eğer bir listede 1, 2, 3, 4 ve 5 sayıları varsa, bu kod “for” döngüsünü kullanarak sayıları toplar ve bize bu sayıların toplamının 15 olduğunu söyler.

Bağlam

Bu kodda, Python kodu belirli bir sayı olan “n” kadar olan tüm pozitif tam sayıları yazdırmamıza yardımcı olur. İlk olarak, “i” değişkeni 1 olarak ayarlanır. Daha sonra, “while” adlı bir döngüye girer ve “i” değeri “n”’e eşit veya daha küçük olduğu sürece çalışmaya devam eder. Bu döngü içinde, mevcut “i” değeri yazdırılır, bu da bir pozitif tam sayıyı temsil eder. Program, her yazdırma işleminden sonra “i” değerini 1 artırarak bir sonraki pozitif tam sayıya geçer. Bu süreç, her yazdırma işleminden sonra “i” değeri artırılarak devam eder ve “i”, “n” değerini aştığında döngü sona erer. Böylece “n”’e kadar olan tüm pozitif tam sayılar ekrana yazdırılmış olur. Örneğin, “n” değerini 5 olarak ayarlarsak, bu kod “while” döngüsünü kullanarak 1, 2, 3, 4 ve 5 sayılarını tek tek yazdırır.

Coding Terminology Guide
While-loop

Koşullu İfadeler

Koşullu ifadeleri, belirli koşullara bağlı olarak farklı işlemler gerçekleştirmek için kullanırız. En yaygın koşullu ifadeler if, else ve elif ifadeleridir. Örneğin, Python’da bir sayının pozitif olup olmadığını kontrol etmek için kullanılan bir if ifadesi şu şekilde olabilir: if num > 0: print("Positive").

Coding Terminology Guide - Conditional Statements
Conditional Statements

Bu kod, bir sayının pozitif olup olmadığını etkili bir şekilde kontrol eder ve eğer pozitifse “Positive” ifadesini yazdırır.

Programlama Paradigmaları:

Programlama paradigmaları, programlama dillerini özelliklerine göre sınıflandırmanın bir yoludur. Farklı programlama tarzlarını veya yaklaşımlarını temsil ederler. İşte kısa bir genel bakış:

Emirsel (Imperative) Programlama – Kodlama Terimleri Kılavuzu

Emirsel (Imperative) programlama, bir programın durumunu değiştirmek için ifadeler (statements) kullanan bir paradigmadır. Ayrıca, bilgisayara belirli komutlar vererek işlemleri gerçekleştirmesini sağlar. Emirsel programlama, bir programın nasıl çalıştığını tanımlamaya odaklanır. Bu programlama türünü uygulamanın en yaygın yöntemi prosedürler (procedures) veya rutinler (routines) kullanmaktır. Bu yaklaşımı C, Java ve Python gibi dillerde bulabiliriz.

Imperative Style
Imperative Style in Python

Kod, Python’da Bubble Sort algoritmasını kullanarak bir sayı listesini artan sıraya göre sıralayan bir fonksiyon tanımlar. Algoritma, listeyi tekrar tekrar dolaşarak yan yana bulunan öğeleri karşılaştırır ve yanlış sıradaysa yerlerini değiştirir. Bu işlem, liste tamamen sıralanana kadar devam eder ve sonunda sıralı liste elde edilir. Basit olmasına rağmen, bu yöntem büyük listeler için çok verimli değildir.

Bildirime Dayalı (Declarative) Programlama – Kodlama Terimleri Kılavuzu

Öte yandan, bildirime dayalı (declarative) programlama, bir hesaplamanın mantığını kontrol akışını tanımlamadan ifade eden bir paradigmadır. Özellikle, programın sonuç olarak ne yapması gerektiğine odaklanır, ancak bu sonuca nasıl ulaşacağını belirtmez. Bu tarzı uygulayan birçok dil, belirli alanlara özgüdür (domain-specific) ve şunları içerir:

  • SQL (veritabanı işlemleri için)
  • HTML (web sayfası yapısı için)
  • CSS (web sayfası stilleri için)
Declarative Programming
Declarative Programming in SQL

Bu, Customers adlı bir veritabanı tablosundan kayıtları seçen bir sorgudur. SELECT * FROM Customers ifadesi, Customers tablosundaki her satır için tüm sütunları seçer. WHERE age > 20 koşulu, bu kayıtları yalnızca yaşı 20’den büyük müşterileri içerecek şekilde filtreler. Son olarak, ORDER BY last_name; ifadesi, elde edilen kayıtları last_name sütununa göre alfabetik olarak artan sırayla sıralar. SQL kodunun altında gösterilen çıktı, tüm müşterilerin 20 yaşından büyük olduğu ve soyadlarına göre sıralandığı müşteri verilerini gösterir.

Prosedürel Programlama – Kodlama Terimleri Kılavuzu

Bu programlama paradigmasını “prosedür çağrıları” olarak adlandırırız; ifadeleri alt rutinler (subroutines) veya fonksiyonlar olarak da bilinen prosedürler halinde yapılandırır. Her prosedür, bir dizi hesaplama adımından oluşur. Prosedürel programlama dillerine C, Go ve Python dahildir.

Procedual Programming
Procedural Programming in Python

Python kodu, calculate_average adlı bir fonksiyon tanımlar ve bu fonksiyon, bir sayı listesinin aritmetik ortalamasını hesaplar. Fonksiyon, toplamı tutan bir değişkeni sıfır olarak başlatır, listedeki her sayıyı bu değişkene ekleyerek liste üzerinde iterasyon yapar ve ardından toplamı, listedeki eleman sayısına bölerek ortalama değerini bulur. Bu fonksiyonu [2, 4, 6, 8, 10] sayı listesiyle çağırırız ve ortaya çıkan ortalamayı konsola yazdırırız. Bu liste için çıktı 6.0 olacaktır.

Nesne Yönelimli Programlama (OOP) – Kodlama Terimleri Kılavuzu

Nesne Yönelimli Programlama (OOP), “nesneler” kavramına dayalı bir programlama paradigmasıdır. Bu nesneler, veri ve kod içerebilir:

  • Veri, alanlar (genellikle “attribute” olarak bilinir) şeklinde,
  • Kod ise, prosedürler (genellikle “method” olarak bilinir) şeklinde bulunur.

Nesnelerin bir özelliği, kendi prosedürlerinin (metotlarının), genellikle kendi veri alanlarına erişebilmesi ve bunları değiştirebilmesidir (nesneler, “this” veya “self” kavramına sahiptir). OOP’yi destekleyen diller arasında Java, C++ ve Python bulunur.

OOP in Python
OOP in Python

Kod, Python’da bir Car sınıfı tanımlar ve bu sınıf, arabanın markasını, modelini ve yılını ayarlamak ile hızını kontrol etmek için metotlar içerir. Kod, “Tesla” markalı, “Model S” modeli ve 2020 yılına ait bir araba nesnesi oluşturur, başlangıç hızını 0 olarak ayarlar ve hızını 5 artıran (accelerate) veya 5 azaltan (brake) metotları içerir. get_speed metodu, arabanın mevcut hızını kontrol etmek için kullanılır. Örnekte, araba bir kez hızlandırılır (hız 5’e çıkar), ardından bir kez fren yapılır (hız tekrar 0’a düşer) ve her işlemden sonra hız konsola yazdırılır.

Fonksiyonel Programlama – Kodlama Terimleri Kılavuzu

Fonksiyonel programlama, programların fonksiyonları uygulayarak ve birleştirerek oluşturulduğu bir programlama paradigmasıdır. Bu, bildirime dayalı bir programlama paradigmasıdır; burada fonksiyon tanımlamaları, programın durumunu değiştiren emirsel ifadeler dizisi yerine, her biri bir değer döndüren ifadeler ağacı şeklindedir. Fonksiyonel programlamada, fonksiyonlar birinci sınıf vatandaşlardır; yani bir isme atanabilir (yerel değişkenler dahil), argüman olarak geçirilebilir ve başka fonksiyonlardan döndürülebilirler, tıpkı diğer veri türleri gibi. Fonksiyonel programlama dillerine Haskell, Erlang ve Scala dahildir.

Functional Programming in Python

Kod parçacığı, increment_by_n adlı bir fonksiyon tanımlar ve bu fonksiyon, Python’da anonim bir fonksiyon olan lambda fonksiyonunu oluşturur ve döndürür. Bu lambda fonksiyonu, bir x argümanı alır ve x + n değerini döndürür; burada n, increment_by_n çağrıldığında verilen parametredir. Daha sonra, increment_by_n fonksiyonu, belirli bir artırma fonksiyonu olan increment_by_2’yi oluşturmak için kullanılır; bu fonksiyon, kendisine verilen herhangi bir sayıya 2 ekler. Son olarak, increment_by_2, 5 argümanı ile çağrılır ve beklendiği gibi 7 değerini döndürür, bu da konsola yazdırılır. Bu kod, fonksiyonların diğer fonksiyonları oluşturmak için kullanıldığı fonksiyonel programlama tarzını göstermektedir.

Geliştirme Süreci

Geliştirme süreci, yazılım oluşturmak için yapılandırılmış bir yaklaşımdır. Bu süreç planlama, tasarım, uygulama, test ve bakım olmak üzere birkaç aşamadan oluşur. Her aşama, nihai ürüne katkıda bulunan belirli görevler ve çıktılar içerir. Amaç, yazılımın yüksek kaliteli olmasını, kullanıcı gereksinimlerini karşılamasını ve zamanında teslim edilmesini sağlamaktır.

Hata Ayıklama

Hata ayıklama, bir yazılım programındaki sorunları veya “hataları” (bugleri) tespit etme ve çözme sürecidir. Bu süreç, sorunu yeniden oluşturma, problemi anlama, hataya neden olan kod bölümünü bulma, hatayı düzeltme ve ardından sorunun çözüldüğünü doğrulamak için testi gerçekleştirme adımlarını içerir. Hata ayıklama araçları, geliştiricilerin sorunları daha verimli bir şekilde tespit etmesine yardımcı olabilir.

Sürüm Kontrolü

Sürüm kontrolü, kaynak kontrolü olarak da bilinen, bir dosyanın veya dosya setinin zaman içindeki değişikliklerini kaydeden bir sistemdir, böylece belirli sürümler daha sonra geri çağrılabilir. Bu sistem, geliştiricilerin bir proje üzerinde aynı anda çalışmasını ve birbirlerinin değişikliklerini üzerine yazmadan ilerlemesini sağlar. Ayrıca, değişikliklerin geçmişini sunarak hata ayıklama ve bir projenin evrimini anlama açısından faydalıdır.

Kod Yeniden Düzenleme

Kod yeniden düzenleme (refactoring), mevcut kodun dış davranışını değiştirmeden yeniden yapılandırılması sürecidir. Amaç, yazılımın tasarımını, yapısını veya uygulamasını iyileştirmek, ancak işlevselliğini korumaktır. Refactoring, kodu daha okunabilir, sürdürülebilir ve genişletilebilir hale getirebilir. Ayrıca, çevik (agile) ve test odaklı geliştirme (TDD) uygulamalarının ayrılmaz bir parçasıdır.

İleri Düzey Kavramlar

API (Uygulama Programlama Arayüzü)

Öncelikle, API (Uygulama Programlama Arayüzü), yazılım uygulamaları oluşturmak ve etkileşimde bulunmak için kullanılan bir dizi kural ve protokoldür. API, bir programın diğer yazılımlar veya bileşenlerle iletişim kurmak için kullanabileceği yöntemleri ve veri formatlarını tanımlar. APİ’ler, grafiksel kullanıcı arayüzü (GUI) bileşenlerini programlamada kullanılabildiği gibi, bir yazılımın başka bir yazılım ile etkileşime girmesini sağlamak için de kullanılır. Örneğin, işletim sistemlerinin, veritabanlarının veya diğer hizmetlerin özelliklerine erişmek için API’ler kullanılabilir. APİ’ler, gerekli tüm yapı taşlarını sağlayarak programlama sürecini büyük ölçüde basitleştirir ve programcı, bu yapı taşlarını bir araya getirerek uygulamalar geliştirir. Yazılım geliştirme için temel araçlardan biri olan API’ler, dağıtık bilişim (distributed computing) ortamlarında yazılımı değiştirmek ve sürdürmek için kullanılır. APİ’ler, web tabanlı uygulamalar, işletim sistemleri, veritabanları, donanımlar veya yazılım kütüphaneleri için geliştirilebilir.

Çerçeveler ve Kütüphaneler

İkinci olarak, çerçeve (framework), yazılım uygulamaları geliştirmek için bir platformdur. Bir çerçeve, yazılım geliştiricilerin belirli bir platform için programlar oluşturabileceği bir temel sağlar. Bir çerçeve, giriş işlemlerini işlemek, donanım cihazlarını yönetmek ve sistem yazılımıyla etkileşim kurmak için kullanılabilecek önceden tanımlanmış sınıflar ve fonksiyonlar içerebilir. Bu durum, geliştiriciler için özellikle faydalıdır çünkü bir sistemin düşük seviyeli yönetim detaylarıyla uğraşmak yerine, doğrudan uygulamalarının üst düzey işlevselliğine odaklanmalarına olanak tanır.

Üçüncü olarak, kütüphane (library), bir programın kullanabileceği önceden derlenmiş rutinlerin bir koleksiyonudur. Bu rutinler, bazen modüller olarak adlandırılır ve nesne formatında depolanır. Kütüphaneler, sıkça kullanılan rutinleri depolamak için özellikle faydalıdır, çünkü bu rutinleri kullanan her programa açıkça bağlamanıza gerek yoktur. Bağlayıcı (linker), diğer yerlerde bulamadığı rutinleri kütüphanelerde otomatik olarak arar. Bir kütüphaneden bir rutin bir programa bağlandığında, o rutin o programın bir parçası haline gelir. Bu nedenle, kütüphaneler, C++, Java, Python ve diğerleri dahil olmak üzere çoğu programlama dilinin temel bir parçasıdır.

Algoritma

Dördüncü olarak, algoritma, belirli bir problemi çözmek için adım adım bir prosedürdür. Özellikle, bilgisayar bilimleri alanında bir algoritma, bilgisayarın belirli bir görevi yerine getirmek için yorumlayabileceği bir dizi talimattır ve bu görev, bir sayı listesi sıralamaktan, veritabanında belirli bir öğe aramaya veya 3D grafik bir sahneyi render etmeye kadar herhangi bir şey olabilir.

Gerçekte, algoritmalar bilgisayar bilimi ve yazılım mühendisliğinin temelini oluşturur. Temelde, her kullandığımız program ve sistemin belkemiğini oluştururlar – Google arama motorundan, milyarlarca web sayfası arasında ilgili sonuçları hızlıca bulabilen, iki yer arasındaki en kısa yolu bulabilen GPS sistemine kadar.

Birçok algoritma türü vardır, her biri kendi güçlü ve zayıf yönlerine sahiptir. Bazı algoritmalar genel amaçlıdır ve geniş bir problem yelpazesini çözebilir, diğerleri ise belirli bir görev için özel olarak tasarlanmıştır. Bazı algoritmalar hızlı ve verimlidir, büyük miktarda veriyi hızlı bir şekilde işleyebilirken, diğerleri daha yavaş olabilir ancak daha az bellek kullanabilir veya başka istenilen özelliklere sahip olabilir.

Referanslar

  1. Geeksforgeeks(2024). Introduction of Programming Paradigms. URL: https://www.geeksforgeeks.org/introduction-of-programming-paradigms/
  2. German Cocca(2022). Programming Paradigms – Paradigm Examples for Beginners. URL: https://www.freecodecamp.org/news/an-introduction-to-programming-paradigms/
  3. Ma-Keba Frye(2024). What is an API? URL: https://www.mulesoft.com/resources/api/what-is-an-api
  4. Brandon Wozniewicz(2019). The Difference Between a Framework and a Library. URL: https://www.freecodecamp.org/news/the-difference-between-a-framework-and-a-library-bd133054023f/
  5. GCFGlobal(2024). Algorithms. URL: https://edu.gcfglobal.org/en/computer-science/hardware-and-software/1/

Kodlama Terimleri Kılavuzu: Sonuç

Genel olarak, kodlama terminolojisini anlamak, programlamaya adım atan herkes için kritik bir ilk adımdır. Bu Kodlama Terminolojisi Rehberi, size temel kodlama kavramlarını ve Geliştirme Süreci, Hata Ayıklama, Versiyon Kontrolü, Refaktoring, API, Çerçeveler, Kütüphaneler ve Algoritmalar gibi temel terimleri tanıttı. Aslında, bu terimler kodlama yolculuğunuzun temelini oluşturur ve bir programcı olarak öğrenmeye ve gelişmeye devam ettikçe, bu kavramlar ikinci doğanız haline gelecektir. Unutmayın, her uzman bir zamanlar bir başlangıçtır. O yüzden, iyi kodlamalar!

Ayrıca bizi sosyal medyada takip etmeyi unutmayın!

YouTube

Instagram

X