Coś tu cicho ostatnim czasem…

Od kilku lat dzieje się tak samo. Styczeń jest u mnie miesiącem, w którym mam najmniej wolnego czasu. Nie wiem z czego to wynika, ale wtedy pracy mam najwięcej. Sytuację spotęgowało moje zaangażowanie w rozwój niedawno założonej firmy mojej żony (jeszcze większej pasjonatki do swojej pracy niż ja). Uruchomienie strony, crm-a, smsapi, projekty graficzne, bannery, wizytówki, itd, Koniec końców styczeń 2017 to chyba pierwszy miesiąc od czasu istnienia bloga, w którym nie opublikowałem ani jednego wpisu. Wszystko wskazuje na to, że luty będzie wyglądał podobnie…

ELK Stack, dobre praktyki zarządzania logami

 

Cat | tail | grep – nierzadko jest to dla wielu osób podstawowy zestaw komend do wyszukiwania pewnych informacji w logach. Rozwijając jakąkolwiek aplikację, tworzymy pewien ekosystem składający się wielu usług, generujących własne pliki rejestru zdarzeń w różnych formatach. Na przykład w pierwszej lepszej aplikacji którą rozwijałem informacje rejestrowane są przez:

  • serwer proxy – NGINX
  • serwer http – Tomcat
  • bazę danych – PostgrteSQL
  • no i aplikację.

Już przy tak podstawowym zestawie usług, generowanych informacji jest ogrom. Przegląd i analiza takich logów jest dosyć problematyczna. Jeszcze pół biedy, gdy wszystkie z tych danych znajdują się na jednym serwerze.

Jak nad tym zapanować? W tym artykule przedstawię open source’owy zestaw narzędzi służących zarządzania logami ELK Stack w skład którego wchodzą:

  • Elasticsearch – silnik wyszukiwania pełnotekstowego oparty na Apache Lucene.
  • Logstash – narzędzie przetwarzające, filtrujące, normalizujące i wysyłające gdzieś logi (w naszym przypadku do Elasticsearch’a).
  • Kibana – interfejs, aplikacja webowa do przeglądania i wizualizacji logów w czasie rzeczywistym.

W poniższym artykule zaprezentuję przykład aplikacji wykorzystującej Javovy Log4J wysyłającej do Logstasha logi za pomocą SocketAppendera (na potrzeby wpisu w Windowsie 10).

Zaczynajmy, jak zwykle bez zbędnego rozpisywania się.

Czytaj dalej

Wykonywanie kodu JavaScript w Javie

ausmalbild-nashorn-7Wraz z pojawieniem się Javy 8 został udostępniony nowy silnik JavaScriptowy dla JVM o nazwie Nashorn. Zastąpił on starszą implementację Rhino, dostępnego od Javy 6. JavaScriptowy silnik Rhino został stworzony dawno temu przez firmę Netscape (chyba w 1997 roku), a w późniejszym czasie rozwijany był przez Mozillę. Nashorn to silnik pozwalający uruchamiać kod Javascriptowy po stronie serwera. Daje to duże możliwości, bo w łatwy sposób można udostępnić „język / składnie” jakiejś konfiguracji dla użytkownika, dzięki czemu w trakcie działania aplikacji można modyfikować implementację pewnych zachowań i dodawać nowe. Dzięki wykorzystaniu takiego silnika można np. dać użytkownikowi możliwość oprogramowania jakiegoś fragmentu systemu.
Wykorzystując taki silnik można zaimplementować np. walidację formularzy przechowując ją tylko w jednym miejscu systemu / modelu. Z formularza przekazujemy JSONa, po stronie serwera wykonujemy ten sam kod który był wykonany po stronie przeglądarki.

Bez zbędnego wstępu, przejdę do konkretnych przykładów pokazujących możliwości wywoływania kodu JavaScript z poziomu Javy.

Przykład Hello World:

W wyniku uruchomienia czego, na konsoli pojawi się tekst: „Cześć, tu Notatnik Programisty!”

Interfejs ScriptEngine posiada przeciążoną metodę eval przyjmującą obiekt klasy Reader, dzięki czemu można wywołać kod bezpośrednio z zewnętrznego pliku:

W Javie 7 metoda getEngineByName(„js”) zwróci implementację Rhino. Od wersji ósmej będzie to już silnik Nashorn.

Czytaj dalej

Dasz rybę, czy wędkę? Ty też możesz pomóc młodemu przyszłemu programiście!

Szkoła 3.0 – nowy program pomocy dla potrzebujących dzieci!

about-1

Jeśli dasz człowiekowi rybę, nakarmisz go na jeden dzień. Jeśli nauczysz go łowić ryby, nakarmisz go na całe życie.

Czy wiedzieliście, że 68% wychowanków placówek opiekuńczo-wychowawczych w dorosłym życiu NIE MA STAŁEGO ZATRUDNIENIA? Jest to naprawdę smutne. Braki w wykształceniu, wykluczenie cyfrowe, brak środków na dalszą edukację, brak praktyk zawodowych – sprawiają, że sytuacja zawodowa usamodzielnionych wychowanków domów dziecka wygląda tak, jak poniżej:

15241184_1111004095679135_4461154571250033522_n

Źródło: https://www.facebook.com/Szkola3.0/

Właśnie przed chwilą zafundowałem roczną edukację jednemu z wychowanków domu dziecka i cieszę się z tego niezmiernie oraz zachęcam każdego z was o pomoc w jakiejkolwiek formie. Ale o co tu chodzi?

Czytaj dalej

Ostatni dzwonek na przygotowanie się do e-kontroli

wizjanet_jpk_b3O wprowadzeniu e-kontroli podatkowej dla przedsiębiorstw oraz jednostek administracyjnych i samorządowych mówi się już od dłuższego czasu. Płynnie zostały już wprowadzone w dużych firmach, gdzie obowiązują od stycznia bieżącego roku, a pliki JPK przesyłane są do Urzędów Skarbowych od 1 lipca. 1 stycznia 2017 roku to ostateczny moment, w którym oprogramowanie generujące pliki JPK mają wdrożyć jednostki administracyjne i samorządowe odpowiadające sektorowi MŚP (czyli małym i średnim przedsiębiorstwom).
Wśród wielu osób zarządzających księgowością w gminach i miastach e-kontrole i zagadnienia związane z Jednolitym Plikiem Kontrolnym wywołują pewne obawy i wątpliwości. Zupełnie niepotrzebnie, ponieważ odpowiednio wcześniejsze przygotowanie do kontroli, czyli wdrożenie oprogramowania do rejestru VAT i faktur oraz generującego plik JPK, pozwoli uniknąć kłopotów i ewentualnych kar. Co ważne, e-kontrole dotyczą nie tylko prywatnych przedsiębiorców, ale też gminy, organizacje, stowarzyszenia, jednostki administracyjne oraz samorządowe. Jednym słowem wszystkie instytucje, będące podatnikiem będą podlegać e-kontroli.

Czytaj dalej

XI Mistrzostwa Wielkopolski w Programowaniu Zespołowym

XMWPZ2_small

W tym roku po raz jedenasty odbędą się Mistrzostwa Wielkopolski w Programowaniu Zespołowym (MWPZ), których jednym z oficjalnych patronów medialnych jest Notatnik Programisty! Jest to największa polska impreza programistyczna, otwarta i bezpłatna!

Już 2-3 grudnia br. spotykamy się w Poznaniu na XI Mistrzostwach Wielkopolski w Programowaniu Zespołowym, wydarzeniu które przyciąga setki: zawodowych informatyków, doktorantów, studentów, uczniów oraz innych entuzjastów programowania, łamigłówek i pracy zespołowej z całej Polski oraz Świata. Walkę w rywalizacji może podjąć każdy bez względu na wiek czy wykonywany zawód, mistrzostwa są w całości otwarte i bezpłatne dla wszystkich, odbywają się równolegle w laboratoriach Wydziału Matematyki i Informatyki UAM oraz Wydziału Informatyki Politechniki Poznańskiej.
Zawody trwają dwa dni, a udział w nich, w tym roku, bierze 156 drużyn z różnych zakątków Polski. Oficjalne otwarcie ma miejsce w piątek – 2 grudnia na Wydziale Informatyki Politechniki Poznańskiej, zaraz po nim odbędzie się wykład dotyczący komputerów kwantowych, który poprowadzi dr Stefan Filipp – fizyk kwantowy z Zurychu. Następnie odbędzie się sesja próbna, w której zawodnicy mogą spróbować swoich sił oraz sprawdzić sprzęt przed zawodami głównymi. Wieczorem dla wszystkich uczestników przygotowana zostanie strefa FUN ZONE.

 

schematmwpz_2
Drugi dzień imprezy – 3 grudnia to Zawody Główne, podczas których zawodnicy przez 5 godzin zmagają się z zadaniami algorytmicznymi.

Mistrzostwa to świetna okazja, aby sprawdzić się w programistycznej rywalizacji, poznać nowych ludzi, a przede wszystkim doskonale się bawić. Zwycięski zespół to ten, który rozwiąże największą liczbę zadań w jak najkrótszym czasie. Zwycięzcy otrzymują atrakcyjne nagrody i tytuł Mistrza Wielkopolski w Programowaniu Zespołowym.
Sobotnie wydarzenie będzie można obejrzeć poprzez transmisję na żywo w internecie, dostępnej na kanałach MWPZ. Wszelkie informacje dotyczące zawodów są dostępne na stronie MWPZ bądź facebooku.

Zapraszamy!

Praktyki mistrza SQL. Programowanie zaawansowane. Recenzja książki.

Praktyki mistrza SQL. Programowanie zaawansowane.Niniejszy wpis to kolejna recenzja książki przygotowana przez Bartka Medonia na moim blogu. Tym razem do oceny trafiła nowość wydana w połowie października tego roku – „Praktyki mistrza SQL. Programowanie zaawansowane” autorstwa Joe Celko. Jest on uznanym ekspertem w dziedzinie baz danych. Z jego konsultacji korzystały m.in. służby medyczne, NASA, siły zbrojne USA. Autor wysoko cenionych książek dotyczących SQL. Napisał również ponad 1200 artykułów w prasie informatycznej i akademickiej. Większość tych tekstów dotyczyła danych i baz.

A zatem zapraszam.

Czytaj dalej

Fundamenty języka Java

Niecały miesiąc temu zostałem poproszony przez Strefę Kursów o ocenę ich nowo wydanego materiału dla osób chcących zacząć naukę programowania w Javie: „Fundamenty języka Java„. Przerobiłem go kilka dni temu i dziś zapraszam do przeczytania recenzji.

Spis treści całego kursu jest dostępny tutaj, a trwa on aż ponad 12 godzin.

Czytaj dalej

Java Spring MVC, recenzja kursu wideo z Videopoint.pl

vswmvcPół roku temu opisywałem kurs z podstaw frameworka Spring dostępnego w Videopoint.pl, a dziś co nieco o kolejnym z tej serii: Spring Web MVC. Autorem obu ponad 3-godzinnych materiałów jest Dobromir Matusiewicz –  starszy projektant w Asseco Poland SA., który od kilkunastu lat zajmuje się tworzeniem oprogramowania dla banków, a od kilku opiera swoje aplikacje na potencjale Spring Framework.

Czytaj dalej

90-cio procentowe rabaty na ebooki!!!

Równo o północy 3 listopada rusza zdecydowanie najlepsza promocja książek w tym roku – Ebookpoint.pl z okazji swoich piątych urodzin udostępnił ponad 8 tysięcy ebooków i audiobooków w niezwykle okazyjnych cenach: 6.90 zł, 9.90 zł, 14.90 zł i 19.90 zł. Rabaty dochodzą do 90%!

Ale mało tego, dodatkowo został przygotowany konkurs – trzy największe (sumaryczne) zamówienia zostaną uhonorowane książkami o wartości: 500 zł, 300 zł, 150 zł.

Promocja trwa dwa dni: 3 i 4 listopada 2016.

[Aktualizacja 5.11.2016]

Promocja została przedłużona do soboty 5 listopada.

To najlepsza okazja aby uzupełnić biblioteczkę programisty przed świętami

750x200_5_urodziny_ebp

Czytaj dalej