Kayıtlar

CPython Nedir?

Resim
CPython Nedir? CPython , Python dilinin orijinal ve en yaygın kullanılan yorumlayıcısıdır (implementation). Basitçe söylemek gerekirse, Python.org'dan indirip kullandığınız ve büyük ihtimalle "standart Python" diye düşündüğünüz şey, CPython'dur. C ile Yazılmıştır: Adından da anlaşılacağı gibi, CPython çoğunlukla C programlama dili kullanılarak yazılmıştır. Bu, Python kodunu çalıştıran yorumlayıcının C ile inşa edildiği anlamına gelir. CPython'un C ile yazılmış olması, Python'a en yaygın kütüphaneler (örneğin NumPy, Pandas) ve işletim sistemi çağrıları gibi kritik işlevler için hız ve düşük seviyeli erişim sağlar. Cpython Çalışma Şekli: Aşağıdaki adımlar, Python kaynak kodunuzun ( .py dosyası) nihai bir çıktıya dönüşene kadar CPython yorumlayıcısı içinde izlediği temel yolu gösterir. 1. GirişKaynak Kodu (.py) Bu, programlamanın başlangıç noktasıdır. Sizin bir metin düzenleyici veya IDE kullanarak yazdığınız, insan tarafından okunabilen Pyth...

VS Code Timeline (Zaman Çizelgesi)

VS Code Timeline (Zaman Çizelgesi) Bir yazılımcının en büyük kabusu nedir? Saatlerce uğraştığı kodu "yanlışlıkla" silmek, üzerine yazmak ve Ctrl + Z (Geri Al) tuşunun artık o noktaya kadar gitmediğini fark etmektir. Genellikle bu durumlar için Git kullanıyoruz. Ancak her "Ctrl + S" (Kaydet) yaptığımızda commit atmıyoruz. Peki, iki commit arasındaki o gri alanda kaybolan kodlar ne olacak? İşte burada VS Code’un yerleşik Timeline (Zaman Çizelgesi) özelliği devreye giriyor. Bu yazıda, hiçbir eklenti kurmadan kodunuzun eski sürümlerine nasıl döneceğinizi, Timeline panelini nasıl kullanacağınızı ve arka planda işlerin nasıl yürüdüğünü anlatacağım. 1. Timeline (Zaman Çizelgesi) Nedir? Timeline, VS Code'un içinde gömülü gelen, üzerinde çalıştığınız dosyanın tarihçesini tutan bir paneldir. Bu panel şunları otomatik olarak kaydeder: Dosya Kayıtları: Dosyayı her kaydettiğinizde (Ctrl + S) oluşturulan anlık görüntüler. Git Commitleri: Eğer proje Git'e bağlıysa, att...

Derleyici mi Yorumlayıcı mı?

 Derleyici mi Yorumlayıcı mı? Programlamanın İki Büyük "Tercümanı" Bir yazılımcı olarak klavyenizde kod satırlarını yazarken, o satırların bilgisayarınız tarafından nasıl anlaşılıp çalıştırıldığını hiç düşündünüz mü? Yazdığınız o İngilizceye yakın kodlar, bilgisayarın anladığı sıfırlar ve birlikler diline nasıl dönüşüyor? Bu dönüşümün iki ana kahramanı var: Derleyici (Compiler) ve Yorumlayıcı (Interpreter) . Programınızın hızını, taşınabilirliğini ve hatta kaynak kodunuzun güvenliğini belirleyen bu iki temel mekanizmayı yakından inceleyelim. Bölüm 1: Derleme Aşaması (Compiler) Derleme aşaması , yazdığınız kaynak kodun (C++, C, Java gibi dillerde yazılan, okunabilir kod) bir derleyici aracılığıyla, bilgisayarın doğrudan çalıştırabileceği bir dile, yani makine koduna çevrilmesi sürecidir. Bu çeviri sonucunda, işletim sisteminin çalıştırabileceği kalıcı bir çalıştırılabilir dosya (Windows'ta genellikle .exe ) ortaya çıkar. Basit Bir Analoji: Siz bir yemek tarifi ...

MongoDB Bağlantısını Kapatmak

MongoDB Bağlantısını Kapatmak PyMongo ile çalışırken genellikle bağlantıyı açık tutmak iyi bir pratik olsa da (özellikle web sunucularında), uygulamanızın ömrü bittiğinde veya istemciyi artık kullanmayacağınızda bağlantıyı güvenli bir şekilde kapatmak önemlidir. Bu, sistem kaynaklarını serbest bırakır ve gereksiz bağlantı yükünü önler. 1. Bağlantı Nasıl Kapatılır? Bağlantıyı kapatmak, MongoClient nesnesinin close() metodunu çağırmak kadar basittir. from pymongo import MongoClient # Bağlantıyı kurma client = MongoClient( 'mongodb://localhost:27017/' ) db = client[ 'proje_db' ] # ... CRUD ve diğer işlemler burada yapılır ... # Bağlantıyı kapatma client.close() print( "MongoDB bağlantısı güvenli bir şekilde kapatıldı." ) 2. Bağlantı Yönetimi İpuçları Tek Bağlantı (Single Client): Bir sunucuda veya uygulamada tek bir MongoClient nesnesi oluşturmak ve bu nesneyi uygulamanız boyunca yeniden kullanmak en iyi performansı sağlar. Her yeni işlem...

MongoDB İndeksleme (Indexing) Nedir?

MongoDB İndeksleme (Indexing) Nedir? İndeksleme, bir veritabanında veriye erişim hızını artırmak için kullanılan bir yöntemdir. Basitçe söylemek gerekirse, indeksler bir kitabın arkasındaki dizin veya telefon defterindeki alfabetik sıralama gibidir. 1. İndeksleme Nedir ve Neden Önemlidir? Bir veritabanı koleksiyonunda indeks olmadığında, siz bir sorgu yaptığınızda (örneğin: {"yazar": "Ahmet Bilgin"} ), veritabanı o yazarın kim olduğunu bulmak için koleksiyondaki her bir belgeyi tek tek taramak (Full Collection Scan) zorundadır. Bu, milyonlarca belgenin olduğu bir koleksiyonda çok yavaştır. İndeksleme İle: Veritabanı, sorguladığınız alana (örneğin yazar alanı) özel, sıralı bir dizin oluşturur. Bir sorgu geldiğinde, tüm koleksiyonu taramak yerine doğrudan bu dizine bakar ve ilgili belgenin diskteki adresini saniyeler içinde bulur. Sonuç: Sorgu süreleri milisaniyelere iner. 2. PyMongo ile İndeks Oluşturma ( create_index ) MongoDB'de indeks oluştu...

PyMongo ile Belge Silmek (delete) ve Koleksiyonu Kaldırmak (drop)

PyMongo ile Belge Silmek ( delete ) ve Koleksiyonu Kaldırmak ( drop ) MongoDB'de veri silme, bulma işlemine benzer şekilde, bir sorgu filtresi ( query ) belirleyerek yapılır. Hangi belgelerin silineceğine bu filtre karar verir. Bağlantı ve Koleksiyon Silme işlemlerini önceki örneklerde kullandığımız kitaplar koleksiyonu üzerinde gerçekleştireceğiz: from pymongo import MongoClient client = MongoClient( 'mongodb://localhost:27017/' ) db = client[ 'proje_db' ] kitaplar_col = db[ 'kitaplar' ] 1. Tek Bir Belge Silme ( delete_one ) Filtreye uyan belgelerden yalnızca ilkini silmek için delete_one() metodu kullanılır. Örnek: Yazar Adına Göre Silme Daha önce eklediğimiz 'Web Geliştirme Temelleri' kitabını (yazarı 'Ece Sönmez') silelim. # Sorgu Kriteri: Yazarı Ece Sönmez olan ilk belge silme_filtresi = { "yazar" : "Ece Sönmez" } sonuc = kitaplar_col.delete_one(silme_filtresi) print( "--- Tek Belge Silme (delet...

PyMongo ile Belge Güncellemek (update)

PyMongo ile Belge Güncellemek ( update ) Veriler nadiren sabittir. MongoDB'de var olan bir belgenin alanlarını değiştirmek için PyMongo'nun update_one() ve update_many() metotları kullanılır. Güncelleme işlemleri üç ana bölümden oluşur: Filtre (Query): Hangi belgelerin güncelleneceğini belirler. Güncelleme Operatörü: Hangi alanın nasıl değiştirileceğini belirler (örneğin, $set , $inc ). Değerler: Alanlara atanacak yeni değerler. Koleksiyon ve Bağlantı Güncelleme işlemlerini kitaplar koleksiyonu üzerinde gerçekleştireceğiz: from pymongo import MongoClient client = MongoClient( 'mongodb://localhost:27017/' ) db = client[ 'proje_db' ] kitaplar_col = db[ 'kitaplar' ] 1. Tek Bir Belge Güncelleme ( update_one ) Filtreye uyan belgelerden yalnızca ilkini güncellemek için update_one() metodu kullanılır. Örnek: $set Operatörü Kullanımı En yaygın güncelleme operatörü $set 'tir. Bu operatör, belirtilen alanı/alanları yeni değerle...