.NET, C#, Angular, TypeScript
Co zwykle robicie, gdy chcecie porównać jakieś stringi? Np. w takim języku, jak niemiecki? W powyższym przypadku test przejdzie. Ale okazuje się, że mogą być bardziej specyficzne przypadki, gdy dane słowo nie składa się z takich samych liter. Test nie przechodzi. Spróbujmy inaczej: Ten test również nie przechodzi. Szukamy dalej rozwiązania. Tutaj również nie działa…
W nawiązaniu do aplikacji reactowej, nad którą pracowałam, natknęłam się na interesujący artykuł. To, co charakterystyczne w tego typu aplikacji frontendowej (obojętnie, czy to react, czy angular) to to, że zawiera plik package.json, w którym są skonfigurowane wersje bibliotek. Dodatkowo po zmianie package.json lub modyfikacji folderu node_modules automatycznie jest generowany plik package-lock.json (jeśli używasz npm…
Jakiś czas temu miałam okazję uczestniczyć w pracy w warsztatach prowadzonych przez Radka Maziarkę na temat Event Stormingu. Co ciekawe, te warsztaty były prowadzone na… stojąco. Dokładnie! Grupa została podzielona na dwie kilkuosobowe grupy i zamiast siedzieć przy kompach, spędziliśmy cały czas przy dwóch osobnych ścianach (były na nich tablice oraz naklejone specjalne płachty papieru).…
Sporo osób wie o tym, że Github pozwala na wiele fajnych rzeczy, jak np. linkowanie osób przez @username czy linkowanie issues przez #issue_number. Wyszukiwanie plików Będąc na stronie repozytorium można kliknąć magiczny przycisk t i pojawi nam się opcja wyszukiwania pliku po nazwie: Sugestie zmiany kodu w Pull Requestach Dodanie małych poprawek jako zwykłego komentarza…
Projektem informatycznym trzeba jakoś zarządzać. Do tego przydaje się np. Trello. Tablica Kanban Do zarządzania taskami w projekcie przydaje się tablica, pozwalająca zwizualizować kolejne etapy tworzenia oprogramowania. W moim przypadku składa się ona z pięciu kolumn: TODO – taski do zrobienia IN PROGRESS – taski w developmencie READY FOR REVIEW – taski wydevelopowane, które trzeba…
Git flow, o którym wspominałam już wcześniej, to fajna rzecz. Trzeba jednak pamiętać, że odpowiednio nazywać branche (w skrócie: feature/feature_name i bugfix/bug_name). Czasami zdarza się jednak, że zapomnimy o tej konwencji, a już wyślemy zmiany na serwer. Co wtedy? Wtedy można zmienić nazwę brancha. git checkout branch_namegit branch -m/--move new_branch_namegit push origin :branch_name new_branch_name Będąc…
Często pracując z Typescriptem przychodzi moment, w którym należy sobie zadać pytanie – chcę użyć null czy undefined? Czasami może nam się wydawać, że jest to obojętne – ale jednak różnica jest. Podstawowa różnica Na początek: undefined – coś nie zostało zainicjalizowane, null – coś jest aktualnie niedostępne. Jak sprawdzić obydwie te wartości w jednej…
Mieliście kiedyś potrzebę przetestowania aplikacji na tablecie lub komórce? Najlepiej z funkcją debuggera? Przydaje się do tego opcja Remote debugging w Chrome. Jak się do niej dostać? To proste. Najpierw wystarczy wejść w Narzędzia deweloperskie (F12). Otworzy się nowa zakładka Remote devices: Możemy w niej zdefiniować nową zasadę przekierowania portu: Przykładowo: Po podłączeniu komórki przez…
GitFlow Jak wygląda tworzenie aplikacji? W skrócie: programista tworzy nowy branch na podstawie głównego brancha (zwykle głównego brancha developerskiego develop), wprowadza zmiany na nowy branch i po zakończeniu tworzy Pull requesta. Po zaakeptowaiu Pull requesta, zmiany trafiają na główny branch develop. W celu optymalizacji pracy na branchach, warto wypracować model pracy, który nazywa się GitFlow.…
Na początku, gdy zaczynamy projekt opensource, musimy ustalić, gdzie będziemy trzymać kod. W moim przypadku decyzja była prosta – GitHub. Założyłam więc na własnym profilu repozytorium DevAdventCalendar. Sprawy organizacyjne Pierwszą rzeczą, jaką należy zrobić po utworzeniu nowego repozytorium, jest utworzenie plików README.md i LICENSE (przykład). Dzięki temu wiadomo, jaka aplikacja będzie w repozytorium i jaką…
Słyszeliście o różnych bibliotekach do testowania? Jedną z wartych uwagi bibliotek jest FluentAssertions. Składnia Główna rzecz, jaka ją rozróżnia, to specyficzna składnia składająca się metod Should() i Be(): Sprawdzenie, czy obiekt jest nullem Sprawdzenie wartości bool Sprawdzenie, czy został rzucony wyjątek Porównywanie obiektów To wszystko jest fajne, ale jest jedna główna funkcjonalność, która mnie osobiście przekonała.…
No to wracamy do blogowania po przerwie! Co robiłam w czasie przerwy i jakie są tego wyniki - to w poście!
Wprawdzie adwent był już jakiś czas temu, ale zapomniałam pochwalić się pewnym przedsięwzięciem. Mianowicie wpadłam na pomysł stworzenia kalendarza adwentowego dla programistów, online. Było to dosyć spontaniczne przedsięwzięcie, którym podziliłam się z moimi dev-znajomymi pod koniec listopada. Myślałam, że nic nie uda się zrobić przez kilka dni, które zostały do grudnia, ale myliłam się. Kolega…
Ostatnio natknęłam się na pewien problem. Miałam jakiś enum, przykładowo: Potrzebowałam zwrócić wartość liczbową enuma jako string (czyli liczbę 0 zapisaną w stringu „0”). Co mogłam zrobić? Ano mogłam napisać najprościej, jak się da: Jednak tutaj powinna mi się zapalić czerwona lampka. Przecież metoda .ToString() dla danej wartości enuma zwraca jego wartość tekstową, a nie liczbową.…
We wcześniejszym wpisie opisałam działanie wzorca adapter klasy. Dla przypomnienia: jest on wykorzystywany na przykład wtedy, gdy klient zdefiniuje swoje wymagania na podstawie jakiegoś interfejsu. Wystarczy, że dostarczy klasę, która implementuje ten interfejs i dziedziczy po istniejącej klasie. I tyle. Co jednak, gdy klient nie przygotuje takiego interfejsu? Tylko dostarczy jakąś klasę spełniającą wymagania? Wtedy należy…