Programování | Ondřej Mirtes

Programování | Ondřej Mirtes

|<
[1]
>|

SOBOTA
6. 11. 2010
Doctrine vs. NotORM vs. zbytek světa

Jakub Vrána na dnešním Barcampu ve své přednášce srovnával Doctrine 2 ORM se svou knihovnou NotORM. V jednoduchosti kódu, počtu řádků a vykonaných dotazů nutných pro vypsání článků a přiřazených tagů z databáze zvítězilo nepřekvapivě NotORM, což z něj u naivních programátorů hned dělá kandidáta na modelovou část webové aplikace. Z čehož mi přebíhá mráz po zádech.

ČTVRTEK
4. 3. 2010
PHP 5 OOP cheatsheet (tahák)

Zápis některých aspektů objektově orientovaného programování v PHP má poměrně velký WTF faktor a nejednou jsem narazil na pokročilého programátora, jak tápal, proč jeho kód způsobuje parse error či nějakou jinou chybu. Rozhodl jsem se proto oprášit můj blog a přehledně na jednom místě shrnout OOP syntax v PHP.

U jednotlivých popisů budu velice stručný, článek si neklade za cíl vysvětlit OOP, zaměřuje se pouze na způsob zápisu.

K hezkému objektovému kódu patří i jeho jednotná podoba, doporučuji k nastudování Nette Coding Standard.

Třídy

Definice nové třídy
//obecná třída
class A {

}

//abstraktní třída - nelze vytvořit instanci, to až u potomka
abstract class A {

}

//finální třída - nelze podědit
final class A {

}

//definice třídy B, která dědí od třídy A
class B extends A {

}

ČTVRTEK
17. 9. 2009
Dokonalý kontaktní formulář za 10 minut

Nette Framework má mnoho předností. Hlavní z nich je rychlá a efektivní tvorba kvalitních webových aplikací.

Už dávno jsou ty doby, kdy jsem v PHP půl odpoledne patlal obstojný formulář s kontrolou vyplněných textových polí, validitou e-mailové adresy a jakž-takž ucházejícím vzhledem odesílané zprávy.

V Nette je tvorba dokonalého a neprůstřelného kontaktního formuláře práce na 10 minut. Framework totiž obsahuje třídu jak pro práci s formuláři, tak třídu pro odeslání e-mailu (včetně podpory tvorby zprávy šablonovým způsobem).

NEDĚLE
7. 10. 2007
Jak na kombinaci XML deklarace (prologu) a PHP?

XML deklarace by měla být součástí validní XHTML stránky, i když není povinná.

Problém nastává v momentě, kdy tuto deklaraci chceme použít na začátku PHP skriptu. Jak deklarace XML, tak PHP kód používají < > závorky. PHP se tady snaží překousat kód deklarace, ale neúspěšně – skript se zastaví na první možné řádce.

Jak toto omezení obejít a mít XML deklaraci v libovolném PHP skriptu? Stačí použít echo a negovat uvozovky, které XML deklarace obsahuje:

echo '<?xml version="1.0" encoding="utf-8"?>';
3 komentářů
Ondřej Mirtes

STŘEDA
27. 6. 2007
Jak na spam ve webových formulářích?

Jelikož tento web pohání můj vlastní systém, implementuji do něj postupně funkce tehdy, až když je potřebuji. Když roboti po pár měsících od startu přišli na to, jak přidávat komentáře pod články a ty se začaly objevovat opravdu ve velkém množství, situaci bylo potřeba vyřešit.

Nechtěl jsem uživatele obtěžovat s opisováním znaků z nečitelných obrázků, ani s matematikou. Problém za mě vyřešil Jakub Vrána. Nutno říct, že jeho způsob eliminace spamů u mě funguje na sto procent, od jeho nasazení mi nepřišel do komentářů jediný nevyžádaný příspěvek (od automatu).

A jak na to? Předpokládáme, že botům stále nebyl dán do vínku JavaScript. Uživateli tedy položíme nějakou otázku či zadáme úkol vyplnit dodatečné pole formuláře, JavaScriptem toto pole skryjeme a požadovanou hodnotou vyplníme. Uživatelé bez JavaScriptu tedy nejsou nijak omezeni, pouze musí vyplnit o jednu hodnotu navíc. Ve zpracovávacím skriptu pak nepokračujeme, pokud v dané proměnné není požadovaná hodnota.

ČTVRTEK
22. 2. 2007
Automatické generování náhledů obrázků v PHP

Praktický a funkční zdroják pro generování náhledů z velkých obrázků. Hodí se jak pro galerie, tak i pro klasické prezentace všeho druhu. Odzkoušeno, úspěšně aplikováno :)

Praktické pro galerie a i klasické webové prezentace všeho druhu. Tento kód se hodí také v případě, že pouze nechcete nechat formátování obrázků na uživatelovi. Riskovat, že uploaduje některý obrázek větší, než má být a celý design se rozhodí, není nejlepší řešení. Stačí při nahazování zkontrolovat jejich rozměry a případně je zmenšit touto funkcí.

STŘEDA
21. 2. 2007
Ochrana e-mailů proti spambotům pomocí JavaScriptu

E-mailové adresy na webech jsou vystaveny útokům spamrobotů, kteří je indexují a ukládají do své databáze. Stačí mít tedy svůj e-mail 1× na nějakém zaindexovaném webu a už to jede. Obvyklé obrany proti těmto způsobům získávání adres pro spam jsou pro uživatele nepřívětivé. V případě, že je zavináč nahrazen nějakým jiným znakem, nemusí méně zkušeného návštěvníka napadnout při psaní e-mailu ten znak správně nahradit. A v případě adres zobrazených jako obrázky ji musí uživatel přepisovat celou. Navíc už boti disponují kvalitním OCR, na technologii CAPTCHA se nedá spolehnout.

Martin Jurča mi poradil ochranu, kterou sám ke své plné spokojenosti používá. Ta sází na skutečnost, že boti neumí JavaScript. Pomocí JS se zapíše odkaz v normálním tvaru a objeví se na stránce tak, jak ho známe. Uživatelé nejsou omezeni a boti jsou (aspoň na nějakou dobu) eliminování.

|<
[1]
>|

Info

Ondřej Mirtes

23 let

student ČVUT FEL
& webový vývojář

počítače, hry, DJing

Foto

Včera: @jantichy I've met some gentle people there…

Včera: Vždy, když mi volá blokované číslo, čekám na druhé straně Sadako Yamamurovou, která mi řekne, že do týdne zemřu.

Včera: Po shlédnutí Půlnoci v Paříži jsem tomu městu odpustil i vykradené auto. Chci se tam co nejdřív vrátit!

Včera: I have a feeling we're not in Kansas anymore. http://t.co/7BB51eKC

Před 9 dny: January 28th 2012 http://t.co/LsYUNvNm

Anketa

Rubriky

Top 5 za únor 2009

  • 1. The Doppler Effect – Beauty Hides In The Deep (The Blizzard Remix)
  • 2. Nifra – Complicated Life
  • 3. Will Holland – Tears In The Rain
  • 4. Myon & Shane 54 ft. Carrie Skipper – Vampire
  • 5. Rank1 – L.E.D. There Be Light

Winamp mi právě hraje

  • 112d Thomas Coastline & CrossRyders – Global Electronic Music Sessions 044 on AH.FM
  • 112d Next on Air: Eunostos – Club Nights 032 on AH.FM
  • 112d Thomas Coastline & CrossRyders – Global Electronic Music Sessions 044 on AH.FM
  • 112d Sean Tyas – Tytanium Sessions 116 on AH.FM
  • 112d Ferry Tayle – Flightbook Bratislava Edition on AH.FM
* * * * * * * * * * * * *