Új hozzászólás Aktív témák
-
-
-
-
-
-
-
-
-
Igen, célszerű az adatot JSONban leküldeni a kliensnek, és kliens oldalon React/Vue vagy valami hasonlóval generálni a HTMLt.
Szerencsére ahogy értelmezem ez nem egy örökölt projekt ahol van sokezer sor HTML generáló kód backenden.
De minden azon múlik hány különböző oldalt kell generálnod, és mennyire értesz ezekhez a frontend frameworkokhöz.
Ha csak egy oldalt kell generálni, és csak PHPhoz értesz, akkor lehet jobban jársz egy Twig/Blade megoldással mint ezért szenvedni egy frontend frameworkkel, habár nem túlságosan nehezek. -
-
-
Ha szeretsz sajtreszelővel .........
Pontosan az elmicsodálástól véd egy megfelelően használt composer.lock és package-lock.json.
A megfelelő alatt azt értem, hogy paranccsal installálsz új packaget, nem kézzel szerkeszted a jsont, és mindig az install módot használod az update helyett és akkor a lockfileból dolgozik, és nem lesz elmicsodálva.
-
Igen, erre az axiosra gondoltam.
Ha beledobsz még valami bundlert is a képletbe, mondjuk webpack, (de azt hiszem az helyett is van már valami más ajáblott) akkor még szebb lehet a kód. Then és catch helyett könnyebben kezelhető async/await is haszálható.Ajánlom figyelmedbe a JavaScript topikot, ott többet tudnak segíteni JS témában.
A w3wchools helyett inkább a Mozilla Developer Network és a php.net ajánlott.
-
-
-
Küldd le a lekérdezés maximum számosságát (SELECT COUNT(id) FROM table ...) is a kliensnek, így az tudni fogja mikor ért a végére.
Vagy a kliens csak egy oldalszámot küldjön, és te kiszámolod a limitet és offsetet szerveroldalon, és még leküldöd azt is, hogy van e tovább.
Vagy egyszerűen csak küldj le egy üres tömböt, ha a végére ért, így tudni fogja, hogy ne kérjen többet.
Esetleg a stackoverflowon is nézz körül ötletekért infinite scroll és pagonation témában.
-
-
Csupán annyi a bajom vele, hogy a parameter binding sokkal kevésbé macerás mint escapelt stringeket összefűzögetni.
[link]Az EMULATE_PREPARES pedig nem véletlenül nincs bekapcsolva alapból.
Az numeric értékeket stringként küldi el az adatbázisnak, így az összes numeric index megy a kukába. -
-
-
-
-
Minden hónapban felvesznek valami mid és junior közti fejlesztőt, és mindemellett senkit nem rugnak ki.
Egyszerűen nem értem, hogy hogy a fenébe van bevétele a cégnek, ha egyfolytában valami elromlik, és kézi rásegítéssel kell átrugdalni a rendszert a hétvégéken.
A túlórát le lehet csúszni, ritkább esetekben kifizetik előzetes megegyezés alapján.
A foreign key ismeretlen fogalom, de bekapcsolni sem lehet, mert annyira alacsony minőségű az adat, hogy a foreign táblában van rengeteg olyan rekord amihez a forrástáblában nincs adat, így FK kilőve.
Indexek voltak 1-1 oszlopon, de jellemzően 3-4 oszlopos WHERE feltételek vannak a lekérdezésekben.
Csináltam 3-4 oszlopos indexet, erre kiderült, hogy az adatbázis mező az varchar, de a rendszer integerként küldi az értéket a queryben. Ekkor az adatbázisnak castolni kell többmillió rekordot integerre, hogy le tudja futtatni a lekérdezést.
Castolással 30 mp, castolás kényszerítése nélkül helyesen stringként használva a mezőt a queryben lefut ugyanaz 300 ms alatt.Van egy olyan agyrém, hogy minden kliensnek (cégek) van egy külön táblája
, amiben minden van. Az ügyfelektől kezdve a rendelésekig minden.
És van kb 200 (!!!) ilyen tábla.
Skálázhatósági mennyország.De a főnök már Kubernetesről álmodik
.
Mondanom sem kell, bevallja magáról, hogy nem tech szakember, nem ért hozzá, csak ömlik belőle a megvalósíthatatlan ötletek sorozata.Mondtam neki, hogy minimum 6-12 hónap amit kér, de van egy nagydumás kolléga aki eladja a főnöknek a szép álmokat. Mindent megigér péntekre és hónap végére. Minden héten péntekre és minden hónap végére, amiből soha nincs semmi kézzelfogható vagy használható eredmény.
És amikor mondom, hogy egy kamugép az ürge, még engem néz hülyének a főnök.Tuti bestseller lenne az a könyv, ha megírnám
-
-
-
-
Eszembe jutott, hogy attól, mert nagy az adatbázis és trükközni kell, attól még talán mégis érdemes lenne külön szerverre tenni, és leválasztani a PHP-t futtató szerverről, így lenne esély ugyanazt az adatbázist használni több PHP szerverről.
Vagy abszolút nem megvalósítható?
-
PHP alábecslést arra alapozom, hogy blocking végrehajtást alkalmaz, szemben mondjuk a Node.js-sel.
Illetve adatbázis kapcsolatok kezelése elég pazarló PHPben, mert minden lekérdezés egy új adatbáziskapcsolatot kell, hogy nyisson, szemben egy olyan alkalmazással ami önmaga kezeli a lekérdezéseket és tudja menedzselni az adatbázis connection poolt, így kevesebb kapcsolódással újra tudja hasznosítani a kapcsolatokat több egymástól független lekérdezéshez.
-
A Facebooknál dolgozol, vagy hol van ekkora terhelés ami ilyen egyedi megoldásokat kíván és ráadásul PHPben?
Esetleg a Redis opció lehet a több tábla helyett?
Vagy esetleg táblapartícionálás? Clustering, sharding?Miért kellene több loadbalancer? Egy loadbalancer feladata, hogy minimális overheaddel továbbítsa a lekérést. Kell neki sok CPU, RAM, és jó nagy sávszél, aztán mehet. Jobb helyeket van menedzselt loadbalancer ahol neked nem kell foglalkoznod a méretezéssel.
-
-
Ezt úgy hívják sticky-session, és a loadbalancernek kell támogatnia. Így minden requestet ugyanarra a szerverre fog irányítani ahová a legelsőt irányította amit az adott klienstől kapott.
Javaslom ne szórakozz a session nevek befolyásolásával. Nagyon mély gödör, és csak még több fejfájást generálnál magadnak.
Gyanítom azért van erre szükséget mert mindegyik szervereden fut egy-egy adatbázis másolat.
Erre az a megoldás, hogy minden szerveredről ugyanazt, a központi adatbázist használod, így mindegy melyik szerver kapja a kérést, a sessionok egy helyen, az adatbázisban lesznek. Extra haszonként még azt is megkapod, hogy bármikor lecserélheted bármelyik szervered adatvesztés nélkül. -
-
-
válasz
disy68 #20205 üzenetére
Osztoznak, persze.
De pontosan ezért fizetsz, hogy ezt figyeljék, és fenntartsák az IP reputációját.És mivel hitelesítve van az email a korábban említett módokon, végső soron a domain kerül tiltólistára, nem az IP.
Hiszen az adott IPről érkező levelek mondjuk 0.1%-a kerül mondjuk spamnek jelölésre, viszont az adott domain mondjuk 20-30%-a, hiába jön több IPről, akkor a spamfilterek szépen kiszűrik az egész domaint.Illetve ott hasal el az egész dolog, hogy ezeknek a küldőknek a szerződésében benne van, hogy tilos a spam. Ha valaki spammelésre használja, kitiltják.
De leginkább el sem jutnak eddig, hiszen nem biznisz fizetős spamet küldeni.Olcsóbb feltört szerverekről scripttel küldeni.
És akkor itt vissza is érkeztünk a start mezőre.
Ne küldj szerverről emailt, mert zéró reputációd van. -
Nem egészen ilyen egyszerű.
Nem mindegy milyen szerverről, és hogyan küldik az emailt.Azok a szerverek kifejezetten megbízhatónak vannak jelölve a spam adatbázisokban.
A saját szerverrel az a gond, hogy semmilyen adatbázisban nincs benn az IP címe. Itt már kap egy fekete pontot az email.Aztán nézz utána az SPF, DKIM, DMARC és kapcsolódó kulcsszavaknak, amelyek segítik a címzett kiszolgálót abban, hogy megállapítsa tényleg a feladó domain tulajdonosa küldte-e az emailt, vagy csak valaki spoofolja a feladót egy random szerverről.
Ezek a szolgáltatások aláírják a kimenő emailt egy kulccsal amit egy domain TXT rekord alapján vissza tud ellenőrizni a címzett.
És persze az sem mindegy, ha a te domainedről küldesz mondjuk 100 emailt gmailes címekre abból egyvalaki rákattint a spam gombra. Máris 1% spam értéke van az IP címednek. A fizetős szolgáltatások pedig milliós nagyságrendben küldenek, tucatnyi IPről. Egy-egy spam jelölés nem nagy gond.
Gondolod, hogy csak a hülye, lusta, pénzes embereknek találták ki őket?
Javaslom nézz utána az email deliverability témakörnek.
-
-
-
-
válasz
radi8tor #20176 üzenetére
Értem.
Viszont ezzel azt kockáztazod, hogy jövőre darabjaira hullik a rendszer amikor a szervert 7.4re frissíted.PHP verziók életciklusa: [link]
A 7.3 támogatása kicsit több mint 1 hónap múlva megszűnik, és csak biztonsági frissítéseket fog kapni még egy évig.
Tehát legkésőbb jövő ilyenkor lesz egy nagyon erős fejfájásod a 7.4 miatt.
Ha nem lehet frissíteni a frameworkot ami a te esetedben az OpenCart akkor fennáll a veszélye, hogy a 7.4-en még jobban széthullik, és még többet kell majd hackelned.
Ha van ráhatásod a szervere, akkor egyenesen 7.4-re frissítenék. Ha nincs, akkor részvétem az üzemeltetőd miatt aki a support vége előtt 1 hónappal aktiválja a verziót.
Az már csak hab a tortán, hogy a korábbi 7.1-hez már 1 éve biztonsági frissítés sem volt, és az aktív támogatása is lejárt 2 éve.Ezzel a sebességgel a 7.4-es problémák is majd csak 2 év múlva fognak előjönni. Ha addig meg nem hackelik a rendszered egy OpenCart vagy PHP rés kihasználásával.
Tartsd szárazon a puskaport és legalább adatbázis mentésed legyen.
-
Milyen PHP verzió volt korábban?
Tippre 7.1, mert ez a változás a countban a 7.2 verzióval került be: [link]Röviden a lényeg, hogy a változó csak array vagy olyan object lehet ami implementálja a Countable interfészt.
Tehát se string, se integer, se null, semmi más.
Sajnos a korábbi verziókon futó rendszerekben elég népszerű volt a count használata random dolgokra és működött mert hibás viselkedés volt implementálva a futattókörnyezetben. Régebbi PHP verziókban ez jellemző.
Ráadásként mivel a PHP dinamikus nyelv, és a fejlesztők előszeretettel hagyják ki a típusdefiníciókat, így még statikus analízissel sem lehet megtalálni ezeket a hibákat, csak futásidőben ugranak elő.
Persze tesztek írásával is meg lehet találni ezeket, de PHPben senki nem ír tesztet sajnos.Ez milyen rendszer?
Teljesen egyedi, vagy valami kész framework?
Tudod frissíteni a frameworkot? Vagy ez a saját kód a frameworkon felül? -
-
-
-
-
-
-
válasz
Agostino #20133 üzenetére
CSAK leárazva szabad ott bármit venni 10 USD/EUR körül.
Az eredeti árak kicsit magasak ahhoz, hogy egy random indiai akcentust hallgass. Persze vannak egész kiváló minőségű, amerikai akcentussal beszélő oktatók is.
Értékelés szerint kell listázni, és amin van több TÍZEZER csillag, azt vedd meg az első 3-5 közül.
-
-
-
-
-
-
Netflix hogy csinálja?
Ott is limites az egyidőben élő streamek száma és még a pozíciót is megjegyzi.Custom streaming server implementáció szóba jöhet? Vagy esetleg valami plugint/proxyt lehet készíteni a streaming serverhez? Valamiféle APIn keresztülnlehet vele beszélgetni?
-
-
-
-
-
-
válasz
wibemm #20077 üzenetére
Szia,
Mindig === t használj a == helyett.
Soha ne használd a @ operátort, mert némítja a hibákat, azokat pedig kezelni vagy megelőzni kell.
Használd PDOt a mysqli helyett, a mysqli elavult.
Ne echozd a $queryt.
Használj parameter bindinget (kérdőjelek) mert így lehet injektálni az SQLt.
Ha kódot illesztesz be, kérlek használd a kód formázást.
-
-
-
-
-
-
-
-
-
-
-
-
-
válasz
zsolti_20 #19886 üzenetére
Nem lenne egyszerűbb és kényelmesebb egy VPN-re előfizetni ami a hálózati tiltásokat kikerüli?
Hiszen a saját kis chatedet is futtani kell valahol hacsak nem serverlessben gondolkodsz.
Esetleg arra nem gondoltál, hogy okkal van tiltva a közösségi média mondjuk adatszivárgást megelőzendő? -
válasz
Pulsar #19882 üzenetére
A
fetch_assoc
az asszociatív tömbbe adja vissza az eredményt, tehátCOUNT
olt tartalmatAS
kulcsszóval el kell nevezni valami értelmesre.
Afetch_row
adja vissza indexelt tömbbe az eredményt, ahol már használható arow[0]
és társai, de az asszociatív tömbös megoldás a preferált a rugalmassága miatt, mert a lekérdezéshez való új oszlop hozzáadása esetén sem csúsznak el az indexek. -
-
-
-
-
válasz
bhonti #19860 üzenetére
Úgy ésszerű.
Minek szenvedni egy ilyen struktúrájú fájllal?
Többes egyidejű írás hazavágja a fájlt, lockolással pedig letérdel a rendszer.
Bele sem megyek a részletekbe.2020 küszöbén aki fájlban tárol usereket az egy hol élt az elmúlt 20 évben?
Az olyan ember egyéb galádságokra is képes, mint pl a plaintext jelszavak, world read permisson az "adatbázis fájlra" és hasonlók. -
-
-
-
Új hozzászólás Aktív témák
Hirdetés
- Új - Macbook Pro 13" M1 - 2020, 16GB RAM, 1 TERA, touchbar - Apple garancia (106)
- Macbook Pro 13" M1 - 2021 gyártás, 16/512GB, touchbar - garancia (56)
- Macbook Pro 13" M1 - 2021 gyártás, 512GB, touchbar - garancia (63)
- Apple iPhone 12 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Cooler Master CK550 RGB mechanikus (barna switch/magyar kiosztás)
- Bowers/Wilkins PX8 fejhallgatók (dupla Bluetooth eszköz csatlakoztatása!) - ELKELTEK
- PROCASTER 40UNB700 40" 101cm televízió + Számla + Garancia
- Lenovo Thinkpad T14 üzleti i5-10310u 10th gen. 8-32Gb RAM 256GB-1TB SSD gar.
- BESZÁMÍTÁS! MSI B550M R7 5800X 32GB DDR4 512GB SSD RX Nitro+ 6700XT 12GB Corsair 4000D ASUS ROG 650W
- Samsung Galaxy A52s 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest