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.
Strona głównaUżytkownik
Paweł Łukasik | użytkownik
Przemysław Walkowski StackOverflow platforma każdego programisty. Pytanie i cenna odpowiedz, może mocno przyspieszyć prace nad rozwiązaniem. Prędzej czy później każdy tam trafi. Niektórzy autorzy bibliotek traktują tą platformowe, jako zamiennik zgłaszania błędów do aplikacji. Podczas zadawania pytania otagujesz je odpowiednim tekstem a autor monitoruje tagi i reaguje(lub nie). Platforma jest popularna i...
Sztuka programowania 2977 dni, 15 godzin, 47 minut temu 319 źrodło rozwiń
Wczytanie pliku z dysku to w .NET wywołanie jednej statycznej metody. Inną statyczną metodą innej klasy można pobrać i sparsować plik XML. Czy powinniśmy zatem jeszcze przejmować się tym, że mamy w .NET strumienie ? A jeśli tak, to kiedy mogą nam się one naprawdę przydać ?
Architektura 2985 dni, 8 godzin, 56 minut temu 733 źrodło rozwiń
I don’t like to write about conferences. The opinions about them are highly subjective and they are valid for a very short time. I also don’t like to write my opinions about the sessions (in some rare cases I do write them anyway). And yet here I’m writing about #programistok 2016. Why? To put you into the perspective this was my first time attending #programistok conference. Last year, for some reason (I don’t remember it now) I coudn’t make it to Białystok. So why this time I’m taking the time to wr...
Did you ever wondered what it would be like if you are not limited to static Main(string[] args) as your entrypoint? Did you ever wanted more freedom over where your app starts? Actually you can have that.But in order to do it – you need to go one level lower. Into an IL level.
Jeśli miałabym jednym słowem podsumować tegorocznego DevDaya to było to słowo inspirujący. Przede wszystkim dlatego, że tegoroczna konferencja nie była skupiona tylko wokół świata .NET jak do tej pory, ale zdecydowanie wybiegała poza niego dostarczając mnóstwa ciekawych prezentacji na różne tematy. Niejednokrotnie miałam duży dylemat, którą prelekcję wybrać, ale nigdy wyboru nie żałowałam. Dlatego też nie mogę się doczekać kiedy prezentacje pojawią się online, by zapoznać się z tym z czego musiałam zrez...
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.
Sztuka programowania 3006 dni, 18 godzin, 19 minut temu 378 źrodło rozwiń
Dzień dobry bardzo! Kolejny poniedziałek, kolejny odcinek podcastu! Dziś będzie grubo, ponieważ gościem ósmego odcinka był Maciej Aniserowicz (ktoś nie zna?)! Maciek jest programistą, który od ponad pół roku nie pracuje bo może, prowadzi bloga devstyle.pl, jest hostem pierwszego Polskiego podcastu technicznego DevTalk, prowadzi szkolenia i jeździ po naszym pieknym kraju głosząc dev-słowa na przeróżnych konferencjach. Tematem dzisiejszego odcinka są testy. Jak i co powinniśmy testować w naszych systemach...
Reading time ~6 minutes This is a sixth part of a series:part 1 - Why schedule and procrastinate jobs?part 2 - Overview of Hangfiepart 3 - Scheduling and Queuing jobs in Hangfirepart 4 - Dashboard, retries and job cancellationpart 5 - Job continuation with ContinueWithpart 6 - Recurring jobs and cron expressions Parts 3, 4, and 5 covered the BackgroundJob class responsible for enqueuing single jobs (fire and forget). This post will cover RecurringJob class exposing API for recurring jobs (as the name ...
Architektura 3004 dni, 10 godzin, 38 minut temu 45 źrodło rozwiń
Everyone knows how to enhance Visual Studio’s debugging experience by applying DebuggerDisplay attribute (in polish). If not – read Piotr’s post here. That’s debugging 101. Here’s how to improve your experience even more. DebuggerDisplay attribute is ok if you control the code and you can apply it to the type you want to expose in the debugger. What if you can’t do that? What if you want to attribute a build-in type? Is all hope gone? No. There’s a way. There’s a hidden* .cs file and a dll that you can...
No i koniec lata, zimno, mokro i w ogóle poniedziałek. Jeszcze 4 dni do weekendu, i 10 miesięcy do lata. Żyć się nie chce. Pokrzyczeć zawsze można. Choćby na chmury. Zawsze to człowiek się chociaż wygada. Nie rozmawiamy ze sobą, nie rozmawiamy wcale, Każdy z nas kryje gdzieś w głębi smutki i żale. Tak właśnie jest. Tylko dzień dobry, jak leci, w porządku, do jutra. Takie bla bla bla
Tak IMHO powinien wyglądać dobrze napisany enum: public enum DocumentStatus : byte { Draft = 1, Approved = 2, UnderRevision = 3, Released = 4 } Nie enumerujemy od zera Pozbyć się wartości Undefined Dziedziczyć po byte? Czy nadawać wartości liczbowe wszystkim?
Sztuka programowania 3027 dni, 17 godzin, 53 minuty temu 507 źrodło rozwiń
W końcu udało się dotrzymać słowa i nowy odcinek podcastu pojawia się równo po dwóch tygodniach (huraaa!). Gościem tego epizodu był Michał Franc – programista/team leader, speaker, blogger oraz współorganizator wirtualnej konferencji dotnetConf PL. Razem z Michałem porozmawialiśmy o karierze programisty. Kiedy i od czego rozpocząć naukę? Czy studia są niezbędne do osiągnięcia sukcesu? Czy karierę zaczynać w małych firmach czy w korpo? Jakie są najczęstsze błędy popełniane przez młodych adeptów programowa...
Pisałem na początku lipca, czemu to warto wybrać się w październiku do Warszawy na konferencję .NET Developer Days. Obiecałem też wtedy konkurs, w którym wygrać będzie można jedną wejściówkę na to zacne wydarzenie. Najwyższa pora ten konkurs ogłosić. Wydaje się nie być nudny, więc zapraszam!
TL;DR: - Ludzie, ludzie, zwariowałem! Każdy szczęściu dopomoże, każdy dzisiaj wygrać może! Do wygrania wejściówka na konferencję DevDay o wartości 650 PLN. O zasadach konkursu na końcu wpisu. Zapraszam!
Dzień dobry bardzo! Trochę czasu minęło od publikacji ostatniego odcinka podcastu, ale mam nadzieję, że dzisiejsza rozmowa odkupi me grzechy 😉 Moim gościem był Paweł Łukasik – programista, blogger, lider Wrocławskiej grupy .NET oraz założyciel znanego i lubianego agreagtu treści – dotnetomaniak.pl. Dzisiejszy odcinek jest dość szczególny, ponieważ w końcu tematyka jest ściśle powiązana z .NET-tem. Paweł opowiedział o Intermediate Language. Czym jest IL? Co możemy dzięki niemu osiągnąć? Jakie narzędzia...
Sztuka programowania 3036 dni, 6 godzin temu 152 źrodło rozwiń
Jak pisałem poprzednio o problemie braku milisekund w dacie. Wspomniałem o tym, że tabele posiadają kolumnę informującą o ostatniej zmianie, która nastąpiła na rekordzie. Można się domyślić, że ręczne ustawianie tej wartości było by mozolne oraz podatne na błędy ( w szczególności – zapomnienie o wstawieniu nowej wartości)
Bazy danych i XML 3042 dni, 17 godzin, 55 minut temu 161 źrodło rozwiń
If you take a look at the title of this post and instantly think it’s a trap or bait – let me prove you wrong. This is not going to be one of these catchy titles, so “what kind of bs am I going to read here” has little use in this place. Actually, this is 100% true that contributing to the open source community might greatly affect your life – and it goes far beyond daily activities related to the coding. Therefore, let me tell you a short story about a guy, typical .NET developer, who not so long ago al...
One of the main processes in cookit is dealing with extracting recipe information from raw html. I know it isn’t the most elegant solution but it is the only universal one. But to the point. Every web page goes through a process involving html parsing, stemming, parsing, and n-gram token matching. Then it’s saved to Sql Server and after transformation to Solr. So a lot of string manipulation, math calculations and from time to time mostly 0-gen GC. In the most pessimistic case this process has to be r...
Sztuka programowania 3129 dni, 11 godzin, 57 minut temu 60 źrodło rozwiń