Katılım
15 Aralık 2023
Mesajlar
495
Çözümler
8
Beğeniler
350
Merhaba. Bilgisayar mühendisliği 1. sınıf öğrencisiyim ve arkadaşım da başka bir üniversitede bilgisayar mühendisliği 1. sınıf öğrencisi. Ben ilk dönem C gördüm ve bu dönem de Python görüyorum. Dönem sonuna kadar dosya kayıt işlemlerini bitirip bırakacağız. Arkadaşım ise 2 dönemdir Python gördü ve şu an Python'da iyi bir seviyede. Class'ları falan iyi biliyor. Ben 1. sınıf olmamdan kaynaklı mıdır bilmiyorum ama sürekli bir şeyler geliştirmek istiyorum ama bunu nasıl yapacağımı bilemiyorum. Yol haritası için yapay zekaya sorduğumda bana pek bir faydası olmuyor.

Şu sıralar basit bir mesajlaşma uygulaması yapmak istiyorum. Bu uygulamayı arkadaşımla beraber 2 kişi yapmayı düşünüyoruz. Uygulamada bir sohbet odası olacak ve o odaya herkes mesaj yazabilecek. İlk etapta online bir sistem düşünmüyorum, zor olduğunu düşündüğüm için. O yüzden yerel ağda çalışacak bir proje fikri var kafamda. Bu tip bir uygulama için nasıl bir yol izlememiz gerek? Nelere hâkim olmalıyız?
 
Hocam Gemini bir yere sunucu kodu yazmıştı. Onu denedim ve kendi bilgisayarımda çalıştırabildim ama sunucuyu bile kendim yazmak istiyorum. Sorun olan kısım ise benim sunucu yazmayı bilmemem. Konudaki amacım da sunucu yapmayı vs. nasıl öğrenebileceğimi görmek.
 
Hocam Gemini bir yere sunucu kodu yazmıştı. Onu denedim ve kendi bilgisayarımda çalıştırabildim ama sunucuyu bile kendim yazmak istiyorum. Sorun olan kısım ise benim sunucu yazmayı bilmemem. Konudaki amacım da sunucu yapmayı vs. nasıl öğrenebileceğimi görmek.

Sunucu yazmaktan kastın ne? Sen önce küçükten başla. Videodakini izle adım adım aynısını yaz, sonra kodu claude at, satır satır açıkla de hangi kod ne işe yarıyor anla. Sonra geliştirmeye başla. Önce çalışır bir prototip yapmaya bak. Zaten zamanla yapa yapa üzerine bir şeyler koymaya başlayacaksın. Ama daha ilk adımı atmadan sonunu düşünmeye çalışıyorsun. Gerek yok önce bir şeyler yaz. Sonra öğrenmen gereken yeri öğrenirsin geliştirmen gereken yeri geliştirirsin.
 
Son düzenleyen: Moderatör:
Sunucu yazmaktan kastın ne? Sen önce küçükten başla. Videodakini izle adım adım aynısını yaz, sonra kodu claude at, satır satır açıkla de hangi kod ne işe yarıyor anla. Sonra geliştirmeye başla. Önce çalışır bir prototip yapmaya bak. Zaten zamanla yapa yapa üzerine bir şeyler koymaya başlayacaksın. Ama daha ilk adımı atmadan sonunu düşünmeye çalışıyorsun. Gerek yok önce bir şeyler yaz. Sonra öğrenmen gereken yeri öğrenirsin geliştirmen gereken yeri geliştirirsin.

Hocam sunucu dediğim şey şöyle: Online bir sunucudan bahsetmiyorum. Yerel ağda çalışacak bir şey. Gemini bana bir kod attı ve bu kodda socket kütüphanesinin fonksiyonlarını kullanarak yaptığı yerel ağ sunucusu vardı. Büyük çaplı bir şey yapamayacağımın farkındayım.
 
Son düzenleyen: Moderatör:
Hocam sunucu dediğim şey şöyle: Online bir sunucudan bahsetmiyorum. Yerel ağda çalışacak bir şey. Gemini bana bir kod attı ve bu kodda socket kütüphanesinin fonksiyonlarını kullanarak yaptığı yerel ağ sunucusu vardı. Büyük çaplı bir şey yapamayacağımın farkındayım.
Sen önce siyah ekranda videodaki gibi bir yapmaya çalış. Sonra vmware workstation indirip bir tane windows veya linux sunucu kurarsın hangisi gerekiyor ise. Gerekli izinleri verip aynı ağdaki herkesin kendi cihazından bağlanmasını sağlayabilirsin. Local de olur ama online olmuş olur sonuçta. Önce kendi pc'inde sonra kendi pc'ini bir tane vm sunucu kurar aynı ağdaki herkesin bağlanmasını sağlayacak şekilde geliştirirsin, En sonda her şey hazırsa gider sunucu kiralar internete açarsın.
 
Bu tip bir uygulama için nasıl bir yol izlememiz gerek? Nelere hâkim olmalıyız?

Mesajları ileten basit bir API
Mesajları alıp görüntüleyen basit bir arayüz
Ve temel WebSocket bilgisi

Karmaşıklık yaratmaya gerek yok. Aklındaki basit yapı bir şey öğrenmek için güzel. Tek bir mesaj odası olacak ve herkes oraya mesaj atacak.

API'de bir WebSocket bağlantı mekanizması kurarsın. Clientleri birbirine bağlamak ile uğraşma. Herkes API'deki tek bir odaya girsin. Bir mesaj gelince API diğer tüm Clientlere bu mesajı döner. API'yi lokalde ayağa kaldırıp aynı ağdaki cihazlarla bağlanabilirsin.