2007/11/10
JGear LiveSource - Namodelujte si své Java EE aplikace!
Na portálu java.cz jsem publikoval recenzi na JGear LiveSource, Eclipse plugin, který je pokraÄ?ovatelem populárnÃho TogetherJ a je základnÃm kamenem nového JBuilderu 2007:JGear LiveSource je nový modelovacà nástroj firmy CodeGear. LiveSource umožňuje modelovánà a vizuálnà návrh Java /Java EE aplikacà pomocà modelovacÃho jazyka UML. Tento produkt je distribuován jako plugin pro vývojové prostÅ™edà Eclipse. V tomto pÅ™ÃspÄ›vku bych chtÄ›l popsat svoje dojmy a zkuÅ¡enosti z tohoto produktu.
Celou recenzi naleznete zde:
JGear LiveSource – Namodelujte si své Java EE aplikace! (java.cz)
Zde se můžete podÃvat na screenshoty.
Å tÃtky: eclipse, IDE, JBuilder, JGear, programovani, recenze, software
2007/09/26
Chyba v Excelu 2007 - k neuvereni!
Mimochodem - k té nadsázce: Zase tak velká nadsázka to nenÃ. Zažil jsem už nÄ›kolik (>=5) projektů (globálnÃch multi-culti :-) firem, kde se nasazoval enterprise systém (sourcing, procurement, pricing) do mÃst, kde v podstatÄ› 1:1 nahrazoval manuálnà práci desÃtek Ä?i stovek lidà a jednoho nástroje - vÅ¡emocného excelu!
VÃce: Bug in Excel 2007
Å tÃtky: aplikace, software, zajimavosti, zkusenosti
2006/11/29
SlickRun - buÄ?te efektivnÄ›jÅ¡Ã
Jmenuje se SlickRun, je free a sehnat jà lze na adrese www.bayden.com/SlickRun/.
O co jde. ZjednoduÅ¡enÄ› Å™eÄ?eno se jedná o pÅ™Ãkazovou řádku, která pÅ™ežÃvá ve formÄ› plovoucÃho okna na vaÅ¡em displeji, standardnÄ› v oblasti system traye. Je celkem nenápadná a pokud nenà aktivnà zobrazuje aktuálnà datum, Ä?as den atd.
Aktivujete jà pomocà klávesové zkratky, standardnÄ› kombinacà kláves WinKey+Q. Poté vám umožňujÄ› funkÄ?nost normálnà pÅ™Ãkazové řádky (vlastnÄ› to samé jako WinKey+R neboli Start->Run...), ale navÃc rozpoznává takzvané MagicWords. V nich ležà celé kouzlo. KromÄ› pÅ™ednastavených magických slovÃÄ?ek si můžete zadefinovat vlastnÃ.
Klikánà myšà je ztráta Ä?asu. Toto jsem dÅ™Ãve Å™eÅ¡il pomocà zadefinovánà klávesových zkratech tÃm způsobem, že si na ploÅ¡e vytvoÅ™Ãte zástupce a jemu nadefinujete kombinaci kláves. To má nÄ›kolik nevýhod. Jednak si je musÃte zapamatovat a dále musÃte najÃt takové, které nekolidujà s klávesovými zkratkami v aplikacÃch které provozujete. NapÅ™Ãklad pokud vám běžà IntelliJ Idea, které má klávesovou zkratku skoro na vÅ¡echno, brzy se octnete v koncÃch. Ale i tak jsem byl schopný dennÄ› použÃvat napÅ™. Ctrl+Shift+Alt+S pro Servant Salamander nebo Ctrl+Shift+Alt+P pro PuTTy atd. Pokud ale tyto zkratky nepoužÃváte dennÄ›, brzy je zapomenete.
SlickRun považuju za ideálnà řeÅ¡enÃ. PosuÄ?te sami:
ss - Servant Salamander (:-))
cmd - pÅ™Ãkazová řádka velká
cmdsmall - pÅ™Ãkazová řádka malá
eclipse - eclipse
idea - idea
mail - pustà firemnà webmail v záložce Maxthonu
gmail - pustà gmail v záložce Maxthonu
ie - okno internet exploreru
jedit
firefox - firefox
skype - pustà skype
radio1 - pustà stream Radia 1 ve Winampu
radiozurnal - pustà stream Radiozurnalu 1 ve Winampu kdyz si chci poslechnout zpravy :)
scan - pustà software na scanovánÃ
omea - omea reader
tcpview
toad
putty
...
...
Tohle byl výÄ?et nejÄ?astÄ›jÅ¡Ãch pÅ™Ãkazů, které použÃvám. ZamyslÃte-li se nad tÃm, co dennÄ› na kompu pravidelnÄ› pouÅ¡tÃte, množina je to celkem omezená.
Fantazii se meze nekladou a SlickRun vám umožňuje celkem dost možnostÃ, jak magic wordy pohodlnÄ› nadefinovat a pÅ™izpůsobit vaÅ¡im požadavkům. A to celé pohodlnÄ›, takže napÅ™Ãklad mÃsto abyste museli zadat cestu k exe souboru, staÄ?à vzÃt pointer a ukázat na okno běžÃcà aplikace a SlickRun si doplnà vÅ¡echny potÅ™ebné údaje sám. Dále pokud napÅ™Ãklad do řádky zadáte URL, SlickRun ho automaticky otevÅ™e v prohlÞeÄ?i.
SlickRun nenà žádná pÅ™evratná novinka, ale krásný pÅ™Ãklad použitelné freeware utility. A celkem návyková :) VyzkouÅ¡ejte a dejte vÄ›dÄ›t. Dejte tomu Ä?as, ocenil jsem ji, až po druhé instalaci :-)
2006/11/21
JBuilder 2007 aneb veletoc Borlandu
ProÄ? bychom si ho ale mÄ›li chtÃt vyzkouÅ¡et? Sám nevÃm. JBuilder nebyl Å¡patné IDE, ale v Ä?asech kolem verzà 6, 7, 8 (ano Borland chrlil major verze každý půlrok) podle mÄ› zaspal dobu. Co nám může nabÃdnout za nemalé penÃze dnes? NejdÅ™Ãve se podÃvejme, co jsou to ty nemalé penÃze. LicenÄ?nà model zůstáva zachován, verze Enterprise, Professional a nejchudšà Developer stojà 1.999 resp. 799 resp. 399 dolarů (cena za nové licence, ceny za upgrade jsou o nÄ›co nižšÃ). Poplatky za podporu nejsou v této sumÄ› zahrnuty a nemalé penÃze se platà se zvlášť. ÄŒtyÅ™ista babek za Developer verzi, urÄ?enou pro individuálnà a open-source uživatele mi pÅ™ijde jako silná káva a nerozumÃm nikomu, kdo by do toho tyto penÃze investoval. PodÃváteli se na seznam funkcÃ, je tato verze silnÄ› okleÅ¡tÄ›ná (Ä?i vykleÅ¡tÄ›ná ;-)) a argument, že můžete IDE rozÅ¡ÃÅ™it o pluginy produkované eclipse komunitou zde jaksi nemá smysl.
DalÅ¡Ãm důvodem proÄ? podlÄ› mÄ› NEinvestovat do JBuilderu je evidentnà nejistota co se týÄ?e směřovánà tohoto produktu a potažmo celé firmy. Investovali byste (sta)tisÃce dolarů do software firmy, která v únoru tohoto roku oznamovala, že se zbavà své divize zabývajÃcà se vývojovými nástroji (JBuilder, Delphi, C++Builder, C#Builder,...) protože to, co je podle nich "hot", je trh application life management (ALM) softwaru. Tento týden (o devÄ›t mÄ›sÃců pozdÄ›ji) naopak Borland oznámil, že nejlepšà bude divizi nástrojů si ponechat, ale vyÄ?lenit jà jako samostatnou odnož se jménem CodeGear. PÄ›kný veletoÄ? ;-) Tyto zvraty jsou pro Borland celkem typické, vzpomeňme nÄ›kolikaletou neúspěšnou pÅ™emÄ›nu v Inprise a pozdÄ›jšà návrat k původnÃmu firemnÃmu jménu Borland.
Nynà se podÃvejme na technickou stránku vÄ›ci. Co nového JBuilder 2007 pÅ™inese. ÄŒerpám pouze z dostupné dokumentace, což je pÅ™edevÅ¡Ãm web a pdfka: Data Sheet a Feature Matrix.
Již úvodnà věta je celkem odvážná :)
The latest JBuilder is the first application server independent enterprise class IDE built on open source Eclipse.
PokraÄ?ujme dále:
It provides all the economic benefits of an open source platform, with the reliability of a trusted, turnkey solution provider.
S výše zmiňovanou cenovou politikou mi přijde poukazovat na ekonomické benefity open source platformy také celkem zcestné ;-)
Krásné fráze.
Z inzerovaných featur:
- postavený na platformě Eclipse 3.2
- podpora JEE5,
- podpora JSE5
- oboustranné modelovánà v UML 2.0
- Visual Web Services Designer
- vizualizace usnadňujÃcà EJB development (Visual EJB Workbench)
- integrovaný OptimizeIt 2007 (což může být celkem zajÃmavý argument)
- ProjectAssist a
- dalšà Ä?Ãm dál vÃc enterprise-abstraktnÄ›-marketingové funkce.
Jak už jsem Å™ekl jsem k osudu JBuilderu dost skeptický. Ani ne kvůli Eclipse a Netbeans, které jsou zdarma. Ani ne kvůli IntellJ Idee, která je o dost levnÄ›jšà a v nÄ›kterých vÄ›cech stále nepÅ™ekonaná, ale podle mÄ› mÃřà na trochu jiný segment trhu. SkuteÄ?ná konkurence pro JBuilder jsou produkty jako IBM RAD nebo Oracle JDeveloper. Jenže ti to majà snazÅ¡Ã. IBM i Oracle majà sÃlu s dalÅ¡Ãmi produkty a službami protlaÄ?it svá IDE k zákaznÃkovi. Borland tuto sÃlu už dávno nemá!
Å tÃtky: aplikace, programovani, software
2006/02/03
quick oracle tip - how to move tablespaces
ALTER TABLESPACE DATA02 OFFLINE;
ALTER TABLESPACE DATA02
RENAME DATAFILE 'D:\oracle\oradata\mboruvka\DATA021.ORA' TO 'G:\oracle\oradata\mboruvka\DATA021.ORA';
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
ALTER TABLESPACE DATA02 ONLINE;
note: with this procedure it is not necessary to shutdown db.
Å tÃtky: programovani, software
2005/11/27
Sněžka!
Výstup na Sněžku v zimÄ› má svoje kouzlo - viz následujÃcà fotky:
![]() | ![]() |
![]() | ![]() |
Å tÃtky: cestovani, programovani, software
2005/05/10
IT: JBuilder open sourcem
Co je v pozadÃ? SamozÅ™ejmÄ› je to vÃtÄ›zné taženà Eclipsu.
I když CEO Borlandu se tvářà stále optimisticky - viz Ä?lánek ŽijeÅ¡ jenom tÅ™ikrát - bude to podle mÄ› mÃt Borland hodnÄ› těžké a osobnÄ› nedávám JBuilderu moc Å¡ancÃ.
Zároveň je mi JBuilderu troÅ¡ku lÃto, protože to bylo moje prvnà IDE. DÃky práci na pluginu WASP Developer jsem si důkladnÄ› proÅ¡el každou verzi JBuilderu od verze 4 (s Porsche Boxster ve splash screenu ;-), 5, 6, 7, 9, X). VSUVKA: Jako malé ocenÄ›nà tohoto (dnes už dále nevyvÃjejÃcÃho se) pluginu je pro mÄ› fakt, že samotný html/php/xml/... guru Jirka Kosek použil náš tehdehšà plugin ve své diplomce na téma webové služby! ;-) Ale to jsem odboÄ?il.
Otázka která mÄ› napadá: můžete v dneÅ¡nà dobÄ› existovat firma soustÅ™edÃcà se primárnÄ› na vývojové prostÅ™edà (IDE)?
...eclipse pod rouÅ¡kou open source, za zády sponzorovaný vÅ¡emocnou IBM zabÃjà vÅ¡echny ;-) nenà to dumping? kdo jeÅ¡tÄ› zbývá? je ted Å™ada na intellij? Co na to jan tleskaÄ??...
Å tÃtky: programovani, software
2005/03/03
IT: Excel v Jave? POI!
V rámci projektu na kterém teÄ? pracuju jsem potÅ™eboval dostat z 10 megového Excel sheetu tisÃce hodnot a transformovat je do výstupnÃch CSV souborů. Podle výstupnÃho souboru se liÅ¡ila kombinace sloupců a jejich transformace. SamozÅ™ejmÄ› že by to Å¡lo vyÅ™eÅ¡it a smést ze stolu rychlým sledem copy&pastů v Excelu a maximálnÄ› použitÃm nÄ›jakého makra.
Dostávám se k jádru vÄ›ci. Rozhodl jsem se pro Å™eÅ¡enà v javÄ›. ZasvÄ›cenà asi vÄ›dÃ, že se k práci s Microsoft Office soubory použÃvá open-source knihovna Jakarta POI.
Takže moje poznatky: pro práci s Excelovskými tabulkami vás zajÃmá jen jedna Ä?ást POI - POI-HSSF. NaÄ?Ãst Excelovský dokument a vybrat z nÄ›j hodnoty které potÅ™ebujete je po rychlém nahlédnutà do Quick guidu záležitost pár minut. Co mÄ› potěšilo je, že to opravdu funguje.
Jenom jsem musel pro naÄ?tenà 10 MB XLS souboru jsem musel zvÄ›tÅ¡it heap VM (
-Xmx196M zabralo).Dalšà malou záludnostà je iterátor přes buňky v řádku (
hssfRow.cellIterator()). Nevracel buňky tak jak byste Ä?ekali, ale v jakémsi fyzickém poÅ™adà a na v logickém. ZatÃm jsem nestudoval o co jde. StaÄ?à použÃt hssfRow.getCell(int).A nakonec abyste mÄ›li pÅ™edstavu jak vypadá API sem dávám malý pÅ™Ãklad:
FileInputStream fis = new FileInputStream(xlsFile)
POIFSFileSystem fs = new POIFSFileSystem(fis);
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(rowNumber);
HSSFCell codeCell = row.getCell(COLUMN_CODE);
ProstÄ› jednoduché a funkÄ?nÃ.
Dále jsem potÅ™eboval jeden velký CSV soubor naÄ?Ãst a jiný zapsat.
S tÃmto formátem POI nepracuje. Takže jsem pro zápis použil normálnÃ
PrintWriter a pro Ä?tenà knihovnu z ostermiller.org. K nà jedna malá poznámka - CSVParser vracà jen String[][], takže nebude zrovna moc vhodný pro veliké dokumenty.Å tÃtky: programovani, software
2005/03/02
IT: titulek okna v *.bat
(*.bat, *.cmd) ve windowsech. Stavá se vám taky, že máte najednou otevÅ™ených Å¡est oken s pÅ™Ãkazovou řádkou a zuÅ™ivÄ› mezi nimi pÅ™epÃnáte pÅ™es Alt+Tab a hledáte to jediné správné? Tak teÄ? už to bude jednoduššÃ. Dodnes jsem netuÅ¡il že existuje pÅ™Ãkaz title [string]. Je to asi tÃm, že jsem se tyhle pÅ™Ãkazy uÄ?il na MS-DOSu 5.0. A to tam jeÅ¡tÄ› nebyl. Nebo ano? :-) Pro ty z Vás, co majà potÞe vyznat se v oknech i po zmÄ›nÄ› titulků, existuje jeÅ¡tÄ› jedno Å™eÅ¡eni: použÃt
color [XX], kde XX jsou hexa-Ä?Ãslice reprezentujÃcà barvy.Opakovánà je matka moudrosti.
Å tÃtky: programovani, software
2005/02/28
IT: Apache vs. Skype
C:\Program Files\Apache Group\Apache2\bin>Apache.exe
(OS 10048)Only one usage of each socket address (protocol/network address/port)
is normally permitted. : make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
No a bohužel nemáte moc Ä?asu na Å™eÅ¡enà tohoto problému. NaÅ¡tÄ›stà se to povedlo. Takže jak postupovat? Prvnà co mÄ› napadlo bylo že si port 80 obsadil Microsoft IIS. Jenže ten neběžel. Takže jsem si pustil utilitu TCPView z kolekce www.sysinternals.com Výborný pomocnÃk. Z nÄ›j jsem už jednoduÅ¡e zjistil, že si port 80 obsadil Skype. ZajÃmavé. DÄ›je se to jenom v pÅ™ÃpadÄ›, že notebook nemám v sÃti. Usuzuju z toho, že Skype zkoušà pro vytvoÅ™enà spojenà použÃt svoje standardnà porty, ale když se mu to nepovede (notebook nenà v sÃti), obsadà si port 80 a i když se nikam nepÅ™ipojà a je ve stavu offline - zůstane viset na portu 80.
Å tÃtky: programovani, software
IT: Oracle a jeho služby ve windows
Startup Type) z Automatic na Manual. Oracle Tip Manage Oracle9i services under Windows vám na pár řádcÃch udÄ›lá jasno k Ä?emu která služba je a jestli se vám vyplatà jà spouÅ¡tÄ›t automaticky, ruÄ?nÄ› nebo nikdy.
Na konci Ä?lánku jsou dva jednoduché skripty pro startovánà a stopovánà služeb Oraclu. UÅ¡etřà vám zdlouhavé klikánà v managementu
Service.Å tÃtky: programovani, software
2005/01/21
IT: Maly kviz pro znalce batch filu - reseni
Pozdrzet vykovavani
*.bat skriptu napr. na nekolik vterin neni zrovna jednoducha zalezitost. Na princip reseni prisel po nekolika iteracich prisel jako prvni Fil.
Princip reseni je nasledujici. Protoze zadne
pause [time] bohuzel neexistuje a ani choice /t:time uz ve Windows XP/2k nemuzete pouzit, musite si pomoci sami trosku vetsim hackem :-)
Rob van der Woude poskytuje skript obsahujici reseni - v cyklu volate prikaz
ping s nastavenym timeoutem proti neexistujici IP adrese:
ping -n 1 -w [timeout] [neexistujici.ip.adresa]
Chce to duvtip! :-)
Å tÃtky: programovani, software
2005/01/19
IT: Maly kviz pro znalce batch filu
*.bat) smycku, ktera v kazde iteraci ceka rekneme 5 vterin. Jde mi o to cekani, nejde mi o tu smycku ;-)
Å tÃtky: programovani, software
2005/01/02
IT: Refactoring
Knizka pojednava o refactoringu, neboli upravach existujiciho kodu za ucelem zvyseni jeho kvality aniz by tim vsak utrpelo jeho vnejsi chovani. Je pekne strukturovana: tzn. zacina tim proc je refactoring uzitecny, jak ho praktikovat, co je k nemu potreba. Dulezite jsou ale dve casti knihy - seznam tzv. bad smells a seznam jednotlivych refactoringu, ktere tyto zapachy odstranuji. Vsechno je doplnene srozumitelnyma prikladama v Jave.
Jak jsem si tak procital jednotlive bad smelly, vybavovaly se mi casto i classy, na kterych bych jednotlive zapachy :-) dobre ilustroval :-)
Pokud zrovna nemate tuto knizku po ruce, doporucuju se podivat do helpu ke svym IDE. Idea, Eclipse i JBuilder refactoring uz dnes podporuji a velmi ho zjednodusily - vetsinou na pouhou klavesovou zkratku (kdyz vite co oznacit ;-)). Pro Ideu existuje pekny tutorial ktery ukazuje refactoring pomoci tohoto IDE.
Koho zajima refactoring vic, muze se mrknout na web ktery shromazduje veskere materialy na dane tema: www.refactoring.com. A kdo chce, muze se subscribnout na RSS feed ktery informuje o novinkach na webu.
Tabulka SmellsToRefactorings ukazuje seznam nejcastejsich bad smellu a zaroven prinasi rady jak se jich pomoci refactoringu zbavit.
No a nakonec abecedni seznam refactoringu s jejich popisy.
Å tÃtky: programovani, software
2004/12/23
IT: WseWsdl2.exe troubles
I would like to point out few problems which I've experienced during my experiments with WseWsdl2.exe tool. I am using WseWsdl2.exe from Microsoft Web Services Enhancements 2.0 SP2. The WseWsdl2.exe is WSDL to SoapClient Tool. It should replace current .NET Wsdl.exe tool. What I find quite disappointing are the error messages produced by this tool. WSDLs we use in our project are compilable without any problems with Wsdl.exe but WseWsdl2.exe complains. What is worse, that the error messages are very unclear. Documentation didn't help us, neither the Google search. We had to take our WSDLs and remove element after element to find out what's wrong with them. Here are the findings, maybe it will help someone having similar troubles. This is the reason for this post.
First problems occur when the WSDL definition contains more than one message part in the (SOAP) message. But the error message says this:
An error occurred processing this WSDL. More information:
System.Exception: Invalid WSDL file from SoapService
at ClientGen.ClientGen.GetBindingType(...)
at ClientGen.ClientGen.WriteCSOperationBinding(...)
at ClientGen.ClientGen.WriteOperationBinding(...)
at ClientGen.ClientGen.WriteClass(...)
at ClientGen.ClientGen.GenerateCode(...)
at ClientGen.ClientGen.GenerateCode(...)
at ClientGen.Class1.Main(String[] arguments)
I know that WSDLs describing messages with more than one message part (referring element) in SOAP body should not be used. It is stated in the WS-I Basic Profile 1.1. We can change the WSDL to wrapped-literal, no problem. But the tool should not produce this general error!
The second problem I would like to point occurs when the WSDL contains unsupported extension element. We are using custom extesion elements within the soap:binding. The extension element present in our WSDL is not marked with wsdl:required="true". So it should be silently ignored if the consumer does not understand him or cannot process him (as stated in the WS-I Basic Profile 1.1, which also clarifies and tights up the rules from the WSDL specification). WseWsdl2.exe does not ignore them - but fails:
An error occurred processing this WSDL. More information:
System.InvalidCastException: Specified cast is not valid.
at ClientGen.ClientGen.WriteCSOperationBinding(...)
at ClientGen.ClientGen.WriteOperationBinding(...)
at ClientGen.ClientGen.WriteClass(...)
at ClientGen.ClientGen.GenerateCode(...)
at ClientGen.ClientGen.GenerateCode(...)
at ClientGen.Class1.Main(String[] arguments)
Again, the error message is very, very unclear! For me it seems that the level of WSDL specifications support is much lower than it was in previous version. Without any warning in the documentation. Or Am I missing something?
Å tÃtky: programovani, software
2004/12/11
Google napovida
Google Suggest prinasi dalsi vylepseni ve vyhledavani na internetu. Vlastne to neni nic jineho nez autocomplete - automaticke doplnovani. V okamziku kdy zadavate do formulare vyhledavaci stranky Googlu svuj dotaz, on vam napovida. Muze vam to usetrit psani, ale taky vidite, jaka souslovi lide nejcasteji hledaji.
Fuknce autocomplete je vetsine uzivatelum PC dobre znama. Setkate se s ni napriklad kdyz zadavate adresu do browseru nebo treba kdyz pisete adresu prijemce v emailu. Vlastne logicky - pouziti i ve vyhledavani v internetu - udelal az Google. Vsadim se, ze se do roka se s touto featurou setkame taky v nejednom z ceskych vyhledavacu.
Co me na tom zarazi jsou dve veci: zpusob jakym byl tento napad prenesen do praxe a taky - ze to vazne pekne funguje.
Jak autor myslenky pise, cela vec ho napadla behem obeda. V Googlu maji udajne pravo venovat az 20% sveho pracovniho casu vlastnim projektum. To je jiste velmi lakave (zde bych jen podotknul, ze se nelze domnivat, ze by vam Google platil za vase soukrome projekty, ale jde o projekty ktere jsou ve vysledku ve vlastnictvi company). Takze za par mesicu svuj napad dovedl do konce.
To ze to funguje skutecne pekne si zkuste sami. Zadejte si jedno slovo a za chvilku se dozvite, v jakych souslovich se nejcasteji vyhledava. Kdyz vezmeme v uvahu kolik miliard stranek Google indexuje a za jakou chvilicku vam nabidne relevantni slova, tak je to vazne k neuvereni. Je jasne, ze napriklad domnivat se, ze po napsani slova Milan se dockam sveho prijmeni, je zatim zcestne :-) I kdyz nekteri znami jiz na Googlu maji slusny page rank, takze u nich to funguje.
Takze, vyzkousejte si sami!
Å tÃtky: programovani, software







