Strona głównaUżytkownik

rroszczyk | użytkownik

rroszczyk
rroszczyk
10 531,66
803 dni, 5 godzin, 51 minut temu
23 października, 2013
dotnetomaniak.pl

Wiecie jaka jest definicja wzorca projektowego, prawda? Za wikipedią: “a general repeatable solution to a commonly occurring problem in software design“. Czym zatem będzie antywzorzec? Czymś takim: “a general repeatable anti-solution to a commonly occurring problem in software design“. Czyli: recepta na napytanie sobie biedy. Czerwony pijany znak z napisem: “Nie idź tą drogą”.

Antywzrorzec Service Locator

Sztuka programowania 2983 dni, 15 godzin, 56 minut temu rroszczyk 167 źrodło rozwiń

Jak wspomniałem w jednym z wcześniejszych już wpisów, nie ma znaczenia, gdzie aktor jest zlokalizowany. Dzięki AKKA.NET jest to szczegół  konfiguracyjny. Jeśli pewnego dnia, stwierdzimy, że wykonywanie obliczeń na jednym komputerze nie wystarcza, wtedy po prostu  zmieniamy konfigurację, aby hostować danego aktora gdzieś indziej. Framework zadba o komunikację (TCP) między węzłami znajdującymi się w innych sieciach. W ten sposób, bardzo łatwo jest sk...

Dziel się z innymi:
AKKA.NET – zdalni aktorzy

Programowanie rozproszone 2986 dni, 9 godzin, 57 minut temu rroszczyk 79 źrodło rozwiń

Gdy tworzymy kod jakiejś własnej paczki nugetowej, bardzo często wykorzystujemy kompilację w wariancie Any CPU. Dzięki temu docelowa DLLka zadziała zarówno na x86 jak i x64, ale również i na ARM w sytuacji gdy mamy do czynienia z systemami mobilnymi. Niestety nie zawsze jest tak kolorowo i prosto, i czasem Any CPU po prostu nie zadziała - np. w sytuacji gdy mamy składowe DLLki przygotowane pod określone platformy/architektury...

Tagi: .Net, C#, NuGet, paczka
Dziel się z innymi:
Nuget - budowanie paczek dla różnych konfiguracji i architektur

Narzędzia 2988 dni, 5 godzin, 24 minuty temu rroszczyk 153 źrodło rozwiń

DbUp jest prostą biblioteką, przeznaczoną do aktualizacji baz danych. Jeśli korzystamy z ORM, zwykle wtedy dany framework posiada już analogiczną funkcjonalność. Na przykład, EntityFramework wspiera migrację, która umożliwia automatyczną aktualizacje tabel i procedur. Z drugiej strony, nie zawsze jest potrzeba korzystania z tak ciężkich rozwiązań. Bardzo popularną biblioteką do odczytu danych z baz jest Dapper.  Niestety nie posiada on mechanizmu podobne...

Dziel się z innymi:
DbUp  – aktualizacja baz danych

Sztuka programowania 2988 dni, 5 godzin, 24 minuty temu rroszczyk 169 źrodło rozwiń

Ależ jesteśmy rozpieszczeni! Królowie świata i okolic! Każdy chce nam, programistom, dogodzić, nie zważając czy ma to sens czy nie. Zupełnie. Ale czy firmy, padając przed programistami na kolana, faktycznie robią dobrze i sobie i nam? I co my na to? O negatywnym wpływie wszelkich przejawów jesteśmy-wielką-rodziną-przytulmy-się-i-żyjmy-razem-bullshit na programistów pisałem już niedawno w bardzo chodliwym poście “Nie sprzedawaj się za piłkarzyki“. Ale jakie skutki na zachowanie programistów względem firm...

Dziel się z innymi:
Lojalność w IT

Inne 2990 dni, 4 godziny, 24 minuty temu rroszczyk 295 źrodło rozwiń

Luźny wpis, w którym poruszę temat raportowania stanu projektu. Zachęcam do przeczytania wszystkich, którzy takie raporty piszą, a przede wszystkim tych, którzy je czytają :). Odpowiem dlaczego pytanie „ile procent projektu mamy ukończone?” może zakłamywać rzeczywistość i dawać złudne poczucie bezpieczeństwa. Pokażę również bardziej skuteczną metodę raportowania stanu projektu. Gdy stawiałem pi...

Źródło: wojciszko.com
Dziel się z innymi:
Jak raportować stan projektu?

Inne 2990 dni, 4 godziny, 24 minuty temu rroszczyk 223 źrodło rozwiń

Standardowo w aplikacjach używa się takich frameworków jak log4net czy nlog w celu logowania kluczowych informacji jak i  wyjątków. Bardzo szybko staje się jasne (szczególnie w przypadku micro-serwisów), że analizowanie plików tekstowych z logami jest czasochłonne. Z tego względu dobrze mieć centralne repozytorium logów i łatwy do niego dostęp. Większość rozwiązań umożliwia dzisiaj indeksowanie oraz łatwe przeszukiwanie danych. Jednym z bardziej znanych produktów je...

Dziel się z innymi:
Exceptionless – centralne przechowywanie logów

Narzędzia 2990 dni, 4 godziny, 24 minuty temu rroszczyk 134 źrodło rozwiń

Metoda Split dzieli łańcuch znaków na części w zależności od separatora, który został przekazany w parametrach. Ostatnio jednak natknąłem się na plik CSV, który oprócz tego, że jest rozdzielony przecinkami to na dodatek ma jeszcze ogranicznik pól. Parsowanie takiego pliku metodą String.Split nie będzie prawidłowe. Poniżej implementacja metody String.Split z możliwością zdefiniowania ogranicznika pól(checkSeparator)...

Parsowanie plików z ogranicznikiem pól.

Sztuka programowania 2999 dni, 18 godzin, 4 minuty temu rroszczyk 176 źrodło rozwiń

Dzisiaj kolejny element HTTP 2.0, tym razem wymagający zmiany kodu po stronie aplikacji. Tak jak już z wszystkimi opisanymi wcześniej zmianami, ma to na celu zmniejszenie opóźnienia (latency) wynikającego z liczby zapytań. Doskonale wiemy, że każda strona ma referencje do innych zasobów takich jak CSS czy pliki graficzne. Wcześniej zajęliśmy się już HTTP Multiplexing, który znacząco niweluje problem. W jednym z poprzednich wpisów pokazałem również jak w H...

Tagi: asp.net, C#, HTTP, push
Dziel się z innymi:
HTTP 2.0 Server Push

Web 2999 dni, 18 godzin, 4 minuty temu rroszczyk 102 źrodło rozwiń

JMeter jest darmową aplikacją bardzo przydatną podczas  wykonywania “load testing”. Interfejs użytkownika co prawda jest bardzo mało intuicyjny, ale po pewnym czasie można przyzwyczaić się. Aplikacja, po uruchomieniu prezentuje się następująco (...) Oczywiście na oficjalnej stronie można znaleźć pełną dokumentację, więc moim celem nie jest opisywanie każdego elementu. Jako próbkę, po prostu spróbujmy stworzyć test, który będzie łączył się z jakąś stroną (np. Google) i...

Dziel się z innymi:
HTTP – testy wydajnościowe w JMeter

Narzędzia 2999 dni, 18 godzin, 4 minuty temu rroszczyk 175 źrodło rozwiń

Nigdy nie ciągnęło mnie do logowania. Zawsze miałem problem z określeniem poziomu na jaki zasługiwała dana informacja, a może ostrzeżenie. Czy to błąd, czy to już krytyczny błąd. Jak mam to dobrze zalogować. Czemu te okrutne logi tak strasznie mieszają mi się w aplikacje, wtedy jeszcze nie znałem podejścia AO...

Tagi: asp.net, C#, log, mvc
Dziel się z innymi:
Bardzo prost logi w asp mvc

Web 3005 dni, 16 godzin, 25 minut temu rroszczyk 207 źrodło rozwiń

ASP .NET, OgólnePiotr ZielińskiLeave a comment IIS w Windows 10 wspiera już od jakiegoś czasu nową wersję protokołu.  W zasadzie prawdopodobnie nic nie musimy robić, jeśli posiadamy prawidłową wersję IIS. Oczywiście użytkownicy muszą posiadać również odpowiednią wersję przeglądarki internetowej. Ich kompatybilność można sprawdzić tutaj. Jak widać, Edge, Chrome, Firefox, Opera czy iOS Safari radzą sobie najlepiej. W przypadku IE, najnowsza wersja wspiera HTTP 2.0 tylko częściowo. Jeśli jeszcze nie zains...

Tagi: asp.net, HTTP, iis
Dziel się z innymi:
HTTP 2.0 w IIS (ASP.NET)

Web 3005 dni, 16 godzin, 25 minut temu rroszczyk 102 źrodło rozwiń

Jak wygląda rynek pracy w naszej branży – wiemy wszyscy. “Kandydat nasz pan”. Firmy często prześcigają się w “dogadzaniu” złowionym już programistom, kusząc różnymi dogodnościami kolejną zwierzynę. Widać to po wielu ogłoszeniach i komunikacji wychodzącej od rekruterów. A to piłkarzyki w biurze, a to konsole, a to zjeżdżalnia (sic!), a to jeszcze nie wiadomo co. Zwykłe rzutki przy tym wymiękają. Pracownicy takich placów zabaw także lubią szczycić się, jak to firma tuli ich i kołysze za pomocą powyższych z...

Dziel się z innymi:
Nie sprzedawaj się za piłkarzyki

Inne 3005 dni, 16 godzin, 25 minut temu rroszczyk 348 źrodło rozwiń

ASP .NET, OgólnePiotr ZielińskiLeave a comment Kilka postów chcę przeznaczyć na temat HTTP 2.0. Zamiast pisać tylko o nowościach w nowej wersji protokołu, warto najpierw zrozumieć jak działała dotychczasowa wersja czyli HTTP 1.1. Pierwszym problemem HTTP 1.0 oraz HTTP 1.1 była obsługa wielkiej ilości zapytań. Każda strona, aby prawidłowo wyświetlić się potrzebuje załadować mnóstwo zewnętrznych zasobów takich jak skrypty JS, arkusze css czy grafika. Ponadto HTTP oparty jest na TCP więc ponadto mamy do...

Tagi: .Net, asp, C#, HTTP, multiplex
Dziel się z innymi:
HTTP 2.0 Multiplexing, HTTP 1.1 Pipelining oraz  HOL blocking

Web 3014 dni, 6 godzin, 27 minut temu rroszczyk 79 źrodło rozwiń

ASP .NET, OgólnePiotr ZielińskiLeave a comment Zanim przejdę do kolejnych usprawnień w HTTP 2.0, warto poświęcić chwilę na zastanowienie się jak omijamy problemy HTTP 1.1 dzisiaj. Większość stron wciąż opiera się na HTTP 1.1 i nie najgorzej radzą sobie z wydajnością. Oczywiście sporo jest do poprawy, ale strony działają na urządzeniach mobilnych bez ogromnych opóźnień. Mimo wszystko, opóźnienie (latency) jest jednym z podstawowych problemów rozwiązanych przez HTTP 2.0.  Zastanówmy się, jak dzisiaj...

Tagi: .Net, asp.net, C#, HTTP
Dziel się z innymi:
Obejścia problemów z HTTP 1.0\HTTP 1.1

Web 3012 dni, 2 godziny, 3 minuty temu rroszczyk 74 źrodło rozwiń

Tworzy się wszystko po angielsku, a przez to nie ma problemów ze znakami "zażółć gęślą jaźń". Ja popełniłem ostatnio małą aplikację, gdzie postanowiłem że cały UI będzie po polsku, ponieważ do takich odbiorców kieruje swój projekt. Skoro jedno języczne to będzie to proste. HTML i opisy po polsku, atrybuty i informacje po polsku. Nic nie zapowiadało małej katastrofy, ale ta nadeszła całkiem szybko...

Dziel się z innymi:
Polskie znaki w MVC

Web 3012 dni, 2 godziny, 3 minuty temu rroszczyk 621 źrodło rozwiń

Podczas zabaw z Dependency Injection można się trochę zapędzić używając kontenerów, uzależniając od nich cały kod naszej aplikacji. A to źle. Na dobra sprawę logika aplikacji nie powinna nawet wiedzieć z jakiego kontenera korzystamy. Do kontenera nie powinniśmy się przyzwyczajać – jeśli wykorzystujemy go poprawnie, to jego podmiana na inną bibliotekę nie będzie nastręczać żadnych trudności. Tak naprawdę to całkowite pozbycie się kontenera z systemu również powinno być proste. Pisałem już trochę o tym w p...

DI: 3 calls pattern

Sztuka programowania 3014 dni, 20 godzin, 9 minut temu rroszczyk 189 źrodło rozwiń

W poprzednim wpisie pokazałem, w jaki sposób możemy zaprojektować obsługę błędów. Jak widać mamy do dyspozycji sporo opcji. Z punktu widzenia AKKA.NET nie jest to jednak tak skomplikowane. Wystarczy przeładować jedną metodę i zwrócić odpowiedni obiekt. Tak jak w poprzednim wpisie będziemy testować kod na następującym “systemie”: Dla przypomnienia nasz ApplicationUserActor wygląda następująco: public class ApplicationUserActor : UntypedActo...

Tagi: .Net, akka, C#, rozproszone
Dziel się z innymi:
AKKA.NET – Przykład obsługi błędów

Programowanie rozproszone 3017 dni, 18 godzin, 18 minut temu rroszczyk 102 źrodło rozwiń

ASP .NET, BezpieczeństwoPiotr ZielińskiLeave a comment W poprzednim poście opisałem zasadę działania protokołu HTTP Strict Transport Security. W skrócie najważniejsze punkty to:Serwer zwraca specjalny nagłówek “Strict-Transport-Security”, który powinien być przesyłany wyłącznie przez HTTPS.Po otrzymaniu nagłówka od serwera, przeglądarka zawsze będzie łączyć się przez HTTPS, a nie HTTP. Użytkownik jeśli nawet będzie chciał użyć HTTP, przeglądarka dokona wewnętrznego przekierowania na HTTPS (307 – interna...

Dziel się z innymi:
HSTS w ASP.NET z użyciem biblioteki NWebsec

Web 3027 dni, 18 godzin, 1 minutę temu rroszczyk 121 źrodło rozwiń

BezpieczeństwoPiotr ZielińskiLeave a comment Protokół HTTPS jest dzisiaj powszechny na wszystkich stronach z wrażliwymi informacjami. Banki są klasycznym przykładem. HTTPS “gwarantuje”, że dane są przesyłane w szyfrowanej formie, a klient wie, że łączy się z oryginalną stroną. Certyfikat publikowany przez stronę jest gwarantem, że korzystamy właśnie z tej aplikacji, z której zamierzaliśmy. W najprostszej postaci wygląda to zatem następująco: Tego przynajmniej spodziewamy się… Problem w tym, że czasam...

Dziel się z innymi:
Bezpieczeństwo web: Nagłówek HTTP Strict Transport Security (HSTS)

Web 3033 dni, 17 godzin, 3 minuty temu rroszczyk 114 źrodło rozwiń

1 2 3 4 5 6 7 8... 13 14

Najaktywniejsi w tym miesiącu