ugrás a tartalomhoz

Archívum - Szep 2012 - Fórum téma

szeptember 9

Objektum v. elemi adat?

eddig bírtam szó nélkül · 2012. Szep. 9. (V), 19.49
Azon töröm a fejem, hogy ha van egy osztályom, amelyet adatstruktúraként használok, akkor a benne lévő, logikailag elemi adatokat miképp kezeljem?
(Tiszta kódot olvastam már megint, de nem találom azt a részt, ahol szóba került, hogy egy objektum lehet adattároló is, spec. metódusok nélkül, de akkor csak adatokat publikáljon, vagy lehet olyan, ami pl. üzleti logikát valósít meg, de annak ne legyen publikus változója, csak metódusai)

Valóban legyenek elemi adatok és maga az osztály feleljen azért, hogy csak validált értékek kerülhessenek az egyes változókba?
Vagy az egyes, elemi adatokat tartalmazó változók maguk is objektumok legyenek, amelyek önmagukat képesek ellenőrizni?
Van erre is valamiféle "előírás" az objektum orientált programozással kapcsolatban?

Programnyelvet szándékosan nem említettem, de pl. java-ban, PHP-ben ennek inkább lehet jelentősége, mint egy olyan nyelvben, mint a python v. a ruby, ahol minden objektum, így kevésbé okoz lelki problémát a döntés.
 

szeptember 8

Vélemények a weblapomról

almasiweb · 2012. Szep. 8. (Szo), 19.50
Üdv!
Az lenne a kérésem hogy értékeljétek a weblapomat, és szerintetek mit kéne rajta változtatni?
Weblapom: gtapdss.tk
Köszönöm előre is!
 

szeptember 7

form küldése while ciklusból

szobek · 2012. Szep. 7. (P), 10.00
Sziasztok!

Egy kis segítségre lenne szükségem.

Realpath bugos

inf3rno · 2012. Szep. 7. (P), 01.11
Üdv.

PHP 5.2.17-ről van szó a mediacenter-nél.

Van egy olyan gondom, hogy feltöltök egy képet http-vel, és szeretném a temp könyvtár elérési útját lekérdezni, mert átméretezem a fájlt, és az átméretezett képeket is a tempbe tenném ideiglenesen. A feltöltött fájlok a /tmp-be mennek. Realpath-et használok útvonal normalizálásra, a gondom a következő:

realpath('/tmp') -> '/tmp'
realpath('/tmp/..') -> '/'
realpath('/tmp/tmp-uploaded-file') -> '/tmp/tmp-uploaded-file'
realpath('/tmp/tmp-uploaded-file/..') -> false 
Van bármi ötlet, hogy ez hogy fordulhat elő?

(Valszeg megkerülöm a .. helyett a fájlnév levágásával, de érdekelne, ha van erre magyarázat.)
 

szeptember 6

feltört honlap

unregistered · 2012. Szep. 6. (Cs), 14.47
Sziasztok!

Először is nincs baj, csak kíváncsi vagyok a dologgal kapcsolatban, mert nekem ez az első ilyen élményem...

Egy régi teszt honlap fent maradt az egyik tesztelésre szánt tárhelyen. Most kb egy év után visszanéztem rá hogy letöröljem mert majd újra szükség lesz rá és észrevettem pár gyanús mappát, file-t amit tuti nem én hoztam létre (mindenkinek saját teszt tárhelye van tehát nem lehetett kolléga sem).
Az érdekesség az hogy biztos nem FTP-vel töltöttek fel rá, ugyanis a log nem írt semmit azóta hogy abba maradt a munka, sem FTP-re sem a tárhely admin felületére történő belépésre (a logot meg nem manipulálhatták mert az a szolgáltató admin felületén érhető el és nem törölhető).

Ami érdekes volt hogy találtam pár filet (ezeket INNEN le is tölthetitek elemzésre) amik meglepő tartalommal bírtak.
Pl az egyik (c nevű kiterjesztés nélküli) fileban egy php kiíratási parancs van elég fura módon.
Egy másikban (c.php) egy file feltöltési log, a többiben meg még durvább (c100.php és bd.bph) meg egy komplett tárhelyet kilistázó/kezelő alkalmazás... a title-ben annyi van hogy "www.unlouppourlhomme.com - Hackerlar.net"...

A honlapról annyit hogy teljesen mentes volt mindet input védelemtől (mivel tényleg csak arra volt használva hogy ne az ügyfél tárhelyén baromkodjunk).
Amit lehetett csinálni az oldalon hogy egy nagyon kezdetleges admin felületbe be lehetett lépni (mondjuk ennek a jelszava meghaladta a "jelszó123" szintjét és legalább ennek volt egy minimális védelme injection ellen) majd ott egy-egy termékfotót illetve termékleírást lehetett felölteni-törölni-módosítani. (a termékfotóknál volt még annyi ellenőrzés hogy csak gif-et, jpeg-et és png filet engedett feltölteni)

A kérdésem az hogy valakinek ismerős a bejutási mód, illetve hogy vitelezhette ki a file feltöltést és a bejutást?

Előre is köszönöm!
 

Google Chrome érintés esemény nem működik

haho · 2012. Szep. 6. (Cs), 05.45
Azért ebbe a kategóriába tettem a kérdésem, mert JavaScript segítségével készítettem saját gördítősávot az oldalamra.
Ez normál "nem érintőképernyős" gépen rendesen működik is. De beszereztem egy érintőképernyős gépet is amin win7 fut (Dell Inspiron Duo - nem tudom okozhatja-e a problémát az, h ez a gép egy hibrid, tehát érintéssel és egérrel is használható, de szerintem nem ezzel lehet gond).
Kipróbáltam az oldalam tehát érintőképernyőn is. Azon pc-re szánt böngészőkben amik nem ismerik fel semmilyen módon az érintés eseményeket (touchstart/touchmove/touchend), tehát lényegében a google chrome-on kívül jelenleg az összes böngészőben szintén jól működik az oldal.

ÉS ITT JÖN A BAJ:
A google chrome pc-s verziója azonban felismeri az érintés eseményeket, nem pedig az egéreseményeket cseréli le. És itt a baj. Mert a touchmove esemény nem működik! A kattintások működnek és az érintés kezdetét és végét is felismeri. De az ujj mozgást nem! Emiatt tehát google chrome-ban érintőképernyőn nem működik az oldalamon a görgetés.

A helyzet az, hogy alaposan utánanéztem. Minden megoldást kipróbáltam. De tényleg semmivel nem tudtam rávenni a chrome-ot az ontouchmove működésére. Azt hittem én vagyok a béna, de aztán jött a felismerés, amin csak nevetni tudtam: a google saját weboldala a www.googleartproject.com saját gördítősávja pont ugyanúgy nem működik mint az enyém, ami itt látható: www.moviestouch.com.

Mit lehet ezzel kezdeni? Lehet ezt valahol jelenteni a google-nek hátha kijavítják? Egyáltalán lehet mondani, hogy ez a google hibája? És ha igen, hogy követhetett el ilyen bakit? Vagy van esetleg JavaScript megoldás ami ezt a problémát kiküszöbölheti (bár gondolom akkor a google is alkalmazta volna már a saját oldalán, de ki tudja)?

ÖSSZEFOGLALVA: Tehetek valamit azon kívül, hogy magát a felületet változtassam meg (és egyéb drasztikus megoldások)?
 

szeptember 5

HTML tag lezárásának vizsgálata

miki999 · 2012. Szep. 5. (Sze), 19.15
Üdv!

Nos az lenne a problémám, hogy egy blogszerű oldalon a hosszú bejegyzéseket szeretném lerövidíteni és egy egyszerű "tovább" linkkel megjeleníteni a teljes bejegyzést...

nomármost ezt sikerült is úgy, ahogy megcsinálni... egyszerűen js-el módosítottam az adott html tag innerHTML-jét...
mivel a bejegyzések egy sql táblából töltődnek be és phpvel rövidítem le őket(simán ha 500 karakternél hosszabb, akkor csak az első 500-at írom ki és rögtön utána oda rakom a linket, h "... tovább-->"), ezért nem lehet tudni, hogy pontosan hol fogja levágni a bejegyzés végét.. konkrétan a probléma ott van, hogy a bejegyzések tartalmaznak html tageket és ha pont kettévág mondjuk egy táblázatot, akkor teljesen összekuszálódik az oldal..

az első gondolatom az volt, hogy vhogy detektálni kéne a lezáratlan tageket és egyszerűen lezárnám őket még mikor phpvel megcsinálom a lerövidítést.. és hát itt akadtam meg, mert nemakarom egyesével leellenőrizni, az összes taget, hogy benne van-e a bejegyzésben és ha benne van, vajon le van-e zárva az első 500 karakteren belül..

remélem tud valaki segíteni.. természetesen más megközelítést is szívesen látok...

a kódok:

js:
function kibont() {
document.getElementById('H1').innerHTML = 'a bejegyzés teljes tartalma' + '<a href=javascript:becsuk); > <--becsuk</a>';
}
function becsuk() {
document.getElementById('H1').innerHTML = 'a bejegyzés rövidítettje' + '<a href=javascript:kibont(); > tovább--></a>';
}

Html:
<font face="Comic Sans MS" style="font-size: 11pt" id="H1">
"a bejegyzés rövid tartalma"
<a href='javascript:kibont();'> tovább--></a>
</font>

php:
if(strlen($teljesbejegyzes)>500) {
$roviditettbejegyzes = substr($teljesbejegyzes,0,500) . "...";
} else
$roviditettbejegyzes = $teljesbejegyzes;
 

dotroll.com beállítás

psita · 2012. Szep. 5. (Sze), 18.01
Sziasztok!

Most előszőr töltök fel DotRollhoz oldalt és nem vagyok vele tisztában, hogy mi ennek a folyamata. Annyi az egész, hogy feltöltöm a honlapot mondjuk egy www mappába és a domaint hozzárendelem ehhez a mappához, onnantól kezdve pedig működni fog? Vagy van még más teendő is? Azonnal megy az oldal?

A válaszokat előre is köszönöm!
 

JQuery: Autocomplete betöltés probléma

belvaros@freemail.hu · 2012. Szep. 5. (Sze), 01.28
Sziasztok.

Van egy php fájl, ebben pedig egy text input-om, amire rá van húzva a jQuery-s autocomplete települések kiválasztásához.
A dolog nagyon szépen működik amikor az input-ot tartalmazó php fájlt csak önmagában vagy az index.php-ből hívom meg (utóbbi esetben include-ból), beírásra jön az autocomplete-s legördülő menü, ki tudom választani, stb.
A gond akkor van amikor nem include-ból hoznám be, hanem egy div-be tölteném be jQuery-vel:
jQuery(document).ready( function()  {jQuery("#div_felulet").load("div_kereses.php");} );
Ekkor már nem működik az autocomplete, a Chrome ellenőrző eszközében a következőt kapom:
Uncaught TypeError: Object [object Object] has no method 'autocomplete'


Ezt azért nem értem, mert a jQuery-vel kapcsolatos minden szkript a div_kereses.php -ben van meghívva (ezért is fut akkor is ha csak önmagában ezt a php-fájlt hívom meg), de ha div-be töltöm mégis olyan, mintha nem is látná a függvénykönyvtárakat. Bár elvileg nincs rá hatással, de kísérletképpen az index.php-ben is meghívtam a szkript-eket, de ahogy várható volt ennek nincs semmilyen hatása.


Bár csak pár hónapja kezdtem el javascript-tel foglalkozni, eddig minden sikerült amit elterveztem és ha voltak is nehéz pillanataim, idővel bármin átrágtam magam, de itt most nagyon elakadtam. Tud valaki segíteni abban, hogy ilyen esetben mi lenne a megoldás?

Előre is köszönök minden segítséget.
 

szeptember 5

Ismerkedés a TDD szépségeivel...

eddig bírtam szó nélkül · 2012. Szep. 4. (K), 22.34
Végre rászántam magam, hogy gyakorlatban is kipróbáljam a Unit Test-ekről olvasottakat, de szokás szerint bizonytalan vagyok, hogy jó úton járok-e. Ehhez kérném a segítségetek!