ugrás a tartalomhoz

Archívum

december 4, 2018

Kép felbontása alapján változó "class" elem

athlonator · 2018. Dec. 4. (K), 18.02
Ü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.

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

MadBence · 2018. Dec. 3. (H), 00.05
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

20legendd · 2018. Dec. 2. (V), 17.45
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á?
 

november 18

Na ezzel mit csináljak (feltörték a hálózatomat?) ?

mind1 valami név · 2018. Nov. 18. (V), 14.13
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)
 

november 15

full stack webfejlesztő - mihez kell értenie?

mind1 valami név · 2018. Nov. 15. (Cs), 10.33
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.
 

november 1

Referrer spam - hallottatok már ilyenről?

mind1 valami név · 2018. Nov. 1. (Cs), 12.06
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
 

október 31

Event table / queue / loop és a többiek

mahoo · 2018. Okt. 31. (Sze), 10.57
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?
 

október 30

SCSI tároló csatolása PC-hez

sandrosdj · 2018. Okt. 30. (K), 12.19
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!
 

október 26

AJAX hívás után select értéke nincs a POST-ban

MrNemo · 2018. Okt. 26. (P), 19.26
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:
  $( "#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 );
    })
  });
A div tartalma AJAX előtt:
<div id="oktato_elso">
<select class="form-control" id="oktato_id" disabled>
<option>Válassz iskolát</option>
</select>
</div>
Ajax hívás után:
<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>
É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?
 

Media query-k

Dinnye · 2018. Okt. 26. (P), 13.40
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?