- FI MUNI – Brno - Programovanie v C++
- Format: PDF, SlideShare
13. November 2011
Apache Tomcat 7 Maven plugin
I was searching for Apache Tomcat 7 Maven plugin. I found only messages that no such thing exists and that I have to use some workaround. Finally I found link at StackOwerflow that pointed me to the testing version of such a plugin.
You just need to configure repository and update mojo definition.
<repositories>
<repository>
<id>people.apache.snapshots</id>
<url>http://repository.apache.org/content/groups/snapshots-group/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>apache.snapshots</id>
<name>Apache Snapshots</name>
<url>http://repository.apache.org/content/groups/snapshots-group/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
...
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-SNAPSHOT</version>
<configuration>
<path>/</path>
</configuration>
</plugin>
You can run Tomcat7 by: mvn tomcat7:run
You can read more about this new version of Tomcat Maven plugin at tomcat.apache.org.
This plugin is still under development.
BTW: List Maven plugins hosted at Apache.org is available at maven.apache.org/plugins.
8. August 2011
Which programming language is the most popular?
Do you wonder whether your favorite language is the most popular?
Tiobe Programming Community Index could give you some hints about it.
Here is small sample:
You can find more details about other languages also at Tiobe.com.
26. January 2011
IntelliJ Idea – Windows – Git – The remote end hung up
I was trying to clone git repository. I had brand new Windows with Cygwin version of git. Intellij Idea displayed nice helpful error message:
fatal: The remote end hung up unexpectedly
I found article at grublesmurf.org that pointed me to solution.
Problem was that Cygwin was using directory c:\cygwin\home\georgik\.ssh, but Intellij Idea was trying to read c:\Users\georgik\.ssh. I moved .ssh directory to c:\Users\georgik and set HOME variable to %USERPROFILE%.It is also worthy to modify /etc/passwd in cygwin to match that directory.
14. January 2011
How to introspect AMF communication
BlazeDS provides optimized binary protocol for transfering data known as AMF protocol.
AMF is fast and it has support for transfer of complex objects. Specification of AMF is available at opensource.adobe.com.
The only problem is how to introspect it?
AMF is binary. Therefore normal POST dump or Wireshark dump are not useful.
One solution was to use Flash Builder, but it is quite big and it requires big installation and license and so on.
Piotr Walczyszyn released incredibly simple and powerful AMF introspection tool – Toaster Lite. It acts as a proxy and it decodes all requests and responses.
Just install it. It’s quite small. Configure port and that’s it
Check out Piotr’s blog with video tutorial.
5. October 2010
SpringSource Tool Suite 2.5 – Error: Method has the same erasure
Java kód, ktorý bol skompilovateľný pod SpringSource Tool Suite 2.3, už nemusí byť skompilovateľný pod 2.5.
Typická chyba: Method has the same erasure.
Problém spôsobí kód, kde sa využíva preťaženie ako:
getById(List <MyClass>, String name)
getById(List <MyClassDto>, String name)
Riešenie: opraviť kód alebo použiť STS 2.3.2.
29. September 2010
Písanie testov nespôsobí výbuch hlavy
Vynikajúci rozhovor s Kentom Beckom nájdete na stránkach SE-Radio.net.
Kent Beck je autorom JUnit frameworku. Framework je de-facto štandard pre tvorbu jednotkových testov. Myšlienky a koncepty, ktoré Kent navrhol sú dnes samozrejmou súčasťou vývojárskej praxe.
Kent Beck mal jeden postreh, ktorý ma zaujal. Niektoré z bariér pre zavedenie Test Driven Development majú pravdepodobne základ v spoločnosti. “Bežný” pohľad na informatiku vytvára usporiadanie, kde A-čkový hráči sú “Programátormi”. A predsa nebudú robiť “prácu” B-čkových hráčov, čo sú len “testeri”.
Doplním osobný postreh: rozdelenie na A-čko – Programátor, B-čko tester, je veľmi nebezpečné. Ľahko sa stane, že pán Programátor dodáva produkty, ktoré tester zachraňuje. Pritom pán Programátor vôbec nemá prehľad o tom, aké zmätky vyrába a nemá tendenciu zmätkovosť znižovať.
Odporúčam si nájsť hodinku čas a vypočuť si pohodový rozhovor Martina Lipperta s Kentom Beckom.
22. September 2010
Google App Engine – sporadická garancia dostupnosti?
Pôvodne som chcel tento článok nazvať: Náš Google se Vám co nejsrdečněj omlouvá za toto politováníhodné nedopatření, ke kterému dochází MAXIMÁLNE … třikrát za deset let.
Príhoda z natáčania: deploynete Java aplikáciu na Google obláčik, chcete ukázať ľuďom, ako pekne to funguje a…
Kolečká sa otačajú, procesor si mele-mele-mele…
Timeout error. Pokus môžete opakovať niekoľko krát. Na výsledku nič nezmeníte.
Prezradím, že aplikácia volá veľmi jednoduchú funkciu, ktorá má za úlohu získať údaj z takmer prázdnej databázy.
Počkáte 5 minút a všetko zas ide.
V logu potom objavíte skvelú hlášku:
Request was aborted after waiting too long to attempt to service your request. This may happen sporadically when the App Engine serving cluster is under unexpectedly high or uneven load. If you see this message frequently, please contact the App Engine team.
K svojmu článku: Kde už Google App Enginu nestačí palivo, pridávam túto skutočnosť ako bod 11.
2. July 2010
Ako vytvoriť klientskú aplikáciu pre Google App Engine s podporou Remote Development Services
Ako som už spomínal na BarCampe v Brne, klasický model vývoja klient server aplikácii je celkom pracný. Na jednej strane musíte implementovať serverový interface a na strane druhej musíte vyreplikovať dátové triedy a volania v klientovi. Uznávam, že ručná práca je dnes cenená, ale nie v IT.
Predstavme si scenár:
- serverový vývojár: naimplementuje funkcie a dáta zaperzistuje pomocou JDO
- vývojár klienta: pripojí sa na server a vytiahne si volania, ktoré potrebuje a pokračuje v implementácii GUI
Typickým problémom býva zmena rozhrania. Rozšírme scenár:
- serverový vývojár: zmení API a definíciu tried
- vývojár klienta: zvolí refresh, zmeny sa vyreplikujú do klientskej aplikácie a len opraví zasiahnutý kód
Pomerne jednoduché scenáre, bez dobrých nástrojov sú však veľmi pracné.
Open source technológia BlazeDS od Adobe podporuje tzv. Remote Development Service. Umožňuje automatizovať veľkú časť manuálnych prác, ktoré sa objavia pri replikácii serverového API do klientských aplikácií. Technológia BlazeDS je primárne integrovaná s Tomcatom a Spring serverom. Mňa zaujímala iná oblasť a síce ako dostať BlazeDS na Google App Engine.
V nasledujúcom screencaste je ukázané, ako RDS funguje.
Archetyp pre Mave nájdete na maven.sinusgear.com.
11. June 2010
OCR priamo z web kamery
Paráda. Pôsobivé.
Postavené na AIR 2. Ďalšie informácie na blogu Michaël Chaize.





