JSON.NET to popularny standard używany w większości projektów .NET. Czy istnieją bardziej wydajne alternatywy serializacji do JSONa? Zachęcam do zapoznania się z perłą serializacji do tego formatu, Jil.
Sztuka programowania 1815 dni, 4 godziny, 25 minut temu 78 źrodło rozwiń
Czy zdarzyło Ci się pracować długo nad jakimś plikiem i wszystko stracić przez brak zapisania zmian? Czy to aplikacja się zawiesiła, czy może komputer. Dzięki mojej niewielkiej aplikacji autosaver ten problem zniknie.
Hoho po niemal miesiącu w końcu u mnie na blogu pojawiła się relacja z Code Europe. Opisałem moje wrażenia, wskazówki dla organizatorów. Postawiłem ważne pytanie czy warto? ... zapraszam
New year, new me… Just kidding, no running or yoga plans, but I decided to have a (temporary) break with ‘C# attributes you should know’ series and start with a brand new one – C# facts that somehow surprised me. For the first article, I will show you how (friendly looking, always helpful, good guy...) enum can become an asshole. An asshole who will steal your precious time! One enum value passed to a method, other value received! What’s goin’ on?
Sztuka programowania 1844 dni, 2 godziny, 2 minuty temu 415 źrodło rozwiń
Dzisiaj zajmiemy się trzecią, i jednocześnie ostatnią, z bibliotek które planowałem opisać w tej krótkiej serii. Będzie to DotNetSiemensPlcToolboxLibrary (uff – długa nazwa).
Today I would like to introduce you to the world of attributes that helps you skip some parts of code while debugging. Most of the C# programmers probably know them well, but I realized that only a few can tell the differences between them. So, ladies and gentlemen, let me introduce you the DebuggerStepThrough and DebuggerHidden.
Zawsze przychodzi ten moment gdy trzeba rozwiązać buga na produkcji i jedyne co mamy to logi aplikacji. Okazuje się oczywiście, że nie ma wszystkich informacji w tych logach. Nie ma nawet całkiem podstawowych informacji...
Sztuka programowania 1869 dni, 9 godzin, 36 minut temu 142 źrodło rozwiń
Dzisiaj opis kolejnej biblioteki do komunikacji ze sterownikami Siemens Simatic. Tym razem Snap7/Sharp7
[DebuggerTypeProxy] is very useful attribute when you have a class that inherits from another class and that one inherits from another one, and some of the classes contain collections of items and hundreds of properties that in fact are not important to you… Strictly speaking, when displaying class’ members while debugging makes you feel like quitting the job. [b]We decide how to display object while debugging[/b] Exactly! You can set a proxy that will inform debugger how you want a type to be displayed...
Po dłuższej przerwie dzisiaj ciąg dalszy cyklu o bibliotekach do komunikacji z PLC Siemens-a. Dzisiaj omówienie biblioteki s7netplus.
Chciałbym dziś napisać o jednej z metod poszerzania wiedzy. Od zawsze nazywało się to dla mnie The Morning Brew. Jak sam autor pisze: The Morning Brew is a daily .NET software development link blog published by Chris Alcock a software developer from the north west of England. Chris ma w tym doświadczenie, to już #2468 odcinek, pierwszy był 10 lat temu!
Chcemy rzucić wyjątkiem, gdy mamy przypadek nieobsłużony poprzez case’y. Na przykład gdy pojawiła się nowa wartość enuma Shape. throw EnumGuard.CreateMissingEnumException(nameof(shape), shape);
Sztuka programowania 1891 dni, 8 godzin, 52 minuty temu 194 źrodło rozwiń
Czy chcieliście kiedyś szybko przetestować jakiś fragment kodu? Pracujecie na komputerze gdzie nie macie zainstalowanego środowiska (np. kolegi, koleżanki)? Albo po prostu nie chce Wam się lub nie możecie go aktualnie odpalić? Dobrze trafiliście. Dzisiaj przedstawię Wam kompilator online dla śr...
Najbardziej popularnym Value Object jest Money. W tym przykładzie instancje możemy tworzyć tylko poprzez metode Create() (taka fabryka). Konstruktor jest prywatny. Pewnie dla tego przykładu lepiej mieć po prostu publiczny konstruktor z dwoma parametrami, ale mam wiele przykładów innych bardziej skomplikowanych Value Objects, gdzie podejście z prywatnym konstruktorem i kilkoma fabrykami walidującymi różne przypadki ma sens.
Sztuka programowania 1904 dni, 8 godzin, 50 minut temu 136 źrodło rozwiń
Buduję właśnie nugeta z solucji, która ma ponad 20 projektów. Ok 10 z nich ma wylądować w paczce. Paczka ta jest silnikiem obliczeniowym i będzie konsumowana przez większy system wewnątrz firmy. Nuget będzie hostowany tylko wewnętrznie. Wygląda to tak ...
C# Attributes are very popular for ‘decorating’ assembly with some additional data, usually influencing on the application’s behavior or the way data are managed. You probably already used at least some of them – Obsolete, Serializable, Required, Display, MaxLength, RegularExpression, WebMethod are only a few of hundreds available in .Net world. What is more, you can write your own custom attribute and use it like a build-in one. I will write more about this in the next post. Right now, let’s focus o...
Sztuka programowania 1941 dni, 9 godzin, 53 minuty temu 166 źrodło rozwiń
W poprzednim wpisie zajęliśmy się podstawową konfiguracją Team City, teraz nadszedł czas na Octopus’a.
Do You ever wanted to run C# code in a scripty inline way to check if code will execute the way you want? This could be especially useful when you don’t have powerful visual studio with repl(interactive) and You are writing C# in something lightweight like vs code. I decided to write this post because installing scriptcs is cumbersom...
Posted on by krystiankolad W dzisiejszym poście przedstawię czym są klasy abstrakcyjne oraz interfejsy. Post ten jest swego rodzaju pilotażowym postem w moim nowym cyklu “Od zera do .Net Juniora”. Będę w nim opisywał oraz pokazywał zagadnienia, z którymi powinna być zaznajomiona osoba starająca się o swoją pierwszą pracę jako Junior .Net Developer. Mam nadzieję że cykl się przyjmie, jeśli chcecie poczytać o jakiś zagadnieniach piszcie, z chęcią o nich napiszę, jeśli je znam, lub się ich nauczę, a potem ...
Sztuka programowania 1961 dni, 9 godzin, 48 minut temu 112 źrodło rozwiń
Ostatnio jednym z zadań, którego postanowiłem się podjąć, było wprowadzenie do projektu prostego rodzaju Continuous Integration oraz Delivery. Do wymagań należało wprowadzenie kilku środowisk, każde miało posiadać inne ustawienia, a co najważniejsze możliwość deploy’u on demand, czyli na kliknięcie przycisku, bez żadnego ręcznego kopiowania. Po 2 dniach ciężkiej pracy i czarowania z pomocą PowerShell’a udało się, wszystko zaczęło działać jak powinno. Powiodło się przy pomocy TeamCity ora...