Yazılımın ilk 250 günü - Part 19

5 dk okuma

181. Gün

Bugün dosya yükleme, kullanıcıya dosyayı iletme, backend tarafında uygun olduğunu farzettiğim bir veri yapısını kullanma kısımları tahmin ettiğimden daha kısa sürede bitti. Kullanıcının, farklı kullanıcıları ve kendi geçmiş sohbet içeriklerini aramasını sağlamalıyım. Bu sayede henüz sohbet başlatmadığı kişileri de ekleyebilir. Konuya direkt olarak girecektim fakat sonrasında anlamsız biçimde algoritmalar kitabında arama ile ilgili algoritmalara bakmak istedim. Bakınca oradaki farklı tipteki sorunlar ve çözümleri sadece okudum. Ve tabii ki üzerlerine düşündüm. Örneğin “Travelling salesman problem” vardı graf algoritmalarına bakarken karşılaştığım. Pazar günü onun üzerine düşünmek, uygulamalarına bakmak istiyorum. Anladığım kadarı ile genel bir çözüm metodu yoktu ve ilgimi çekti. Yarın normal şekilde kaldığım yerden devam edeceğim. Pazartesi gününe kadar farklı kullanıcıları ve mesajları arama, yeni bir kullanıcı ile sohbet başlatma gibi konuları tamamlamaya çalışacağım.

182. Gün

Şimdilik sadece kişileri arama ve sohbet başlatma kısımlarını çalışmaya başladım. Geçmiş sohbetlerdeki mesajları arama ve kullanıcıya göstermeyi şu aşamada yapmayacağım. Çünkü o kısım çok daha farklı bir mantık içeriyor. Sırayla ilerlemeliyim. Bugün doğrusu biraz daha front end tarafı ile oynadım diyebilirim. Ama burda boş vakit geçirmek değil de ne yapacağımı düşünmek üzerineydi biraz.

183. Gün

Bugün bitireceğimi tahmin ettiğim kısmı (kullanıcı ekleme) henüz bitiremedim. Birkaç yerde takılı kaldığım için ilerlemem biraz yavaşlamıştı. Yarın tamamlamaya çalışacağım. Her gün hem front hem back end’e çalışarak ilerliyorum şu aşamalarda. Biri olmadan diğerinin anlamı pek olmuyor.

184. Gün

Bugün kullanıcı ekleme işlemini (arkadaşlık isteği gönderme ve kabul edilip edilmemesi durumlarını) tamamladım. Front end tarafında birtakım problemler kaldı fakat yarın çözmeye çalışacağım. O problemler bittiğinde grup oluşturma durumunu yapmaya başlayacağım.

185. Gün

Bugün grup oluşturma mantığını tamamladım fakat yine client tarafında birkaç problem kaldı. Problemlerin çoğunluğu frontend kısmında oluşuyor çünkü backend tarafı çok daha sade. Yarın öğlene kadar grup kurma durumu ile ilgili bir problem kalmayacak diye tahmin ediyorum. Sonrasında sizin de dediğiniz üzere herkesin default olarak sohbete katıldığı bir genel oda/grup oluşturacağım.

186. Gün

Bugün grup oluşturmadaki problemler ve bildirim göstermedeki sorunlar giderildi. Sonrasında kullanıcının fotoğrafı static olarak verildiği için, dinamikleştirmek için kullanıcı tercihleri kısmında “isim, soyisim, profil fotoğrafı, şifre” alanları tanımlandı. Şifre değiştirmek için SSO sunucusu ile tekrar iletişime geçilip kullanıcı oraya yönlendirilecek. Ama diğer işlemler Chat sunucusunda tamamlanacak. Henüz tamamlanmadı. Yarın bitirilmeye çalışılacak.

Bugüne kadar yapılanların en özet hâli:
  • SSO’da kaydı olan kullanıcı gerekli bilgileri ile giriş yapar. Oturumunu her yerden kapatabilir ya da sadece bulunduğu cihaz-tarayıcı-dan kapatabilir.
  • Kullanıcı Chat’e girdiğinde otomatik olarak genel chat grubuna girer.
  • Kullanıcı, diğer kullanıcıları arayabilir (kayıtlı kullanıcıları tarar), istediği kişiye arkadaşlık isteği gönderebilir. Gönderdiği kişi Kabul edince konuşmaya başlayabilirler.
  • Kullanıcı grup oluşturup, arkadaşlarını ekleyebilir.
  • Kullanıcı birçok farklı türde dosyayı sohbette gönderebilir. Gönderilenleri indirebilir.
  • Kullanıcıya arkadaşlık isteği gelirse ve kendisi offline ise, bildirim görünmektedir (online iken de görünür)
  • Kullanıcı statüsünü (meşgul, uzakta, aktif olarak) değiştirebilir. Offline durumu henüz yazılmadı. Bu durum kullanıcıdan bağımsız olarak, oturumu belli bir süre kapalı ise otomatik olarak verilecek.
Yeni özellikler eklenirken, geçmişten gelen problemler ise çözülmektedir. Çıraklık eseri olarak yapılan bu iş kişinin (Buğra) seviyesini belli etse de (çok amatörce), gelişim bu şekilde sağlanacaktır. Öyle umuyorum.

187. Gün

Bugün dosya alışverişini sizin dediğiniz şekilde -dosya sunucusu biçiminde- yazıp, hem profil fotoğrafları hem de sohbetlerde paylaşılan dosyalar için düzenleyip tamamladım. Gün sonunda bu konudaki isterleri tamamladım. O düzenlemeden sonra fotoğraf güncelleme ve anlık olarak diğer kullanıcılarda gösterilmesi de tamamlandı. Diğer kullanıcı bilgisi güncelleme-değiştirme kısımlarını yarın tamamlamaya çalışacağım.

188. Gün

Bu hafta aklımda olan neredeyse birçok şeyi yaptım. Evet daha rahat bir haftaydı fakat boş ya da verimsiz geçtiğini düşünmüyorum.

Bugün bir kutsal kitabı okur gibi geçti. Programlama üzerine, object-oriented ve javascript üzerine okumalar yaptım. Bugün kullanıcı bilgileri güncelleme kısmını tamamlamayı düşünmüştüm başta fakat hep aynı bilgileri kullanarak ya da ufuk açıcı ve daha heyecan verici bir şey yapmaktan uzak kaldığımı hissettiğim için biraz daha teori kısmına yöneldim. Bir şeyden kaçmak ya da korkmak değil, işin felsefesine (under the hood’una) olan ilgimden dolayı bugünü biraz daha farklı şeyleri öğrenmeye-okumaya ayırdım.

189. Gün

Bugün profil ile ilgili bilgileri güncelleme kısımlarını tamamladım. Sonrasında mesaj editleme, silme, kopyalama gibi mesajlar üzerindeki yapılabilecek işlemleri tamamlamaya çalıştım fakat yarın sabaha kaldı. Tamamlanınca gruplarda kullanıcı silme, admin ekleme ya da kaldırma, grup ismi değiştirme gibi durumları yapmaya çalışacağım. Backend tarafında herhangi bir problem olmuyor fakat zamanın çoğunu frontend tarafı alıyor. Ben de bir an önce bitirmek istesem de sanırım oyalanıyorum. En baştan nesne yönelimli düşünmeliydim fakat sonrasında o hâle getiririm dediğim için biraz karıştı durumlar. Bu proje ile insanlar neden React gibi framework’ler oluşturmuşlar biraz daha iyi anladım aslında. Framework’den çok neden o kadar fazla OOP, MVC, SOLId, v.s birçok doktrin ya da fikir üzerinde çokça durulmuş daha çok anladım. Bugünlük bu kadardı.

190. Gün

Dün eksik kalan kısımlar (mesaj editleme, silme, kopyalama durumlarının bazı kısımları) tamamlandı. Bugün, bir kullanıcı grup ismine tıkladığında olacak durumlar işlenmeye başlandı. Grupta olan kişilerin listesi, admin-ler-i görüntüleme, gruptan ayrılma gibi konulara girildi. Henüz bitmedi. Yine frontend kısmı daha çok zaman aldı. Yarın sizin dediğin konu üzerine okumalar yapılıp, ilgili yazılımlar üzerine rapor oluşturulacak.