Hryniewski.NET |

REST and don't event think about APIs

So I've got two big, uppercase acronyms in title. Kind of double catchprase and if you're reading this, I've probably got your attention. And I hope to keep it so please, just don't stop reading, at least for a while. But why would you even consider stopping reading post about REST and some kind of API? Well, it's because I have lied and this post is not about this kind of REST that you've expected. Instead, it's about our human, common rest and recharging our batteries... and writing great REST APIs or some other code afterwards. [Więcej]

LINQ - don't be afraid of Aggregate

Aggregate is one of the most fun and powerful methods in LINQ. Sadly it's also of of the most underused and "scary" ones. I hope that after reading this post you will understand Aggregate a bit more, know when to use it and won't be afraid of doing so. [Więcej]

Thank you 2016. You were just what I've needed!

Some people can say 2016 was terrible year, for me it was one of the best, one of the most productive years as far as I remember. It was sort of game changer to me. So if you believe in balance in the universe, and last 12 month weren't so good for you, you must think there is a guy somehere, who stole your good fortune. Yup, it's me. I'm terribly sorry for that and ... I intend to make 2017 even better, at least for me ;). [Więcej]

Enumy jako flagi i wykorzystanie operatorów bitowych (XMASS Edition)

Witam Was w świąteczne dni. Niektórzy w tej chwili lepią pierogi, próbują nie wrócić do domu z pangą, latają za zapomnianym prezentem niczym Arnold za Turbo-Manem lub w ciepłym, przytulnym domku wieszają na choince bombki. Ja z kolei mam cały dzień dla siebie i jego część postanowiłem na napisanie krótkiego posta o tym jak możecie wykorzystać enumy jako flagi i obwiesić nimi swoje obiekty tak bardzo jak tylko chcecie. [Więcej]

Regex.CompileToAssembly() - Prekompilacja wyrażeń regularnych i zautomatyzowanie procesu

W ostatnim poście opisałem i porównałem wydajność różnych sposobów wykorzystania regexów. Zdecydowanie najlepiej sprawowało się wyrażenie, które przygotowałem za pomocą metody Regex.CompileToAssembly(). Dziś omówię ją nieco dokładniej i podpowiem, jak zautomatyzować cały proces aktualizowania zebranych do oddzielnego assembly regexów. [Więcej]

Przyspieszamy Regexy - prekompilacja

Ostatnio musiałem trochę popracować z ukochanymi przez niektórych regexami. Nie mogę o sobie powiedzieć, że klepię z pamięci skomplikowane patterny, ale wyrażenia regularne są naprawdę świetną i użyteczną funkcjonalnością. Zupełnym przypadkiem zetknąłem się ze sposobem na przyspieszenie ich działania za pomocą metody Regex.CompileToAssembly(). [Więcej]

ToList(), or not ToList()...

...oto jest pytanie! Po długiej przerwie w pisaniu postaram się Wam na nie odpowiedzieć. Co dzieje się w momencie użycia tej metody? Kiedy powinniśmy z niej korzystać, a kiedy możemy to sobie odpuścić? Oczywiście nie będę w stanie przeanalizować każdej możliwej sytuacji, ale mam nadzieję, że po dzisiejszej lekturze będziecie korzystać z tej metody w pełni świadomie. [Więcej]

Trzy słowa o optymalizacji LINQ

Kontynuując wątek LINQ, który podjąłem jakiś czas temu, poruszę dziś temat optymalizacji operacji jakie wykonujemy na kolekcjach. Na starcie muszę się przyznać, że tytuł nie jest do końca zgodny z prawdą, bo trzy słowa to o wiele za mało, by wejść w głębiej w temat optymalizacji zapytań. Są jednak 3 metody, które można wykorzystać do znacznego przyspieszenia wykonywania operacji w bardziej rozbudowanych łańcuchach przy minimalnym nakładzie pracy. [Więcej]

Obsługa wyjątków w LINQ

Jak już wspominałem, uwielbiam LINQ. Z każdym razem gdy go używam odrobinę bardziej. Ale nie każdy pała do LINQ równie wielką miłością co ja i pojawiają się różne argumenty przemawiające przeciw korzystaniu z tej funkcjonalności w wielu przypadkach, również w takich gdzie znacznie ułatwiłoby to nam życie. Jednym z takich argumentów jest trudność w debugowaniu długich łańcuchów metod w LINQ oraz utrudniona obsługa błędów. Dziś pokażę Wam, że wcale nie jest to tak wielkim problemem. [Więcej]

Deferred execution w LINQ - kiedy wywoływane jest zapytanie?

LINQ jest funkcjonalnością, która zainteresowała mnie w C# praktycznie od początku mojej styczności z tym językiem. Jest to narzędzie naprawdę potężne i w odpowiednich rękach może bardzo usprawnić działanie aplikacji i zwiększyć czytelność kodu. Sęk w tym, że o ile łatwo pisze się wszelkiego rodzaju Selecty, Whery i ToListy, to fajnie byłoby jeszcze wiedzieć co, kiedy i dlaczego dzieje się z danymi w troskliwych, zerojedynkowych łapkach LINQ. [Więcej]