PHP Excel Reader 2

Po nejakom čase mi v práci prischol PHP projekt. Na výsledný portál budú často importované dáta z najrôznejš ích zdrojov, medzi ktorými nechýbajú Excelovské XLS súbory. Väčšinou sa import dát z Excelu rieši cez CSV, čo je omnoho jednoduchšie pre programátora, ale znižuje komfort používania aplikácie používateľom. A keďže sa budú v mojom projekte robiť importy často, poobzeral som sa po nejakej knižnici na parsovanie XLS súborov.

Najprv som našiel knižnicu PHP Excel Reader na sourceforge.net, ale táto pri čítaní example súboru (dodávaného spolu s knižnicou!) skončila v nekonečnom cykle a počas prvotného “debugovania” sa mi v tom cykle rozzvonil PC speaker, čo spôsobilo moju vraždu pohľadmi od všetkých kolegov naokolo :-) .

Hľadal som teda ďalej, a našiel som PHP Excel Reader 2 na code.google.com, ktorý fungoval out-of-the-box a navyše nepotreboval žiadne externé knižnice. Úspešne sa tiež popasoval s mojou sadou testovacích súborov a celkovo mi vylepšil náladu. Jeho používanie je vskutku jednoduché a 2 základné úlohy (čítanie hodnôt a prezentácia použivateľovi do HTML) s ním spravíte na 2 riadky. V skratke plne a dobre funkčná knižnica. Ďakujem autorom.

MONOGRAM E-payment knižnice otvorené

Ako bolo sľúbené, tak sa aj stalo, a vy už môžete používať naše knižnice na elektronické platby.

Všetky informácie nájdete na stránke MONOGRAM E-payment knižníc.

Patavedecký seminár

Aj keď sa patavedecký seminár odohráva striedavo na Prírodovedeckej fakulte a Fakulte matematiky, fyziky a informatiky UK, nerozoberajú sa na ňom vážne vedecké problémy. Namiesto toho sa na ňom analyzujú a riešia omnoho vážnejšie – patavedecké – problémy. Tento seminár nemá striktne definovaný obor tém nakoľko pataveda nieje viazaná smiešnymi vedeckými pravidlami. Z najzaujímavejších doteraz odprednášaných tém:

Z najzaujímavejších doteraz tradične neodprednášaných tém:

  • Kvantová drakológia

Odporúčam Vám tak ako každému sa prísť zasmiať na tohtoročný prvoaprílový patavedecký seminár 8.4.

      Automatický deployment webových aplikácií

      Pri vývoji webovej aplikácie je táto zvyčajne nasadená na viacerých počítačoch:

      • programátorov PC – developer vyvíja aplikáciu
      • stage server – tu beží najnovšia funkčná verzia aplikácie, ktorá slúži najmä klientovi na kontrolovanie stavu vývoja a zadávanie ďaľších projektových úloh
      • produkčný server – výsledná aplikácia

      Použitie stage servra je potrebné na predvádzanie funkčnosti klientovi ako aj kontrolu verzie aplikácie pred nasadením na produkčný server. Na tomto servri by mala byť posledná verzia aplikácie, a preto je potrebné ju nasadzovať čo najčastejšie – a to je dôvod, prečo by toto nasadzovanie malo byť automatizované.

      Proces nasadzovania by mal spočívať v nasledovných krokoch:

      1. checkout poslednej verzie aplikácie z repozitára
      2. zbuildovanie aplikácie
      3. spustenie testov
      4. nasadenie na server

      Vypísané kroky môžu developerov od takéhoto používania stage servra odradiť, ale našťastie existujú riešenia, ktoré môžu takéto procesy riadiť. Ja som na tento účel použil Continuous Integration server Cruise Control.NET. Continuous Integration je metóda, pri ktorej sa celá aplikácia builduje a testuje “pri každej príležitosti”, teda toto riešenie už zahŕňa problematiku source controlu, buildovania aplikácií a testovania.

      Read more »

      E-flite Blade CX3

      Vo štvrtok k nám do roboty kolega doniesol malé mikrohelikoptéry na diaľkové ovládanie. Okrem toho, že sme kvôi tomu v ten deň skoro nič nespravili, sme sa s nimi dobre pobavili. Mňa zaujali natoľko, že vo mne vzkŕsla myšlienka si podobnú zábavku zadovážiť tiež. Nasledovalo googlenie, čítanie recenzií a browsovanie po stránkach všetkých možných výrobcov RC modelov. Ale zatiaľ čo kolega doniesol hračky v pravom slova zmysle, mňa zaujal model Blade CX3 od E-Flite, ktorého rozmery sú už o čosi väčšie (priemer rotora je cez 30 cm) a zákonite je vyššia aj cena a náročnejšia údržba – teda sa jedná skutočne o hračky pre dospelé deti (mužov :-) ).

      E-Flite Blade CX-3

      Read more »

      Opensource implementácia e-banking platobných systémov?

      Ak práve vyvíjate portál, na ktorom predávate či už reálny alebo virtuálny tovar, iste by sa Vám zišla implementácia e-bankingového riešenia. A MONOGRAM ide uviesť presne takýto produkt, navyše ako opensource pod licenciou LGPL, teda použitiu vo Vašom projekte nebude nič brániť.

      Práve dnes sa dokončili posledné nevyhnutnosti k releasu, takže sa už môžete začať tešiť.

      Microsoft DreamSpark

      Začal som si čítať články o SilverLight na (pre web developerov zaujímavom) portáli zdrojak.root.cz. A popri tom som narazil na zaujímavý program (nie software) Microsoftu s názvom DreamSpark. Jedná sa o program, ktorým Microsoft bezplatne poskytuje študentom svoje vývojárske nástroje. Získať môžete napríklad Visual Studio 2008 Professional Edition, Expression Studio, či dokonca Windows Server 2003/2008 Standard.

      K preukázaniu sa ako študenta stačí ISIC karta, ktorú priradíte k Live ID (Live ID si môžete zriadiť zadarmo na htomail.sk). Po prihlásení na DreamSpark cez Live ID sa stačí riadiť pokynmi (vyššie uvedené priradenie ISIC karty k Live ID účtu) a o chvíľu si už môžete stiahnuť spomenuté nástroje.

      Síce viem, že Microsoft sa týmto spôsobom snaží naučiť čo najviac budúcich developerov na svoje produkty a najradšej by boli, ak by ste sa na nich stali závislými, ale zároveň musím uznať, že Visual Studio je vynikajúce vývojové prostredie a subjektívne ho hodnotím za najlepšie, s akým som sa kedy stretol. Možnosť používať tieto produkty teda v žiadnom prípade nevnímam ako opíjanie rožkom a veľmi ma potešilo.

      Štastné a veselé Vianoce!

      Nie, nepomýlil som si mesiac.

      Viem, že dnes je 30 október, teda 30 oct. Ako vieme, “30 oct” znamená číslo, ktorého zápis v osmičkovej sústave je “30″. Teda “30 oct” = “3 * 8 + 0 * 1 dec”, čo sa rovná 24 dec – teda 24. december!

      Štastné a veselé Vianoce!

      Cvičenie z bezpečnosti: crackovanie .NET aplikácií

      Už dlho sa tu neobjavilo žiadne zaujímavé cvičenie, a kedže som objavil jednu veľmi zaujímavú vlastnosť .NET aplikácií, rovno som spravil cvičenie, v ktorom ju môžete využiť. (Ale prezradiť ju bez boja nehodlám, na to musíte prísť sami).

      Úloha: existuje aplikácia, ktorá vám po zadaní správneho sériového “čísla” zobrazí odpoveďový kód. Vy by ste ten kód mali objaviť. Správnosť kódu si môžete overiť tu.

      Znova pripomeniem, že ak ste zaregistrovaní na mojom blogu a prihlásení cez prihlasovací systém cvičení, tak sa váš nick objaví vo výsledkovej listine úspešných riešiteľov.

      Ja a Synergy

      Práve včera mi došiel objednaný notebook a akonáhle som si ho v práci položil vedľa 4och monitorov pracovného pc, zneľúbilo sa mi “prechytávanie” medzi klávesnicou PC a notebookom. Spomenul som si na projekt akéhosi softwarového KVM switchu (vkastne iba KM) a po chvíli som ho našiel – Synergy.

      Synergy je opensource-ová aplikácia, ktorá umožňúje ovládať viacero PC jednou klávesnicou a myšou veľmi intuitívne. Po zadefinovaní relatívnej polohy jednotlivých PC stačí myšou doslova prejsť na druhý počítač – kurzor sa zjaví na ňom, a vstup z klávesnice je presmerovaný tiež. Toto všetko sa deje cez sieťové spojenie.

      Už pri downloadovaní som sa ale zľakol toho, že medzi podporovanými systémami nieje Windows Vista (OS na mojom notebooku). (Za to podporujú Win XP, Mac OS X, X11 na UNIXoch a dokonca Win 2000, NT, 98, 95…) Z jedného fóra som sa ale dozvedel, že s Vistou ľudia problémy nemajú. No môj prípad bol ešte o to zvláštnejší, že na PC použivam naraz 4 monitory, teda by som sa veľmi nečudoval, keby to Synergy nechutilo.

      Teda hurá do toho. Po spustení som zistil, že nastavenia tohoto programu vôbec niesú user friendly – po zbežnom prečítaní manuálu som ale program nastavil, spustil na hostiteľskom (PC) aj klientskom (notebook) počítači a tieto sa na seba bez problémov napojili. S viacerými monitormi problém nebol, kurzor plynulo prešiel cez okraj pravého monitora na notebook. Dokonca som nespozoroval ani žiadne zdržanie v reakciách kurzoru na klientskom PC. Jediný problém bol, že som sa myšou nevedel dostať naspäť na hostiteľský PC. Po krátkom googlení som zistil, že programu treba povedať nielen to, že notebook je napravo od PC, ale aj to, že PC je naľavo od notebooku.

      Odvtedy tento systém fungoval úplne nádherne, mierne nepohodlie bolo cítiť iba ak som sa snažil prejsť na druhý PC počas plnej CPU záťaže hostiteľského PC. Na druhý problém som narazil až keď som šiel písať tento blogpost – celý systém (spustený na XP a Viste) má trochu problémy so striedaním charsetov. Ale toto ma takmer vôbec neobmedzuje a ešte sa na to určite pozriem do manuálu.

      Ak teda niekedy používate (alebo chcete používať) viacero PC umiestnených vedľa seba naraz, nemôžem vám neodporučiť Synergy.

      PS: ďaľšou veľmi prijemnou featurou je synchronizácia clipboardu, ktorá ale funguje iba s textami. Žiadne pokročilé funkcie ako drag&drop súborov medzi počítačmi implementované niesú.