Logowanie wyjątków i zdarzeń z projektów Django do Sentry
sentry to coś w rodzaju agregatora logów. W przypadku projektów Django używamy go do logowania wyjątków jak i innych informacji pisanych przez nasz kod do logów. Zamiast wysyłać maila z wyjątkiem do administratora wszystko zapisywane jest w sentry.
Sentry to aplikacja napisana w Django. Obsługuje logowanie z różnych frameworków, czy języków (nawet JavaScript). Aplikację można szybko odpalić lokalnie, odpalić na własnym serwerze, albo wykupić instancję na getsentry.
W tym artykule przedstawię jak odpalić Sentry lokalnie (np. do testów) i jak skonfigurować Django by logowało wszystko do Sentry.
Odczytywanie wartości z analogowych czujników za pomocą pyMCU
Jedną z bardzo przydatnych funkcjonalności pyMCU jest czytanie
wartości analogowych - a dokładnie napięcia w obwodzie, które zmieniane jest przez analogowy
czujnik. Tym czujnikiem może być dowolny element o zmieniającej się rezystancji. Fotodiody, fototranzystory, fotorezystory reagują na światło. Termopary, termoelementy i inne czujniki temperatury pozwalają mierzyć temperaturę w różnych zakresach. Czujnik Halla reaguje na obecność pola magnetycznego. Czujników tego typu jest bardzo dużo i mogą znaleźć różnorakie zastosowanie.
Elektronika sterowana Pythonem - szybki start z pyMCU
pyMCU to płytka z mikrokontrolerem PIC 16F1939 oferująca 13 pinów cyfrowych, 6 analogowych, 5 10-bitowych pinów PWM i 16 pinów szeregowych dla wyświetlacza LCD (2x16). Do komputera podłączana jest poprzez USB dzięki konwerterowi FTDI USB do UART FT232R. Dzięki temu użytkowanie płytki jest bardzo proste i nie wymaga żadnych dodatków. Oprogramowanie w postaci Pythonowego modułu dostępne są pod MS Windows, Mac OSX jak i pod Linuksa. Wszystko opisano na stronie projektu.
W odróżnieniu od np. Raspberry Pi nie jest to komputer, a jedynie znacznie prostszy mikrokontroler. Dzięki temu możemy podłączyć go do dowolnego komputera - laptopa, PCta, czy także Raspberry Pi i innych mini-komputerów posiadających złącze USB. Dostępne złącza pinowe dają podobną funkcjonalność co złącza dostępne na płycie Raspberry Pi, czy niektórych shieldach Arduino.
Biblioteka Pythona pozwala w dość prostym i przyjemnym środowisku kontrolować różne elektroniczne układy. Można też odczytywać wartości z różnych czujników (temperatury, natężenia światła, ruchu, pola magnetycznego itd.). Coś w sam raz do różnych ciekawych projektów.
pyMCU można zamówić ze sklepu za około 20 EUR - 80 PLN. Cena jest niska, gdyż jest to praktycznie tylko mikrokontroler i adapter USB. Nie ma procesora, pamięci RAM, czy innych chipów.
SENA Parani UD100 - adapter Bluetooth o dużym zasięgu
Bluetooth już chyba mocno spowszedniał. Korzysta z niego wiele urządzeń od komórek po bezprzewodowe słuchawki, czy inny sprzęt komputerowy. Przeciętne adaptery Bluetooth na USB są obecnie bardzo małe i zapewniają według producentów zasię rzędu 10 metrów (lub nieco więcej). Do celów "konsumenckich" duży zasię nie jest ani potrzebny, ani wskazany ze względu na bezpieczeństwo. Na rynku znajduje się adapter potrafiący komunikować się na znacznie większe odległości - SENA Parani UD100.
Przegląd zmian wprowadzonych w Django 1.6 Alpha 1
Django 1.6 alfa 1 pozwala nam zapoznać się ze zmianami planowanymi dla kolejnego wydania frameworka. Alfa 1 nie jest jeszcze na poziomie produkcyjnym ani w pełni ukończona, aczkolwiek lista zmian już jest bardzo długa.
- Uproszczono startowy szablon aplikacji. Panel admina jest dodany do zainstalowanych aplikacji i gotowy do użycia. Tak samo wykrywanie języków, czy ochrona przez clickjackingiem są domyślnie włączone.
- Zaszły spore zmiany w obsłudze transakcji w bazach danych. Domyślnie włączony został autocommit. Dotychczasowe API dotyczące transakcji zostało oznaczone jako przestarzałe na rzecz nowego API.
- Dodano obsługę ciągłych połączeń z bazami danych. Django może wykorzystać jedno połączenie z bazą danych do obsługi wielu żądań. Połączenie będzie utrzymywane przez określony czas lub bezterminowo.
- Dodano nowy test-runner "django.test.runner.DjangoTestDiscoverRunner" wykrywający i wykonujący testy z modułów pasujący do wzorca "test*.py".
- Dodano obsługę savepoints dla baz SQLite (ale z pewnymi ograniczeniami).
- Dodano pole BinaryField do przechowywania danych binarnych
- Dodano pola i widżety formularzy dla typów danych stosowanych przez GeoDjango.
- Pola EmailField, URLField, IntegerField, FloatField i DecimalField używają typów obecnych w HTML5 (email, url, number). Typ "number" jest stosowany dla pól liczbowych nie podlegających lokalizacji.
- Wywołanie metody save() na modelu wykona UPDATE lub INSERT (gdy to nie aktualizacja) zamiast SELECT, INSERT (nie znaleziono) lub UPDATE (znaleziono)
- Pillow jest zalecaną biblioteką do obsługi grafik. PIL oczekuje na oznaczenie jako przestarzały (obsługa PIL zostanie usunięta z Django 1.8). Żeby zmienić PIL na Pillow najpierw odinstaluj PIL i dopiero po tym zainstaluj Pillow.
- django.contrib.comments oznaczono jako przestarzałe. Aplikacja zostanie usunięta w Django 1.8
- Django 1.6 obsługuje bazy PostgreSQL w wersji 8.4 lub nowszej
- Tagi szablonów "cycle" i "firstof" renderują swoje dane tak jak je otrzymały - w tym kod HTML. Dodano poprawione implementacje w "future" a od Django 1.8 będą one jako domyślne.
Two Scoops of Django, czyli jak zrobić porządne lody o smaku Django
Na ostatnim PyWawie można było przejrzeć, a na DjangoConie kupić bardzo fajną książkę dotycząca efektywnego i poprawnego pisania kodu z Django.Two Scoops of Django, w skrócie "Django lody" jest pozycją wartą polecenia każdemu. Zarówno doświadczony, jak i początkujący programista Django
znajdzie coś nowego, lub coś prezentującego lepsze, czytelniejsze, albo bardziej elastyczne rozwiązanie.

Two Scoops of Django to właśnie książka dobrych praktyk, a nie typowa forma dokumentacji-tutoriala. Znajdziemy w niej virtualenva, South, czy poręczne aplikacje "trzecie". Dowiemy się kiedy warto stosować widoki oparte o klasy, a kiedy widoki funkcyjne. Idąc w kierunku modeli znajdziemy rozwiązanie odwiecznej bolączki kiedy blank=True a kiedy null=True. W formularzach do pomocy dostaniemy django-floppyforms, czy django-crispy-forms (albo django-form-bootstrap)... i wiele więcej.
Adapter Gembird USB3-HDMI na chipsecie SMSC pod Linuksem
Na rynku dostępnych jest dość dużo adapterów USB do HDMI/D-SUB/DVI, czy uniwersalnych stacji dokujących. Urządzenia tego typu oparte są o chipsety DisplayLink (nie mylić z Display Port) albo SMSC (i ew. jeszcze innych firm). Przydają się w ultrabookach i ubogo wyposażonych laptopach zapewniając większą ilość portów USB, port Ethernetowy czy wspomniane wyjścia obrazu dające możliwość pracy na wielu monitorach.
Pod Linuksem obsługiwane są "praktycznie" tylko starsze chipsety DisplayLink na USB2. Nowsze chipsety na USB3 nie są obsługiwane (przynajmniej na chwilę obecną z tego co wiem). Chipsety SMSC są mniej spopularyzowane (czy też nie wiadomo ile adapterów z nich korzysta), ale co ciekawe - dostępne są sterowniki zarówno w Kernelu jak i dla X.org. Są pewne "ale", ale da się uruchomić adapter USB3-HDMI pod Linuksem.
Aktywny HUB USB2 LogiLink UA0128
LogiLink UA0128 to aktywny HUB USB2 z czterema portami (i jednym portem "wejściowym"). Jak na aktywny HUB przystało wyposażony został w zasilacz (5V 2A) pozwalający zasilać podłączonego do niego urządzenia USB. Dodatkowo każdy z portów posiada włącznik pozwalający wyłączać zasilanie bez konieczności odłączania urządzenia.
Philips DLP2207 ładowarka-zasilacz urządzeń USB
Ładowarka Philips DLP2207 to jedna z wielu uniwersalnych ładowarek urządzeń mobilnych. Posiada dwa porty USB jak i w zestawie kabel mikro USB. Pozwala ładować komórki, tablety i inne kompatybilne urządzenia do których można podłączyć kabel USB. Specyfikację ładowarki znajdziemy na stronie producenta. Ładowarka ta daje napięcie 5V (tak jak USB) a maksymalne natężenie to 2,1 A, co powinno bez problemu wystarczyć nawet najbardziej prądożernym urządzeniom.
Krótka recenzja karty WiFi Asus USB-N10
Asus USB-N10, czy też ASUS EZ N to karta sieciowa WiFi b/g/n na USB. Rozmiarem plasuje się pomiędzy tymi miniaturowymi a klasycznymi długimi donglami USB. Nieco większe wymiary w porównaniu do tych najmniejszych miniaturowych adapterów pozwoliły zastosować nieco większą i lepszą antenę. Jak ta karta na chipsecie Realteka sprawuje się pod Linuksem?