Some time ago I created an Azure alert (thanks to Iris Classon). I did it as a part of my Azure exploration. The rule I created, send me email every time I have more than 1000 requests per hour. I received one or two e-mails in last two weeks and that was fine. High traffic can happen occasionally. Of course I created this rule based on history of the number of requests from the past. However, last night I received 3 e-mails. I checked with Azure Man...
Pisaliśmy kiedyś aplikację dla klienta z dość jaśnie określoną specyfikacją sprzętową. Program ma się bez problemów uruchamiać na 64-bitowym Windowsie 8 ponieważ wszystkie komputery działają pod obsługą tego systemu. Czyli hulaj dusza jedziemy z najnowszą wersją .neta (wszak jest to soft dedykowany dla tego konkretnego klienta). Po czasie określonym w umowie dostarczamy soft klientowi na testy, instalacja przebiega bezproblemowo… do czasu. Jest godzina 10 spokojnie dopijam czwarty kubek kawy (wsz...
Sztuka programowania 3066 dni, 21 godzin, 51 minut temu 259 źrodło rozwiń
Tak naprawdę, moje posty powinienem rozpocząć od wyjaśnienia czym jest JIT. To jedno z podstawowych pojęć, które pojawia się w przypadku omawiania .NET. Wolałem jednak najpierw pokazać kilka programów napisanych w IL Assembly. Kilka postów powinno dać już jakiś obraz czym jest IL. Oczywiście kod piszemy w C# lub w innym języku wysokiego poziomu, więc wystarczy abyśmy ogólnie mieli pojęcie o IL. Co to jest więc kompilacja JIT? Czym różni się od klasycznej? W językach niezarządzanych takich jak CPP...
Dzisiaj mało znana funkcjonalność języka\kompilatora, która niestety czasami przydaje się. W zdecydowanej większości przypadków nie powinna ona mieć w projekcie zastosowania, ale wiadomo, czasami nie mamy na to wpływu. Problem dotyczy scenariusza, gdy mamy dwa typy o takiej samej nazwie, znajdujące się w takiej samej przestrzeni nazw. Oczywiście taka sytuacja wymaga, aby podane typy były umieszczone w różnych projektach (inaczej nastąpiłby błąd kompilacji). Przy wielkich systemach, w których nie przestr...
Skróty klawiaturowe są często przez nas wykorzystywane. Chyba każdy z programistów wie jak to przyspiesza pracę i zwiększa produktywność. Dlaczego więc nie dać użytkownikom możliwości korzystania ze skrótów w aplikacjach internetowych.
W poprzednim poście pokazałem prostą aplikację z wykorzystaniem Caliburn.Micro. Teraz chciałem pokazać bardziej zaawansowane (ale tylko trochę) sposoby bindowania.Bindowanie bezpośrednio do obiektu W przykładzie, który został pokazany uzupełniając dane w textboxach przypisujemy te dane do odpowiedniej property w klasie. Fragment dla przypomnienia public string LastName { get { return _person.LastName; } set { _person.LastName = value; NotifyOfPropertyChange("Last...
Dzisiaj na ruszt wrzucimy integrację z systemem automatycznych płatności transferuj.pl. Sprawa wydaje się nie być trudna, ale spędziłem za pierwszym razem nad tym trochę czasu zanim wszystko odpowiednio skonfigurowałem, a w Internecie na ten temat materiałów brak. Dokumentacja do integracji jest i to jest dobra, jednak co na chłopski rozum opisane to łatwiej zrozumieć.
Sztuka programowania 3072 dni, 9 godzin, 29 minut temu 284 źrodło rozwiń
Pod koniec poprzedniego postu na temat MVVM wspomniałem o Caliburn.Micro jako narzędziu, które czyni moją pracę lżejszą. Dla tych, którzy nie wiedzą jest to framework wspomagający w tworzeniu aplikacji opartej o wzorzec MVVM. Jeśli ktoś zastanawia się dlaczego od razu nie wspomniałem o tym frameworku i poprzedni przykład robiłem bez jego użycia to moja odpowiedź jest prosta (i poparta gorzkim doświadczeniem). Otóż robiąc coś zaawansowanego musimy mieć świadomość mechanizmów za tym stojących inaczej...
Today, working on a new feature for my pet project, I realized that I have to notify the view, that all properties in view model have changed. The most obvious way to achieve that would, of course be to rise PropertyChange event a bunch of times. protected virtual void OnPropertyChanged(Expression
Ile razy mieliście tak „Hej, komputer/drukarka/myszka/klawiatura/monitor/telewizor/radio/suszarka (niepotrzebne skreślić) nie działa! Zrób coś z tym!”, mówicie, kurde nie za bardzo wiem o co chodzi, nie znam się akurat na tym… A w odpowiedzi dostajecie „No jak to? Przecież jesteś INFORMATYKIEM!”.
W poprzednim poście opisałem (bardzo ogólnie) dlaczego już nie lubię WinForms i dlaczego używam WPF. Przez używanie WPFa mam na myśli WPF+MVVM ponieważ szczerze mówiąc to uważam, że stosowanie WPFa bez MVVMa to strata czasu, ale to tylko moje zdanie (jak większość opinii wyrażona na tym blogu). Czym więc jest ten cały MVVM? Otóż jest to ni mniej ni więcej wzorzec projektowy. Na początek trochę teorii (niestety bez niej się nie da).Model Obiekty biznesowe, serwisy i wszystko to co jest związane z ...
Skomplikowane aplikacje mogą wymagać skomplikowanego kodu. Jeżeli jego złożoność wynika ze złożoności modelowanego problemu to wszystko jest ok. Gorzej, jeżeli złożoność kodu wynika ze… złożoności kodu. W takim przypadku mówimy o złożoności przypadkowej.
Architektura 3080 dni, 10 godzin, 39 minut temu 310 źrodło rozwiń
Pomimo tego, że fanem Google Chrome nie jestem to przeglądarka Chrome Canary posiada funkcję z której ostatnio korzystam dość intensywnie – emulator urządzeń mobilnych, który jest niezastąpiony w momencie gdy projektujemy aplikację również pod tablety czy telefony.
Jestem geekiem(a może nerdem?) jeśli chodzi o nowe technologię. Po prostu je uwielbiam, ale mimo tego nie mogłem przekonać się do jednego (i to w cale nie do takiej nowości). Nie mogłem przekonać się do laptopa. Po prostu pogardzałem takim sprzętem. Liczyła się dla mnie tylko stacjonarka wraz z jej nieposkromioną (do czasu) mocą. Aż pewnego dnia coś we mnie pękło: Muszę kupić sobie laptopa Wzbraniałem się przed tym długi czas, ale w końcu nie wytrzymałem. Jadę do domu na święta a muszę mieć dost...
Chciałem Wam dzisiaj przedstawić fajną bibliotekę dla .net opartą na wkhtmltopdf do generowania dokumentów PDF z kodu HTML. Bardzo długo szukałem optymalnego dla mnie rozwiązania, aż w końcu trafiłem właśnie na Rotativę. Próbowałem wielu rozwiązań, ale każde miało swoje wady. Długi czas próbowałem walczyć z iTextSharp, ale składnia dokumentu PDF była mocno odpychająca, a licencja nie była zachęcająca. Później trafiłem właśnie na wkhtmltopdf, ale i ta biblioteka miała dwie zasadnicze wady, które mnie znie...
Fajną sprawą jest wstawić link dla elementów w autocomplete np. jeżeli wykorzystuje się je w wyszukiwarce.
Everyone who has ever tried to create multilingual application knows, that this is very tedious task. The most repetitive work is usually moving hard-coded strings to resource files. Fortunately with Resharper this is definitelly less painfull than usuall. In order to point out localizable parts of application , it is necessary to decorate classes with System.ComponentModel.LocalizableAttribute. However, usually we want to localize an entire program, so more universal solution is to set appropria...
To make this review complete, I’m providing solution with examples of all mechanisms usage, it can be found at my GitHub: https://github.com/szabl/AspNetViewsCodeReuseExamples OverviewMethodBrief descriptionUsageHTML HelpersC#/VB.NET methods returning html as a stringBest suits view elements, where quite a lot of logic is necessary to generate short HTML. Rather not good for elements specific to a specific view.Display/Editor TemplateView file used as a template for displaying or editing given data type....
Sztuka programowania 3080 dni, 10 godzin, 39 minut temu 116 źrodło rozwiń
Od pewnego czasu wszystkie nowe aplikację okienkowe tworzę w WPFie. Próba napisania czegoś w Winformsach sprawia mi ból. A przecież gdy zaczynałem to Winformsy były moją pierwotną technologią (bo php litościwie pomine). To właśnie WinFormsy wraz z prostotą C# (o naiwności!) były przyczyną mojego zainteresowania platformą .net. Pamiętam jak przez mgłę mój pierwszy projekt w WinFormsach. Jakieś matematyczne obliczenia (średnia, mediana itp.), ale istotny był graficzny interfejs (jego brak powodował ...
Ponieważ popełniłem kiedyś coś co nazwałem Fody ciekawa ptaszyna – część 1 to w związku z tym należało zrobić coś co nazywa się Fody cz2 co też obecnie czynie. Fody ma wiele pakietów, ale opiszę teraz tylko te wybrane z których kiedyś korzystałem (lub widziałem sens ich zastosowania). Tworząc aplikacje okienkowe musimy również przemyśleć sposób ich dystrybucji. Należy go dostosować do poziomu zaawansowania klienta oraz do nakładów pracy związanych z danym sposobem. Pisząc dużą aplikację wymaga...