Pierwsza kolejka wiadomości w Azure

Pierwsza kolejka wiadomości w Azure

Chyba każdy programista miał do czynienia z kolejkami. A większość z tych, którzy studiowali informatykę, jakąś pewnie nawet zaimplementowała. Po co kolejki? Pozwalają nam na asynchroniczną komunikację pomiędzy róznymi apliakcjami, serwisami. Możemy odseparować poszczególne elementy naszego rozwiązania i uruchamiać je niezależnie. Każdy taki element może pracować w innym miejscu. Może to być chmura, nasz komputer, czy też serwer umieszczony w naszej firmie. Pozwala to na budowanie różnego rodzaju workflows, ułatwia skalowanie rozwiązań oraz uniezależnia je od siebie w pewnym stopniu….

Read More Read More

AWS API Gateway i dane.

AWS API Gateway i dane.

Proces poznawania AWS trwa. Ostatnio zrobiliśmy proste, przykładowe API Gateway. Dziś coś trochę bardziej skomplikowanego. Utworzymy API Gateway,  w którym przetworzymy przesłane dane i prześlemy je do funkcji Lambda, odbierzemy od niej rezultat i wyślemy wynik użytkownikowi naszego API. Założenia Tworzymy metodę POST Jako payload przesyłamy obiekt JSON:

API do funkcja lambda prześle obiekt w postaci:

Funkcja Lambda zwróci nam obiekt w postaci:

API zwróci obiekt:

oraz doda do nagłówków HTTP pole o nazwie LambdaStatus z wartościa zwróconą…

Read More Read More

AWS API Gateway

AWS API Gateway

Od jakiegoś czasu chcę przenieść jeden ze swoich projektów na rozwiązanie serverless. Ograniczanie kosztów, nowe zabawki. Sami wiecie. Wnikam ostatnio głębiej w Amazon Web Services (dzięki Mirek), pomyślałem więc o Lambdach. Poczytałem trochę na początek u Gutka i szybko uruchomiłem sobie coś do testów. Miałem zamiar napisać trochę kodu, opisać implementację (AWS API Gateway, Lambda, może DynamoDB)  w AWS i zapomnieć. Zacząłem jednak od dokumentacji AWS API Gateway i… powstanie chyba kilka wpisów. AWS API Gateway Za pomocą tej usługi możemy tworzyć RESTful…

Read More Read More

Appic

Appic

Kilka dni temu pojawiła się nowa wersja rozwijanej przeze mnie od ponad 3 lat aplikacji. Mowa o Appic. Aplikacja, a właściwie cały system, rozwijany jest od samego początku przez ten sam, niezbyt duży zespól. Moim wkładem w system jest oczywiście aplikacja stworzona na telefony iPhone. Dodatkowy i niezbędny wkład to oczywiście grafika, zarządzanie, marketing i sprzedaż. Szczególnie bez dwóch ostatnich trudno w dzisiejszych czasach odnieść jakikolwiek sukces. Startowaliśmy na rynku ponad dwa lata temu jako 2xpr, a dzisiejsza aplikacja nie…

Read More Read More

DigitalOcean firewall

DigitalOcean firewall

Dotarła do mnie dziś informacja, że DigitalOcean wprowadził usługę firewall. Darmową!!! Jeszcze niedawno miałem dwie maszyny wirtualne z Linuxem działające w DigitalOcean. Działała tam między innymi uwielbiana i znienawidzona Jira 🙂 W chwili obecnej korzystam przy programowaniu z maszyn postawionych na Vultr, gdyż mają o połowę niższe ceny. Nie ręczę za niezawodność, ale na potrzeby testów wystarcza na pewno. Od dwóch miesięcy żadnych problemów. Najtańsza maszyna będzie kosztowała 2,5$ za miesiąc. Nie chce mi się już nawet bawić w jakieś lokalne maszyny…

Read More Read More

Jira i ServiceDesk

Jira i ServiceDesk

Pojawiają się nowi klienci, dobrze by było gdyby mogli nam przesyłać błedy, opinie, feature requesty. Udostępnienie Jiry klientom nie wydaje się dobrym pomysłem. Więc… ServiceDesk. Update Jiry i doinstalowanie ServiceDesk spowodowało NullReferenceException. Bywa… Walczyliśmy z tym 2 dni. Każde utworzenie nowego projektu, to samo. Pomysł, stawiamy Jirę na nowo, razem z ServiceDesk. Potem import pliku xml z ieżącej instancji. Całość stoi na DigitalOcean. Robię więc nowego dropleta z Ubuntu 16.04 LTS na pokładzie. Dlaczego Ubuntu? Gdy walczyłem z problemem wklejając…

Read More Read More

Foslo – szukamy znajomych

Foslo – szukamy znajomych

Foslo – szukamy znajomych. Nowych i starych. Po kilku tygodniach pracy i przepychankach z review w AppStore pojawiła się moja nowa aplikacja. Może nie moja, ale napisana przeze mnie. Użytkownicy widzą kto był w okolicy, mogą nawiązywać kontakty, czatować ze sobą. Chętnych do wypróbowania zapraszam do pobierania. Dostępna jest także wersja na Androida.

Apple, Visual Studio, NET.Core, Entity Framework, SQLite w jednym stali…

Apple, Visual Studio, NET.Core, Entity Framework, SQLite w jednym stali…

Przeczytałem wczoraj na Tweeterze, że pojawiło się poprawnie działające Visual Studio dla Mac OS X. Instalacja przebiegła bezproblemowo. Bawię się więc. Przygotujemy bazę SQLite na Macu za pomocą Visual Sudio, NET.Core i EntityFramework. Zaczynamy Na pierwszy ogień poszło połączenie NET.Core, EntityFramework i SQLite. Coś prostego, ale pozwalającego połączyć ogień z wodą. Po kolei wygląda to tak. Tworzymy jakąś prostą solucję w Visual Studio i dodajemy potrzebne pakiety. Czekamy chwilę po zaakceptowaniu licencji i zaczynamy tworzyć klasy W końcu piszemy kod. Jakaś…

Read More Read More

Opóźnione wywołanie metody

Opóźnione wywołanie metody

Czasem pojawia się w aplikacji potrzeba opóźnionego wywołania jakiejś funkcji. Nie chodzi mi w tym przypadku o proste dispatch_after, czyli coś w stylu

Wyobraźmy sobie następujący przypadek. Mamy aplikację, która umożliwia wyszukiwanie. Użytkownik wpisuje kolejne litery, a aplikacja pyta np. jakieś API o wyniki. Zakładając, że szukam słowa ‚przemek’, mam siedem liter do wpisania. Reagując na każdą literę poprzez wysłanie zapytania do serwera zrobimy sobie krzywdę. A jeżeli nie sobie, to serwerowi. Dobrze by było poczekać chwilę i wysłać…

Read More Read More

Paymo i przeterminowane zadania

Paymo i przeterminowane zadania

Kolega korzysta z Paymo. Od dłuższego czasu nie mógł doprosić się raportu pokazującego przeterminowane zadania. Coś trzeba było zaradzić. Rzut oka na API Paymo. Mamy listę tasków, spróbujmy… Ja do takich celów korzystam z Paw, ale zwykły curl też wystarczy. Dla porządku, jeszcze korzystam z Paw. Ostatnie odsłony raczej zniechęcają i co raz częściej zerkam w stronę Postmana.

Rezultat? Mamy odpowiedź, ale chyba nie taką o jaką nam chodzi. {„message”:”Not Authenticated”} Trzeba podać login i hasło… curl -X „GET” „https://app.paymoapp.com/api/tasks”…

Read More Read More