Tim Corey ile Postman Clone Yapın
[[academy-video-youtube({"vid": "reoPPXgC6ps", "start_time": "0", "title": "Projemizi Kurma: Postman Clone Kursu Oluşturma", "creator": "Tim Corey", "length": "22m 49s"})]]
Postman kopyası oluşturma üzerine bu derste, uygulamanın temel yapısını dikkatlice kurarak daha derinlemesine inceliyoruz. Tim Corey, dersinin ikinci bölümünde bu süreci açıklar ve bu bölümde odak tamamen proje kurulumuna, özelliklere veya API mantığına değil. Bu aşamadaki hedef, henüz istekler oluşturmak, yanıtları işlemek veya REST API'leriyle çalışmak değil, uygulamanın yapısının en baştan doğru tasarlandığından emin olmaktır.
Tim, bu dersi baştan bir Postman tarzı araç oluşturmayı gösteren tam bir kursun parçası olarak tanıtır. Bu projenin kullanıcıların bir uygulamanın yaşam döngüsünü, kurulumdan geliştirmeye kadar anlamalarına yardımcı olmak için tasarlandığını açıklar ve nihayetinde gerçek bir Postman alternatifine benzeyebilir. Ders, başlangıç seviyesindedir ve kullanıcıların her kararın neden alındığını anlayabilmeleri için yavaş tempoda ilerler.
Bu videodan geçerek - "Projemizi Kurma: Postman Clone Kursu Oluşturma", Tim izleyicilere bir Windows Forms uygulamasının nasıl düzgün bir şekilde kurulacağınızı, destek sınıf kütüphanesiyle nasıl bağlanacağını ve gelecekteki API geliştirmesi için çözümü nasıl hazırlayacağınızı anlamalarına yardımcı olur.
Kurs Genel Bakış ve Amacı
Tim, bu dersin bir Postman klonunu oluşturmak için gereken başlangıç yapısını kurma ile ilgili olduğunu açıklayarak başlar. Henüz API istekleri yapmaya veya JSON yanıtlarıyla ilgilenmeye odaklanmadığını, projeleri oluşturma, uygun şekilde yapılandırma ve her şeyi çalışmaya hazır hale getirme üzerine odaklandığını açıklar.
Bu kursun kullanıcıların gerçek dünya aracı olan Postman gibi bir araç nasıl basit bir Windows uygulaması olarak geliştirilebileceğini anlamalarına yardımcı olmak için tasarlandığını açıklar. Nihai uygulama Postman'in yerini almayacak olsa da, REST istekleri, yanıtlar ve kullanıcı arayüzü tasarımı gibi temel kavramları gösterecektir. Tim ayrıca bu projenin portföy çalışmalarına ilham verebileceğini, ancak kullanıcıların doğrudan kopyalamaması gerektiğini açıklar. Öte yandan, onları geliştirmeleri ve değiştirerek kendilerine özgü bir şey yaratmaları gerektiğini belirtir.
Postman Klon için Sınıf Kütüphanesi Oluşturma
Bu noktada Tim, Visual Studio 2022'yi açar ve kurulum sürecine başlar. Kayıt sırasında mevcut olan en son sürümü kullandığını ve yeni bir proje oluşturarak başladığını açıklar. Bu ders için, ilk olarak sınıf kütüphanesini oluşturmaya karar verir.
Bu sınıf kütüphanesinin sonunda kullanıcı arayüzünün referans vereceği ortak kodu barındıracağını açıklar. Bu yaklaşım, endişeleri ayırmaya yardımcı olur ve uygulamayı organize tutar. Proje oluşturma sırasının genellikle önemli olmadığını, ancak kütüphane ile başlamak, geliştiricilerin kurulum sırasında karşılaşabilecekleri yaygın bir sorunu göstermesine olanak tanıdığını açıklar.
Bir C# sınıf kütüphanesi arar ve bunun eski .NET Framework değil, modern bir .NET projesi olması gerektiğini vurgular. Tim, bir .NET 8 sınıf kütüphanesi seçer ve daha yeni sürümlerin, örneğin .NET 9 veya sonrasının da çalışabileceğini belirtir. Sürümler arasındaki farkların geliştirmenin normal bir parçası olduğunu ve adapte olmayı öğrenmenin önemli bir beceri olduğunu açıklar.
Çözümü ve Projeleri Doğru İsimlendirme
Tim, çözümü ve projeleri nasıl isimlendirdiği hakkında zaman ayırarak açıklama yapar. Çözümü Postman klon uygulaması ve kütüphaneyi Postman klon kütüphanesi olarak adlandırır. Kütüphaneyi isimlendirme stratejisi, hangi projenin ortak lojistik içerdiğini ve hangi projenin kullanıcı arayüzünü içerdiğini net bir şekilde belirlediğini açıklar.
Bu isimlendirme yaklaşımı, daha sonra referanslarla çalışırken yardımcı olur. Referansların her zaman kullanıcı arayüzünden kütüphaneye akması gerektiğini, tersi yönde olmaması gerektiğini açıklar. Bu tasarım tercihi daha temiz bir kodu ve daha iyi bir uzun vadeli geliştirme sürecini destekler.
Çözüm ve projenin neden aynı dizine yerleştirilmediğini de açıklar. Bu uygulamanın birden fazla proje içermesi nedeniyle, bunları ayırmak, navigasyonu kolaylaştırır ve çözüm büyüdükçe karışıklığı önler.
Windows Forms UI Projesi Eklemek
Kütüphaneyi oluşturduktan sonra, Tim çözüme ikinci bir proje ekler. Bu sefer bir Windows Forms uygulaması seçer. Bu projenin, Postman klonunun kullanıcı arayüzü olarak hizmet vereceğini açıklar ve kullanıcıların URL'leri girmelerine, sorgu parametrelerini girmelerine ve yanıtları görüntülemelerine olanak tanır.
Projeyi Postman klon kullanıcı arayüzü olarak adlandırır ve yine .NET 8 kullandığını teyit eder. Tim, ekran ölçeklendirmeden kaynaklanan DPI ile ilgili bir mesajdan kısaca bahseder. Bu ders için bunun önemli olmadığını ve gerekirse DPI işlemenin daha sonra keşfedilebileceğini açıklar.
Bu aşamada, çözüm artık iki proje içermektedir: bir kütüphane ve bir Windows Forms kullanıcı arayüzü. Bu yapı, Windows üzerinde Postman tarzı bir araç oluşturmanın temelini atar.
Başlatma Projesi Sorununu Düzeltmek
Tim, sınıf kütüphanesi ilk olarak oluşturulduğu için bir sorun oluştuğunu gösterir. Çözümü çalıştırmaya çalıştığında, Visual Studio bir sınıf kütüphanesinin doğrudan başlatılamayacağını belirten bir hata gösterir.
Tim, bunun yaygın bir kurulum sorunu olduğunu ve hata mesajlarını dikkatlice okumanın önemini vurgular. Hata mesajlarının genellikle neyin yanlış olduğunu ve nasıl düzeltileceğini tam olarak söylediğini açıklar.
Sorunu çözmenin iki yolunu gösterir: bağlam menüsü kullanılarak UI projesini başlatma projesi olarak ayarlamak veya Başlat düğmesi yanındaki başlatma projesi açılır listesinden seçmek. Bu yapıldığında, Windows Forms kullanıcı arayüzü doğru bir şekilde başlatılır.
Projeyi Git ve GitHub'a Eklemek
Çözüm yapısı oluşturulduktan sonra, Tim sürüm kontrolüne geçer. Git Değişiklikleri penceresini açar ve sürüm kontrolünün henüz etkinleştirilmediğini açıklar. Visual Studio'dan doğrudan bir Git deposu oluşturur.
.gitignore dosyasının amacını açıklar, derlenen dosyalar gibi derleme çıktılarının kaynak kontrolüne dahil edilmemesi gerektiğini belirtir. Bu dosyalar yeniden oluşturulabileceği için, GitHub deposunda yer almamalıdır.

Lisansı tartışmak ve hiçbir lisans seçmemenin kodun tüm haklarını saklamak anlamına geldiğini açıklar. Tim, bir README dosyası ekler ve projenin açıklanması özellikle paylaşılacaksa veya bir portföyün parçası olarak kullanılacaksa ne kadar önemli olduğunu açıklar.
GitHub deposuna bir isim verir, bunun bir Windows Forms Postman yeniden oluşturması olduğunu açıklayan net bir açıklama ekler ve kullanıcıların kod kopyalamaktan ziyade öğrenmeye odaklanması için depoyu özel tutmayı seçer.
Sürüm Kontrol Göstergelerini Anlama
Kodu GitHub'a gönderdikten sonra, Tim Çözüm Gezgini'nde gösterilen kilit simgelerini açıklar. Bu simgeler dosyaların sürüm kontrolü tarafından izlendiğini ve değiştirilmediğini belirtir.
Dosyalar eklendiğinde veya güncellendiğinde bu göstergelerin nasıl değiştiğini açıkladığını, geliştiricilere hangi değişikliklerin kaydedileceğini anlamalarında yardımcı olduğunu açıklar. Bu görsel geri bildirim, proje büyüdükçe ve daha fazla özellik eklendikçe çok faydalı hale gelir.
Class1'i Tutmak ve Bir Referans Eklemek
Tim, varsayılan Class1 dosyasının neden şimdilik kütüphanede bırakıldığını açıklar. En az bir sınıf olmadan, kütüphanenin bir ad alanı olmazdı, bu da kullanıcı arayüzünden referans alınmasını imkansız kılardı.
Ardından kütüphaneyi kullanıcı arayüzü projesinin bağımlılığı olarak ekler. Kütüphaneyi kullanıcı arayüzüne sürükleyerek ve Proje Referansı Ekle seçeneğini kullanarak her iki yöntemi de gösterir. Bu adım, kullanıcı arayüzünün ortak kodu erişmesini sağlar, bu da yapılandırılmış bir Postman klonunu oluşturmak için esastır.
Form1'i Dashboard Olarak Yeniden Adlandırma
Tim, varsayılan Form1'i Dashboard olarak yeniden adlandırır ve bu formun uygulamanın ana ekranını temsil ettiğini açıklar. Bu form kapandığında, uygulama da kapanacaktır.

Tüm referansların doğru bir şekilde güncellendiğinden emin olur, arka plan kod dosyası ve Program.cs dahil. Tim ayrıca, Program.cs'deki ad alanını dosyaya yönelik bir ad alanı olarak dönüştürerek gelecekteki değişiklikler için daha fazla alan ve temiz bir biçimlendirme sağladığını açıklar.
Kullanıcı Arayüzü Özelliklerini ve Yazı Tipi Ayarlarını Ayarlama
Tim Dashboard formunu açar ve özellikler penceresinde odaklanır. Geliştiricilerin, iş akışlarına uygun hale getirmek için pencereleri Visual Studio içinde nasıl yeniden konumlandıracaklarını açıklar.
Form başlığını, uygulamanın bir Postman klonu olduğunu açıkça tanımlamak ve varsayılan yazı tipini 9'dan 18'e arttırmak için değiştirir. Tim, yazı tipini erken ayarlamanın, kullanıcı ara yüzüne eklenecek tüm gelecek kontroller için tutarlı boyutlandırma sağladığını açıklar.
İlk Kurulumu İşleme
Tüm kurulum değişiklikleri tamamlandıktan sonra Tim, değiştirilmiş dosyaları sahneyleştirir ve bir commit oluşturur. Commit mesajının mükemmel olması gerekmese de kurulum değişikliklerini net bir şekilde tanımlaması gerektiğini açıklar.
Kodu GitHub ile eş zamanlayarak, deponun tamamen güncellenmesini ve sürekli geliştirmeye hazır olmasını sağlar.
Postman Klonunu Oluşturmanın Bir Sonraki Aşamasına Hazırlanmak
videoyu tamamlamak için Tim, proje kurulumunun şimdi tamamlandığını açıklar. Bir sonraki derste odak, kullanıcı arayüzünü oluşturmak ve GET isteklerini bir API'ye gönderip yanıtlarını görüntülemek için basit bir yol oluşturmak olacaktır.
İzleyicileri bir sonraki videoyu izlemeden önce kendi başlarına bir sonraki adımı denemeye teşvik eder. Hedef, istek gönderebilen, veri alabilen ve biçimlendirilmiş JSON yanıtlarını görüntüleyebilen bir basit arayüz oluşturmak. Bu yaklaşım, kullanıcıların süreci daha iyi anlamalarına ve zamanla uygulamayı geliştirmeye hazırlanmalarına yardımcı olur.
Tim, izleyicilere bu projenin büyümesi gerektiğini hatırlatarak dersi sonlandırır. Basit bir yapılandırmayla başlamak, geliştiricilerin güven inşa etmelerine, iş akışını anlamalarına ve projeyi anlamlı bir Postman tarzı araç haline gelene kadar yavaş yavaş dönüştürmelerine olanak tanır.

