REST-owe żądania w Java Spring z wykorzystaniem RestTemplate

Wraz z wielkim wzrostem dwóch podejść RESTful Web Services oraz mikroserwisów warto jest mieć łatwy sposób na stworzenie odpowiedniej klasy wspomagającej komunikacje miedzy serwisami. W tym wpisie pokażę, jak zrobić to w javowym Springu z wykorzystaniem klasy RestTemplate.

Na początek

  • bardzo podstawowa wiedza o Javie
  • 5 minut

RestTemplate

RestTemplate (implementujace interface RestOperations) to wedlug dokumentacji Springa centralna klasa dla synchronicznego dostępu HTTP. Trochę bardziej ludzkim językiem – w oparciu o tę klasę można łatwo z poziomu kodu Javy wykonywać żądania HTTP. Stwórzmy więc zręby pod własny klient Rest HTTP 🙂
Czytaj dalej REST-owe żądania w Java Spring z wykorzystaniem RestTemplate

Łączenie map dla nawigacji GPS Garmin na MacOs

TLDR; gotowce: mapa Bieszczad dla GPS Garmin, mapa Tatr dla GPS Garmin, mapa Gruzji dla GPS Garmin.

Mimo, że temat ten nie do końca jest związany z programowaniem uznałem, że wiedza o tym jak połączyć kilka map dla nawigacji GPS może się przydać nie tylko mi.

Co więcej po tym, jak sam musiałem drugi raz się tego nauczyć (rzadko potrzebuję łączyć mapy) stwierdziłem, że nawet jeśli nikt inny tego nie będzie nigdy potrzebował, to mi bardzo ułatwi taki wpis życie :D.

Czego potrzebujesz?

  • odpowiednich plików z mapami (garmin.openstreetmap.nl)
  • specjalnego programu (dla MacOS uruchamianego z lini poleceń) (gmaptool.eu)
  • nawigacji obsługującej stworzony plik (np. Garmin eTrex 30x)
  • 5 minut (na przeczytanie i dużo więcej czasu na pobranie plików z mapami)

Czytaj dalej Łączenie map dla nawigacji GPS Garmin na MacOs

Zmiana wersji node.js za pomoca nvm

Node.js zagoscil juz w swiecie programistycznym na dobre i czesto nawet jesli nie tworzysz produktu w JavaScript, to nadal jakas czesc projektu wymaga node’a.

Czasem tez wymagana jest konkretna wersja node.js. Istnieje kilka sposob na zainstalowanie wlasciwej wersji, ja pokaze tu jedna z prostszych, wykorzystujaca nvm (Node Version Manager).

Na poczatek

  • zainstalowany node.js
  • umiejetnosc korzystania z wiersza polecen
  • 3 minuty

Wpis ten dotyczy nvm i node na MacOS, ale roznice dla Linuksa czy Windowsa nie powinny byc duze.

Czytaj dalej Zmiana wersji node.js za pomoca nvm

Systemy kontroli wersji: podstawy SVN

Subversion (znany również jako SVN) – system kontroli wersji, który powstał w celu zastąpienia CVS. Z założenie SVN jest w większości przypadków funkcjonalnie zgodny ze swoim poprzednikiem, z kompatybilności zrezygnowano tam, gdzie było to niezbędne do wprowadzenia nowych rozwiązań. SVN jest wolnym i otwartym oprogramowaniem na licencji Apache. (tyle nam mówi wikipedia.org)

W tym artykule postaram się przybliżyć zasady działania tegoż systemu.

Co to jest?

Jest to zestaw narzędzi (klient i serwer) pozwalających na zarządzanie wersjami plików należących do projektu (historia zmian pliku, cofanie zmian do dowolnej rewizji, informacje o autorze zmian itp.). Użytkownik posiada klienta SVN. Najczęściej na zdalnym serwerze trzymane są tzn. repozytoria. Czytaj dalej Systemy kontroli wersji: podstawy SVN

Kontrola wersji z TortoiseSVN (Windows)

W poniższym wpisie opiszę jeden z najpopularniejszych klientów SVN na system operacyjny Windowsa – TortoiseSVN. Pozwala on w łatwy sposób korzystać z SVN w trybie graficznym.

Opisane operacje:

Na początek

Jeśli nie wiesz, jak działa SVN (lub ogólnie systemy kontroli wersji) warto zacząć od krótkiego artykułu poświęconego temu zagadnieniu.

Musisz mieć zainstalowany program TortoiseSVN (pobierz ze strony).
W artykule będę używał google code. Jeśli chcesz sprawdzać, czy to co tu opisuję jest prawdą, warto założyć tam konto (jeśli masz Gmail to masz automatycznie konto i tu). Opisane szerzej w osobnym artykule. U mnie projekt będzie się nazywał „yc-svn-example”. Ty siłą rzeczy będziesz musiał mieć inną nazwę (google code nie zezwala na dwa projekty o tej samej nazwie). Ważne, abyś w miejscu „yc-svn-example” wstawiał nazwę swojego projektu. Czytaj dalej Kontrola wersji z TortoiseSVN (Windows)

Progressive enhancement – tworzenie stron dla kazdego odbiorcy

Kazdy z nas lubi tworzyc cos bardzo nowoczesnego i przyjaznego programiscie. Pewnie nikt z nas (procz 3 osob ciagle odwiedzajacych te strone za pomoca IE 6) nie znosi tworzyc czegos dla starych i wrednych srodowisk.

Niestety, czasem nie wszystko zalezy od nas. Musimy pojsc na kompromisy i zapewnic takze starym, zgrzybialym srodowiskom podstawowe wsparcie. Istnieje kilka sposob na tworzenie takich stron. W ponizszej prezentacji glownie chcialbym sie skupic nad progressive enhancement (progresywne ulepszanie) oraz wspomniec o kilku innych, np. graceful degradation.

Czytaj dalej Progressive enhancement – tworzenie stron dla kazdego odbiorcy

Ksiazka: Wyrazenia regularne. Wprowadzenie

Wzorzec MVC w PHP dla profesjonalistówWyrazenia regularne. Wprowadzenie

Kazdemu programiscie przyjdzie wreszcie skorzystac z wyrazen regularnych. Warto zatem miec chocby podstawowa wiedze dotyczaca tego mechanizmu.

Skad jednak czerpac taka wiedze? Calkowite postawy sa na tyle proste, ze mozna spokojnie znalezc przyklady w internecie. Troche bardziej skomplikowane lub nawet zaawansowane wykorystanie „reg expow” takze moze byc latwo znalezione.

To, czego mi zawsze brakowalo bylo pochylenie sie nad pewnymi podstawowymi niuansami. Michael Fitzgerald w swojej ksiazce wlasnie to robi. Prowadzi krok po kroku czytelnika od przykladow bardzo prostych przez coraz trudniejsze do naprawde ciekawych przypadkow. Wyjasnia przy okazji mechanizmy jakie wykorzystuje oraz pokazuje rozne sposoby otrzymania tego samego wyniku.

Czytaj dalej Ksiazka: Wyrazenia regularne. Wprowadzenie