Sunday, February 23, 2014

UI, UX, UCD, ID – czyli o co chodzi i dlaczego powinniście to wiedzieć

Masa linków

Gdyby ktoś nie śledził forum na meetupie to Michał Jaskólski, który był bohaterem tego odcinka JUGa, zapodał tam kilkadziesiąt linków do przeróżnych poradników UXowych. A oto ten właśnie link do forum

Frekwencja i temat

Na spotkanie przybyło ponad 40 osób - i było też chyba kilka nowych twarzy. W sumie temat też był niecodzienny i bardzo dobrze. Trzeba poszerzać horyzonty i jeśli ktoś ma jakąkolwiek ciekawą prezentację z obszaru IT to niech nie obawia się tego "Java" w JUG. To trochę tak jak np. piosenkarka wychodzi za maż to też sobie nazwiska nie zmienia bo tłumy je znają itd.

Witamy z otwartymi ramionami każdego kto chce podzielić się wiedzą - były już prezentacje o Agile,Amazonie i Javascript. Ludziom się jak na razie podobało.

Fotki

Następne spotkanie

Już w ten czwartek 9 odcinek "Clean coders" - Spotkanie na meetupie. Tym razem będzie o "The Single Responsibility Principle" (Czyli m.in. żeby nie tworzyć klas "*Manager")

Sunday, February 9, 2014

Drools - systemy eksperckie

Prelegent : Przemek Różycki

Przemek opowiedział "o tym skąd się wzięła koncepcja Droolsów, że jest to narzędzie do budowania systemów eksperckich, oparte o silnik reguł, zawierające mechanizmy wnioskowania, jednak nie tak złożone jak np. Prolog, ale bardziej takie dla ludzi"

Rekonstrukcja zdarzeń

Poniżej moja relacja ze spotkania, która zawdzięcza swoją specyfikę faktowi, iż w ogóle na tym spotkaniu mnie nie było:)

Przemek podjechał pod DMCS

Na początku standardowe pogawędki w gronie IT

Prezentacja

I zakończenie

I trochę prawdziwych zdjęć

Zapiski prezentera i widzów (celowo wymieszane)

  • przedstawiłem problem medyczny (wykrycie średniego lub wysokiego ryzyka choroby wieńcowej) i jaki model do niego zaprojektowałem, po czym omówiłem reguły, które do tego służą
  • Buduje się model (klasy Java) z if-ologią, case'ami, coś na zasadzie klasy abstrakcyjnej (np Choroba) i 5-6 klas podrzędnych z metodami typu opisChoroby, przyczyna, dolegliwości, gdzie one zawierają jakąś logikę Następnie buduje się reguły drools (pliki z *.drl)
  • I np przychodzisz do lekarza on Cię bada: sprawdza tętno jeżeli > 60 to zadaj pytanie o coś tam, jeżeli tamto coś tam było true zbadaj czy nie ma obrzęku płuc i tak dalej i tak dalej aż do diagnozy.
  • pokazałem kilka innych mechanizmów dostępnych w Droolsach już nie na przykładach, jak integracja z JPA, dodatkowe możliwości konfiguracji, plugin mavenowy do kompilacji reguł
  • Przykład z Oragne: Droolsy podczepili jako system decyzyjny do frontendu. Jak klient sobie wybierał nazwę telefonu, to dalej drools szybciorem zaczytał mu model, potem taryfę i potem drools decydował i wysyłał do frontendu model co możesz dostać jeszcze z tą ofertą a czego nie, albo sugerował jakie usługi jeszcze dobrać by mieć lepsze pakiety, model telefonu.
  • Inny przykład to definiowanie reguł drools za pomocą tekstowych komend, coś jakbyś miał XSL wyciągający z XML'a dane i łączył to w całość. Wygląda to fajnie na zasadzie (nie pamiętam prefiksów ale na wzór)
    • In 2000 year I was <drl:year> year old. I like <drl:hobby>
    Wtedy bardzo szybko zmieniasz takie reguły, dosłownie w pliku properties. Kompilujesz uruchamiasz i bangla. Żeby to zrobić to operator musi być trochę biznesowy ale sporo IT, bo coś spieprzy i zapętlisz reguły i będzie lipa.

Następne spotkanie