Na każdym etapie swojej kariery programista patrzy na interfejsy zupełnie inaczej. Programista rozpoczynający przygodę z programowaniem nawet jeśli zrozumie technikę działania interfejsów, to prawdopodobnie w perspektywie całej architektury aplikacji nie będzie do końca przekonany o sensie ich używania. Starszy programista z kolei dostrzeże wiele ich zalet, a wręcz konieczność ich stosowania..
Sztuka programowania 927 dni, 16 godzin, 29 minut temu 232 źrodło rozwiń
Od mojego ostatniego artykułu, w którym wspominałem o rabbicie, minął prawie rok. Chyba najwyższa pora, aby napisać coś więcej. Szczególnie, że ostatnio w moje łapki wpadła bardzo ciekawa książka: Let’s learn 🙂 @[email protected]#neverstoplearningpic.twitter.com/ymGlRp6Ytq — Kamil Kiełbasa (@bd90) Tak off-topic – jeżeli chcielibyście, abym skrobnął drobną recenzję tej książki, dajcie mi znać 🙂 Moją nową miłością okazało się tworzenie aplikacji rozproszonych przy wykorzystaniu DDD, TDD i je...
Programowanie rozproszone 927 dni, 16 godzin, 29 minut temu 165 źrodło rozwiń
W bardzo wielu aplikacjach w bazie danych zapisujemy ten sam czas jaki przyszedł do nas od użytkownika w formularzu. W przypadku, gdy tworzysz aplikację na rynek polski, takie podejście może okazać się bezproblemowe, bo wszyscy jesteśmy w jednej strefie czasowej i mamy ten sam czas. Problemy zaczynają się, gdy tworzymy aplikację, w której użytkownicy są w różnych strefach . Wtedy takie podejście może się okazać bardzo problematyczne. Dlatego zaleca się, aby po...
Examining garbage collection in more details today. We'll see what is marking phase, actual collection process and heaps compaction to make it more efficient. Come and read! :)
Sztuka programowania 928 dni, 17 godzin, 11 minut temu 61 źrodło rozwiń
Ostatnio na portalu embedded.com zaczęła pojawiać się seria artykułów omawiających 10 najczęstszych problemów w projektach embedded napisana przez Jacka Gannsle. Pierwszym omówionym zagadnieniem były złudne oszczędności (link tutaj). Czytając artykuł zgadzałem się praktycznie z każdym słowem, bo sam obserwuję to samo praktycznie od początku kariery zawodowej. Z resztą nie jest to coś specyficznego tylko dla systemów embedded, czy branży IT, Krótkowzroczne podejście do oszczędności jest chyba ogólnoświat...
Praca z Gitem. Dużo się o nim mówi, zwłaszcza w środowisku .NET, głównie ze względu na to iż Microsoft kupił Github, a także udostępnił źródła .NET Standard i .NET Core na licencji Open Source (MIT). Osobiście, ciągle się uczę Gita i przy okazji sprawdzam, testuję różne rozwiązania około-gitowe. Wtyczki, narzędzia, różnego rodzaju integracje z Gitem. To sprawia, że wiem co mogę i ile mogę. Gita świetnie się obsługuje z poziomu konsoli czy terminala i przy tym pozostanę, ale zawsze dobrze m...
Jak zacząłem korzystać z Gita to większość poleceń wykonywałem z linii poleceń. Visual Studio używałem tylko do rozwiązywania konfliktów. Jednak taki tryb pracy był trochę niewygodny. Gdy trzeba było rozwiązać konflikt, to:musiałem przełączyć się do Visual Studio (a przeważnie mam kilka programów otwartych, czasem trzeba trochę się nawciskać CTRL+TAB 🙂 ), teraz wpisuję jedną komendę i rozwiązuje konflikt w aplikacji kdiff3.
Kolejny post z serii o Bounded Contextach - język i jego wpływ na tworzone konteksty. Nieco o Ubitiquous Language i psychologii 😉
Sztuka programowania 930 dni, 17 godzin, 8 minut temu 90 źrodło rozwiń
Cykl życia aplikacji. Jedno z podstawowych pytań rekrutacyjnych. Nie zależnie od technologii w której piszemy to jedna z podstawowych rzeczy do zrozumienia. W świecie aplikacji mobilnych pytanie jest jeszcze bardziej skomplikowane niż zwykle bo mamy co najmniej trzy podejścia, przynajmniej w przypadku który rozważam czyli Xamarin.Form. Ponieważ aby zrozumieć jak działa Xamarin.Forms i dlaczego potrzebujemy jeszcze wiedzę na temat Androida i iOSa. (dodatkowo na diagramach dodałam również nazwy metod Xa...
Mobile development 930 dni, 17 godzin, 8 minut temu 53 źrodło rozwiń
Jak trudne może być dodanie przycisku zamykającego widok modalny w Xamarin.Forms? Okazuje się, że może. Problem wydaje się banalny ale rozwiązanie już niekoniecznie – zwłaszcza jeśli chcemy być zgodni z wytycznymi danej platformy.
Mobile development 934 dni, 17 godzin, 15 minut temu 36 źrodło rozwiń
Rozpoczynając swoją aktualną pracę w pewien sposób pożegnałem się z tematami frontend-owymi. Wiadomo, nie postawiłem grubej, czerwonej, nieprzekraczalnej linii, po prostu zajmuje się tym zdecydowanie rzadziej. Ostatnio jednak natrafiłem na zagadnienie, które zdecydowanie mnie zainteresowało, mianowicie tworzenie interfejsu dla konstruktora klasy w TypeScript. Od razu zaznaczam, że nie będę w tym artykule omawiał konfiguracji środowiska pod aplikację. Jeżeli to wasze pierwsze spotkanie z tą technologią po...
Sztuka programowania 934 dni, 17 godzin, 15 minut temu 99 źrodło rozwiń
Opublikowane w przez Łukasz Kot: Cross-Origin Resource Sharing (w skrócie CORS) to mechanizm umożliwiający współdzielenie zasobów pomiędzy serwerami znajdującymi się w różnych domenach. Bez odpowiednio skonfigurowanego tego mechanizmu aplikacja po stronie klienta nie ma możliwości komunikacji z API.
Dodając nowy kontroler lub widok do aplikacji ASP.NET MVC wybieramy jeden z szablonów, które wykorzysta Visual Studio do ich wygenerowania. Jest to bardzo przydatne, gdy na przykład formularz edycji zawiera wiele pól. Visual Studio wygeneruje kontrolkę dla każdej właściwości z klasy, którą ustawimy jako model widoku. Podobnie jest z generowaniem kontrolerów. Jest to bardzo fajne, ale niestety na dłuższą metę tak wygenerowany kod, nie jest tym, co potrzebujemy i...
New post in .NET Internals series - this time about Garbage Collection and memory allocation in .NET. Let's start GC topics! :)
Sztuka programowania 935 dni, 14 godzin, 24 minuty temu 73 źrodło rozwiń
W dokumentacji Microsoft przeczytamy, że Azure Service Fabric to platforma wspomagająca tworzenie, deployment oraz zarządzanie skalowalnymi i niezawodnymi mikroserwisami. Definicja jest nieco zawiła i mało obrazowa dla osób które wcześniej nie pracowały z podobnym rozwiązaniem. Co to właściwie oznacza? No cóż, zacznijmy od końca, czyli od pojęć “skalowalny” i “niezawodny”.
Na tapetę leci temat Mockowania – zewnętrznej biblioteki która pozwoli testować pojedyncze moduły w aplikacjach o wielkiej złożoności.
Sztuka programowania 935 dni, 14 godzin, 24 minuty temu 69 źrodło rozwiń
Czasem zdarza mi się, że dodam do projektu jakiś plik i zanim wrzucę go do repozytorium, to on jednak okazuje się niepotrzebny. Do tej pory usuwałem ten plik ręcznie, albo w Eksploratorze Windows albo wpisując komendę: rm <ścieżka do pliku>, gdzie z racji tego, że projekt jest spory, to ścieżka do pliku zawiera w sobie kilka folderów. Jest jednak lepsze rozwiązanie.
In some situations Server-Sent Events connection may require keep alives. This post describes one of such situations and shows how it can be solved in ASP.NET Core.
Kolejna część dotycząca zawierania przyjaźni z konsolą GitBash - tym razem przedstawiam tajniki łączenia zmian czyli metody merge
Opublikowane w przez Łukasz Kot Zwykle w bazie danych przechowujemy czas w strefie czasowej UTC bez względu na to w jakim regionie znajduje się nasza aplikacja. Jednak chcielibyśmy wyświetlić datę w strefie czasowej, takiej jaka jest używana w regionie. Są na to 2 rozwiązania.