szakma

Javascriptes hírolvasó az F1ligán

Még a múlt héten felkerült az F1liga.hu-ra egy javascriptes hírolvasó, ami a két hírportálunk utolsó 15 hírét jeleníti meg.

Csak a "csapatom" oldalra van beillesztve, amit viszont csak a regisztrált játékosok érhetnek el.

Az effektet a jQuery.hide("slow").show("slow") kombináció adja.

Ahhoz képest hogy első JS alkalmazásom, sztem jól sikerült. Ezzel a kliensoldali programozás mezejére léptem. :)

Gyors Firefox?

UPDATE: http://edgarpe.hu/Gyors_Firefox#comment-16

UPDATE 2: http://edgarpe.hu/Firefox_vs_Opera_vs_Safari

Az EMACS után szabadon: "A Firefox egy kiváló oprendszer, már csak egy jó böngésző kéne bele."

Viccet félretéve, szuper kis böngésző a kedvenc tűzrókánk, és ha valami mégsem jó, azt javítja a kiegészítő-áradat egy tagja. És ha nincs megfelelő, még mindig írhatunk egyet.

De ahogy általában lenni szokott, minden jóban van valami rossz. Tűzróka esetén ez a sebesség, ugyanis lassúcska szegény. Ez főleg a modern AJAX-os oldalaknál látszik. Eddig ezt csak érezni lehetett, nemrég azonban már mérni is lehet.

John Resig, a jQuery alkotója, készített egy javascript teljesítmény mérőt, Dromaeo néven. Néhány, javascript-ben végzett, bonyolult matematikai művelet elvégzésének sebességét méri az oldal. Bármilyen mozilla böngészővel használható, ezen a címen: http://dromaeo.com

Kíváncsi lettem, összehasonlítottam a gépemen lévő böngészőket. Az eredmény magáért beszél:

Firefox 2.0.0.14: kb. 14000 ms
Opera 9.27: kb. 5000 ms
Safari 3.1.1: kb. 2500 ms

Hát ez bizony szépen mutatja, hogy lassú az FF. Eszembe jutott, hogy egy barátom mesélte, hogy kipróbálta a Firefox 3 legújabb beta verzióját és gyorsnak találta. Gondoltam egy próbát megér. Hm, a beta5-re azt írják, hogy "dramatic speed improvements". Kezd érdekelni ez a dolog.

Nos, nem húzom tovább az idegeket. Firefox 3 beta 5 alatt a dromaeo teszt alig több mint 2000 ms alatt lefutott. Ha jól számolom, ez kb. 700%-os gyorsulás. Kezdetek nem rossz :) És a két legfontosabb addon, az AdBlockPlus és a WebDeveloper már megy rajta!

Viva, Firefox!

Hónap utolsó napja PHP-ben

Egy költségnyilvántartó programot fejlesztek, és szükségem volt arra, hogy egy űrlap mező kezdőérékként mindig az aktuális hónap utolsó napját vegye fel. Az ilyen dátum manipuláló dolgokat én mindig a PHP date és strtotime függvényekkel oldom meg. De kiderült, hogy ez nem is olyan egyszerű. Ha egy sorba akarnám írni, az bizony nagyon hosszú lenne. Bár írtam rá egy függvényt:

<?php
 
function last_day_of_month($date = NULL) {
    if (
$date === NULL) $date = date('Y-m-d');
   
$ts = strtotime($date);
   
$months = 12 * date('Y', $ts) + date('m', $ts) + 1;
    return
date('Y-m-d', strtotime( floor($months / 12) .'-'. $months % 12 . '-01 00:00:00' ) -1);
  }
?>

de mint kiderült, felesleges volt. A PHP ezt már alapkiszerelésben is tudja, méghozzá a fent linkelt date függvény t paraméterével.

A hónap utolsó napjának meghatározása PHP-ben, tehát ilyen egyszerű:

<?php
 
// aktuális hónap
 
$honap_utolso_napja = date('Y-m-t');

 
// bármelyik hónap, ahol 1234567890 egy unix timestamp
 
$honap_utolso_napja = date('Y-m-t', 1234567890);
?>

Biztos van aki már tudott erről, nekem még új volt ez az infó.

.php kiterjesztés elrejtése a fájlnévben

  • apache tippek

Ez kivételesen nem egy Drupal bejegyzés, most egy kis apache tipp lesz.

A régi típusú url-ek, mint pl. ez: termek.php?id=373&forma=reszletes
már rég a múlté. Helyette jobban szeretjük az ilyeneket: termek/373/reszletes.

Ahhoz hogy ezt elérjük szükségünk lesz a mod_rewrite apache modulra.

A weboldal gyökér könyvtárában hozzunk létre egy .htaccess nevű fájlt. Ha már van ilyen, akkor örülünk.

Egy php mind felett

Ha azt szeretnénk, hogy egy darab php fájl szolgáljon ki minden kérést, akkor írjuk bele ezt:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Ennek hatására minden kérés ami nem egy könyvtárra vagy fájlra mutat, át lesz írva, úgy hogy az index.php szolgálja ki. A kérés paramétereit pedig a q változóban kapja meg az index.php

Nézzünk egy példát.
eredeti url:
/termek/373/reszletes
átírt url:
index.php?q=termek/373/reszletes.

Így minden kérést egy központi helyről intézhetünk. Így működik az is, ami nem Drupal-os, de így működik minden Drupal oldal is. A kódrészletet is a Drupal-hoz csomagolt .htaccess fájlból vettem.

Oszd meg és uralkodj

Egy másik lehetőség, ha különböző php fájlokat készítünk az oldal különböző részeihez, akkor valami ilyensmit kell csinálni:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^termek/([0-9]+)/(.*)$ termek.php?id=$1&forma=$2 [L]

Ennek hatása pont az lesz, amit a bevezetőben említettem.
Ebből:
termek/373/reszletes
ez lesz:
termek.php?id=373&forma=reszletes.

Persze ilyenkor az oldal többi részéhez külön-külön tartozik egy sor a .htaccess-ben. Például a kategória oldalak szép url kezeléséhez pl. egy ilyen kell:

RewriteRule ^kategoria/([0-9]+)$ kategoria.php?id=$1 [L]

Mára ennyi, remélem hasznos volt.

Oldalak

Feliratkozás RSS - szakma csatornájára