available for projects

Emir Samet Gümüş

Bilgisayar Programcılığı · Kocaeli Üniversitesi · 19

Yazılım öğrencisiyim. Kod yazmayı ve yeni teknolojiler keşfetmeyi seviyorum. Bu blogda öğrendiklerimi ve notlarımı paylaşıyorum.


teknolojiler
Python JavaScript Java HTML/CSS SQL Git Linux Node.js

son yazılar
python Python ile Veri Yapıları
javascript Async/Await ile Asenkron Programlama
linux Terminal Komutları Rehberi
sql Veritabanı Tasarımı ve Normalizasyon

iletişim
email gumusemirsamet@gmail.com
okul Kocaeli Üniversitesi
python

Python ile Veri Yapıları

May 2025

Veri yapısı nedir? Verileri bellekte düzenli şekilde saklamak ve üzerinde hızlıca işlem yapabilmek için kullanılan yapılardır. Python'da en çok kullanılan veri yapıları list, stack ve linked list'tir.

Liste (List), Python'un en temel veri yapısıdır. İçine her türlü veri eklenebilir, sıralıdır ve indeks ile erişilir.

list_ornek.py
# Basit bir liste kullanımı
meyveler = ["elma", "armut", "kiraz"]

meyveler.append("mango")   # eleman ekle
meyveler.remove("armut")  # eleman sil

for m in meyveler:
    print(m)

Stack (Yığın), son giren ilk çıkar mantığıyla çalışır (LIFO). Python'da liste kullanarak kolayca oluşturulabilir.

stack.py
# Stack yapısı
stack = []

stack.append(1)  # push
stack.append(2)
stack.append(3)

print(stack.pop())  # çıktı: 3 (son giren)
print(stack.pop())  # çıktı: 2
javascript

Async/Await ile Asenkron Programlama

Nis 2025

Asenkron programlama nedir? Normalde kod satır satır çalışır ve bir işlem bitmeden diğerine geçilmez. Ama sunucudan veri çekmek gibi işlemler zaman alır. Asenkron yapı sayesinde bu işlemleri beklerken diğer kodlar çalışmaya devam eder.

Promise, bir işlemin gelecekte tamamlanacağını temsil eder. async/await ise Promise'leri çok daha okunabilir şekilde yazmamızı sağlar.

async.js
// Sunucudan veri çekme örneği
async function kullanicilariGetir() {
  try {
    const cevap = await fetch("https://api.ornek.com/users")
    const veri = await cevap.json()
    console.log(veri)
  } catch (hata) {
    console.log("Hata:", hata)
  }
}

kullanicilariGetir()

try/catch bloğu sayesinde bir hata oluşursa program çökmez, hatayı yakalayıp işleyebiliriz.

linux

Terminal Komutları Rehberi

Mar 2025

Terminal nedir? Bilgisayarı fareyle değil, yazarak yönettiğimiz arayüzdür. Yazılım geliştirirken terminali iyi bilmek büyük kolaylık sağlar.

En çok kullanılan komutları öğrenmek için aşağıdaki örneklere bakabilirsin. Bunlar hem Linux hem macOS'ta çalışır.

terminal
# Bulunduğun klasörü göster
$ pwd

# Klasör içeriğini listele
$ ls -la

# Yeni klasör oluştur
$ mkdir proje

# Klasöre gir
$ cd proje

# Yeni dosya oluştur
$ touch index.py

# Dosya içeriğini göster
$ cat index.py

# Metin ara
$ grep "def" index.py

İpucu: Tab tuşuna basarak komutları ve dosya isimlerini otomatik tamamlayabilirsin. Yukarı ok tuşu ise önceki komutları getirir.

sql

Veritabanı Tasarımı ve Normalizasyon

Şub 2025

Veritabanı nedir? Verileri düzenli ve kalıcı olarak sakladığımız sistemlerdir. SQL (Structured Query Language) ile bu verileri sorgularız.

Tablo, veritabanının temel yapı taşıdır. Her satır bir kaydı, her sütun bir özelliği temsil eder. İki tablo arasında ilişki kurmak için yabancı anahtar (foreign key) kullanılır.

veritabani.sql
-- Tablo oluşturma
CREATE TABLE ogrenciler (
  id       INT PRIMARY KEY,
  ad       VARCHAR(50),
  yas      INT,
  bolum    VARCHAR(100)
);

-- Veri ekleme
INSERT INTO ogrenciler
VALUES (1, 'Emir', 19, 'Bilgisayar Prog.');

-- Veri sorgulama
SELECT ad, bolum
FROM ogrenciler
WHERE yas = 19;

Normalizasyon, veritabanındaki tekrar eden verileri azaltmak ve tutarlılığı sağlamak için tabloları düzenleme işlemidir. Aynı veriyi iki yere yazmak yerine ilişki kurarak bağlarız.

Web hosting by Somee.com