Oyuncak Fabrikasında Devrim: Factory Method Pattern ile Rust'ın Dansı

2024-04-17

Problem: Bir zamanlar, çeşitli türde oyuncaklar üreten büyük bir oyuncak fabrikası varmış. Fabrika yöneticisi, farklı türdeki oyuncakların üretim sürecini daha verimli hale getirmek istemiş. Her tür oyuncak için ayrı ayrı üretim hatları kurmak, hem maliyetli hem de zaman alıcıymış. Yönetici, üretim süreçlerini standartlaştırarak ve yeni pazarlara açılarak fabrikanın kapasitesini artırmayı ve yenilikçi oyuncaklar üretmeyi hedeflemiş. Çözüm: Yönetici, her türden oyuncak için ayrı üretim hatları yerine, genel bir üretim arayüzü oluşturarak bu sorunu çözmeye karar vermiş.

Devamı 


Rustda Güçlü ve Verimli Veri İşleme: Iteratorlarla Tanışın!

2024-04-15 | #rust

Rust dilinde iteratorler, koleksiyonlar üzerinde gezinmek ve üzerlerinde işlemler yapmak için kullanılan yapılar arasında yer alır. Iteratorlar, veri koleksiyonlarının elemanlarına erişmek ve bu elemanlar üzerinde işlemler yapabilmek için kullanılır. Rust’ın sahiplik ve ödünç verme kuralları ile entegre şekilde çalıştıkları için güvenli ve etkili bir kullanım sunarlar. Iterator Tanımlama ve Kullanma Iterator’ı kullanmanın temel yolu .iter(), .iter_mut(), ve .into_iter() metodlarıdır. Bu metodlar, koleksiyonun sahiplik durumuna göre değişir: .iter(): Koleksiyonun immutable referansları üzerinden iterasyon yapar.

Devamı 


Rust ta Crate ler: Modülerlik ve Yeniden Kullanımın Temeli

2024-04-03 | #crates #rust

Rust, modern ve güvenli bir programlama dili olarak, yazılım geliştirme dünyasında hızla popülerlik kazanıyor. Rust’ın en önemli özelliklerinden biri, modülerlik ve yeniden kullanılabilirlik üzerine kurulu olmasıdır. Bu da “crate” adı verilen bir kavramla sağlanır. Bu makalede, Rust’ta crate’lerin ne olduğunu, nasıl kullanıldığını ve neden önemli olduğunu detaylı bir şekilde ele alacağız. Crate Nedir? Basitçe söylemek gerekirse, bir crate, bir Rust projesinin temel yapı taşıdır. Bir veya birden fazla modülü içerebilen bir paket veya kütüphane olarak düşünülebilir.

Devamı 


Enum ve Pattern Matching: Rust'ta Güçlü Veri Yapıları

2023-08-25 | #rust #rust-enums #rust-patternmatching

Rust programlama dilinde enum ve pattern matching özellikleri, tip güvenliği ve kod okunabilirliği için oldukça önemli ve güçlüdür. enum (enumerasyonlar), farklı varyantları (variant) olan bir türü temsil eder. pattern matching ise, bu varyantları kolayca ve güvenli bir şekilde ele almanıza olanak tanır. Enum Nedir? enum keyword’ü ile bir enumerasyon oluşturabilirsiniz. Her bir “varyant” farklı bir olası değeri temsil eder. enum Renk { Kirmizi, Yesil, Mavi, } Bu örnekte Renk adlı bir enum tanımladık ve içerisine Kirmizi, Yesil, ve Mavi adlı varyantları ekledik.

Devamı 


Rust'ta 'Unsafe' Sihirbazlığı: Belleği Dizginleyin ve Daha Fazlasını Keşfedin!

2023-07-12 | #rust #rust-memory-management

Merhaba arkadaşlar! Bu yazıda, Rust’ın unsafe özelliğini ele alacağız. Rust, hatasız bir yazılım geliştirme deneyimi sağlamak için pek çok kısıtlama getirir. Ancak bazen, bu kısıtlamaların ötesine geçmek ve sistem seviyesinde daha fazla kontrol sahibi olmak gerekebilir. İşte tam da bu durumlarda, Rust’ın bize sunduğu “unsafe” kelimesini kullanıyoruz. Bu konu biraz kafa karıştırıcı olabilir, bu yüzden adım adım ilerleyelim. Unsafe Rust: Nedir ve Neden Kullanılır? Rust dilinde, bellek güvenliği ve veri yarışı gibi bazı problemleri önlemek amacıyla çeşitli kurallar ve kısıtlamalar mevcuttur.

Devamı 


Rust'ta Hafıza Yönetimi: Raw Pointers İle Gücü Ele Geçirin

2023-07-12 | #rust #rust-memory-management

Rust programlama dilinde, bellek güvenliğini sağlamak için bir dizi özellik bulunur. Ancak, bazen daha düşük seviye işlemlere ihtiyaç duyabiliriz. Bu durumda “Raw Pointers” devreye girer. Bu makalede, Rust’taki Raw Pointers hakkında detaylı bir şekilde konuşacağız. Raw Pointers Nedir? Raw pointers, Rust dilinde bellek güvenliği denetimlerinden muaf olan bir pointer türüdür. Rust, bellek güvenliğini sağlamak için kullanılan Box, Rc, & ve &mut gibi bir dizi pointer türü sunar. Ancak, bu türler bazı durumlarda yetersiz kalabilir.

Devamı 


Rust'ın Gizemli Kutusu: Box<T> Tipi ve Diğer Dillerle Karşılaştırmalı İnceleme

2023-07-11 | #rust #rust-memory-management

Rust dilinin sunduğu birçok özellik arasında, “Box” tipi en önemli olanlarından biridir. Yığın (stack) üzerinde hafıza sınırlamalarına sahip nesnelerin dinamik olarak ayrılan yığın (heap) üzerinde saklanmasına izin verir. Bu makalede, Rust dilinin Box tipini detaylı olarak inceleyeceğiz ve özelliklerini C#, Go ve Java dilleriyle karşılaştıracağız. Rust’ta Box Tipi Rust dilinde, Boxtipi, verinin yığın (heap) üzerinde ayrılan hafızada saklanması gerektiğinde kullanılır. Bu, veri boyutunun derleme zamanında bilinmediği durumlarda veya verinin boyutunun çok büyük olduğu durumlarda kullanılır.

Devamı 


Rust Programlama Dilinde Option Tipinin Kullanımı

2023-07-06 | #rust

Merhaba! Rust programlama diline ilgi duyuyorsanız, muhtemelen sizin için hayli önemli olan Option tipi ile karşılaşmışsınızdır. Bu tip, Rust’ın hata işlemesi ve null olabilecek değerlerin yönetilmesi için sağladığı standart çözümlerden biridir. Option Tipi Nedir? Rust, null değerlerin veya non-primitive değerlerin yönetimi için Option<T> tipini kullanır. Bu, belirli bir değer T‘nin var olabileceği veya olmayabileceği durumları işaretlemek için mükemmeldir. Özellikle, Option<T> bir enum tipi olup iki farklı durumu temsil eder: Some(T) ve None.

Devamı 


Rust Programlama Dilindeki Ownership ve Borrowing: Hafıza Güvenliği ve Performansı Bir Arada Sağlamak

2023-06-28 | #rust #rust-borrowing #rust-memory-management #rust-ownership

Rust Programlama Dilinin Özgünlükleri Rust, hafıza güvenliği, eşzamanlılık ve yüksek performansı bir arada sunmayı hedefleyen modern bir sistem programlama dilidir. Rust’ın en önemli özelliklerinden biri, dilin hafıza yönetim modelidir. Bu model, “ownership” (sahiplik) ve “borrowing” (ödünç alma) kavramlarına dayanır. Ownership ve Borrowing Kavramlarının Önemi Ownership ve Borrowing, Rust’ın hafıza yönetim modelinin temel taşlarıdır. Bu kavramlar, Rust’ın hafıza güvenliğini ve eşzamanlı çalışmayı sağlar. Bu makalede, bu iki kavramın ne olduğunu, nasıl çalıştığını ve Rust programlama dilinde nasıl kullanıldığını detaylı bir şekilde inceleyeceğiz.

Devamı 


Mikroservisler Arasında Güvenilir İletişim: Transactional Outbox Pattern'a Derinlemesine Bir Bakış

2023-06-27 | #microservice #transactional-outbox-pattern

1. Giriş: Transactional Outbox Pattern’ın Tanımı ve Kullanım Alanları Transactional Outbox Pattern, mikroservisler arasında güvenilir bir şekilde iletişim kurmayı sağlayan bir tasarım modelidir. Bu model, bir mikroservisin veritabanı işlemlerini ve dışarıya mesaj gönderme işlemlerini aynı işlem içinde gerçekleştirmesini sağlar. Bu sayede, her iki işlem de başarılı olur veya başarısız olur, böylece veri tutarlılığı sağlanır. Bu modelin temel bileşenleri bir “Outbox” tablosu ve bir “Publisher” servisidir. İşlem gerçekleştiğinde, mikroservis önce veritabanında bir işlem gerçekleştirir ve ardından aynı işlem içinde Outbox tablosuna bir mesaj yazar.

Devamı 