Manualne dodanie certyfikatu SSL od Let’s Encrypt bez roota na serwerze

Zgodnie z najnowszymi trendami chciałem dodać do swojego bloga certyfikat SSL. Na początku rozważałem zakup oficjalnego certyfikatu od swojego dostawcy, ale postawiłem sobie wyzwanie, żeby uzyskać go bezpłatnie. Trafiłem na kilka możliwości, z których najbardziej znane są Let’s Encrypt oraz StartSSL. Najpierw sprawdziłem StartSSL, ponieważ praktycznie wszystkie kroki procedury przechodzi się tam przez przeglądarkę, jednak mimo poprawnej weryfikacji nie udało mi się uzyskać oceny A wg SSL Labs (najwyższą jest A+). Dlatego spróbowałem swoich sił z Let’s Encrypt – gwarantują certyfikat ważny przez 90 dni (w przeciwieństwie do 3 lat od StartSSL), który trzeba odnawiać za pomocą odpowiedniego narzędzia (np. certbot) postawionego na serwerze. W założeniu tak częste odnawianie certyfikatu ma zwiększać bezpieczeństwo połączenia.

Continue reading

Przechowywanie ustawień aplikacji w Xamarin.Forms #dsp2017

Przeglądam aktualnie potencjalne rozwiązania przechowywania ustawień aplikacji takich jak wybrany motyw kolorystyczny, częstotliwość powiadamiania użytkownika, język czy ustawienia pokazywania treści NSFW. Do tej pory trafiłem na trzy sposoby przechowywania takich danych:

  • właściwości aplikacji (a persistent properties dictionary) – do przechowywania trywialnych, kwantowalnych informacji, dostępne z każdego miejsca w aplikacji
  • system plików aplikacji – np. jako pliki JSON, które wymagają (de)serializacji przy zmianie stanu aplikacji
  • baza danych SQLite – nieco jak strzelanie z armaty do muchy, ale na pewno wykorzystam w późniejszym etapie projektu

Continue reading

Jak pobrać film z serwisu VOD TVP

Potrzebowałem pobrać w celach archiwizacyjnych jedno nagranie z serwisu vod.tvp.pl. Niestety nie było to takie oczywiste, jak zainstalowanie wtyczki czy użycie dedykowanego serwisu. Nie chciałem też rejestrować obrazu z własnego monitora ze względu na wątpliwą jakość nagrania. Do swojego celu użyłem ostatecznie wget i ffmpeg.

Odtwarzacz TVP wysyła do nas stream w małych paczkach po kilka sekund, dzięki czemu serwer może łatwo przestać nadawać dane, kiedy zatrzymamy odtwarzanie albo zmienić jakość w locie. Adres pliku, który do przeglądarki jest wysyłany można podejrzeć za pomocą konsoli deweloperskiej w Chrome. Pliki numerowane są w suffiksie za pomocą kolejnych liczb naturalnych, więc bardzo łatwo jest przeiterować po nich wgetem. Za przykład weźmy odcinek Magazynu kulturalnego.

Continue reading

Poziomo przewijana lista z Syncfusion w Xamarin.Forms #dsp2017

Chciałbym w swojej aplikacji mieć przewijaną poziomą listę bindującą się z kolekcją wybranych seriali (taką jak na obrazku poniżej). Niestety spędziłem masę czasu w poszukiwaniu prostego i działającego rozwiązania, jednak żadne nie odpowiadało moim prostym potrzebom. Jednym z nich było użycie ListView obróconego raz o 270 stopni z zawartością obróconą o kolejne 90 stopni. Niestety bezskutecznie próbowałem ustawić jego parametry i wymiary, by pokazać obrazki tak jak oczekiwałem. Znalazłem też wersję poprawioną i jeszcze jedną wykorzystującą RelativeLayout, ale tu również poległem w boju. Aktualnie na forum Xamarina poleca się wykorzystanie RecyclerView, ale z tego co rozumiem działa to tylko na Androidzie.

Continue reading

KiedySerial – koncept aplikacji #dsp2017

W praktyce dopiero zaczynam swoją przygodę z C#. Przeczytałem kilka kursów, przerobiłem dziesiątki tutoriali, ale do tej pory nie zrealizowałem jeszcze żadnego projektu w C# od początku do końca. Dlatego postanowiłem wziąć udział w Daj Się Poznać 2017. Od kilku miesięcy śledzę aktywność Macieja Aniserowicza (a od pewnego czasu również coraz szerszego grona dotnetowców) i jego optymizm, zaangażowanie w realizację tego konkursu, a także niedawno rozpoczęty vlog zdecydowanie przekonały mnie, że warto spróbować swoich sił.

Projekt, który chciałbym zrealizować przez najbliższe trzy miesiące jest relatywnie prosty, a dodatkowo poczułem, że taka aplikacja przydałaby mi się w codziennym życiu. KiedySerial ma być cross-platformową aplikacją mobilną napisaną w Xamarin.Forms powiadamiającą użytkownika o zbliżającym się odcinku ulubionego serialu.

Continue reading