Giriş Yap / Kayıt Ol

WM Aracı'na üyelikler tekrar açıldı! Kayıt olmak için TIKLAYIN!

10Beğeni
  • 1 Yazan ASametYildirim
  • 1 Yazan mxaksoy
  • 1 Yazan mxaksoy
  • 1 Yazan Mfa95
  • 2 Yazan woakazam
  • 2 Yazan srhtycl
  • 2 Yazan SancarSaran

Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > Programlama
Bikoin

Web yazılım dillerini nasıl optimize edebiliriz?

  #1  
Okunmamış 11 Temmuz 2018, 17:31
ASametYildirim Adlı Üyenin Avatarı
Tek rakibim nefsim.
 
Üyelik Tarihi: 16 Haziran 2017
Cinsiyet: Erkek
Konum: Ankara
Ad, Soyad: Ab... Yı...
Mesajlar: 3.324
Beğeniler: 1502 / 1859
Ticaret: 72, 100%
Merhaba hocalarım. Kafayı taktım bir türlü bu sorudan kendimi alamıyorum. Geçenlerde temamda 10.000 den fazla gereksiz kodu temizledim ama daha iyisi için bir öneriniz var mıdır?

Mesela "print" yerine "echo" kullanmak, sürekli kod yazmak yerinr değişken oluşturmak. Sürekli değişke yerine fonksiyon yazmak gibi.

Not: Sadece Html, CSS, PHP ve JavaScript (kütüphaneleri dahil) dilleri için öneri verirseniz sevinirim

2.Not: Optimizeden kastım sunucu yükünü hafifletmek ve site hızını arttırmak. Nolur tarayıcı önbellekleme felan demeyin ben kodları optimize etmekten bahsediyorum.
Mfa95 bunu beğendi.
  #2  
Okunmamış 11 Temmuz 2018, 17:58
Avatar Seçilmemiş
Üyeliği Durdurulmuş
 
Üyelik Tarihi: 23 Mart 2018
Yaş / Cinsiyet: 23 / Erkek
Meslek: Webmaster
Ad, Soyad: Mu... Ak...
Mesajlar: 1.499
Beğeniler: 371 / 505
Ticaret: 3, 100%
define belirlemek ben şuanki yaptığım andesite adlı kredi 2 bakiye yazılımında define ile değerini belirleyip yazdırdım. Çalışma Mantığı şu şekilde:
Kullanıcı Siteye Girer
Sorgu ve Kontroller Modülde Kontrol edilir
indexe aktarılır.
İşlemler tek dosyada toplanır (form kayıt, giriş, kredi alma vs)
sonuç aktarılır ve sadece 1 post'a izin verilir.
ASametYildirim bunu beğendi.
  #3  
Okunmamış 11 Temmuz 2018, 18:00
Avatar Seçilmemiş
Üyeliği Durdurulmuş
 
Üyelik Tarihi: 23 Mart 2018
Yaş / Cinsiyet: 23 / Erkek
Meslek: Webmaster
Ad, Soyad: Mu... Ak...
Mesajlar: 1.499
Beğeniler: 371 / 505
Ticaret: 3, 100%
ASametYildirim dil dosyası ise:
PHP- Kodu:
define("ls_login_username""Kullanıcı Adı"); //Label ve placeholder için kullanılabilir gibisinden. 
ASametYildirim bunu beğendi.
  #4  
Okunmamış 11 Temmuz 2018, 18:09
Avatar Seçilmemiş
Üyeliği Durdurulmuş
 
Üyelik Tarihi: 06 Haziran 2018
Cinsiyet: Erkek
Meslek: Öğrenci
Konum: Eskişehir
Ad, Soyad: Mu... Ak...
Mesajlar: 129
Beğeniler: 30 / 84
Ticaret: 0, 0%
Evet hocam temalarda en büyük problem gereksiz veya kullanilmayan şişirilmiş kod yığınları. Gereksiz yük bindiriyor. Bende baya araştırmıştım da öneriler hep kendini tekrarlıyor. Şuan sorgu sayısını azaltmaya uğraşıyorum ben de. Sürekli veritabanına girdi çıktı yapan sorgular var bunlara odaklanmaniz gerekiyor. Sorgu sayısı azaldıkça sunucu yükü azalacak ve hızlanma sağlanacaktır
ASametYildirim bunu beğendi.
  #5  
Okunmamış 11 Temmuz 2018, 18:48
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 02 Temmuz 2018
Yaş / Cinsiyet: 21 / Erkek
Meslek: Öğrenci
Ad, Soyad: Ab... Ce...
Mesajlar: 44
Beğeniler: 19 / 0
Ticaret: 1, 100%
Böyle şeyler yük bindirmez ki

Saniye de 4 Milyar kere titreyen işlemcilerden bahsediyoruz. Yük nasıl biner biliyor musunuz, 100.000 satır içinden saniye başına SQL sorgusu döndürmek gibi. Ki o bile gıdıklar.

Kodları daha derli toplu yazman güzel bir şey fakat sunucuya yük bindirmez.

Özetle print yerine echo yazman sunucuyu daha az yorar diye bir şey yok.
D3M1R ve mxaksoy bunu beğendi.
  #6  
Okunmamış 12 Temmuz 2018, 02:38
Avatar Seçilmemiş
Üyeliği Durdurulmuş
 
Üyelik Tarihi: 01 Kasım 2015
Yaş / Cinsiyet: 31 / Erkek
Ad, Soyad: Ha... Fe...
Mesajlar: 419
Beğeniler: 177 / 151
Ticaret: 3, 100%
Css'de aynı özellikleri farklı isimlerle kullanıp birden çok sınıf ile işlem görmek.

Örneğin;
Alıntı:
.sinif1{
float:left;
text-decoration:none;
background:#ddd;
color:#333;
}
.sinif2{
float:left;
text-decoration:none;
background:#ddd;
color:#111;
}
Yerine;
Alıntı:
.sinif1,.sinif2{
float:left;
text-decoration:none;
background:#ddd;
}
.sinif1{
color:#333;
}
.sinif2{
color:#111;
}
Aslında temel kodlamada miras alma diye geçiyor.
  #7  
Okunmamış 29 Ağustos 2018, 16:04
srhtycl Adlı Üyenin Avatarı
IBM Ambassador
 
Üyelik Tarihi: 13 Nisan 2013
Cinsiyet: Erkek
Ad, Soyad: Se... Yü...
Mesajlar: 489
Beğeniler: 116 / 80
Ticaret: 12, 100%
ASametYildirim Aslında işin içinde PHP ve MySQL olduğu zamanlarda en fazla dikkat etmeniz gereken kısım döngülere çok fazla girmemeye çalışmaktır. Yani kompleksiteyi olabildiğince düşük tutmanız gerekmektedir.

Evet echo'nun print'den bir farkı olmayabilir ama

PHP- Kodu:
echo 'Ali<br>';
echo 
'Mehmet<br>';
echo 
'Veli<br>';
echo 
'Ayşe<br>';
echo 
'Fatma<br>'
ile

PHP- Kodu:
echo 'Ali<br>Mehmet<br>Veli<br>Ayşe<br>Fatma<br>'
arasında fark vardır. En azından 2000-3000 dosyalık projeleri düşündüğünüzde (resmin tamamına baktığınızda hele ki kullanıcı sayınızın yüksek olduğunu düşündüğümüz zamanlarda) farkın hissedilir olduğunu anlayacaksınız.

Gereksiz değişken oluşturmak memory'i fazla kullanmanıza neden olacaktır, kaçınmakta fayda var.

Eğer bir şey statik olarak yazılabiliyorsa, o şekilde yazmayı tercih etmelisiniz. Örnek vermek gerekirse ASP.NET'deki HTML helperlar. PHP fonksiyonlarla kendi helperınızı yazabilirsiniz. Bir geliştirici her seferinde buton oluşturmak için;

PHP- Kodu:
<button type="submit" name="buttonAdi" class="button">Tıkla</button
yazmak yerine PHP ile bir fonksiyon oluşturup

PHP- Kodu:
function button($name,$text) {
return 
'<button type="submit" class="button" name="'.$name.'">'.$text.'</button>';

button eklemek istediği yerde şu kodu çağırıyor

PHP- Kodu:
echo button("buttonAdi","Tıkla"); 
Evet kod yazımını hızlandıran bir hareket ama butonu statik olarak eklemek varken fonksiyon üzerinden okutup bastırmak kaynak kullanımına neden olacaktır.

Başka önemli bir nokta döngüyle veritabanına veri eklemek yerine, bu kısmı sql sorgusuyla halletmeye bakın. Hemen durumu örnek bir senaryo üzerinde açıklayayım. Bir algoritmanız var, her gün üyeler tablosundan 1000 kişiyi başka bir tabloya aktarmanız gerekiyor. Genelde akla ilk gelen senaryo, PHP ile söz konusu 1000 üyeyi çekmek ve döngü ile hedef tabloya INSERT işlemi uygulatmaktır. Sağlıklı bir yöntem değildir. 1000 kişiyi teker teker veritabanına yazmak can sıkabilir, timeoutlara neden olabilir. Bunun yerine SQL sorgusu ile tek bir hamleyle insert yapabilirsiniz.

PHP- Kodu:
INSERT INTO yeniTablo (column1column2column3, ...)
SELECT column1column2column3, ...
FROM eskiTablo WHERE uye_id 1001
THEX3T4R ve ASametYildirim bunu beğendi.
Konu srhtycl tarafından (29 Ağustos 2018, 16:14 ) değiştirilmiştir.
  #8  
Okunmamış 29 Ağustos 2018, 17:00
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 14 Ocak 2018
Yaş / Cinsiyet: 45 / Erkek
Meslek: Programcı
Konum: İzmir
Ad, Soyad: Sa... Sa...
Mesajlar: 185
Beğeniler: 62 / 1
Ticaret: 0, 0%
Premature optimization Root of All Evil.

Gereksiz Optimizasyon bütün kötülüklerin anasıdır.

Profiler kullanmadan kodun nerede çaktığını bulamazsın.

Öyle echo ile print ile antin kuntin işlerle optimizasyon olmaz.

Modern web sitelerinin sürat problemi genelde sayfayı oluşturmaktan çok javascript yüklemesinden kaynaklanıyor.

Yani sayfayı jquery, botstrap vs olmadan yükletin test edin bakalım ne kadar hızlı yükleniyor.

Günümüzde yavaşlık daha çok, facebook google ads jquery vs gibi eklentilerden kaynaklanıyor.

Her sayfada sosyal paylaşım düğmeleri vs var. Ancak site sahipleri bunların ne kadar işe yaradığını ölçmüyor, herkeste var bizde de olsun. olsunda load a ne kadar yük getirdiğnide ölç birader.

En son bir word press sitesine baktım yavaşmış. PHP siteyi 1 sn civarında üretiyor. Ancak sayfa yüklemesi 17 sn, bunun 9 sn si bilimum sosyal javascrit kalanıda ön sayfada hayvan gibi 50 tane ayrı resim var onlar.

Yani php ile genel kurallara uyup orta şeker bir web sitesi yaptınız, iyi güzel makinanız var. Efendim basit bir iki kurala uydunuz. Mantıksız sql queryleriniz yok.
Sistem nginx ve php-fpm ile çalışıyor. Eğer makina yetersiz geliyorsa bundan sonra gideceğiniz memcache ile bir kısım veriyi sql den cacheye çekip oradan kullanmak.

Bu aşağı yukarı limittir, bundan sonra siteyi Google GO dili ile yazmak kalıyor ve bu extrem bir örnek. Yani bu kadar yükünüz varsa o na göre de geliriniz olmalıdır.
ulas2016 ve ASametYildirim bunu beğendi.
Cevap Yaz Favorilerime Ekle


Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > Programlama


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı




Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 11:41.