Archívum
december 4, 2018
Kép felbontása alapján változó "class" elem
Üdv.
Van egy adatbázisom, benne egy cikkek nevezetű tábla. A táblából kiolvasom az adatokat, amik a '$text' változóban rögzülnek,
Ezt vizsgálja a preg_replace, es keresi meg a képhivatkozásokat (<img>), hogy aztán ebből egy linket csináljon a kép címével, és a képnézegető várt class elemeivel. Szeretnén hogy az adott fv-be beszúrni egy feltételt, a kép felbontására vonatkozólag, vagy az is jó, ha a könyvtárat vizsgálja. De elég lenne csak annyi, hogy ezeket a kis képeket ne alakítsa át a függvényem hivatkozássà. Sőt, ez lenne a legjobb.
Hogyan tudnám átvariálni a kódom?
Előre is köszönöm a segítségeteket.
■ Van egy adatbázisom, benne egy cikkek nevezetű tábla. A táblából kiolvasom az adatokat, amik a '$text' változóban rögzülnek,
Ezt vizsgálja a preg_replace, es keresi meg a képhivatkozásokat (<img>), hogy aztán ebből egy linket csináljon a kép címével, és a képnézegető várt class elemeivel. Szeretnén hogy az adott fv-be beszúrni egy feltételt, a kép felbontására vonatkozólag, vagy az is jó, ha a könyvtárat vizsgálja. De elég lenne csak annyi, hogy ezeket a kis képeket ne alakítsa át a függvényem hivatkozássà. Sőt, ez lenne a legjobb.
Hogyan tudnám átvariálni a kódom?
Előre is köszönöm a segítségeteket.
function callbackFunction($matches)
{
$subPattern = '/(?<name>\w+)\s*=\s*(['"])(?<value>[^\2]*?)\2/is';
$resultPattern = '<a data-title="%s" class="example-image-link" data-lightbox="example-set" href="%s">%s</a>';
$title = "";
$href = "";
if (preg_match_all($subPattern, $matches[1], $subMatches))
{
foreach ($subMatches['name'] as $idx => $name)
{
switch (strtolower($name))
{
case "alt":
$title = $subMatches['value'][$idx];
break;
case "src":
$parts = explode("/", $subMatches['value'][$idx]);
$last = array_pop($parts);
array_push($parts, $last);
$href = implode("/", $parts);
break;
}
}
if ($href)
{
return sprintf($resultPattern, $title, $href, $matches[0]);
}
else
{
return $matches[0];
}
}
else
{
return $matches[0];
}
}
$pattern = '/<img\s+([^>]+)\/?>/is';
$text = preg_replace_callback($pattern, 'callbackFunction', $text);?>
<div class="text"> <?echo $text?></div>
december 3
Advent of Code 2018
Bar nem kapcsolodik szorosan a webfejleszteshez, de iden is van Advent of Code, aki szereti a kihivasokat, batran probalkozzon meg vele. Aki esetleg megosztana masokkal a sajat megoldasat, nyugodtan tegye meg itt, hatha masok tudnak tanulni belole.
■ december 2
Slider oldalbetöltés
Sziasztok, van egy blog.hu-s blogunk, ahonnan az egyik alap template-et próbálom egy kicsit cifrázni. Ami gondot okoz, az egy JQuery slider beépítése... vagyis hát van egy dolog, amit nem értek, mert alapesetben tök jól működik a slider, csak oldalbetöltésnél olyan, mintha egyszerre a slider összes elemét megmutatná és végig kell kattintani a 4 elemes slidert, hogy rendben beálljon a sorrend. Képekkel illusztrálva:
Oldalbetöltéskor (a hosszabb cím látszik a rövidebb mögött)
https://i.stack.imgur.com/d79SY.png
Alapesetben (végigkattintás után)
https://i.stack.imgur.com/O3b7m.png
Eddig csak CSS-ben és HTML-ben motoszkáltam.
Tudja esetleg valaki, hogy mi okozza a hibát és a megoldás rá?
■ Oldalbetöltéskor (a hosszabb cím látszik a rövidebb mögött)
https://i.stack.imgur.com/d79SY.png
Alapesetben (végigkattintás után)
https://i.stack.imgur.com/O3b7m.png
Eddig csak CSS-ben és HTML-ben motoszkáltam.
Tudja esetleg valaki, hogy mi okozza a hibát és a megoldás rá?
november 18
Na ezzel mit csináljak (feltörték a hálózatomat?) ?
Pár napja történt valami fura dolog a routeremmel, mert jó néhány percen át nem küldte a logját a log szerverre, a wifi is akadozott, aztán anélkül, hogy bármihez hozzányúltam volna, rendbe jött.
A logokban persze semmit sem találtam, elkönyveltem, hogy pillanatnyi elmezavar volt részéről, bár az már akkor furcsa volt, hogy etherneten miért nem tudta elküldeni a kernel log bejegyzéseit, de mindegy...
Egy vagy két nappal később a laptopomon a saját könyvtáramban kerestem valamit és egy ls -ltra kimenetében feltűnt, hogy valaki aznap piszkálta a .wget-hsts fájlt, holott már napok, hetek óta nem használtam wget-et. Keresgélek, de semmi érdemi dolog.
Ma belépek az indamail-es postafiókomba és egyetlen spam üzenetet leszámítva üres az egész.
Plusz érdekesség, hogy úgy négy-öt napja a linuxos opera vpn sem akar működni. Ez úgy néz ki, hogy bontom a kapcsolatot az ISP-vel, újrakapcsolódok, akkor pár másodpercen belül indítva az operát, kapcsolódik a szerverhez és működik. De ezt követően amint becsukom a böngészőt, többé nem indul el a vpn-je, csak "connecting..." állapotban marad. Kipróbáltam router nélkül is, úgy is ezt csinálja.
Biztosan én vagyok paranoiás, de ezek így együtt, egyszerre... ugyanakkor az össz "nyom" amit találtam, hogy a telepített csomagokat ellenőrizve (dpkg -V) a /etc/default/chromium-browser és a /etc/init.d/keyboard-setup fájlok hiányoznak...
Fingom sincs, mit tehetnék azon túl, hogy lenullázom az összes gépet és nulláról újraépítem mindet. (hiába van backup, ha tényleg feltörték, fogalmam sincs, mikor)
■ A logokban persze semmit sem találtam, elkönyveltem, hogy pillanatnyi elmezavar volt részéről, bár az már akkor furcsa volt, hogy etherneten miért nem tudta elküldeni a kernel log bejegyzéseit, de mindegy...
Egy vagy két nappal később a laptopomon a saját könyvtáramban kerestem valamit és egy ls -ltra kimenetében feltűnt, hogy valaki aznap piszkálta a .wget-hsts fájlt, holott már napok, hetek óta nem használtam wget-et. Keresgélek, de semmi érdemi dolog.
Ma belépek az indamail-es postafiókomba és egyetlen spam üzenetet leszámítva üres az egész.
Plusz érdekesség, hogy úgy négy-öt napja a linuxos opera vpn sem akar működni. Ez úgy néz ki, hogy bontom a kapcsolatot az ISP-vel, újrakapcsolódok, akkor pár másodpercen belül indítva az operát, kapcsolódik a szerverhez és működik. De ezt követően amint becsukom a böngészőt, többé nem indul el a vpn-je, csak "connecting..." állapotban marad. Kipróbáltam router nélkül is, úgy is ezt csinálja.
Biztosan én vagyok paranoiás, de ezek így együtt, egyszerre... ugyanakkor az össz "nyom" amit találtam, hogy a telepített csomagokat ellenőrizve (dpkg -V) a /etc/default/chromium-browser és a /etc/init.d/keyboard-setup fájlok hiányoznak...
Fingom sincs, mit tehetnék azon túl, hogy lenullázom az összes gépet és nulláról újraépítem mindet. (hiába van backup, ha tényleg feltörték, fogalmam sincs, mikor)
november 15
full stack webfejlesztő - mihez kell értenie?
Csak úgy elgondolkodtam... ha valakinek olyan hülye ötlete jön, hogy egyszemélyes webfejlesztő akar lenni, annak milyen ismeretekkel kell rendelkeznie?
Szerver oldali programozás, adatbázisok, HTML, javascript, mindezek mellé keretrendszerek ismerete...
Jól látom, hogy ez nem kezdőknek való? :)
ui: nem, nem akarok belevágni ilyesmibe, csak játszadozás közben kezd kuszává válni a dolog, mert felszínes ismeretekkel elég macerásnak tűnik.
■ Szerver oldali programozás, adatbázisok, HTML, javascript, mindezek mellé keretrendszerek ismerete...
Jól látom, hogy ez nem kezdőknek való? :)
ui: nem, nem akarok belevágni ilyesmibe, csak játszadozás közben kezd kuszává válni a dolog, mert felszínes ismeretekkel elég macerásnak tűnik.
november 1
Referrer spam - hallottatok már ilyenről?
Ez nekem új (volt).
Észrevettem, hogy a blogspot.com-on lévő blogomon szinte nulla forgalom mellett négy-öt pornó oldal szerepel havonta néhány alkalommal, mint a forgalom forrása.
Kicsit kiakadtam, mert azt hittem, valaki ott kommentelget úgy, hogy az én oldalamat adta meg sajátjaként. (nem, ennyire nem vagyok hülye :D)
Aztán ma ezt találtam.
Csak nekem új ez a spammelési mód vagy valóban valami újdonságról van szó?
Máshol egyébként még nem láttam, csak a blogspoton.
Vicces, a referrer spam-ról még a wikipedián is van cikk: Referrer spam
■ Észrevettem, hogy a blogspot.com-on lévő blogomon szinte nulla forgalom mellett négy-öt pornó oldal szerepel havonta néhány alkalommal, mint a forgalom forrása.
Kicsit kiakadtam, mert azt hittem, valaki ott kommentelget úgy, hogy az én oldalamat adta meg sajátjaként. (nem, ennyire nem vagyok hülye :D)
Aztán ma ezt találtam.
Csak nekem új ez a spammelési mód vagy valóban valami újdonságról van szó?
Máshol egyébként még nem láttam, csak a blogspoton.
Vicces, a referrer spam-ról még a wikipedián is van cikk: Referrer spam
október 31
Event table / queue / loop és a többiek
Sziasztok, kicsit elkezdtem utanaolvasni a JS engine mukodeserol es a bongeszovel valo kapcsolatarol. Par dolog vilagossa valt, de van olyan kerdes amirol egymasnak ellentmondo infokat talalok.
Most nagyon roviden leirnam, hogy eddig mire jutottam es mi az ami meg mindig nem vilagos szamomra.
Megkoszonem, ha valaki megerositene/cafolna az altalam leirtakat, es a kerdesekben barmilyen infoval szolgalna.
1. Maga a JS engine egyszalu, szinkron mukodesu (call stack LIFO), a bongeszoben futo JS mar kepes futni aszinkron modon.
2. A JS kornyezet resze (ami biztos): a heap es a call stack
3. *Az event queue-ban nem vagyok biztos... Ez a JS engine vagy a browser resze?
4. Az aszinkron mukodest a bongeszo segit megvalositani, melynek resze a browser API-k (pl. timer) es melyben implementalva van az event loop is.
5. Az event table a browser API-resze.
6. *Ha az event queue a JS engine resze, akkor az hogy tud mukodni event loop nelkul, ami mar nem az JS engine resze. Tudtommal az event loop pakolja a stack-re a queue-ban levo taszkokat. Esetleg van valami nagyon egyszeru mechanizmus implementalva az engine-n belul, ami kezeli a queue-t es a browser ezt kiegesziti vagy felul definialja?
■ Most nagyon roviden leirnam, hogy eddig mire jutottam es mi az ami meg mindig nem vilagos szamomra.
Megkoszonem, ha valaki megerositene/cafolna az altalam leirtakat, es a kerdesekben barmilyen infoval szolgalna.
1. Maga a JS engine egyszalu, szinkron mukodesu (call stack LIFO), a bongeszoben futo JS mar kepes futni aszinkron modon.
2. A JS kornyezet resze (ami biztos): a heap es a call stack
3. *Az event queue-ban nem vagyok biztos... Ez a JS engine vagy a browser resze?
4. Az aszinkron mukodest a bongeszo segit megvalositani, melynek resze a browser API-k (pl. timer) es melyben implementalva van az event loop is.
5. Az event table a browser API-resze.
6. *Ha az event queue a JS engine resze, akkor az hogy tud mukodni event loop nelkul, ami mar nem az JS engine resze. Tudtommal az event loop pakolja a stack-re a queue-ban levo taszkokat. Esetleg van valami nagyon egyszeru mechanizmus implementalva az engine-n belul, ami kezeli a queue-t es a browser ezt kiegesziti vagy felul definialja?
október 30
SCSI tároló csatolása PC-hez
Sziasztok!
kép
A csatolt képen látható módon csatlakoztattam egy AXUS Demon 3U storage szervert egy ATTO SCSI kártyához egy PC-ben.
A kártya nem látja a Storage-et csatlakoztatva, valamint Debian alatt is hiába kérek SCSI scannelést, nem látszik a tároló.
Terminátorokat nem használtam, nincs is jelenleg kéznél ilyen, csak az az egy kábel, aminek az egyik vége HD50, a másik VHDCI.
Nem használtam korábban semmilyen SCSI eszközt, így fogalmam sincs, hogy egyáltalán jól csatlakoztattam-e.
Tudnátok tanácsot adni, merre tovább?
Köszönöm előre is!
■ kép
A csatolt képen látható módon csatlakoztattam egy AXUS Demon 3U storage szervert egy ATTO SCSI kártyához egy PC-ben.
A kártya nem látja a Storage-et csatlakoztatva, valamint Debian alatt is hiába kérek SCSI scannelést, nem látszik a tároló.
Terminátorokat nem használtam, nincs is jelenleg kéznél ilyen, csak az az egy kábel, aminek az egyik vége HD50, a másik VHDCI.
Nem használtam korábban semmilyen SCSI eszközt, így fogalmam sincs, hogy egyáltalán jól csatlakoztattam-e.
Tudnátok tanácsot adni, merre tovább?
Köszönöm előre is!
október 26
AJAX hívás után select értéke nincs a POST-ban
Sziasztok
A problémám továbbra is fennáll mégiscsak.
Egy form-on belül van 1 SELECT menü és két először DISABLED SELECT.
Első SELECT vátozás hatására meghívódik a lenti AJAX kód:A div tartalma AJAX előtt:Ajax hívás után:És amint az látható a két eredetileg DISABLED div (#oktato_elso és #rendszam_elso) tartalma átvált egy-egy választható SELECT menüre. Ezekben is kiválasztom a megfelelő oktatót és rendszámot, majd nyomok a küldés gombra.
Az #iskola_id SELECT értéke ott van a POST-ban de az oktato és rendszam nem létezik.
Annyit még hozzáteszek, hogy 10 iskola SELECT van az oldalon, de mindnek egyedi az azonosítója, és mind egy-egy form
Mi lehet a baj?
■ A problémám továbbra is fennáll mégiscsak.
Egy form-on belül van 1 SELECT menü és két először DISABLED SELECT.
Első SELECT vátozás hatására meghívódik a lenti AJAX kód:
$( "#iskola_id" ).on("change", function() {
var valasztott_id = $(this).val();
$.ajax({
method: "post",
url: "select_oktato.php",
data: { id: valasztott_id },
})
.done(function( data ) {
$("#oktato_elso").html( data );
})
});
$( "#iskola_id" ).on("change", function() {
var valasztott_id = $(this).val();
$.ajax({
method: "post",
url: "select_rendszam.php",
data: { id: valasztott_id },
})
.done(function( data ) {
$("#rendszam_elso").html( data );
})
});
<div id="oktato_elso">
<select class="form-control" id="oktato_id" disabled>
<option>Válassz iskolát</option>
</select>
</div>
<div id="oktato_elso">
<select class="form-control" id="oktato_id" name="oktato_id">
<option value="0" selected="selected">Válassz oktatót</option><option value="50">Ősz Ferenc</option>
</select>
</div>
Az #iskola_id SELECT értéke ott van a POST-ban de az oktato és rendszam nem létezik.
Annyit még hozzáteszek, hogy 10 iskola SELECT van az oldalon, de mindnek egyedi az azonosítója, és mind egy-egy form
Mi lehet a baj?
Media query-k
Sziasztok!
(Nem vagyok webprogramozó, "tudásom" 100%-a Google és fórumok, szóval kélek legyetek velem elnézőek! köszi!)
Egy responsive weboldalt szeretnék készíteni. Elég sokat olvasgattam, hogy a media query-kel mik az optimális / legelterjedtebb töréspontok, de ezer-féle elképzelést találtam, így kissé elbizonytalanodtam.
Én erre gondoltam: @media only screen and (max-width: 1024px, 768px, 480px), 300px alá pedig ne menjen.
Ultra kicsi felbontású kütyükre nem optimalizálnék, mint pl.: okosórák meg a szomszéd mikrosütője, a "klasszikus" eszközökön legyen használható (számítógép / laptop / tablet / okosteló). Az oldal tartalma alapján ennek van értelme.
Ti milyen töréspontokat javasoltok?
Illetve érdemes-e beállítani minimális / maximális szélességet és ha igen, mekkorát?
■ (Nem vagyok webprogramozó, "tudásom" 100%-a Google és fórumok, szóval kélek legyetek velem elnézőek! köszi!)
Egy responsive weboldalt szeretnék készíteni. Elég sokat olvasgattam, hogy a media query-kel mik az optimális / legelterjedtebb töréspontok, de ezer-féle elképzelést találtam, így kissé elbizonytalanodtam.
Én erre gondoltam: @media only screen and (max-width: 1024px, 768px, 480px), 300px alá pedig ne menjen.
Ultra kicsi felbontású kütyükre nem optimalizálnék, mint pl.: okosórák meg a szomszéd mikrosütője, a "klasszikus" eszközökön legyen használható (számítógép / laptop / tablet / okosteló). Az oldal tartalma alapján ennek van értelme.
Ti milyen töréspontokat javasoltok?
Illetve érdemes-e beállítani minimális / maximális szélességet és ha igen, mekkorát?