Nejčtenější příspěvky za rok 2009

01.01.2010 Bez komentářů
  1. Wordpress Themes
  2. Wolfram Alpha
  3. Ubuntu a konfigurace XDebug pro Eclipse PDT 2.0
  4. Ubuntu, CentOS 5 a PHP 5.2.9 v Zend Server CE
  5. 9 a půl týdne s Androidem
  6. Hudson a PHP
  7. Subversion pod Windows
  8. Zend Studio 6.1.1. zkušenosti z prvních 14 dní
  9. Zend Framework 1.6 a ajax pomocí jQuery
  10. pDepend a php frameworky

Pro zajímavost nečtenější příspěvek za rok 2009 je stejný jako v roce 2008, hold ty Wordpress Themes jsou nevyhledávanější výraz, přes který se čtenáři dostávají na moji stránku i když to není účel.

Categories: ostatní Tags:

NetBeans 6.8 a PHPUnit

28.12.2009 1 komentář

Pokud používáte pro vývoj v PHP nějaké IDE, je to většinou PDT based (Eclipse, Zend Studio) nebo Netbeans. Samozřejmě jsou tu i další a vznikají nové, které stojí za zmínku. Mě oslovilo WebIDE od autorů IDEA firmy JetBrains, kde si myslím roste velká konkurence Zend Studiu.

V práci používám primárně Zend Studio a pro sebe většinou Netbeans. V Netbeans nejvíce oceňují propojení s PHPUnit a pokud rád vyvíjíte metodikou TDD. V verzi 6.7 bylo propojení s PHPUnit již vytvořeno, ale mělo některé chyby, které mi vadili a díky také doufám mému reportování a spolupráci s vývojáři Netbeans odstraněny.

Nejvíce mi vadilo, že se nečetl konfigurační soubor phpunit.xml a nesprávně byla nastavená cesta při spuštění unit testů. Vývojáři to nakonec udělali tak, že cesta se odvozuje právě od konfiguračního souboru, pokud existuje, případně od spouštěných testů. Přibyla také záložka v nastavení projektu, kde se dají detaily nastavit.

Poslední detail, který se dostal do Netbeans bylo ještě zobrazování nekompletních a přeskočených testů v GUI, které nefugovalo. GUI vychází z parsování xml výstupu PHPUnit a umí zobrazit víceméně vše co xml soubor poskytne.

Myslím, že vývoj Netbeans pro PHP jde správným směrem, v další verzi přibyde jistě podpora pro Zend Framework, který používám já i když to nepovažuji za nijak nutné. Spíše bych ocenil doladědí editoru v detailech. Například pokud máte již funkci končící závorkami a provedete doplnění názvu pomocí autocomplete Netbeans nepozná zda závorky tam jsou či nejsou a nechová se podle toho. Jsou to detaily, ale mnohe tyto detaily v editaci mi pijou krev. Obdobně problémy s automatickým doplňováním závorek, apostrofů, často se chová divně.

Pokud porovnáte WebIDE a Netbeans tak v práci s PHP je to srovnatelné, ale pro to ostatní HTML, editace, JS, XSLT, XML tak WebIDE vede protože vychází z geniálního IDE IDEA, které považuji za nejlepší pro JAVU a nejen ji. WebIDE má také podporu pro Git co ocením.

Myslím, že ve IDE, které jsou zdarma Netbeans začíná podle mne už porážet PDT hlavně rychlejším vývojem a menšími nároky na hardware. Také jsem ocenil nativní podporu pro Mercurial, trochu mi chybí podpora pro Git.

Categories: ide, php Tags: ,

PHP CodeBrowser a Hudson

11.12.2009 Bez komentářů

Před časem se objevil nový reportovací nástroj, který vezme logy z PHPUnit, PHP_Codesniffer a umí je pěkně zobrazit.

Instalace je z PEAR (http://pear.phpunit.de/get/)

pear config-set preferred_state alpha
pear channel-discover pear.phpunit.de
pear install --alldeps phpunit/PHP_CodeBrowser

nebo z SVN

svn co svn://phpunit.de/phpunit/phpcb/trunk PHP_CodeBrowser

Integrace
Tento tool jde integrovat do CIE

Postup integrace do Hudsonu si ukážeme

  1. Potřebujete do Hudsonu doinstalovat plugin HTML Publisher Plugin
  2. Nastavíte build script by používal phpcb

    <target name="phpcb">
    <exec executable="phpcb" dir="${basedir}/source">
    <arg line="--log reports/logs/
    --source source/
    --output reports/phpcb/" />
    </exec>
    </target>
  3. Nastavíte HTML Publisher plugin, aby četl html, které vyrobí phpcbhudson_phpcb
    • HTML Directory to archive
      Cesta k reportům podle toho jak jste si to nastavili v build skriptu, u mne reports/phpcb/
    • Index page[s]
      Defaultně je index.html, ponechejte.
    • Report title
      Nastavte co chcete, dal jsem PHP CodeBrowser

Výsledek bude vypadat nějak takto:

hudson-phpcb-3

PHP_CodeBrowser sám o sobě nepřidává žádnou funkcionality, ale umožňuje získané výsledky pěkně a přehledně zobrazit. To se hodí a pokud jste příznivci použítí jednoduchého Hudsonu jako já, doufám že vám to bude k užitku.

PHP_CodeBrowser můžete samozřejmě použít i bez jakékoliv integrace, protože je to běžné HTML. Pokud používáte verzi z SVN jako já pozor na to, že verze pokud jí pouštíte symlinkem nefunguje úplně správně musíte být v adresáři kde máte PHP_CodeBrowser a je lepší zadat plné cesty k logům phpunit i zdrojovým kódům.

Linux Mint 8 Helena

Linux Mint „Helena“ je konečně venku. Tato distribuce je založená na Ubuntu 9.10, ale má několik vlastností proč jí na desktopu rád preferuji oproti klasickému Ubuntu.

  • neobsahuje standardně v Ubuntu instalovaný Evolution, ale Thunderbird
  • má stále Pidgin jako IM
  • vypadá dobře a má dostupné kodeky (mediaubuntu.org)
  • vlastní vylepšení (mintInstaller, mintUploader, mintUpdater)

mint8

Je to prostě dotažené a např. ve Ubuntu 9.04 mi nefungovalo v MC klávesa CTRL+\ pro hotlist a v Linux Mint 7 bez problémů. Jsou to detaily, ale je příjemné, že to funguje jak má. Pokud jste o Linux Mint neslyšeli, tak doporučuji za vyzkoušení.

Categories: linux Tags: ,

NoSQL Databáze v PHP

05.11.2009 Bez komentářů

Včera jsem byl na přednášce Honzy Krále na téma Nechoďte s kanónem na data aneb key value databáze. Přednáška nebyla jen o key value databázích, ale obecně o NO SQL.

Honza shrnul problémy RDBMS databází s ohledem na ACID a co můžou přinést jiné typy databází než sql. Například key value a dokumentové pro nasazení ve webových službách, kde mnohé také vznikly používájí je Google, Amazon, Facebook a jiní.

Přehled NoSQL najdete také ve wikipedii.

Key value databáze nebo úložiště

Dokumentové databáze

Toto téma je široké a hodně se o tom diskutovalo a Honza předvedl implementaci Twitter serveru v Pythonu a ukládání dat do Redisu. Lekce šlo kód škálovat a z jedné databáze začít ukládat do deseti různých.

CouchDb databáze je například nasazena v novém Ubuntu 9.10 a bude se její podpora pro Ubuntu One a synchronizaci dat určitě rozšiřovat. Pokud používáte Ubuntu, balíček s aktuální verzí najdete v repository. Za výhodu jednoduchého nasazení CouchDb je jeho REST api a pěkný webový klient pro administraci. Nevýhodou bude výkon ve srovnání s MongoDb, kde je nativní klient a dobrý jazyk pro dotazy. V CouchDb musíte pro psaní materializovaných pohledů používat javascript. MongoDb podporuje index a celkově je v mnoha věcech vyspělejší. Ale chybí například podpora v ubuntu, balíček nenajdete, musíte si ji zkompilovat sami.

Pro Zend Framework pokud vím se připravuje implementace CouchDb. Jak použít v Zend Frameworku MongoDb pro ukládání logů v kombinaci s Zend Tool ukazuje Raphael Stolt.

Pokud víte o větším nasazení těchto databází nebojte se to uvést v komentářích. Například portály jobs.cz a prace.cz používají memcache, ale takových nasazení budou stovky. Má někdo v Čechách nasazené ve velkém CouchDb nebo MongoDb?

http://arbitracker.org/phpillow.html
Categories: php Tags:

Switch to our mobile site