Marcin bloguje

.impressions.memos.tech.

Readability Powala!

Już dziś możecie skorzystać z “umilacza” czytania artykułów. Od zawsze denerwowało mnie rozpraszające badziewie na stronach z artykułami. Teraz z tym koniec. Odkąd odkryłem Readability – strona bookmarkletu,.

Wszelkie instrukcje na temat korzystania są dostępne na stronie projektu, tak więc warto sprawdzić.

Comments

Zgodnie z niektórymi źródłami, to jednak jest tam część kodu Readability. Polecam ten link:

http://www.downloadsquad.com/2010/06/08/think-safari-reader-looks-familiar-thats-because-apple-used-op/

> Z tego co gdzieś tam czytałem, to nawet Apple wykorzystał kawałki kodu JS z tej strony w Safari nowym.

Wątpię, aczkolwiek Reader na pewno powstał dzięki inspiracji Readability.

Ta prostota jest najpiękniejsza!

Z tego co gdzieś tam czytałem, to nawet Apple wykorzystał kawałki kodu JS z tej strony w Safari nowym.

Używam od dłuższego czasu. Wreszcie nie bolą mnie oczy :)

Genialne!

Javarsovia 2010

This year’s Javarsovia conference took place on 26th june. It was held at Centrum Konferencyjno-Kongresowe, Bobrowiecka Street, Warsaw.

First of all - the organization was very nice. Everything seemed smooth, maybe with the exception of conference registration, it was simply overcrowded. The agenda was split into four tracks, each hour 4 different presentations were given in different halls. So you just had to choose which one to attend. My path through the conference is described below, together with my views on each of the presentations I attended.


The introductory speech conducted by Mateusz Zięba and some other guy from WarJUG, that I can’t seem remember. The speech was very entertaining. Guys did really good job with creating the appropriate atmosphere for the rest of the conference.

Jakub Nabrdalik (TouK) with his “How not to bio-degrade your code” was like the biggest event of the conference - held on the biggest hall of the building, with lots and lots of people attending. The audience was vivid and responded to Jakub’s ideas with applause. He played us all very well.

“From request to response” by Jarosław Błąd bored me to death. It wasn’t interesting at all to listen about technical details of request handling by all layers of the JEE stack. - like http server, communication with Java app server, kinds of threads in the latter and the likes. What this presentation should have been about were personal views and opinions on other technologies, frameworks - Jarek started to tackle in Q&A section of his speech - that was the real meat!

“Code refactoring” by Piotr Jagielski - overally good, but due to lots of agile, TDD, etc stuff present in the agenda - I kind of lost interest in that particular one.

Fortunately dinner came to aid. With my vital forces rejuvenated by means of lasagne my mind’s comprehension skills were back to normal.

That allowed me to enjoy Wiktor Gworek’s presentation about Google’s style of Java coding. It was worth attending. Thou seamed mainly like a Google Guava introduction - it gave a really fast presentation of Java concepts, how you can beautify your code and give you joy from what you write and create in your normal work day.

“Routes of camel riding” by Maciek Próchniak - a solid does of technical knowledge by another colleague from TouK. Good one - thou didn’t get much attention from the public. In fact the topic might have been a little misleading, but still the presentation went out well.

What Jarek Pałka did with his NoSQL talk wasn’t ground breaking, but funny enough and entertaining for the finishing act of this conference. For me some moments of his speech were rather enlightening - NoSQL dbs are actually used in some serious real world scenarios! Nice. This presentation gave an insight into one of such DBs - Neo4j, a graph handling DB. Left me with a sense of incompleteness - there was no comparison with other NoSQL products, but this is only an encouragement for me to delve deeper into this subject.

All in all, the conference was a big success, with lots of good talks, meeting friends, talking, listening. Around 650 people were on site, I hope the next one will be even bigger! Please bear in mind that the talks presented by me were only the fourth part of all the talks! AFAIK all of them will be available in video form some time after the conference - perhaps some video editing has to be done, it’s not always youtube you are targeting ;-)

Oh, and I didn’t win any small laptops, ipods, books, vouchers - crap. Maybe next year ;-)

osnews.com - Hobby Projects

Kilka dni temu na portalu OSNews pojawiła się notatka o skromym tytule: What Are You Working On?. Takie proste pytanie spowodowało lawinę komentarzy. Mnóstwo projektów, których ludzie się “dopuszczają” w czasie wolnym. Wszystkie można przeczytać tutaj: komentarze. Jest tam wiele do przeczytania, ale jeden komentarz naprawdę “zrobił mój dzień” :)

Come on people, you can do better than that.

- trying to improve a tube theremin I built last year to get more linear response.

- putting a webcam in the eye of a HAL9000 replica finished a while ago so it can stream fisheye video ;)

- part of a team which put a 4m high black monolith in the pedestrian area of my home town :-D

- working on a hardware/software solution so my iTunes can display the current track on the cheap LED display i got off eBay

- organizing a visit from Tesla Coil Orchestra to play on their tesla coils

...and all that wile running a museum of old computers.

I think I may be overstretching myself a bit, but it feels good.

Comments

Słuszna uwaga - zmienię może :)

>monoscpace
>długie wiersze
>bez zawijania wierszy
>brak paska przewijania

does not compute

Eclipse Ecosystem

Do you use Eclipse? Or perhaps you use other IDE but would like to try “the big E”? Well, that’s OK, and completely understandable, because Eclipse is actually a great, versatile tool. But Eclipse is not just an IDE, in fact it is a comp let, extensible platform. What’s even more important, there are tones of valuable Eclipse-related projects gathered around the platform.

Yes, there are lots. Some are good, some are bad, but the usual, stock ones, signed by Eclipse, are worth taking a closer look. They’re not a mere innovation to the way we write code with an IDE. Those tools provide new ways to _create_ our code.

Consider Eclipse just a foundation for better things to come. Having Equinox OSGI container underneath it is fully modular ecosystem, that allows multiple bundles (in which we pack the plug-ins) coexist, and benefit from each others functionalities. Not dwelling on details of OSGI, it gives us a simple extensible platform to play with.

That in fact is great, because out of piles of Eclipse components you can build your own component base, and thus create a basis for your own solution. Since Eclipse is extensible you can extend the IDE’s workbench, by implementing plug-ins, or you can choose to implement a standalone application, that is based on RCP (Rich Client Platform) concept. And there are really big apps written with this in mind, like IBM’s Lotus Suite, totally based on Eclipse - and pretty neat also.

Well, that looks nice, but who writes so much code these days, who wants to create all the domain classes and GUI stuff by hand crafted api interfaces? Nope, one no longer have to go this path, just try Eclipse EMF sub-project, which offers model driven development practices, and whole bunch of code generation plug-ins will come to aid you. Using EMF you can create your domain model in just a few clicks, or import it from your existing java interfaces - actually you can use a couple more ways to do this. Having an EMF model you are just a few clicks from generating a working, domain editor, that would serve as a sandbox for your ideas about the domain you’re implementing, or it can be used right away in your new shiny web application.

Another few clicks and you get free model persistence with Hibernate, or other ORM framework. And this really works.

Since it would be nice to present things to end users you could generate some basic graphic editor, of course Eclipse supports that. But who uses thick clients today? Be serious, right? If you want something web-enabled, you don’t have to move your skills from the Eclipse ecosystem, just try out Eclipse RAP and have your Eclipse application in your browser via some serious Javascript voodoo magic - like on-the-fly converters. Of course other popular frameworks are allowed :)

What is most important here, is the constant use of the same tools, developing subsequent stages of the app don’t require you to switch skills. It’s Java all way up to this place.

And it gets more interesting when you dive deeper and deeper into this rich and flourishing community. Some examples of the vastness of the platform may be:

  • Swordfish - SOA solution, with BAM (Business Activity Monitoring) implemented
  • XText - enables you to write a simple (or not) DSLs for your apps
  • E4 - next gen Eclipse IDE, with many great ideas in it

Of course, the whole picture gets a bit blurry if you consider more technical details, there is not so much ease of use or scalability, etc, as you might expected. The whole Eclipse ecosystem may not be suitable for all your applications, but it may be for some. Or perhaps it is suitable for only a couple stages in your current project?

Let this be just a simple introduction to the rich Eclipse Community projects. With next iterations of this cycle I’d like to describe more in-depth details of the Eclipse framework, and various usage scenarios for Eclipse projects. Stay tuned!

Comments

Nope, I meant http://eclipse.org

IDE as in Integrated Development Environment

Hi Marcin, just tell us please what the hell is Eclipse ecosystem.
Where we can get it?
IDE you mean Integrated Drive Electronics?

Dmesg Z Openbsd/sgi

Wracając do starego tematu OpenBSD na moim SGI O2, postanowiłem lekko odświeżyć tą maszynę. Dostałą uaktualnienie małe. Przysiedziałem również nad dostosowaniem systemu do swoich potrzeb, instalacji potrzebnego softu itp.

Na początek dmesg z działąjącego systemu:

[ using 433608 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2009 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 4.6-current (GENERIC-IP32) #49: Fri Jul 31 05:07:50 MDT 2009
    deraadt@sgi.openbsd.org:/usr/src/sys/arch/sgi/compile/GENERIC-IP32
real mem = 67108864 (64MB)
rsvd mem = 7020544 (6MB)
avail mem = 40771584 (38MB)
mainbus0 at root
cpu0 at mainbus0: MIPS R5000 CPU rev 2.1 180 MHz with R5000 based FPC rev 1.0
cpu0: cache L1-I 32KB D 32KB 2 way, L2 512KB direct
clock0 at mainbus0: ticker on int5 using count register
macebus0 at mainbus0: crime rev 10.1
macepcibr0 at macebus0: mace rev 1, host system O2
pci0 at macepcibr0 bus 0
ahc0 at pci0 dev 1 function 0 "Adaptec AIC-7880" rev 0x00: irq 9
ahc0: Host Adapter Bios disabled.  Using default SCSI device parameters
scsibus0 at ahc0: 16 targets, initiator 7
sd0 at scsibus0 targ 1 lun 0:  SCSI2 0/direct fixed
sd0: 4340MB, 512 bytes/sec, 8888543 sec total
cd0 at scsibus0 targ 4 lun 0:  SCSI2 5/cdrom removable
ahc1 at pci0 dev 2 function 0 "Adaptec AIC-7880" rev 0x00: irq 10
ahc1: Host Adapter Bios disabled.  Using default SCSI device parameters
scsibus1 at ahc1: 16 targets, initiator 7
dsrtc0 at macebus0: DS1687
com0 at macebus0 base 0x00390000 irq 5: ns16550a, 16 byte fifo
com1 at macebus0 base 0x00398000 irq 5: ns16550a, 16 byte fifo
mec0 at macebus0 base 0x00280000 irq 4: MAC-110 rev 1, address 08:00:69:0c:98:fb
nsphy0 at mec0 phy 11: DP83840 10/100 PHY, rev. 0
mavb0 at macebus0 base 0x00300000 irq 7: AD1843 rev 1
audio0 at mavb0
mkbc0 at macebus0 base 0x00320000 irq 6
pckbd0 at mkbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard
power0 at macebus0 irq 6
gbe0 at mainbus0: rev 1, 8MB, 1280x1024 at 8 bits
wsdisplay0 at gbe0 mux 1: console (std, vt100 emulation), using wskbd0
wsdisplay0: screen 1 added (std, vt100 emulation)
softraid0 at root
ahc0: target 1 using 16bit transfers
ahc0: target 1 synchronous at 20.0MHz, offset = 0x8
boot device: sd0
root on sd0a swap on sd0b dump on sd0b

Niby działa dobrze, z kilkoma wyjątkami:

  • nie udało mi się uruchomić Xów z działającą myszką. To dlatego, że nie wiem jakie użądzenie powinienem utworzyć w /dev i jakie wpisać do xorg.conf
  • pakiety binarne są dostępne w architekturze mips64 - co nie jest całkiem intuicyjne, ale działa :)
  • coś jest na rzeczy z przełączaniem wirtualnych screenów w konsoli - nie działa CTRL+ALT+F? i nie wiem dlaczego, a wszelkie googlanie nie daje zadowalających efektów

Jak narazie zainstalowałem podstawowe utilki ułatwiające pracę na konsoli - screen, vim, elinks, etc. Czas na zabawę z pf :)

Comments

@pecet, czemu nie zapytasz "po co sgi o2?" przecież to też wydaje się pozbawione logiki :)

A jeśli chodzi o OpenBSD - czy ogólnie inne BSD, to może warto najpierw coś o nich przeczytać i dowiedzieć się co to jest, i czemu niektórym się to może przydać, zamiast od razu flame’ować.

@Pecet: Po to samo, po co na starym kompie ja zainstalowałem FBSD: aby poznać coś nowego. Linux nie zjadł wszystkich rozumów.

Ale czemu BSD, po co się męczyć Linux stał się użyteczny ostatnimi latami, i obsługuje coraz więcej sprzętu, więc "hakerzy" go już nie lubią?

No co Ty? :) przecież z jakiegoś powodu zainstalowałem właśnie OpenBSD :) nie po to żeby od razu przy jakiejś trudności się go pozbywać. Choć chętnie spróbowałbym teraz jak działa IRIX na tym sprzęcie.

Pecet: robisz się trochę nudny.

Zainstaluj Gentoo

Unicode W Pythonie

Szlag by to trafił! Czemu tak ciężko jest obsługiwać unicode w pythonie?

No niby wszystko jest ładnie konwertowane wewnętrznie na odpowiednie reprezentacje, ale jeśli przychodzi co do czego, i chcemy wypisać sobie taki ciąg znaków na ekran, to już jest ciężej.

Weźmy prosty przykład. Wczytywałem plik z polskimi znaczkami, o taki:

Roger Macdonald;Człowiek w żelaznej masce;25

a potem w kodzie pythonowym robiłem sobie tak:

for line in open(sys.argv[1],'r').readlines():
print line.decode('utf-8')
(.... tu wysłanie do jakiegoś tam Web Service'u)

i wszystko się pięknie wysypywało z komunikatem:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 549: ordinal not in range(128)

Błąd był niby zwracany przez bibliotekę do WS’ów, ale co z tego? Oczywiście słuszność miał python, że rzucił takim wyjątkiem, bo kodowanie źle miałęm ustawione:

>>> import sys
>>> sys.getdefaultencoding()
'ascii'
>>>

Żeby temu zaradzić należało:

  • stworzyć plik _sitecustomize.py_ z zawartością jak niżej:

    #sitecustomize.py
    import sys
    sys.setdefaultencoding('utf-8')

  • ustawić _PYTHONPATH=._ bo inaczej interpreter nie wczytywał pliku.

Strasznie to zagmatwane i hakerskie. Więcej o problemie jest tutaj:

Comments

dajcie spokoj… python 2.7 nie potrafi dodac do siebie dwoch unicodow - to jest porazka - w 2 dekadzie 21 wieku nie mozna dodac do siebie dwoch zmiennych tego samego typu?
ehh

Niestety musisz się przyzwyczaić, że często podczas używania pythona będziesz zmuszony rozwiązywać problemy których w normalnych językach zwyczajnie nie ma.

@Lionix: a to byłby dobry trop, nawet nie wiedziałem, że tak można robić, tyle że w nagłówku pliku mam taki wpis:

#!/usr/bin/env/python
# -*- coding: utf-8 -*-

a i tak zaraz po starcie skryptu dostaję ‘ascii’ przy wywołaniu sys.getdefaultencoding()

>Błąd był niby zwracany przez bibliotekę do WS’ów, ale co z tego?

A no wszystko z tego, to nie wina Pythona że ta biblioteka przeładowując sys.stdout zmienia domyślne kodowanie UNICODE na ASCII.

Inna sprawa że konwerter ASCII zamiast wypisywać np ‘?’ wywala błąd, ale akurat ja to uznaje za plus bo nie chciał byś widzieć chyba ? zamiast polskich literek i szukać gdzie one się tworzą?

@balon777: jak się otwiera stronę w przeglądarce i zabiera za jej czytanie odrobinę później, to może się zdarzyć że lista komentarzy na niej jest już trochę nieaktualna… ale widać że o tym samym pomyśleliśmy ;)

P.S.
W pythonie 3.x parametr encoding obsługuje standardowa funkcja open(), nie trzeba korzystać z modułu codecs

@demikaze: Widzę, że czytałeś poprzednie komenty ;)

Piszę z pamięci więc potraktuj to jedynie jako wskazówkę, ale zakładając że plik z polskimi znaczkami zakodowany jest w utf8 to w twoim przykładzie należałoby go otworzyć w taki sposób:

import codecs

for line in codecs.open(sys.argv[1],’r’,encoding=’utf-8’).readlines():

Jeśli plik z polskimi znaczkami jest w kodowaniu cp1250 to wystarczy:

import codecs, sys

for line in codecs.open(sys.argv[1],"r", "cp1250"):
# teraz line to obiekt klasy unicode
print line.encode("utf8")

w 2.6 też "coding: utf-8" załatwia sprawę ;)

Trzeba używać Pythona >=3.0, albo Perla nie więcej niż ośmioletniego :>

Hm, mi w Pythonie 2.6 setdefaultencoding nie działało jak wrzuciłem w kod. Trzeba do oddzielnego pliku?

Już dawno w Pythonie nie siedzę i nie mam jak tego sprawdzić ale zwykłe wrzucenie w nagłówek # -*- coding: utf-8 -*- nie rozwiązuje Twojego problemu?

Mass Effect

Już dawno nie wciągnęła mnie tak żadna gra. To było olśnienie, ale dopiero za drugim razem wzięło mnie na dobre. Pierwsze podejście raczej mnie zniechęciło, bo choć fabuła zapowiadała się całkiem fajnie, to grając na XBoxie - przy użyciu pada - nie byłem w stanie poradzić sobie z celowaniem. Pewnie dziś byłoby lepiej, bo i technikę w tej dziedzinie podszkoliłem na licznych bijatykach i ef-pe-esach, ale i tak dorwałem werjsę na PC Mass Effect :D.

A czym ów Mass Effect jest? Ano grą z rodziny RPG, a w tej rodzinie należy do nurtu Sci-Fi, space opera z niej - tak dokładnie. Dzielny bohater, w którego całkiem przypadkiem się wcielamy, staje przed zadaniem uratowania galaktyki. Jak by nie było fabuła trzyma się kupy, jest zwięzła, przyjemna. Główny wątek jest naprawdę wyraźny i ciekawy, a oprócz tego jest masa pobocznych problemów, z którymi możemy się do woli borykać.

Gra ma wszelkie aspekty space opery, z jej plusami i minusami, bo mamy tu:

  • big gunzz
  • eksplorację planet - możemy bogacić się zbierając minerały, choć nie jest na to położony zbyt duży nacisk
  • wiele obcych ras i bogaty wszechśiwat
  • podróże międzygwiezdne
  • groźny i fascynujący przeciwnik - chodzi o główny wątek

Świat wsysa, fabuła wsysa, gra jest miodna, nie ma co do tego wątpliwości. Zapewnia wiele godzin rozrywki, która w zasadzie mi się nie nudziła.

Czemu piszę o tej grze w samych superlatywach? Bo tu nie ma się do czego przyczepić. Solidna produkcja, to solidna produkcja. Oczywiście malkontenci na pewno coś znajdą, ale czy będą mieli rację? Nie słuchajcie ich, a przekonajcie się sami. Naprawdę warto!

O tu taki screen z gry:

A poniżej jeszcze przegląd ras:

BTW, jestem w trakcie Mass Effect 2 ;-)

Comments

Opisaliście to ,co denerwuje mnie na tym porlatu od dłuższego czasu ,a ostatnio stało się nagminne. Np. pierwszy artykuł z brzegu z działu film: Szok! Oni są nie do zdarcia. Dziadkowie i babcie, ktf3rzy rozkładają młodzież na łopatki O czym jest artykuł o tak szumnym i emocjonalnym tytule? Otf3ż link prowadzi do galerii przedstawiającej podstarzałych aktorf3w.Pf3ł biedy ,kiedy news dotyczy działu rozrywki. Ale spf3jrzmy na dział finanse : Nie będzie już tanich ubrań made in China ! Komunikat jest dość jasny i opatrzony wykrzyknikiem. Przyszły czytelnik zachodzi w głowę ,dlaczego nie będzie chińskich ubrań. Znowu politycy wyskrobali jakąś ustawę? nałożono embargo? Unia wprowadziła zakaz sprzedaży?Nic z tych rzeczy.Czytamy ,że autorka artykułu stawia mgliste prognozy na podstawie wzrostu cen chińskiej bawełny ,na temat przeniesienia produkcji z chin do innych krajf3w i wzrostu cen odzieży. Jak ma się to do tak jednoznacznie określonego nagłf3wka? Jest i więcej przykładf3w takich przekłamanych nagłf3wkf3w ,ale nie będę ich wszystkich opisał.Na koniec dodam tym co mnie jednak najbardziej denerwuje na tym porlatu jest tworzenie nagłf3wkf3w z wypowiedzi politykf3w ,w ten sposf3b ,że odbiera się je jako informacje. Np. na stronie głf3wnej nagłf3wek tej treści: (przykład zmyślony na potrzeby komentarza) Jarosław Kaczyński odchodzi z polityki? Po czym okazuje się ,że artykuł jest wywiadem z jakimś posłem SLD ,a treść nagłf3wka nawiązuje do wyrwanej z kontekstu konstrukcji myślowej lub ,co gorsza, pytania dziennikarza.

> Bo tu nie ma się do czego przyczepić
Zadania/wątki poboczne - mało i biednie. Ekstremalny przykład - lokacje na planetach - klony 2 czy 3 typów w całym kosmosie :/

hehe :) no ok, można i tak, w mojej wypowiedzi miałem jednak na myśli to, że kiedyś gry cRPG również nie odbiegały od tego schematu.

A czy ktoś mówił, że to źle? ME1 nigdy nie traktowałem jako RPG - raczej jako TPP z rozbudowaną fabułą i światem oraz wieloma możliwościami i drogami pchania jaj do przodu. ME2 jest dokładnie takie same, tylko bardziej ;-)

A ja się nie zgadzam, ME1 to dla mnie typowo RPG, ME2 już faktycznie większy nacisk kładzie na walkę, ale to świadoma decyzja.

Z drugiej strony, czy to jest złą rzeczą? Weźmy taką Ultime Underworld - walki jest tam bardzo dużo, a jednak jest to niezaprzeczalnie rpg.

Oj, oba są tak samo actoin-rpg z tego co zauważyłem. Ale tak, w ME2 walka liczy się dużo bardziej, jest jej więcej i jest (IMO) trudniejsza.

@BTM: ME1 to takie strzelanko-rpg bardziej, za to ME2 to już prawie czysta strzelanka…

ME1 to najlepsze RPG w swoim roku, zaś ME2 mnie na razie nie wciągnęło - ale to tylko dlatego, że kończę FFXIII :-)

Nokia Bez Certyfikatów :)

Od kilku dni walczyłem z wyłączeniem sprawdzania certyfikatów w Nokii E51. Okazało się, że to trywialna sprawa. Wystarczy:

Tools -> App mgr -> Options -> Settings. Zmienić “software installation” z “Signed Only” na “All” i “Onlline certificate check” na “Off” :D

Dzięki temu mogłem sobie zainstalować prostego i funkcjonalnego playera http://symbianoggplay.sourceforge.net/ i jest on o niebo lepszy niż ten domyślny dostarczany przez Nokie.

Comments

U mnie akurat zadziałąło :) a wszelkie próby korzystania z chińskich "rozwiązań" do odblokowywania Nokii poległy.

Także jestem całkiem zadowolony.

Oczywiście w świetle tego co napisałem, może się okazać, że to przez te szacher-machery z chińszczyzną dało się to łatwo odblokować w opisany przeze mnie sposób.

Zrypali symbiana czyżby? Mam Nokię 3660 z platformą s60 w wersji 1 i żadnych certyfikatów nie ma, cóż przekonaliście mnie że Symbian już całkowicie umarł, następny telefon to chyba z androidem ;)

No, zwykle i tak nie działa. Symbian to wielkie zło, nic nie można instalować bez kombinowania jak koń pod górkę :/

To nie zawsze działa.

Recenzja - Drools JBoss Rules 5.0 Developer’s Guide

Kilka dni temu skończyłem czytać niezbyt grubą - jak na standardy branżowej literatury - książeczkę o Droolsach.



A co to jest Drools? Ot taki silnik reguł od JBossa, stronę ma o tu: http://jboss.org/drools. Umożliwia on wydzielenie reguł biznesowych do oddzielnego komponentu przez co możemy zyskać na przejrzystości naszego kodu oraz odseparować potencjalnie podatny na zmiany fragment - logikę biznesową właśnie :) Oczywiście można przy pomocy Droolsów zrobić dużo więcej fajnych rzeczy, ale jest to dalekie od podstawowych informacji.

Nie będę jednak tu rozpisywał się na tym czym są a czym nie Droolsy, przecież lepiej zrobi to strona projektu. Co zaś d osamej książki, to jest ona godna polecenia, bo w przejrzysty sposób tłumaczy zawiłości języka reguł. Bardzo dobrze również, że każdy przykład tworzony jest w duchu TDD czyli najpierw test, a dopiero później implementacja.

Spektrum podejmowanych przez książkę tematów jest dosyć szerokie, bo oprócz podstawowej wiedzy o Droolsach możemy się też dowiedzieć trochę o projektach pokrewnych, takich jak:

  • Drools Fusion - do CEP (Complex Event Processing)
  • Drools Guvnor - web gui do zarządzania i testowania reguł
  • Drools Flow - coś na kształ implementacji BPM - da się w tym jakiś proces biznesowy zrobić

Książka zawiera również wiele przykładów na użycie konkretnych zaproponowanych rozwiązań. Dzięki temu nie zostaniemy, po zakończeniu lektury z suchą wiedzą na temat technologii, a powinniśmy mieć pojęcie, w które miejsce w aplikacji dany klocek pasuje.

Link do strony na Amazon

Comments

I may be a little bisaed, considering that these adorable brothers happen to be my sons, but I am truly grateful to Wanda for capturing some wonderful moments of my boys. She was incredibly patient, and established an immediate rapport with the both kids. I love the fact that she was able to come to my home, and take pictures in an environment where the boys are at their most comfortable. Not only did she take her time and didn’t make us feel rushed, but she was so personable and easy to work with, I won’t hesitate to contact her again in the future. Thanks again Wanda!

Na SO http://stackoverflow.com/search?q=drools+book nie można znaleźć żadnych polecanych książek do drools, więc dobrze, że u Ciebie się taka znalazła.

literówka "d osamej książki" ;)