W wpisie o lokalizowaniu enumów pojawił się komentarz, w którym Janko zwrócił mi uwagę, że rozbijanie napisów na małe pliki resource nie jest najlepszym pomysłem pod względem wydajności. Jak pisałem w innym wpisie (Używanie napisów w aplikacji) stosuje wiele plików resource do organizacji napisów wyświetlanych użytkownikowi. Dlatego chciałem sprawdzić, czy to prawda. Przeglądając internet można trafić na pytania na stackoverflow: https://stackoverflow.com/ques...
Programista, podobnie jak inne profesje z branży IT, to obecnie jeden z bardziej przyszłościowych zawodów jakimi warto się zainteresować. Stąd też coraz więcej osób myśli o rozpoczęciu przygody z kodowaniem, czy to na etapie wyboru studiów, czy rozpoczęciu kursów, które pomogą w przebranżowieniu się i znalezieniu nowej pracy...
Sztuka programowania 1761 dni, 19 godzin, 9 minut temu 84 źrodło rozwiń
W tym wpisie poruszę kwestię wydajności i różnic pomiędzy zespołem lokalnym i zdalnym. Jak wyglądają różnice w produktywności? Dlaczego “łatwiejsza” komunikacja jest mniej skuteczna? Jak powstaje chaos projektowy? Na te i wiele innych pytań odpowiedzi znajdują się w tekście. Przez zespół lokalny rozumiem ludzi, pracujących w jednej lokalizacji – w każd...
Kontynuacja cyklu o Bounded Contextach - krotki opis jak wdrożyć konteksty do swojej aplikacji.
Sztuka programowania 1762 dni, 20 godzin, 4 minuty temu 108 źrodło rozwiń
Słowem wstępu Dawno, dawno temu została stworzona stała MAX_PATH, decydująca o tym jak długie mogą być ścieżki do plików i katalogów w systemie Windows. Jest to setting na poziomie Windows API. Ostatnio w pracy dotknął mnie ten problem. Niefortunne było to, że problem objawił się podczas modyfikowania pliku projektu jenkinsa, w celu utworzenia joba releasowego. Problem był o tyle uciążliwy, że przecież nie zmienię nagle całej struktury projektu i źródeł które zamierzam budować, ani tez nie będę przenos...
Rejestrowanie zależności poprzez system refleksji + Autofac modules
Jeszcze parę lat temu, gdyby ktoś mi powiedział, że mam zrobić jakikolwiek rebase, to uciekłabym daleko. Wszelkie akcje w konsolowym GitBashu napawały mnie przerażeniem. Dzisiaj już wiem, że konsola nie gryzie i można z jej pomocą zrobić wiele ciekawych rzeczy - np. przydatny rebase interaktywny.
Posted on by krystiankolad Wypuszczona niedawno nowa wersja .Net Core ( w moim przypadku jest to wersja 2.1.302) wprowadziła kilka zmian, przez które migracja naszych projektów z wersji 2.0 do 2.1 jest dosyć ciężka, zwłaszcza, jeśli mamy wiele projektów w wersji 2.0. Jednak od zainstalowania nowszej wersji, dotnet cli korzysta domyślnie z najnowszej, przez co niektóre komendy mogą wyrzucać błędy lub niepotrzebne ostrzeżenia. Jak sobie z tym poradzić? Z pomocą przychodzą nam pliki global.json. Są to pli...
Sztuka programowania 1763 dni, 19 godzin, 46 minut temu 60 źrodło rozwiń
W poprzednim poście pokazałem jak automatycznie dodawać numer zadania z VSTS do commit message. Dziś pokażę jak automatycznie dodać ten numer zadania do wielu ostatnich commitów. Z pomocą przychodzi Nam polecenie git filter-branch. Polecenie to zastosuje odpowiedni filtr (wybrany przez Nas) do każdego commita w branchu i w efekcie powstanie nowy commit. Składnia dla tego polecenia składa się z 4 elementów:Podstawowe polecenie: git filter-branch.Nazwa filtru np.: --msg-filter.Pol...
Ostatnio w pracy rozpoczęliśmy nowy projekt, który oparty jest na mikroserwisach. Cały proces tworzenia aplikacji zaczęliśmy od stworzenia dedykowanego repozytorium dla każdej usługi (o tym podejściu pisałem tutaj) i umieszczeniu w nim projektu ASP.NET Core, który następnie należało odpowiednio przygotować. Mam tu na myśli np. stworzenie poprawnej struktury katalogów, dodanie podstawowej integracji z istniejącą infrastrukturą itd. tak, aby każda usługa była możliwie podobna pod względem organizacji plikó...
Zapewne, w 1994 roku, kiedy to w przeglądarce Netscape Navigator po raz pierwszy pojawiła się obsługa protokołu https, nikt nie spodziewał się, że stanie się on standardem. Dziś, po ponad 14 latach rozwoju specyfikacji, trudno sobie wyobrazić stronę internetową bez zielonej kłódki przy pasku adresu. Ok, teraz zacznie się ta mniej przyjemna część. No bo szyfrowanie jest super i w ogóle, ale… Nie umiałbym zliczyć sytuacji, gdy programując w środowisku lokalnym wszystko działało bezproblemowo, jednak po wg...
O popularności technologii blockchain nie trzeba nikogo przekonywać. Do końca czerwca br. termin ten został użyty w ponad 86 mln publikacji w sieci czy ponad 27 tys. repozytoriów na githubie. Rośnie liczba wyszukiwań zawierających tę frazę, kryptowalut, startup’ów oraz opartych na tej technologii projektów inicjowanych przez liderów branży IT oraz instytucje finansowe. Czy zjawisko to jest sygnałem zbliżają...
Sztuka programowania 1766 dni, 19 godzin, 35 minut temu 144 źrodło rozwiń
Potrzeba i chęć używania git’a sprawiła, że siłą rzeczy używam również PowerShella i to właśnie o nim będzie dzisiejszy wpis. Okazuje się, dla osoby niezbyt obytej z tym narzędziem, że jest ono bardzo przydatne, zwłaszcza dla programisty. Dzisiaj nie chcę pisać o konkretnych funkcjach czy komendach. Napiszę o kilku dodatkach jakich używam i jak wspomagają/usprawniają one pracę. Mam również w planach post traktujący o PowerShellowych tips & tricks dla programistów, ale to kiedy indziej. Łatwiej w Git...
First, introductory post to my new ".NET Internals" series. Next posts will be published each Wednesday from today, so I invite you all to follow the series :) First post is the introduction to basic concepts of memory structure.
Sztuka programowania 1767 dni, 20 godzin, 14 minut temu 115 źrodło rozwiń
Posted on by krystiankolad Ostatnimi czasy popełniłem mały, dosyć prosty tool o nazwie DotnetThx. Służy on do wylistowania paczek, których używamy w naszej aplikacji, wraz z informacjami o ich autorach oraz linkach do ich projektów. Tool jest wzorowany na thanks, jednak jest w całości napisany w C# oraz działa tylko na .Net Core w wersji co najmniej 2.0. Jak go używać? Najpierw należy zainstalować nasz tool: dotnet tool install -g DotnetThx a następnie, będąc w folderze projektu, którego paczki chcemy...
Wielokrotnie zastanawiam się, czy mój kod jest wydajny. Czy nie da się czegoś zrobić, aby aplikacja działała szybciej. Przy szybkości działania nie można założyć, że coś wydajne, bez zmierzenia tego. Jak zobaczysz pod koniec wpisu, może się okazać, że operacja, która wydaje się szybka, wcale taka nie jest. Jak zmierzyć wydajność kodu .NET? Możemy zrobić to na wiele sposobów. Niektórzy używają DateTime.Now, inni DateTime.UtcNow, czy też klasy StopWatch. W ka...
Tego ranka miałem interesującą rozmowę z Doc'iem Nortonem. Skłoniło mnie to do rozmyślań... Wiesz co to jest numer 800. Niektórzy ludzie nazywają je "bezpłatna infolinia". Firma Telekomunikacyjna nazywa je liniami WATS. Wide Area Telephone Service. Poniższy tekst jest luźnym tłumaczeniem wpisu bloga Roberta Cecila "Wujka Boba" Martina ze strony : https://blog.cleancoder.com/uncle-bob/2015/10/05/WattsLine54.html Proszę o komentarze, jeżeli ta luźność jest zbyt daleko posunięta. W roku 1976 ...
Dopiero skończyłeś studia, szukasz stażu lub rozpoczynasz poszukiwania pierwszej pracy. Znajdujesz tę (mniej lub bardziej) wymarzoną ofertę pracy, klikasz „Aplikuj”… i następuje ten krępujący moment, kiedy uświadamiasz sobie, że trochę głupio jest wysyłać CV, w którym są tylko wymienione twoje studia i praca dorywcza w kinie. W dzisiejszym wpisie, pokażę Ci jak wyciągnąć najwięcej z twoich dotychczasowych doświadczeń i sprawić, że twoje CV, nawet bez dużego doświadczenia, będzie przyciągało uwagę.
Czyli jak nasze krótkofalowe zyski mogą zostać wyparte przez długofalowe straty.
Sztuka programowania 1769 dni, 20 godzin, 18 minut temu 157 źrodło rozwiń
Dzisiaj post techniczny i pewnie też trochę niszowy. Porozmawiamy o tym jak oprogramować komunikację szeregową ze skanerami Motorola/Zebra bez korzystania z trybu emulacji klawiatury i bez zewnętrznych bibliotek.