Zobrazují se příspěvky se štítkemintellij idea. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemintellij idea. Zobrazit všechny příspěvky

sobota 12. prosince 2009

Maven support in Intellij IDEA 9.0 (Maia)

Last week was released latest stable version of IDEA 9. I was curious about new maven integration. In the version eight, whenewer you changed the pom file, all project had to be reloaded, which took couple of minutes in my project.
In version nine I have enabled auto refresh feature, and whenever I change the pom file, refresh is done automatically. Reload the project takes couple of seconds now.
Moreover, they added dependency graph feature - say good by dependency:tree command.
Thanks jetbrains for great improvement.

pátek 3. dubna 2009

Wicket , Grails nebo snad něco jiného?

Na posledním českému JUGu se probíraly webové frameworky. Kontrétně wicket a grails. Za svůj život jsem se setkal s několika frameworky (hlavně struts a jeho klony) a musím říct, že přístup wicketu je mi velice blízký. Programuje se v něm podobně jako ve swingu, se kterým jsem kamarád. Začal jsem začal i číst knížku Wicket in Action, která je tradičně od Manningu skvělá. Škoda, že na projektu na kterém právě vyšívám není povolen.

Naproti tomu grails na mě působil jako totální úlet. Přestože se Vašek Pech snažil, jediné co mě upoutalo je jeho práce s Ideou. Grails jako takový bych rozhodně nebral.

čtvrtek 18. září 2008

return ve finally ?

Na certifikačním serevru javablackbelt jsem narazil na otázku, jak se chová fuknce, pokud má více návratových míst. Docela mě zarazilo, že návratovou hodnotu lze přepsat ve finally bloku.


public class FinallyExample {

public static void main( String[] args ) {
System.out.println( test(true) );
System.out.println( test(false) );
}

public static String test(boolean e) {
try {
if (e) throw new RuntimeException();
return "A";
} catch ( Exception ex ) {
return "B";
} finally {
return "C";
}
}
}

Bez ohledu na to, jestli v metodě dojde či ne k vyjímce, hodnota ve finally bloku nakonec vyhrává - program tedy vypíše dvakrát C C.

Inu, ne nadarmo je v idei automaticky zapnutá inspekce, která ihned varuje.

This inspection reports any instances of return statements inside of finally blocks. While occasionally intended, such return statements may mask exceptions thrown, and tremendously complicate debugging.

pátek 15. srpna 2008

Jak jsem se nechal ocertifikovat - SCJP

Po několika letech kdy jsem dostudoval výšku a ještě víc letech co se živím (bavím) programováním v javě jsem se nechal ukecat na certifikaci (SCJP) - prý tím stoupne moje cena na trhu práce.

Nejdříve jsem si nabubřele myslel, že se nebudu muset nic učit - vždyť všechno už znám ne ;-) ? Kolegové, kteří už ono martýrium absolvovali mě varovali, že si mám zkusit alespoň nějaké cvičné testy, ať vím co čeho jdu - ještě že je mám (ty kolegy).

Testovací příklady jsou zejména o tom, jestli daný kód jde nebo nejde zkompilovat a proč. Přiznám se, že tuto práci za mě dělá počítač sám, takže jsem se moc nechytal. Druhý zádrhel byla znalost API - třeba v které package je DateFormat a tak. Přiznám se, že slovo klíčové import jsem nenapsal od doby co je za mě IDEA píše sama (minimálně 5 let).

Na druhou stanu abych jen nehaněl, dozvěděl jsem se i o některých záludnostech, o kterých jsem nevěděl, neb jsem se s nimi nesetkal - např. anonymní iniciátory.

Suma sumárum. Pokud se na certifikaci SCJP chystáte, určitě doporučuji nastudovat tuto knížku. Dále jsem měl k dispozici příklady testů od whizlabu. Poté test uděláte bez problémů (já jen na 90%).

Na co vše se dá certifikovat - link.

Poté, co jsem se nechal namočit do školení o EJB3 jako speaker, jsem se rozhodl, že si udělám i SCBCD, ale o tom až někdy příště.

středa 9. července 2008

Vychytávky v IntelliJ IDEA o kterých jsem nevěděl

Přihlásil jsem ke k odběru refcardz a poslední příspěvek byl o IntelliJ IDEA. Vzhledem k tomu, že Ideu používám již léta a vždy mě dokáže něčím překvapit jsem se pustil do čtení. Myslím si, že většinu funkcí znám, tak se zaměřím jen na ty, o kterých jsem nevěděl.

Copy/Paste
To že se přes schránku kopíruje pomocí Ctrl+C/V není nic objevného. Zajímavé je ale to, že pokud není označené nic, automaticky se kopíruje celý řádek.

Autoscroll from Source
V projektovém panelu lze zapnout funkci, že pokud změníte selekci ve stromečku, automaticky se v editoru otevře příslušný soubor. Opět nic světoborného a nečekaného. Zajímavé je to, že to může fungovat i naopak. Tedy, pokud se přepínáte mezi taby v editoru, automaticky se skroluje na příslušný prvek ve stromě. Dříve jsem pro tuto funkci používal zkratku Ctrl+F1.

Goto Class
Pro nalezení třídy dlouhá leta používám Ctrl+N. Nevědel jsem ale, že pomocí Shift+Up/Down můžete vybrat tříd více.

Goto Parent
Pokud jsem potřeboval skočit na metodu předka, kterou overriduji, vždy jsem klikal na ikonu vedle metody. Odedněška už na myš nešáhnu. Stačí Ctrl+U.

Autoscroll to Source in the Find pane
Při vyhledávání pomocí Ctrl+F se ukáží výsledky v okně ve kterém se můžete pohybovat pomocí šipek nahoru a dolu. Lze zapnout i autoscroll, kdy při změně selekce ve stromě se automaticky odskroluje v editoru. Já toto většinou mám vypnuté, neb mě to vyrušuje. Zajímavé je ale, pokud máte autoscroll vypnutý, tak ho můžete "temporary" zapnout pomocí Ctrl+Alt+Up/Down.

Preview in the Find pane
Po vyhledávání pomocí Ctrl+F se mi většinou změní otevřené soubory v editoru a musím je pracně hledat a otevírat znovu. Ve Find pane lze ale zapnout preview okno, ve kterém se při změně selekce ve stromu automaticky skroluje do preview okna.

Vyhledávání funkcí v menu
Menu je poměrně rozáhlé a občas je probém najít tu správnou položku. Pomocí Ctrl+Shift+A lze vyhledávat v akcích menu. Toto považuji za velice užitečnou funkčnost. Škoda, že něco takového není i ve Wordu - tam tápu téměř pořád.

Expand Word
Pomocí Alt+Slash umí editor napovídat jména proměných. Moc jsem nepochopil, jak to funguje, ale vyzkouším.

Surround with Live Template (Ctrl+Alt+J)
To, že lze obalovat kusy kódu pomocí Ctrl+Alt+T jsem věděl a používám. Že existují Life templates (Ctrl+J) jsem věděl taky ale že může být life template+surround je pro mě novinka.