evrimagaci / periodum

Periodum: An Interactive, Open-Source Periodic Table!
https://periodum.com/
Open Software License 3.0
391 stars 68 forks source link

Bileşik Önerileri #19

Closed mehmetb closed 4 weeks ago

mehmetb commented 2 years ago

Girilen element(ler)le oluşturulabilecek bileşikler filtrelenir ve en kısa formüle sahip 5 tanesi seçilerek kullanıcıya önerilir. Kullanıcı bu önerilerden birine tıklarsa, bileşik elementleri seçilen bileşiğe uygun şekilde güncellenir ve seçilen bileşik kullanıcıya gösterilir.

https://user-images.githubusercontent.com/10353929/149679899-5715582b-103f-4267-b006-605ddf78766a.mp4

5

mehmetb commented 2 years ago

Renklerle ilgili tavsiyeniz varsa açığım :) Yeşil, sayfanın temasının/renk paletinin dışında kaldı sanki biraz.

Kodda performans amaçlı optimizasyon da yapılabilir. 5'ten az öneri bulunduysa tüm formülleri tekrar filtreliyoruz. Halbuki buna gerek olmayabilir. Tüm bileşikleri döndüğümüz kısımda "kesin" olmayan (element sayıları tutmayan) bileşikleri de ayrı bir diziye koyup, öneri sayısı 5'ten az olduğu takdirde o ayrı diziyi öneri dizisiyle birleştirebiliriz.

İkinci bir optimizasyon da öneri listesine yeni eleman eklerken daha seçici davranarak bellek kullanımını optimize etmek olabilir. Yalnızca formülü daha kısaysa öneri listesinden o anki en uzun formül çıkartılarak işlenen formül diziye eklenir. Böylece öneri dizisi hiçbir zaman 5 elemanı geçmez ve daha az bellek kullanılmış olur (bedeli işlem maliyeti).

Ben, biraz da heyecandan, bu yazdıklarımı yapmadan göndermiş bulundum :) İsterseniz yarın akşam bunları da PR'ye ekleyebilirim ya da yeni bir PR açabilirim.

cagrimertbakirci commented 2 years ago

Çok güzel bir başlangıç, çok teşekkürler! Tam olarak düşündüğümüz şeyi uyguluyor.

Renkleri tasarıma biraz daha uydurmak gerekebilir gibi, evet. :) Tasarım dosyalarını ekledim şimdi, belki renk seçiminde fayda sağlayabilir: Zeplin Tasarım Dosyası: https://zpl.io/bopNyyM

Bir tek bileşik yazım formatında C3H5 yerine C_3H_5 iyi olabilir. Yani atom sayısını subscript yazabiliriz.

Her iki optimizasyon önerisi de çok iyi bence. Bunları yapmak kesinlikle değer katacaktır. Yarına yapabilirseniz harika olurdu!

mehmetb commented 2 years ago

Beğenmenize sevindim :)

Tasarım dosyası linkine erişmeye çalıştığımda "Bu projeye davetli değilsiniz. Lütfen proje üyeleriyle iletişime geçin." diyor.

Tabii, yarın akşama iyileştirmelerle birlikte tamamlamaya çalışacağım👍

mehmetb commented 2 years ago

Tasarım ve performans geliştirmelerini tamamladım:

https://user-images.githubusercontent.com/10353929/149832612-30ee8624-ba06-421b-adb8-dfe29e2e7986.mp4

Genel bir performans iyileştirmesi mümkün; bileşikler kısmı biraz yavaş çalışıyor. "Performans iyileştirmeleri" başlığı açılması iyi olabilir.