Przez ostatnie lata nie zajmowałem zbytnio się aplikacjami webowymi ale stopniowo zmienia się to. Z tego względu więcej na blogu można spodziewać się takiej tematyki. Powoli sobie wszystko przypominam. Prawdopodobnie dla wielu z Was będą to podstawy ale mam nadzieję, że komuś przydadzą się takie wpisy. W poście chciałbym pokazać czym różni się RouteUrl od Action. Zacznijmy następującej metody:public ActionResult Index() { string action = Url.Action("Index"); string route = Url.RouteUrl("CustomRoute2...
Uruchomienie aplikacji .NET może być procesem powolnym. Związanie jest to oczywiście z potrzebą skompilowania kodu do postaci maszynowej. W przeciwieństwie do np. C++, w plikach jest przechowywany kod tymczasowy. W większości przypadków nie jest to problemem, ale dla naprawdę dużych aplikacji może być to odczuwalne. Szczególnie ma to znaczenie dla ASP.NET, gdzie zależy nam jak na najkrótszym opóźnieniu. Jednym ze sposobów jest użycie nGen, który wygeneruje kod maszynowy. Ma to taką wadę, że trzeba wywoł...
Jakiś czas temu zdarzyło mi się hobbystycznie wykonać kilka projektów desktopowych przy wykorzystaniu WPF. Jako, że jestem typowym programistą web’owym, moja wiedza na temat bibliotek do WPF’a była znikoma...
This article is a continuation of my previous article. It shows how to create a custom intern pool that does not fragment the LOH and how to further improve it.
I think almost every .NET developer is familiar with INotifyPropertyChanged interface. Typical implementation of this interface looks more or less like that: public class NotifyPropertyBase : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected virtual void OnPropertyChanged( Expression
Po co, na co i dlaczego? We wpisie o absurdach edukacji wspomniałem o książce “ostatni wykład”. Jej autor wspomina o podstawach. Jak bardzo są ważne. Jak wpływają na nasze dalsze życie zawodowe. Tak, jak nie można postawić domu, na nietrwałych fundamentach, tak nie można zostać dobrym programistom bez znajomości podstaw. Większość książek programistycznych zaczyna się od omówienia co to jest obiekt, polimorfizm i dziedziczenie. Na zagadnienia takie jak stos, sterta, szerokość szyny adresowej, architekt...
Druga część artykułu o połączeniu logiki aplikacji Windows Phone i Windows Store. Tym razem opis wstrzykiwania implementacji interfejsów łączących różnice między tymi dwoma platformami.
Mobile development 3290 dni, 3 godziny, 3 minuty temu 235 źrodło rozwiń
W jednym z projektów spotkałem się z problemem dotyczącym wygenerowanej klasy na podstawie .xsd. Po stworzeniu kodu odpowiedzialnego za serializację i jego uruchomieniu...
This article describes some of the pitfalls that one may encounter while working with string in a high frequency environment. Most notably it exposes some of the problems with string Intern Pool.
Sometimes when you write tests you want to check how the code behaves in different cases. I had already experienced that a couple of times before and I always used TestCase annotation available in nUnit library. It’s nice to know that nUnit offers an alternative approach as well...
Kryptografia – sztuka pisania szyfrem, zrozumiałym tylko dla wtajemniczonych – jest rozwijana od zarania dziejów... Niniejszy artykuł stanowi wprowadzenie do tematu, zapoznaje czytelnika z podstawowymi pojęciami związanymi z kryptografią.
MVC)MJLeave a comment Dzisiaj krótki wpis, ale wydaje mi się, że wart uwagi. W zeszłym tygodniu po raz pierwszy miałem do czynienia z dodatkiem do VS 2012 – Razor Generator. I mówiąc szczerze – jestem bardzo pozytywnie zaskoczony. W wielkim skrócie jest to rozszerzenie umożliwiające kompilowanie plików .cshtml. W praktyce wygląda to w ten sposób, że pod widokiem znajduje się klasa o nazwie Widok.generated.cs. Przy każdej zmianie w widoku, następuje automatyczna zmiana w kodzie tej klasy, przez co nie je...
Porównanie kilku grup programistów, z przymrużeniem oka ;)
Korzystamy z ASP.NET MVC, bindujemy model z widokiem, a w modelu mamy pole daty z określonym formatem. Problem pojawia się, gdy walidacja nie działa jak powinna...
Tym razem kilka słów o dosyć często pojawiającym się problemie, który miałem opisać wieki temu, ale inne wpisy jakoś zawsze okazywały się ciekawsze, ważniejsze i mniej udokumentowane. Przy okazji będę mógł zachęcić do zainteresowania się biblioteką procdumpext.dll, która wiele rzeczy bardzo usprawnia. Analizując zrzuty pamięci przygotowane na innym komputerze nietrudno trafić na sytuację, gdy środowisko uruchomieniowe różni się od naszego i wówczas może się okazać, że nie będziemy w stanie korzystać z m...
If there is software, there have to be a bug. FIM 2010 as nice platform for identity management projects is not free from bugs of course, we have to live with them, wait for fixes to come and sometimes get to know how to handle them. This one is the latter case.
Kilka tygodni temu, w jednym z wpisów, porównałem wydajność List z LinkedList. Przykład udowodnił, że dodawanie nowych elementów w LinkedList potrafi być nawet wolniejsze niż w przypadku List. Bardzo często, programiści myślą, że to LinkedList jest lepszy do dodawania nowych elementów, ponieważ łatwiej doczepić nowy wskaźnik niż alokować ponownie pamięć (też tak kiedyś uważałem). W przypadku List jest to jednak nie do końca prawda, ponieważ List
Sztuka programowania 3297 dni, 8 godzin, 22 minuty temu 171 źrodło rozwiń
IIFE albo po prostu iffy jest to funkcja samowykonująca się w JavaScript. Na pewno nie raz na nią natrafiliście albo nawet sami ją pisaliście:(function() { 'use strict'; }()); Prosta sprawa. Nic dodać nic ująć. Jest ona o tyle fajna, że w niej można zawrzeć dyrektywę 'use strict'; która znacząco poprawi jakość naszego kodu w JS – przynajmniej poprawi na tyle na ile będzie mogła ;) Nie zależnie od tego, natrafiłem dzisiaj na coś co mi się bardzo nie spodobało. Szablon funkcji IIFE stworzony prze...
Od czasu do czasu występuje potrzeba sprawdzenia, na czym uruchomiona jest nasza aplikacja – czy na urządzeniu, czy na emulatorze. W tym celu można zastosować następujący kod:if(Microsoft.Devices.Environment.DeviceType== DeviceType.Emulator){ MessageBox.Show("Application has been started in emulator.");} Dzięki takiemu sprawdzeniu możemy przygotować ustawienia dla aplikacji w trak...
Mobile development 3297 dni, 8 godzin, 22 minuty temu 81 źrodło rozwiń