Web Development Blog | Blog a webfejlesztesrol

Jan/10

28

On site SEO

On site SEO alatt én, a kereső számára jól értelmezhető oldalkialakítást értem. Nézzük akkor sorban hogyan is épül fel egy keresőbarát weboldal.

Meta tag-ek

A meta tag-eket a weboldal fejlécében adhatjuk meg. A felépítésük általában a következő:

<meta name="ide jön a tag neve" content="ide a tartalma" />

A fontosabb meta tag-ek:
(more…)

No tags

Dec/09

5

Mysql duplicate rows

Egy project alkalmával szembesültem a címben említett problémával. Adott volt egy adatbázis tábla melyben voltak duplikált sorok. A feladat ezeknek a soroknak a törlése volt. Első gondolatom egy temporary table megoldás volt, miszerint csinálok egy temp táblát abba egy selectel distinct -el a duplikációt jelző mezőn átrakom a recordokat és utána az eredeti táblát törlöm, a temp-et pedig átnevezem az eredeti nevére:

CREATE TABLE temp AS SELECT * FROM table1 GROUP BY FIELD;
DROP TABLE table1;
RENAME TABLE temp TO  table1;

Ez a megoldás teljesen jól működik és elvégzi a kivánt feladatot, de ha php-ból szeretnénk megvalósítani akkor ez három lekérdezés lesz, mert a multiple query az általában tiltva van. Ezért elkezdtem keresni egy elegánsabb megoldást és találtam is.
A dolog lényege hogy a táblánakt kétszer is használjuk a queryben egy alias-sal:

DELETE FROM table1
USING table1, table1 AS temp_table
WHERE (table1.id> temp_table.id)
AND (table1.FIELD=temp_table.FIELD)

A fenti lekérdezés megnézi hogy a két táblában (ami tulajdonképpen ugyanaz csak más néven) vannak olyan rekordok ahol a duplikált mező egyezik, viszont az azonosító nem(mert ha ez is akkor mindkét sort törölnénk), és törli ezeket.

No tags

Nov/09

8

Rss megjelenítése

Weboldalunkon egyszerűen jelenithetünk meg más oldalatól kapott rss anyagot. Az alábbi snippet müködéséhez szükségünk lesz cURL,és simplexml támogatásra a tárhelyünkön, de ezek szinte mindenhol alapból elérhetőek.
Az rss csatornák xml segítségével adják át az adatokat. Tehát amikor meg akarunk nyitni egy rss csatornát, például ezen blog-ét akkor egy xml-t fogunk kapni. A csatorna megnyitásához használhatnánk a file_get_contents függvényt is, de ott az időtullépést nem tudjuk kellően lekezelni ezért én cURL-t használok:

$url = "http://blog.greg-dev.com/feed/";
$options = array(
	CURLOPT_URL => $url,#url megadasa
	CURLOPT_RETURNTRANSFER => 1,#nem akarunk kozvetlen output-ot
	CURLOPT_CONNECTTIMEOUT => 2 ,# 2 masodperc-es varakozas utan megszakitjuk a kerest
	CURLOPT_MAXREDIRS      => 0,#maximum 0 atiranyitasig kovesse az atiranyitasokat
	CURLOPT_REFERER => "http://www.google.hu" #beallitjuk a referert
	
	);
	$ch = curl_init();
	curl_setopt_array($ch, $options);
	#megcsinaljuk a http kerest
	$result = curl_exec($ch);
	#lezarjuk a session-t hogy felszabaditsuk a rendszer-eroforrasokat.
	curl_close($ch);

A fenti kód lefutása után a $result változóban lesz a nekünk kellő xml adatállomány. A kapott adatot ezután valmilyen használható formára kellene alakítanunk és ítt veszzük igénybe aphp simplexml bővítményét ami az átadot xml-ből egy objektumot képez nekünk:

    $xml = simplexml_load_string($result);
    $output = '<ul>';
    $limit = 10;
    $i = 0;
	foreach($xml->channel->item as $item){
	  $output .= '<li><a href="'.$item->link.'" rel="nofollow" target="_blank">'.$item->title.'</a>';
	  $output .= '<br /><span class="description">'.$item->description.'</span>';
	  $output .= '</li>';
	  $i++;
	  if($limit != 0 and $i == $limit)break;
	}
   $output .= '</ul>';

Mivel a kapott adat lehet hogy tul hosszú ezért beállíthatunk egy limitet,melynek elérésekor a ciklus véget ér. Az xml tag-jai pedig az objectumon keresztül elérhetőek és tetszőleges kimeneti formába rendezhetőek.

,

Sep/09

7

Google Chrome Sony laptopokon

A Sony es a Google megallapodasat kovetoen a Sony bizonyos tipusu laptopjain a Google bongeszojet fogja default browser-kent telepiteni.
A Chrome mar jelenleg is korulbelul 6 szazalekat uralja a bongeszo piacnak, megelozve ezzel a Safari-t es az Opera-t es a harmadik legnepszerubb bongeszo a vilagon. Ezzel az egyeszseggel azonban ez valoszinuleg tovabb fog emelkedni bar a Sony az egyik legkisebb szamitopepgyarto ceg, de az egyeszseg segitheti a Google azon torekveseit hogy mas gyartokkal is leszerzodjon mint peldaul a Dell vagy a Hewlett Packard.
En szemely szerint orulok a hirnek, mert remelm hogy ezzel is csokken az Internet Explorer-t hasznalok szama.

Sep/09

5

Javascript text rotator

Keszitettem egy egyszeru kis javascript szoveg forgatot, es ezt szeretnem megosztani. A script mukodesehez jQuery libray szukseges az effectek miatt. Itt lathatjatok mukodes kozben es a forrasban ott a kod kommentezve.

,

Aug/09

31

301 atiranyitas tipusai

Ha valmileyn okbol a domainnevunk megvaltozik de szeretnenk a keresorobotokat es a latogatoinkat atiranyitani az uj domainra akkor is ha a regit probaljak megnyitni akkor a 301 -es atiranyitasra van szuksegunk. Ennek a lenyege hogy egy “Moved permanently” http fejlecet kuld el a bongeszonek es atiranyitja az uj domainre.
(more…)

, , ,

Aug/09

31

ASCII encoder keszitese

Sokan hasznaljak email cimek vedelmere a harvester robotok ellen az email cim ASCII kodolasu kiiratasat. Egy parsoros php koddal ezt konnyeden megvalosithatjuk.
Amire szuksegunk lesz az az ord() fuggveny ami a parameterkent atadott karakter ASCII kodjat adja nekunk vissza. Ahhoz hogy ezt a bongeszo meg is ertse at kell alakitanunk a kodot, vagyis csak ele kell raknunk egy “&” es “#” jelet illetve egy “;” karakterrel lezarni.
Lassuk akkor a kodot:

$string = 'test@test.com';
$ascii = null;
for($a = 0;$a < strlen($string);$a++){
  $ascii .= '&#'.ord(substr($string,$a)).';';
}
 
echo $ascii;

Amint lathato a stringen vegigmegyunk karakterenkent egy ciklussal es igy egyesevel kicsereljuk a karaktereket ASCII megfelelojukre. A fenti par sor eleg eroforras igenyes ezert csinjan banjunk vele.
Itt megnezhettek egy mukodo demot: Demo

, ,

Aug/09

21

Gmaps Wrapper 0.2

Hasznalat kozben eszrevette, hogy ha tobb cimet adok meg(5-10) akkor nehany esetben nem jon a geocode valsz meg es ezert nem rakja ki a markereket a script. Ezt javitottam, es kicsit egyszerusitettem a kodot. Az uj verziohoz mas konfig valtozot kell megadni.

Eleg gyakran hasznalom a Google Maps API-t es csinaltam hozza egy ugynevezett ‘wrapper’ fuggvenycsomagot ami megkonnyiti az API egyszerubb funkcioinak hasznalatat. Ennek hasznalataval nincs ma dolgunk mint egy konfiguracios valtozonak(ami JSON object) megadni az ertekeket es meghivni a fuggvenyt.

Lassunk tehat egy egyszeru peldat. Az API mukodesehez szuksegunk lesz egy API kodr, amit itt lehet igenyelni : http://code.google.com/apis/maps/signup.html . Semmi mas nem kell hozza csak egy
regisztralt Google fiok(email, stb). Miutan megvan API key-unk, alabbi sorokkal(a noscript tagok nelkul) betoltjuk az API fajljat az oldalunkra:

(more…)

No tags

Older posts >>

Find it!

Theme Design by devolux.org