Exactly one year ago I’ve published first post on this blog. It was simple “Hello world” that were followed by some posts related to 2016 edition of Get Noticed contest and after that by some more or less technical related stuff. Since it’s first anniversary of this first, lame “Hello world” post I can’t just write simple “Hi there” again. And because I’m taking a little breath before 2017 edition of said contest I don’t want to write any hard, technical stuff. So let me tell you about some things that I...
Strona głównaUżytkownik
Rafał Hryniewski | użytkownik
Daj się poznać 2017 2837 dni, 21 godzin, 26 minut temu 71 źrodło rozwiń
This is one of those "I had to explain this couple times already so next time I want something I can redirect people to" kind of post. What I want to write about is difference in behavior between using new() and DbSet.Create() for instantiating new entities.
As you may already know I really, really like LINQ. One day I'll probably join together all my posts about this incredible featureand release pretty neat compendium/one-oh-one about this great feature. But while I'm not sitting and joining every post from this blog that have word "LINQ" in it into one, big pile, let's talk a bit about joining and grouping collections in LINQ.
Sztuka programowania 2854 dni, 18 godzin, 27 minut temu 129 źrodło rozwiń
Przy okazji konferencji PolCaster 2016 (na której byłem w zeszłym roku) usłyszałem dość interesującą informację, a mianowicie: statystycznie podcast kończy się po 7/8 odcinku. Później następuje wypalenie, lub brak pomysłów i bum…koniec. O ironio mój podcast również przez chwile mógł wydać się kolejnym kandydatem do zamknięcia, ale tak jak zapowiadałem w podsumowaniu roku… POWRÓCIŁ! Nie będę się tu zagłębiał i rozpisywał nad przyczynami tak sporej przerwy (bo trwa ona on września), ale z tego miejsca wszy...
Pracuję w strategii branch per feature. Co za tym idzie, na koniec każdego sprintu w lokalnym repozytorium mam sporo branchy, które stają się niepotrzebne. Wprowadza to niepożądany bałagan. Usuwanie każdego brancha z osobna to mozolna praca. Poniższa komenda pomaga mi usunąć niepotrzebne branche.
Pewnego razu trafiło mi się na facebookach takie pytanie „dlaczego z listy konwertuje na IEnumerable a odwrotnie nie” -cytat jest skopiowany żywcem, autor wolałby pozostać anonimowy. Jako że nie ma głupich pytań i każdy kiedyś zaczynał, odpowiem koledze i innym ciekawym. Ciekawi? No to lecim:)
Sztuka programowania 2863 dni, 4 minuty temu 357 źrodło rozwiń
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 ...
Nowadays, asynchronous programming isn’t something unusual. We all know that when it comes to do some I/O operations or HTTP request, we should do it async. Why? There’re several reasons but two most important are:Efficiency. In many cases, the code might work faster. That’s because it’s not forced to wait for the result. Instead, it can work on some other stuff and then come back for the response when it’s ready. Simple is that.Comfort. Async improves the comfort of using our applications. We don’t blo...
Sztuka programowania 2875 dni, 1 godzinę, 2 minuty temu 334 źrodło rozwiń
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.
Sztuka programowania 2877 dni, 7 godzin, 22 minuty temu 261 źrodło rozwiń
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 ;).
Time goes by whether you like it or not (unless you’re a photon). So is 2016 about to finish – the year that was one of the biggest breakthroughs not only in my career but also in life so far.
Visual Studio is an awesome tool. It has great editor, great debugger and tooling. Almost – a prefect one*. But it lacks in one aspect. And it lacks greatly. It’s Output window is monochrome. The good thing is that there’s a solution for that. The Output window provides a lot of useful info. There you can find logs form build, tests results and debug information that are printed from the application. But if it looks like this – it’s hardly readable. It’s missing colors. Colors are everything. It gr...
~ MJ We wczorajszym poście opisałem co takiego zmieniło się w PL w ciągu ostatnich lat na polskiej scenie programistycznej. Jak ewoluowała przez ten czas. Jednakże zachęcony jednym z komentarzy postanowiłem szczegółowo ją opisać. Wpis dotyczy .NET i tematów pokrewnych lub leżących bardzo blisko.
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, a żeby zachować choć pozory świątecznej atmosfery zrobię to z małym świątecznym akcentem (takim tycim).
Sztuka programowania 2892 dni, 8 godzin, 53 minuty temu 214 źrodło rozwiń
~ MJ Człowiek cieszy się, jak widzi ile w ciągu ostatnich 2 lat powstało blogów programistycznych. W porównaniu do tego co pamiętam, gdy sam zakładałem swojego – a było to przecież tak niedawno, w 2010 roku – jest taka różnica, jak między koniem,
Sometimes it happens that we use mechanisms/features of specific language without beeing aware of it. That’s fine, but if you’ll want to discuss your code in a future to the audience or coworkers, soon or later you’ll be forced to learn it and understand (or at least name it using technical nomenclature). Therefore, today I’m going to discuss two related „mechanisms” of C# which are covariance and contravariance. Covariance Covariance is a type conversion from the specific type to the more general (ba...
Sztuka programowania 2909 dni, 23 godziny, 11 minut temu 189 źrodło rozwiń
One thing that surprised me the most about the C# was the fact that it does not support multiple inheritances (which I knew from the C++). How can we deal with that? Of course, we use interfaces, since one class can implement more than one. But quickly we come to the very common problem...
Sztuka programowania 2904 dni, 8 godzin, 21 minut temu 188 źrodło rozwiń
Test-Driven Development pojawia się w kontekstach :techniki,metody,metodologii i metodyki. Które z tych określeń poprawnie definiuje TDD? Zacznijmy od definicji poszczególnych pojęć: technika: (1) «wiedza na temat praktycznego wykorzystania osiągnięć nauki w przemyśle, transporcie, medycynie itp.; też: praktyczne wykorzystanie tej wiedzy» (2) «metoda» metoda: «świadomie stosowany sposób postępowani...
Sztuka programowania 2905 dni, 4 godziny, 44 minuty temu 77 źrodło rozwiń
~ MJ Code review, czyli przeglądanie kodu innego programisty w zespole, uważam za jedną z najlepszych technik tworzenia dobrego kodu i osobistego rozwoju – niezależnie od tego, czy ktoś przegląda moją pracę, czy ja jego. Pamiętam jak dziś swoje pierwsze code review. Ukończyłem pisanie jednego dosyć sporego modułu. Przyzwyczajony do tego, że zawsze po prostu commitowałem swój kod, który działał, myślałem, że jestem prawdziwym artystą, a mój kod jest perfekcyjny. Och, jakże byłem głupi. Review zakończyło...
Sztuka programowania 2904 dni, 8 godzin, 21 minut temu 256 źrodło rozwiń
Tytułowe pytanie jest być może kontrowersyjne. Wszystko rozbija się o to, czy w ogóle, jako programiści, powinniśmy specjalnie w siebie inwestować? Mam tu na myśli aspekt czysto zawodowy, czyli rozwój umiejętności, zdobywanie wiedzy itd. itp. Spotkałem dwie skrajne opinie.