niedziela, 18 grudnia 2016

OWIN - problemy (MVC)

Integrowałem ostatnio kilka aplikacji z social media korzystając z OWINa napotykając się na kilka specyficznych problemów, których rozwiązanie zajęło mi chwile.

Problem nr 1 : Google przekierowuje do URL_APPKI/sigin-google mimo, że nie przekierowywujemy do takiego kontrolera
Niestety tak działa provider dla Google'a i trzeba dodać taki redirectUrl.

Problem nr 2 : Facebook - brak autoryzacji po przekierowaniu mimo, że otrzymujemy autoryzację

niedziela, 11 grudnia 2016

IIS nagłówki - dlaczego warto usuwać

Dawno temu zapisałem sobie, że warto o tym napisać posta - i do dzisiaj nie znalazłem czasu, żeby zacząć temat.

Domyślnie, dla IIS, dostajemy następujące informacje:
  1. wersja serwera (np. Server: Microsoft-IIS/10.0)
  2. wersja .NET (np. X-AspNet-Version:4.0.30319)
  3. wersja MVC (np. X-AspNetMvc-Version:5.2)
  4. informację o tym, że mamy do czynienia z ASP.NET (X-Powered-By:ASP.NET)

Usunięcie tych informacji jest ważne ze względu na automatyczne skanery. W razie 0-day'ów serwer jest nijako "automatycznie" wskazany jako cel ataków - atakujący doskonale wie, bez głębokiej analizy, z jakim serwerem i oprogramowaniem ma/może mieć do czynienia i może prowadzić dalszą analizę pod kątem błędów w infrastrukturze. Zatem nawet, jeśli aplikacja jest bezpieczna pod kątem implementacji, to zagrożona może być infrastruktura.

wtorek, 20 września 2016

DevDay 2016

Udało mi się odwiedzić DevDay 2016. Impreza udana, dużo ciekawych wykładów, fajny afterek :-)

Nie będę opisywał każdego wykładu, wrzucę link jak tylko pojawiają się nagrania z wykładów (zawsze udostępniane na youtube).

piątek, 2 września 2016

mockowanie extension methods w C#

Trafiłem dzisiaj na konieczność mockowania extension method w C#. Dość szybko okazało się, że Moq czy Nsubstitute nie dadzą sobie rady z tym zadaniem. Szybkie szukanie dało 3 wyniki:
  1. Smocks (Open Source)
  2. Pex & Moles (Microsoft freeware)
  3. TypeMock Isolator (płatne)

Porównując powyższe rozwiązania, zacznę od płatnego TypeMock Isolator - jest bezpłatna wersja, ale nie można jej używać z legacy code, w związku z powyższym od razu wypadło z zakresu moich zainteresowań. Pozostał Pex & Moles oraz Smocks. Pierwsze rozwiązanie ze wspomnianych jest dostępne wyłącznie jako paczka do instalacji co przy 10+ developerach, 5 maszynach budujących byłoby uciążliwe w utrzymaniu. W związku z tym wybór padł na Smocks'a, który jest dystrybuowany jako paczka NuGet'owa. Po przeczytaniu krótkiego tutoriala ze strony, bez problemu zaimplementowałem potrzebne mocki.

HackerRank - ranking programistów

Ranking programistów wg krajów http://blog.hackerrank.com/which-country-would-win-in-the-programming-olympics/. Go Poland!

sobota, 20 sierpnia 2016

poniedziałek, 8 sierpnia 2016

.NET 4.6.2

Microsoft ogłosił dzisiaj wydanie .NET 4.6.2. O szczegółach możecie przeczytać pod tym linkiem: https://blogs.msdn.microsoft.com/dotnet/2016/08/02/announcing-net-framework-4-6-2/.

Najważniejszą zmianą jest obsługa ścieżek do plików dłuższych niż 260 znaków.

czwartek, 4 sierpnia 2016

"Smoleńsk" zwiastun

Obejrzałem zwiastun "cudownego" "dzieła" zwanego "Smoleńsk". Ręce opadają od jakości wykonania i teorii spiskowych. W zasadzie nie bardzo jest co komentować w tej pseudo twórczości.

niedziela, 17 lipca 2016

Android Lollipop - Lenovo S8-50L problemy po ostatniej aktualizacji

Swego czasu w tym artykule opisałem jak wyczyścić śmieci po upgradzie Adroida do Lollipopa na Lenovo S8-50L.

Dzisiaj na nowo dokonałem aktualizacji oprogramowania i chciałem dokonać czyszczenia cache'a. Mocno się zdziwiłem kiedy po wejściu w tryb serwisowy nie zobaczyłem znanego menu. Nowe kroki jakie należy wykonać po wejściu w menu serwisowe:

1) wybrać opcję "Recovery mode" (przyciskiem głośności)
2) nacisnąć przycisk power
3) tablet się zrestaruje i wejdzie w znane nam menu
4) wykonać kroki wg poprzedniej instrukcji

czwartek, 23 czerwca 2016

Xiaomi Redmi Pro 3 - opinia użytkownika

Swojego Redmi zakupiłem od polskiego dystrybutora (). Na realizację zamówienia (od zamówienia do odbioru z paczkomatu) minął równo tydzień.

O samym telefonie - zawiera zainstalowanego Androida 5.x z Miui w wersji polskiej. Nie mam zastrzeżeń co do spolszczenia. Nie ma masy softu zainstalowanego, jest tylko kilka-kilkanaście aplikacji (co należy zaliczyć na plus). Po zainstalowaniu ponad 40 dodatkowych appek, telefon działa płynnie. Rzadko mu się zdarza przyciąć.

Co do aparatu to ciężko mi ocenić jego jakość. Zrobiłem kilka fotek, wydają się być OK, ale bez szału.

Bateria trzyma ok. 2 dni biorąc pod uwagę dzwonienie, smsy, przeglądanie internetu, nawigacje i Endomondo.

Zasadniczo nie miałem problemu z dostawą (ani ja ani 2 moich kolegów), jednakże jeden miał pecha i zrobił przelew z numerem jakimś, który mu się na stronie wygenerował zamiast tego, który został przesłany na maila. Próba kontaktów przez email czy telefon (wielokrotna) zakończyła się niepowodzeniem. Dopiero po napisaniu na oficjalnym forum użytkowników, że zawiadomi o tym Policję, po 30 minutach sprawa była rozwiązana. Takie sytuacje mocno rzutują na reputację sprzedawców i ciężko mi odpowiedzieć, dlaczego komuś na tym nie zależy.

Reasumując: jak na cenę, bardzo dobry telefon.

środa, 8 czerwca 2016

Nowy security feature w MS Server 2016

Microsoft zaprezentował sposób na zabezpieczenie przed złośliwym działaniem administratora. Wygląda to dość ciekawie.

Dlaczego warto zwrócić uwagę na tego typu feature? Od dawna wiadomo, że administrator może wszystko. Ale co w przypadku, gdy ktoś spodziewa się zwolnienia i chce zasiać szkody? zniszczenia mogą być olbrzymie i doprowadzić do zniszczenia nawet sporej spółki.

Szczegóły: https://blogs.technet.microsoft.com/windowsserver/2016/05/10/a-closer-look-at-shielded-vms-in-windows-server-2016/

sobota, 21 maja 2016

cechy języka obiektowego - pytania z rozmowy rekrutacyjnej

Wczoraj dostałem takie pytanie na rozmowie rekrutacyjnej: jakie są cechy języka obiektowego? Niby oczywiste, ale oczekiwane odpowiedzi wcale nie były aż tak oczywiste. Oczekiwane odpowiedzi: klasy, polimorfizm, generyki (i jeszcze jedno, którego zapomniałem).

Kolejnym zaskakującym pytaniem było: jakie są cechy środowiska uruchomieniowego (jedna musi być, druga dobrze by było jakby była). Prawidłową odpowiedzią wg pytającego było (w odpowiedniej kolejności) Garbage Collection i wyjątki.

środa, 11 maja 2016

GitHub nieograniczona liczba prywatnych repo

GitHub ogłosił dzisiaj możliwość tworzenia nieograniczonej ilości prywatnych repozytoriów. W przypadku osobistego dostępu, koszt dostępu to 7$/miesiąc.

Źródło

niedziela, 1 maja 2016

Linux - distro Microsoftu

Microsoft wypuścił distro oparte o Debiana dedykowane do zarządzania switchami i innymi urządzeniami sieciowymi w L3. Jak podkreślono, narzędzia wykorzystywane są w data center Microsoftu. Całkiem szybka migracja w stronę Open Source. Ciekawe jakie będą następne kroki?

Więcej detali: http://fossbytes.com/microsoft-has-just-released-a-debian-linux-based-os-for-networking/

czwartek, 21 kwietnia 2016

Kevin Murray - Język liderów

Dostałem od mojej narzeczonej wspomnianą w tytule książkę - "Język liderów" autorstwa Kevina Murraya. Na podstawie wielu spotkań z prezesami firm, koncernów czy instytucji charytatywnych opisuje dlaczego komunikacja odnosi zajmuje krytyczne miejsce w drodze do sukcesu. Jest to oparte na wielu przykładach z życia, z ciekawymi opisami. Książka nie jest może najprostszą lekturą, ale dobrze się ją czyta. Polecam każdemu kto szuka inspiracji w temacie komunikacji.

piątek, 1 kwietnia 2016

SQL Server 2016 CTP2

Microsoft opublikował SQL Server 2016 CTP2. Edycja zawiera wiele feature'ów (m.in. znane już kolumnowe indeksy), ale również nowości (np. in memory processing dla OLTP).

Ponadto Microsoft chwali się następującą listą nowinek:
  • Always Encrypted - szyfrowanie danych po stronie SQL Server
  • AlwaysOn - usprawnienia
  • Bezpieczeństwo na poziomie wiersza – daje możliwość kontroli do danych na podstawie charakterystyki użytkownika (cokolwiek M$ miał na myśli - można zgadywać, że chodzi o rolę lub jakieś warunki z nią powiązane np. dane z departamentu, w którym pracuje użytkownik). Zmiana jest zaimplementowana na poziomie silnika i nie jej wykorzystanie nie wymagana dodatkowej modyfikacji kodu
  • Dynamiczne maskowanie danych (Dynamic Data Masking) – wsparcie obfuskacji danych w czasie rzeczywistym
  • natywne wsparcie JSONa – pozwala na łatwe parsowanie i składowanie JSONa oraz eksport relacyjnych danych do JSONa
  • Query Data Store – przechowuję pełną historię wykonania zapytań tak, że admin może prześledzić kosztowne zapytania i zoptymalizować ich wykonanie
  • Usprawnienia w backupach do Azure'a - pozwala na szybszy backup do Azure'a i szybsze odtworzenie z backupu

Źródło: Blog Microsoftu

czwartek, 31 marca 2016

Xamarin za darmo!

Po akwizycji Xamarin, Microsoft zdecydował się za darmo udostępnić go dla developerów korzystających z Visual Studio! Dodatek można pobrać ze strony Xamarina. Źródło informacj: https://blog.xamarin.com/xamarin-for-all

poniedziałek, 21 marca 2016

Paryż - zwiedzanie - istotne informacje

Zwiedzanie Paryża warto zacząć od kupienia Paris Museum Pass - jest to bilet do muzeów upoważniający do darmowego wejścia do ponad 50 muzeów w Paryżu oraz kilku poza. Wejściówka dostępna jest w 3 wersjach - na 2, 4 i 6 dni. My korzystaliśmy z wersji 6-dniowej jako, że spędziliśmy 5 pełnych dni. Bilet zwraca się już po kilku wejściach (np. sam Wersal kosztuje 25 euro). Ponadto, w niektórych miejscach, zyskujemy wejście priorytetowe.

Najlepiej po Paryżu podróżować metrem i na piechotę - najszybciej + można najwięcej zobaczyć. Niestety stację metra często rozstawione są daleko od siebie, więc warto to wziąć pod uwagę przy planowaniu przesiadek. Do tego najprościej jest płacić kartą za bilety. Część automatów obsługuje monety, a jeszcze mniej banknoty.

Do Wersalu najlepiej dojechać pociągiem (RER). Trzeba uważnie sprawdzić trasę, po której jedzie nasz pociąg, ponieważ pod jednym numerkiem czasem kryje się kilka tras. Kupując bilet na RER, obowiązuje od stacji, na której wsiadamy (wliczając w to metro, autobus, tramwaj) do stacji docelowej.

Ważne: wszędzie kontrolują bagaże, torby plecaki, dlatego w ostatni dzień warto zostawić walizkę w przechowali bagażu, o ile tylko nasz hotel/hostel ma taką możliwość, inaczej można nie wejść do wielu miejsc. Aktualnie w sklepach (na Champs-Elysee) i galeriach handlowych sprawdzają co klient wnosi w torbie/plecaku.

poniedziałek, 7 marca 2016

SQL Server @ linux

Microsoft ogłosił niedawno, że w połowie 2017 SQL Server będzie można odpalić na Linuxie. Aktualnie M$ oddał pierwszą wersję do testów prywatnych. Ewidentnie Microsoft przesuwa się w stronę wsparcia Linuxa - czyżby to świadczyło o słabości własnego systemu i wizji końca Windows'ów?

źródło: https://blogs.microsoft.com/blog/2016/03/07/announcing-sql-server-on-linux/

niedziela, 31 stycznia 2016

Jak podejrzeć hasło do Wi-Fi w Windows 10

Ostatnio przesiadłem się (niestety) na Windows 10. Jedną z wad jest dokopanie się do niektórych funkcjonalności, które były dość oczywiste (albo przynajmniej łatwiejsze) do znalezienia niż w Win10. Pierwszym z problemów na jakie się natknąłem było znalezienie konfiguracji dla Wi-Fi i podmiana hasła dla sieci z ukrytym SSIDem.

Żeby znaleźć hasło wykonać następujące kroki:
  1. klikamy na okienko z powiadomieniami w zasobniku systemowym (na rysunku w czerwonej ramce), a następnie naciskamy prawym przyciskiem myszy w sieci bezprzewodowe (tutaj na zielono podświetlone) i wybieramy "Idź do ustawień"
  2. Przewijamy na dół i wybieramy "Sieci i centrum współdzielenia" (Network and Sharing center)
  3. Widzimy znany widok ze starszych Windowsów (jak na obrazie)
  4. klikamy prawym myszki i wybieramy opcję "Status" jak na zrzucie poniżej
  5. Wybieramy "Wireless properties" (właściwości sieci bezprzewodowej)

  6. W nowym oknie przechodzimy do zakładki "Security" (Bezpieczeństwo) i zaznaczamy "Show characters" (Pokaż znaki). Wtedy w polu "Network security key" (klucz bezpieczeństwa sieci) pokaże się hasło tekstem.

sobota, 16 stycznia 2016

Nowy Jedniominutowy Menedżer - krótka recenzja

Przeczytałem właśnie książkę "Nowy Jednominutowy Menedżer". W książce pojawiają się 3 podstawowe koncepcje:

  • Jednominutowy cel - cel zapisany w kilku paragrafach, który można przeczytać w ok. 1 minutę
  • Jednominutowa pochwała - pochwała za sukces, wyrażana w ok. 1 minutę
  • Jednominutowe przekierowanie - skarcenie za porażkę, wyrażone w ok. 1 minutę

Niemniej jednak, jak zauważa autor, koncepcja działa tylko i wyłącznie dla "średnich" (rokujących) i "mocnych" jednostek, gdyż wymaga pewnych cech charakteru jak m. in. samodyscyplina, umiejętności analityczne czy zarządzanie i planowanie.

Warto przeczytać, żeby zobaczyć jakie podejście mają niektórzy menadżerowie.