Dependabot to narzędzie do wykrywania aktualizacji zależności. Jeśli korzystasz z niego w swoim repozytorium GitHub, to poniższy GitHub Action jest dla ciebie, ponieważ pozwala zaoszczędzić czas. Akcja automatycznie akceptacje oraz scala Pull Request utworzony przez Dependabot bazując na zdefiniowanych typach aktualizacji opartych na Semantic Versioning.
Continue reading
Author Archives: Łukasz K.
Rover, czyli zwizualizuj kod Terraform
To prawda, istnieje komenda terraform graph
, która w połączniku z narzędziem graphviz
daje możliwość wygenerowania grafu. Notabene, jest to zalecane podejście. Niestety to podejście było dla mnie niewystarczające, ponieważ mój graf był dość duży, co za tym idzie, poruszanie się po nim było naprawdę trudne/irytujące. Potrzebowałem czegoś więcej.
Continue reading
ngrok, czyli tunelowanie ruchu
Ngrok to mała aplikacja, która umożliwia tunelowanie ruchu. Przydatne wtedy, kiedy istnieje potrzeba wystawienia “czegoś” publicznie na świat. Tym “czymś” może być strona www, aplikacja, serwer. Działa to w następujący sposób: uruchomiona aplikacja ngrok.exe łączy się z chmurą ngrok, która akceptuje ruch na publicznym adresie. Otrzymany ruch z publicznego adresu przekazuje do procesu ngrok.exe uruchomionego na naszym komputerze, który dalej przekazuje owy ruch do lokalnej aplikacji/serwera. Poniższy rysunek, zaczerpnięty z oficjalnej strony, dobrze obrazuje ten schemat.
Continue reading
.NET Core boilerplate, czyli mój projekt wzorcowy
UPDATED: Boilerplate został zmigrowany do .NET 6
!
Boilerplate to kawałek kodu, który w szybki sposób pomaga wystartować pisanie kodu. Pewnego rodzaju szablon. Zamiast startować z pustym projektem i dodawać za każdym razem od nowa te same cegiełki, możemy posłużyć się boilerplatem, który te cegiełki już zawiera.
Ostatnimi czasy kilka razy tworzyłem od początku aplikację w .NET Core, a w ramach tej aplikacji odpowiedni zestaw projektów oraz komponentów. Za każdym razem schemat postępowania był bardzo podobny – w jednym projekcie API, w kolejnym projekcie warstwa dostępu do danych oraz kawałek biznesu, następnie projekty z testami. Typ projektu determinował załączone NuGetowe paczki, konfigurację oraz klasy bazowe, które po wielokroć były identyczne. Na koniec “strażnicy” jakości kodu, oni również identyczni w każdej z nowopowstałych aplikacji. Schemat się powtarzał.
Continue reading
Docker tip & scripts, czyli jak ja pracuję z kontenerami
Pisząc oprogramowanie w .NET Core, które z założenia ma być uruchamiane w chmurze, na pewno będzie podlegało konteneryzacji. Niniejszy wpis nie będzie o tym jak tworzyć kontenery, lecz o tym jak szybko je budować oraz uruchamiać, a w razie konieczności wyłączać i czyścić.
Continue reading
Dyndające przecinki, czyli notacja przecinkowa
Oryginalnie Dangling Commas (lub comma-dangle) to reguła pozwalająca na pozostawienie przecinka przy ostatnim elemencie typu wyliczeniowego, tablicy, czy też obiektu (podczas inicjalizacji). W związku z tym kompilatory oraz lintery w dobrej wierze zezwalają na ten niepoprawny znak przy ostatnim elemencie umożliwiając nam:
Continue reading
ObjectHasher, czyli jak wyliczyć hash z obiektu
System nad którym obecnie pracuję wykonuje wiele zapytań do zewnętrznych systemów. Każde zapytanie generuje nie tylko opóźnienie w działaniu aplikacji, ale również dodatkowe koszty. Postanowiliśmy zaimplementować rodzaj cache’u po naszej stronie. Do tego celu potrzebowaliśmy obliczać hash z modelu który przychodził do systemu. Niniejsza notka pokazuje przykładową implementację komponentu do wyliczania hash’a z obiektu.
Continue reading