sengpt's banner
sengpt's profile picture

sengpt

@sengpt29,450 subscribers

unexpected insights.

Shorts

ölü göt sendromu diye bişey varmış. gün boyu sürekli oturanların götü bir süre sonra ölüyormuş. herkes kendi kontrolünü yapsın.

ölü göt sendromu diye bişey varmış. gün boyu sürekli oturanların götü bir süre sonra ölüyormuş. herkes kendi kontrolünü yapsın.

165,322 görüntüleme

40 yıllık yazılımcılar patronun şirkete yeni aldığı ai modelleri karşılıyor

40 yıllık yazılımcılar patronun şirkete yeni aldığı ai modelleri karşılıyor

36,312 görüntüleme

Videos

sengpt's profile picture

çıkan her yeni modelde yazılımcılar

sengpt

147,374 görüntüleme • 4 ay önce

sengpt's profile picture

yeterli motivasyon + ai ile bir kaç gün içinde Sahibinden benzeri bir iOS ilan uygulaması yaptım. bir takım bilgiler: ana motivasyon: tek başıma sadece ai kullanarak sahibinden benzeri bir ilan uygulaması yapabilir miyim challenge. hatta işin içine biraz da eğlence katıp Sahibinden + Tinder tarzı bir şey yapılabilir mi. Kullanıcılar ilanları sağa kaydırıp ilgilendiklerini gösterecekler. Sola kaydırıp ilgilenmediklerini. Ana sayfaları da bu tercihlerine göre şekillenecek. Sağa kaydırmak satıcı ile mesajlaşma etkileşimi başlatacak. Favoriye almak sadece kullacının ileriye dönük bookmark yapmasını sağlayacak. Ortaya "Satmaca" diye bir şey çıktı. İsim önerisi sonnet'ten geldi basit ve akılda kalıcı diye. kullanılan modeller: o1 pro: %75 sonnet 3.5: %20 o3 mini: %5 uygulamanın tüm backend, swift kodları, google cloud functions, firestore rule, db yapısını o1 pro oluşturdu. ara yüzleri sonnet yaptı. (bu arada sonnet'in cidden efsane bir model olduğunu bu uygulamayı geliştirirken farkettim, muhtelemen daha çok kullanacam). süreç: direkt geliştirmeye başlamadan önce beyin fırtınası yaptık biraz o1 ve sonnet'le. benim gereksinimim şuydu: google'ın startup programı kapsamında bana verdiği bir miktar cloud kredim var. o yüzden bu kredileri kullanmak mantıklı olur dedim. buna göre ağır yük altında çalışabilecek bir altyapı lazım dedim. onlar da dediki firestore kullanalım. peki dedim performansı nasıl sağlam yapabiliriz. bottleneck, crash vs olmamalı + firestore'daki ücretsiz limitimi aşmayacak şekilde bir şeyler yapmalı. dediler ki şöyle yapabiliriz: - read/write mümkün olduğunca azaltıp local cache /in memory kullanmamız lazım. - çok nadir güncellenen verileri lokalde tutup oradan çağırmak lazım - indeksleme yapmak lazım - firestore'da çok sıkı rule'lar yazmamız lazım buna göre başladık ve ortaya bir kaç günde yüzlerce yazışma neticesinde bir şeyler çıktı. uygulamadaki temel özellikler: - kullanıcı yönetimi. apple (parmak izi, face id) ve google ile login olmanın yanısıra normal email ile de login ve kayıt olunabiliyor. şifre sıfırlama, hatırlatma, password policy gibi temel şeyler de var. - kullanıcıları ilk girişte onboarding ekranı karşılıyor. burada bir takım temel bilgilerini girmeleri gerekiyor. şehir, konum, ad soyad gibi. bunun yanında görmeyi tercih ettikleri ilan kategorilerini seçmeleri lazım ki onlara uygun ilanları gösterebilelim. - onboarding kısmı tamamlandıktan sonra ana sayfada ilanları tercihlerine göre görebiliyor, tinder gibi like ve dislike atabiliyor, mesaj yazabiliyor ve favorilerine ekleyebiliyorlar. Burada mesela önemli bir detay vereyim: test ederken özellikle like dislike atınca firestore'da write oranının ciddi arttığını gördüm. bunu düşürmemiz lazım ne yapabiliriz dedim. bir şey yapamadı önce. sonra firestore'un best practice sayfasını paylaştım. yaptığı değişklik write oranının %50 azalttı. nasıl yaptı bilmiyorum. - gelelim arama kısmına. burayı da o1 dedi ki daha performanslı ve ölçeklenebilir olması için firestore üzerinden arama yapmak yerine elastic search ya da algolia gibi distributed bir search engine kullanalım. tamam dedim. biraz bakınca algolia dökümanları daha kolay geldi. tüm dökümantasyonu verdim (ki güncel olsun). arama kısmına instant search entegre etti. - ilan ver kısmında ise tüm kategorileri ve o kategori altındaki sub kategoriler ve her kategorinin de kendine özel alanlarını girmemiz gerekiyordu. baktım ki böyle kod çok büyüyecek bunu dinamik yapmamız lazım dedim. yani sen bir kod yaz ona göre ben de her kategori için bir json hazırlayayım. bana sadece o kategorideki alanları girmek kalsın. ortak alanları da kullanabilelim ki kod büyümesin. bu kısım çok güzel oldu gerçekten. sadece kategorileri json'da tanımlıyorum ve ekran hazır oluyor. bunları özellikle lokalde json'da tut firestore'da tutmaya gerek yok dedi performans açısından. - ilan ver kısmındaki bir diğer entegrasyon speech recognition. arama kutucuğundaki mikrofona tıklayıp konuşarak da anlık arama yapılabiliyor. - mesajlar sekmesi standart. kullanıcılar birbirlerine mesaj atabiliyor ilanlar üzerinden. - push notification: bir kullanıcı ilan yayınladığında ilk olarak onaya gidiyor. ben arka planda bir arayüzden bu ilanı onaylarsam kullanıcıya bildirim gidiyor onaylandı diye. ayrıca birisi beğendiğinde ya da mesaj attığında bildirim gidiyor. - bana özel kısmı ise profille ilgili bilgiler. kullanıcının yayında olan ilanları. onay bekleyen onayları vs. buradan silip editleyebiliyor. editlenen bir ilan otomatik "inceleme aşamasında" statüsüne düşüyor. ayrıca ilanına gelen like, favori mesaj sayılarını görebiliyor. - satın almalar: her ilan kategorisinin bir limiti var. örneğin emlak kategorisinde 1 tane ücretsiz ilan verebiliyorsunuz. sonrakilerde kredi almanız lazım. her bir kategori için bu limit ayrı tanımlanabiliyor. - profilimi düzenle kısmında profil düzenlenebiliyor. - kvkk uyumluluğunu da unutmadık. hesabımı sil diyerek kendine ait tüm verileri (ilan, mesaj, like vs) silebiliyor kullanıcılar. uygulamanın şu an 70'den fazla ayrı kod dosyası, 120k tokenlik kod büyüklüğü var. %90 bitti sayılır. bitirdiğimde tamamen açık kaynak, kurulum aşamalarıyla birlikte yayınlayacağım. isteyen herkes bunu bir base template gibi kullanarak kendi uygulamalarını yapabilir.

sengpt

84,817 görüntüleme • 1 yıl önce

Daha fazla içerik yok.