Eğer bir eleman'a position tanımlaması yaparsan o eleman varsayılan box model'inin dışına çıkmış olur.
Bu ne demek?
Normalde elemanlar display tanımlamasına göre box modelleri değişir. Örnek block bir elemanın her zaman yeni satırda (eski block olan elemanın altında) oluşmasını sağlar.
position verdiğin an bu tanım ortadan kalkıyor. Normalde alt alta olması gereken yapı üst üste binmeye başlar. position kullanacaksan parent div'in spesifik bir height width'i olması gerek veya direkt position kullanma :)
position neden tercih edilir ? Eğer bir eleman sayfanın herhangi bir yerinde (veya bir parent'ı baz alarak) konumlanacaksa veya sabitlenecekse kullanılmalı
Ekstra olarak padding veya marginlerde % kullanmamalısın. Bunun yerine rem veya em'i kullanabilirsin
Bu fiyatlar kişiden kişiy değişir. Ben 1000tl altı işleri dinlemiyorum bile. Fiyatını tecrübene ve projeye göre vermelisin. Sırf bir iş almak için ölücü yaklaşmayın. Bionluk juniorların kol gezdiği bir site oraya çok aldanmayın
Php 'yi sadece rest api olarak kullanabilirsin. Rest apiyi php yerine nodejs ile yapsan daha sağlıklı olabilir veya direkt next.js öğren. Php kullanmadan sadece react ile işini çözersin
Footer'a fixed vermemelisin. Fixed sayfa içerisinde herhangi bir konumda olmasını söyler ve yüksekliğini devre dışı bırakır. Fixed vermen gerekiyorsa altta kalan kısıma margin-bottom:100px vs vererek footer'ın genişliğini alttan aldırabilirsin
const arr = ["Birinci Eleman", "İkinci Eleman", "Üçüncü Eleman"];
const targetDiv = $("#dizi-buraya");
let index = 0;
const delay = 1500
function showNextElement() {
if (index < arr.length) {
targetDiv.html(arr[index]);
targetDiv.fadeIn(delay);
setTimeout(function() {
targetDiv.fadeOut(delay, function() {
targetDiv.empty();
index++;
showNextElement();
});
}, delay);
}
}
showNextElement();
php kullanıyorsan session ile saklayarak yönetebilirsin,ama en mantıklısı id referansı olarak db'de yeni bir kolon açıp db isteklerinde id referansına göre filtreler vs yapabilirsin
setInterval'i clearInterval ile sonlandırabilirsin. Örnek olarak
let interval = setInterval(callback,time) //setIntervalin son id'sini interval adli değişkene atadık.
clearInterval(interval) //clearInterval senden setInterval'in son id'sini istiyor.Onu verdiğinde durdurabilirsin.
httpOnly cookie'sini browserda yani clientta görüntüleyemezsin. Sadece backend'de bunu yakalayabilir veya erişebilirsin bunun içinde backendinin cookie ayarlarının açık olması gerek.
Envato'nun urlsini baz alarak anlatacağım çünkü bende öyle bir yapı kullanıyorum.
const url = "nody-react-react-js-landing-page-template-N2JTWYQ"
const urlToArr = url.split("-")
const id = urlToArr.at(-1)
const slug = urlToArr.slice(0,-1).join("-")
const product = await fetch(id) //Burada id'e göre ürünü getirdik
if([product.slug,product.id].join("-") !== url){
// Eğer bu koşula giriyorsa kullanıcı yanlış slugda
navigate([product.slug,product.id].join("-")) // olması istenilen url'e kullanıcıyı yönlendirdik
}
// Burada ise slug ve id doğru kısımdadır demektir , işlemlerine devam edebilirsin
Yukarıda verdiğim örnekte değişken isimleri vs kendine göre düzenlemen gerek. Mantığını anlatmaya çalıştım
İlk öncelikle araştırman gereken ssh bilgilerini veren bir hosting bulman gerek.
Ssh bilgileri bilgisayara uzaktan bağlantı kurmanı sağlayan bilgileridir.Bunun temel sebebi hosting'e nodejs kurman gerek. Nodejs kurduktan sonra dosyalarını ftp ile atacaksın. Ssh ile sunucuna bağlanarak attığın dosyaların dizinine gidip package.json olan dizinde gerekli paketlerini kur. PM2 paketini de kur. Bu paket senin yerine bir nodejs uygulaması çalıştırıp saklı tutacaktır. PM2 ile nodejs uygulamanı çalıştır ve bitti