Strona głównaUżytkownik

Paweł Łukasik | użytkownik

Paweł Łukasik
Paweł Łukasik
32 895,6
1398 dni, 7 godzin, 22 minuty temu
27 stycznia, 2009
dotnetomaniak.pl

Czasami potrzeba nam prostego narzędzia, które będzie wykonywało jakieś zadania w określonych ramach czasowych. Można użyć prostego Timera z .NET Framework, ale ma on dość ograniczone możliwości. Na przykład, stan zadań nie może być zapisany w bazie danych. Dla bardzo zaawansowanych rozwiązań, zwykle mamy inną architekturę, na przykład opartą na kolejkach. W takich sytuacjach, zwykle poszczególne technologie posiadają swoje mechanizmy, tak jak nServiceBus o który już wiele razy pisałem. Dzisiaj jednak c...

Dziel się z innymi:
Piotr Zieliński » Quartz.NET–planowanie zadań

Narzędzia 3373 dni, 1 godzinę, 48 minut temu Paweł Łukasik 371 źrodło rozwiń

Zakupiłem do CloudExperta (www.cloudexpert.pl) MACa Mini, który ma w firmie służyć jako komputer do kompilowania aplikacji napisanych dla systemów iOS. Ostatnimi czasy tworzymy sporo aplikacji w HTML5/Cordova właśnie dla iOS i z racji braku potrzeby kupowania MACów dla każdego pracownika cały proces przebiega dobrze aż do momentu kiedy trzeba stworzyć paczkę dla sklepu AppStore.

Tagi: Azure, iOS
Źródło: marcinborecki.pl
Dziel się z innymi:
Azure w realnych zastosowaniach: Łączymy komputery z kilku biur w jedną dużą sieć | Marcin Borecki - Making a difference everyday

Inne 3375 dni, 8 godzin, 42 minuty temu Paweł Łukasik 152 źrodło rozwiń

Kiedyś na blogu wyjaśniłem jak działa readonly, gdy jest wywoływany po za konstruktorem. Posłużyłem się następującym przykładem.

Dziel się z innymi:
Piotr Zieliński » CodeReview: Struktura readonly a wydajność

Inne 3375 dni, 8 godzin, 42 minuty temu Paweł Łukasik 269 źrodło rozwiń

Przy okazji codziennej prasówki natknąłem się na ten artykuł na temat wydajności pętli for w JavaScript'cie dla różnych przeglądarek. W skrócie chodzi o to czy powinniśmy pisać pętlą for tak...

Dziel się z innymi:
Michał Komorowski | O programowaniu, pracy w IT i nie tylko

Sztuka programowania 3375 dni, 8 godzin, 42 minuty temu Paweł Łukasik 436 źrodło rozwiń

Podczas kompilacji programu z nienacka otrzymuje komunikat: Kluczowa informacja jaką powinniśmy dostrzec to: Cannot find assembly ‘system.web.http, version 5.0.0.0 i found file (…) with identity ‘system.web.http’ wersja 5.2.2

Tagi: błąd, PostSharp
Źródło: marcinborecki.pl
Dziel się z innymi:
PostSharp płata figle czyli w poszukiwaniu biblioteki, której nie ma | Marcin Borecki - Making a difference everyday

Narzędzia 3387 dni, 7 godzin, 12 minut temu Paweł Łukasik 164 źrodło rozwiń

O korzyściach z modyfikatora sealed, od strony projektowej pisałem już tutaj.  Dzisiaj postanowiłem jednak napisać prosty program, który pokaże nam czy faktycznie są jakieś różnice wydajnościowe. Oczywiście jest to raczej ciekawostka dla ludzi zajmujących się c# internals. Jeśli zależy nam na optymalizacji, zawsze zaczynajmy od ulepszenia samego algorytmu (zmniejszenia jego złożoności), a w ostateczności sięgajmy po mikro-optymalizacje. Warto stosować wspominane wskazówki, ale ze względu na dobre praktyk...

Dziel się z innymi:
Piotr Zieliński  » Modyfikator sealed dla klas–wydajność

Sztuka programowania 3387 dni, 7 godzin, 12 minut temu Paweł Łukasik 242 źrodło rozwiń

Continuous Integration, Code Reviews, Test/Behaviour Driven Development, Automated User Acceptance Tests, FxCop, StyleCop, NDepend, Resharper i wiele wiele innych technik/narzędzi wykorzystywanych tylko po to, aby tworzyć lepszy kod. A często zapominamy, lub nie wiemy, o podstawowych sposobach na zapewnienie lepszej jakości kodu. Dzisiaj pokażę jak osiągnąć lepszy kod w 4 kliknięciach.

Dziel się z innymi:
Lepszy kod w 4 kliknięciach | Piotr Perak

Sztuka programowania 3448 dni, 8 godzin, 32 minuty temu Paweł Łukasik 473 źrodło rozwiń

O TDD napisano wiele, sam napisałem całkiem sporo i mówiłem całkiem sporo podczas kilku prelekcji. Używam TDD od ponad 5 lat już. Powinienem być super mega ninja pro TDD master. Mimo tego jakiś czas temu, pisząc bardzo prosty kod, na prawdę super prosty, naszła mnie taka refleksja: Jest zielone, jest ok. [Fact] public void Example_test() ...

Tagi: TDD
Źródło: www.benedykt.net
Dziel się z innymi:
Jeszcze słowo o TDD : arek online

Sztuka programowania 3449 dni, 2 godziny, 6 minut temu Paweł Łukasik 246 źrodło rozwiń

Hey all I would like to invite you to second edition of dotnetconfPL. If you hear about it first time then check out last edition. As you may guess this conference is in Polish, we were inspired by global edition, so we decided to do it in Polish. At this year we have few more licences to raffle during our event, six resharper and three ncrunch. Thank for all sponsors! This edition has seven technical oriented talks and one soft oriented talk, we tried, and we want to exp...

Źródło: pawel.sawicz.eu
Dziel się z innymi:
[EN] #dotnetconfPL – 2014 – Pawel Sawicz .NET Blog

Inne 3473 dni, 9 godzin, 27 minut temu Paweł Łukasik 203 źrodło rozwiń

Słowo dynamic jest często nadużywane prowadząc do trudno czytelnego kodu. Innym problemem jest wydajność – programiści często nie wiedzą jaki overhead za sobą ponosi każde użycie dynamic.  Zacznijmy eksperymentowanie z IL:staticvoid Main(string[] args) { dynamic text ="Hello world"; } Wygenerowany IL:// Method begins at RVA 0x2050 // Code size 8 (0x8).maxstack 1 .entrypoint .locals init ( [0] object text ) IL0000: nop IL0001: ldstr "Hello world" IL0006: stloc.0 IL0007: ret   Nic nadzwyczajn...

Tagi: dynamic
Dziel się z innymi:
Piotr Zieliński » Implementacja wewnętrzna: dynamic

Inne 3473 dni, 9 godzin, 27 minut temu Paweł Łukasik 252 źrodło rozwiń

Pętle i warunki, naturalnie są z jednym z podstawowych elementów każdego programu. Języki wysokiego poziomu umożliwiają realizację tego za pomocą słów If, for, foreach,while. W językach niskiego poziomu, takich jak IL Assembly, wszystkie powyższe czynności wykonuje się za pomocą skoków warunkowych i bezwarunkowych. Działają one analogicznie do słowa kluczowego GOTO. W IL, najprostsza instrukcja skoku to BR:br jump1 // jakas logika tutajjump1: //... br nie zawiera żadnego warunku. Można ją porównać do...

Dziel się z innymi:
Piotr Zieliński » IL Assembly: instrukcje warunkowe i pętle

Inne 3530 dni, 7 godzin temu Paweł Łukasik 113 źrodło rozwiń

W poprzednim poście opisałem jak działa stos w IL. Wiemy, że jest on kluczowy dla wszelkich operacji. Jedną z ważniejszych instrukcji, wprowadzonych w tamtym poście jest ldc.i4. Służy ona do załadowania liczby 4 bajtowej na stos. Oprócz niej, istnieje wiele innych instrukcji, które pełnią analogiczną rolę. Rozważmy następujący kod c#: float floatNumber =533.3f; double doubleNumber =5454.14; string text ="text"; int[] array =newint[] {21, 3}; Console.WriteLine(floatNumber); Console.WriteLine(doubl...

Tagi: IL
Dziel się z innymi:
Piotr Zieliński » IL assembly: Załadowanie zmiennych lokalnych + operatory

Inne 3536 dni, 15 godzin, 28 minut temu Paweł Łukasik 101 źrodło rozwiń

Bardzo często na blogu poruszam tematykę c# internals. Bez nich, praktycznie niemożliwe jest pisanie optymalnego kodu. Jeśli ktoś np. nie wie jak async\await jest zaimplementowany wewnętrznie, bardzo łatwo może popełnić błędy podczas pisania kodu c#. Niedawno ktoś zasugerował mi, abym wyjaśnił bardziej IL. Bardzo często wklejam fragmentu kodu z Reflector’ora i nie wyjaśniam szczegółów. Z tego względu, przez kilka kolejnych wpisów zajmiemy się CLR internals oraz IL. Na początek podstawowe pytanie, co to...

Dziel się z innymi:
Piotr Zieliński » Wprowadzenie do evaluation stack

Inne 3536 dni, 15 godzin, 28 minut temu Paweł Łukasik 137 źrodło rozwiń

Istnieje wiele framework’ow ułatwiających izolację danych w testach jednostkowych. Nie opisuje ich na blogu, bo nie wiele od siebie różnią się . Microsoft Fakes jednak ma kilka ciekawych rzeczy i dlatego nim dzisiaj zajmiemy się. Niestety jest dostępny on wyłącznie w wersji Visual Studio Ultimate. Pierwszą wyróżniającą go cechą jest możliwość izolacji metod statycznych, które oczywiście nie mogą być w łatwy sposób mock’owane.  Rozważmy klasyczny przykład:publicclass Person { publicvoid Method() ...

Dziel się z innymi:
Piotr Zieliński » Microsoft Fakes

Inne 3536 dni, 15 godzin, 28 minut temu Paweł Łukasik 180 źrodło rozwiń

Historia zaczyna się od prostego fragmentu kodu pokazanego poniżej. Kod ten to fragment walidatora, ktory ma za zadanie określić, czy dane są prawidłowe. Jeśli nie, to zmienna isValid powinna zostać ustawiona na false. var isValid = true; if (condition_1) isValid = false; if (condition_2) isValid = false; Kod ten działał do momentu, kiedy wprowadzono do niego małą zmianę pokazaną poniżej. Było to pewne uszczegółowienie logiki walidacji danych wejściowych. var isValid= true; i...

Dziel się z innymi:
Michał Komorowski: Czy użycie if zamiast else if ma znaczenie?

Sztuka programowania 3536 dni, 15 godzin, 28 minut temu Paweł Łukasik 366 źrodło rozwiń

Extension is available for other Visual Studio versions: GoToTest macro for VisualStudio 2008NavigateToTest VS2010 extensionNavigateToTest VS2012 extensionNavigateToTest VS2013 extension You can download the extension here: NavigateToTest Visual Studio 2013 extension Here’s the latest version that supports Visual Studio 2013. Extension is convention based. It matches ClassName file with ClassNameTest or ClassNameTests and vice-versa, so you can easily navigate to the test file and back. Here are so...

[EN] NavigateToTest VS2013 extension | Blog | Limilabs

Narzędzia 3545 dni, 11 godzin, 22 minuty temu Paweł Łukasik 69 źrodło rozwiń

Wiele razy pisałem już o słowach async\await i z pewnością ułatwiają one życie. Dla przypomnienia rozważmy kod:private async void DownloadAndSortAsync() { int[] allNumbers = await DownloadNumbersAsync(); int[] sortedNumbers = await SortNumbersAsync(allNumbers); MessageBox.Show(string.Join(“,”,sortedNumbers)); } private Task

Tagi: await
Dziel się z innymi:
Piotr Zieliński » Własna implementacja await’era

Sztuka programowania 3545 dni, 11 godzin, 22 minuty temu Paweł Łukasik 194 źrodło rozwiń

W Visual Studio istnieje pewna opcja, która umożliwia sprawdzenie wartości obiektu, do którego nie ma się jawnej referencji. Spójrzmy na następujący przykład:class Program { staticvoid Main(string[] args) { DoSomething(); } privatestaticvoid DoSomething() { var person=new Person(); person.FirstName ="Piotr"; person.LastName ="Zielinski"; } } Jeśli ustawimy breakpoint w metodzie DoSomething naturalnie zobaczymy wartość obiektu person w oknie watch:...

Dziel się z innymi:
Piotr Zieliński » Debugowanie obiektów bez jawnej referencji

Narzędzia 3545 dni, 11 godzin, 22 minuty temu Paweł Łukasik 175 źrodło rozwiń

W ostatnim poście było o SpecsFor, jako alternatywy dla SpecsFlow. Pokazane przykłady były ogólne i nie dotyczyły konkretnej technologii. Z BDD bardzo często korzysta się w celu przetestowania UI. W końcu wpisywane scenariusze, odzwierciedlają typową interakcję użytkownika z aplikacją. Osoby nietechniczne zwykle definiują wymagania z punktu widzenia użytkownika a nie wewnętrznej infrastruktury, która oczywiście nie jest im znana w szczegółach. Dla aplikacji ASP.NET MVC powstał SpecsFor MVC. Dobra wiadom...

Tagi: bdd, specsfor
Dziel się z innymi:
Piotr Zieliński » SpecsFor MVC

Sztuka programowania 3549 dni, 5 godzin, 43 minuty temu Paweł Łukasik 120 źrodło rozwiń

Recently I step upon an issue of compiling a project using Mono. Mono itself comes with nice tool called xbuild which is a msbuild brother in Mono world. Xbuild can be used to compile a project from command line. I wanted to compile my project targeting Mono under Visual Studio 2012. Unfortunately, targeting for Mono (profile=Mono) does not exists in Visual Studio. Following instructions will add new profile and then new target – Mono – will be available.Downloa...

Źródło: blog.klimczyk.pl
Dziel się z innymi:
Mono profile in Visual Studio 2012 | IT Weblog

Narzędzia 3553 dni, 1 godzinę, 19 minut temu Paweł Łukasik 74 źrodło rozwiń

1 2 3 4 5... 22 23

Najaktywniejsi w tym miesiącu