W poprzednim wpisie pokazałem jak w aplikacji ASP.NET MVC wysyłać wiadomości email z wykorzystaniem biblioteki Postal. Wspomniałem również, że wysyłka email w ramach żądania HTTP nie jest dobrym pomysłem, że lepiej skorzystać z jakiego mechanizmu kolejek oraz ponawiania operacji. Jednym z dostępnych narzędzi jest biblioteka Hangfire, która w prosty sposób jest wstanie wysłać email w tle, a do tego ponowić operację w momencie wystąpienia błędu.Hangfire Ostatnio do kolejkow...
Strona głównaUżytkownik
cieszak | użytkownik
Pracując z kontenerami Dependency Injection bardzo często dochodzi to sytuacji, gdy kod konfiguracji takiego kontenera bardzo się rozrasta. W szczególności, gdy korzystamy z biblioteki, która nie wspiera autorejestracji (przez dłuższy czas w jeden z aplikacji WPF wykorzystywałem Unity, gdzie trzeba było każdy typ zarejestrować ręcznie w kontenerze), przez co klasa konfiguracji może zawierać dziesiątki, jak i nie setki linii kod. Na szczęście Autofac, którego wykorzystuje o...
Wstrzykiwanie zależności z wykorzystaniem kontenerów jest bardzo wygodne, ale też niesie z sobą trochę problemów. Jednym z tych problemów jest ilość oraz moment tworzenia obiektów. W tym wpisie pokaże ten problem oraz zaproponuje swoje rozwiązanie z wykorzystaniem obiektów Lazy. Poniżej jest przedstawiona dość standardowy kawałek kodu aplikacji ASP.NET MVC, w której jest wykorzystane wstrzykiwanie zależności przez konstruktor w formie interfejsów. Jak widać na kodzie pow...
Sztuka programowania 2404 dni, 3 godziny, 21 minut temu 113 źrodło rozwiń
W jednym z wcześniejszych wpisów pokazałem jak za pomocą dwóch bibliotek (Nbuilder oraz Faker.NET) wygenerować dane testowe. Przez dłuższy czas korzystałem z tamtego rozwiązania, natomiast ostatnio kolega z pracy pokazał mi inną, ciekawszą bibliotekę, która łączy działanie Nbuildera oraz Faker.NET. Do tego ma kilka dodatkowych funkcji, które się przydają. Biblioteka nazywa się Bogus i jest to port biblioteki Faker.js. Po pierwsze biblioteka umożliwia wygenerowanie jednego...
Posted on by MJ Rozwój programisty. Jakże szeroki jest to temat. Rozwijamy się każdego dnia poprzez obowiązkowe (praca), dodatkowe (po pracy) programowanie. Poprzez poznawanie nowych bibliotek. Poprzez pracę z różnymi frameworkami. Wreszcie poprzez konsultacje z kolegami/koleżankami, code review czy pair programming. Oczywista oczywistość. Pytanie – czy to wystarczy? I tak i nie. W ten sposób nabywamy czysto techniczne umiejętności plus w jakimś stopniu te związane ze współpracą. Jednak istnieją równi...
Dzisiejszy wpis chciałem poświęcić dodatkowi do Visual Studio, bez którego uważam, że nie da się pracować. Osoby, które go nie używały nie wiedzą co tracą. Tym dodatkiem jest Productivity Power Tools. Jest on darmowy i można go pobrać ze strony http://visualstudiogallery.msdn.microsoft.com/en-us/d0d33361-18e2-46c0-8ff2-4adea1e34fef. Instalacja jego jest bajecznie prosta. Należy tylko pamiętać, że trzeba po jego zainstalowaniu zresetować Visual Studio. A...
Express App Framework – Security Listopad 22nd, 2010 | Author: Kelut Po tym, jak zapoznaliście się z architekturą xaf’a wypadałoby napisać jakąś prostą aplikację. Dzisiaj pokażę, jak dołączyć zabezpieczania do projektu i jak stworzyć użytkowników w kodzie. Po zainstalowaniu Frameworka dostajemy do wyboru nowy typ projektów: My wybieramy Application Solution v 10.1, ponieważ będziemy tworzyć nasz formularz zarówno na Windows Forms jak i ASP.NET . W solution explorer stworzyło nam się pięć modułów. D...
Express App Framework – Architektura Listopad 12th, 2010 | Author: Kelut Dzisiaj chciałbym, możliwie krótko, przedstawić architekturę XAF’a. Zanim zacznę wpisy techniczne, warto chociaż w minimalnym stopniu wiedzieć jak jest zbudowany ten Framework. Sam XAF to narzędzie wspomagające tworzenie aplikacji na windows forms oraz asp.net. Modułowa konstrukcja pozwala korzystać z wielu wbudowanych już modułów oraz pisać własne. To przekłada się, w dużym stopniu, na szybsze i wydajniejsze tworzenie oprogramo...
Tak jak zapowiadaliśmy wcześniej, mamy dla Was niespodziankę! Mamy do rozdania kilka nagród:2 vouchery na dowolny egzamin (ważne do 30 lipca 2010) 2 vouchery na kurs e-learningowy 6364: Visual Studio 2008 ASP.Net 3.5 (ważne do 30 czerwca 2010) Konkurs na najlepszą “zajawkę” Waszym zadaniem jest napisanie notki z linkami (70-536, 70-562, 70-503) do naszych kursów w jakimś blogu/serwisie. Najlepsza “zajawka” będzie nagrodzona: voucherem na egzamin, a kolejna voucherem na kurs e-learningowy. Termin zgłaszan...
Już nie pamiętam ile razy zasiadałem do projektowania po czym, podczas programowania porzucałem bądź radykalnie modyfikowałem projekt, ponieważ.. Zapomniałem o czymś bardzo ważnym Znalazłem inne, łatwiejsze rozwiązanie To co robiłem, nie miało sensu Na nowo wynajdywałem koło, a powinienem był znaleźć gotowca w sieci Hej, przecież nawet nie muszę tego robić jako pierwsze! W prawdziwym świecie istnieje ciasna pętla przyczynowo-skutkowa pomiędzy fazą implementacji a projektowania. Jeśli używasz Ph...
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Podstawową funkcją transakcji jest zagwarantowanie zasad ACID:atomowości (ang. atomicity),spójności (ang. consistency),izolacji (ang. isolation),trwałości (ang. durability). Kiedy operacje związane z bazą odbywają się na wielu maszynach i wielu zbiorach danych, nie jest to takie proste. WCF wspomaga programistę w tym zadaniu. W celu spełnienia zasad ACID najczęstszym podejściem jest wykorzystanie dwuetapowego ...
Programowanie rozproszone 5323 dni, 4 godziny, 33 minuty temu 39 źrodło rozwiń
Ostatnimi czasy zarówno na devPytaniach jak i 9fingers pojawiało się podobne pytanie, wcześniej też je wielokrotnie słyszałem. Powiem więcej - sam je kiedyś zadawałem. Na dotnetomaniaku z kolei pojawił się link do bloga, którego autor (Matthew) również dzieli się refleksjami na ten temat: link. Zachęcam do lektury - jeśli nie czytaliście to przeczytajcie i spotkajmy się za kilka minut :).
Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET. Możemy użyć plików konfiguracyjnych do określenie ustawień naszej strony. Ustawienia te są przechowywane w odrębnym pliku, oddzielonym od kodu aplikacji i zapisane w XML. Zazwyczaj storna internetowa zawiera jeden plik web.config który jest w głównym katalogu aplikacji. Jednak nic nie stoi na przeszkodzie aby umieścić ich wiele i będą zarządzały ustawieniami aplikacji na różnych poziomach.Zrozumieć hierarchie pliku konfiguracyjnego Plik kon...
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Z poprzedniej lekcji wiemy jak utworzyć usługę i jak zdefiniować jej część “behawioralną”, czyli poszczególne metody serwisu. Dzisiaj dowiemy się jak zdefiniować własne typy danych i przekazywać je przez serwis.Kontrakt danych Kontrakt danych definiuje nam format, strukturę i sposób serializacji przesyłanych danych. Rozbudujmy nasz kalkulator o możliwość wykonywania dowolnych działań dwuargumentowych. Najpierw ...
Programowanie rozproszone 5398 dni, 1 godzinę, 22 minuty temu 50 źrodło rozwiń
Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET. Witajcie w moim pierwszym artykule, w nowej serii wpisów. Dziś troszkę podstaw. Powiemy o tworzeniu nowego projektu w Visual Studio, dodawaniu nowych stron itp.Tworzenie strony internetowej Visual Studio 2008 pozwala nam stworzyć projekt typu Web Site, z rozróżnieniem tego w jaki sposób chcemy mieć dostęp do zawartości strony. Możemy stworzyć projekt Web podłączony do systemu plików na naszym komputerze, na serwerze IIS lub FTP. Wybór odpow...
Globalizacja to proces tworzenia aplikacji która wspomaga nasz “lokalny” interfejs. Przez lokalny należy rozumieć kulturę wyświetlania liczb, dat czy innych informacji. .NET Framework jest w stanie zrobić większość rzeczy za użytkownika, my jednak musimy zrozumieć jak korzystać z przewidzianych narzędzi. Na przykład w Stanach Zjednoczonych separatorem “miejsc po przecinku” (mówiąc po polsku ;) )jest kropka.Ustawienia kultury Możemy użyć dwóch właściwości do ustawienia kultury z jakiej chcemy skorzystać w...
Ten artykuł pochodzi z serii przygotowań do egzaminu 70-503: Windows Communication Foundation. Począwszy od .NET Framework w wersji 3.0 WCF, czyli Windows Communication Foundation, jest jego częścią. Możemy korzystać z niego w celu budowania aplikacji, których architektura składa się z wielu połączonych ze sobą serwisów, które wzajemnie się komunikują. Zaczynając przygodę z WCF zaczniemy od wyjaśnienia kontraktów opisujących zachowanie(ang. behaviour) serwisów, czyli opisu tego z czym możemy się komuniko...
Programowanie rozproszone 5399 dni, 16 godzin, 28 minut temu 50 źrodło rozwiń
Zastanawiałem się ostatnio nad tym, jaki MUSI być godny zaufania freelancer-programista, a jaki być NIE MOŻE. Efektem jest kilka spostrzeżeń, które dla wielu ocierają się zapewne o banał... ale ze względu na spore zainteresowanie ostatnim postem o tej tematyce postanowiłem się nimi podzielić. Co zatem cechuje profesjonalistę?
Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET. Przed przystąpieniem do poznawania technologii ASP.NET 3.5 oraz tworzenia witryn internetowych w niej (również w każdej innej technologii do tworzenia aplikacji www), warto zapoznać się z głównymi elementami wykorzystywanymi w udostępnianiu użytkownikowi stron. Aplikacje internetowe są klasycznym przykładem architektury klient – serwer. Użytkownik korzysta z przeglądarki internetowej (klient). Za pomocą Internetu (przy wykorzystaniu proto...
Minęło circa około ~300 dni od kiedy zostałem freelancerem. Przez ten czas dość regularnie otrzymywałem od Was pytania typu "jak to jest?", "jak zacząć?", "jakie są plusy i minusy?"... Czas więc na krótkie zerknięcie wstecz i spisanie kilku porad dla tych, którzy myślą o przejściu na "swoje" i pracy w domu. Freelancowanie może wydawać się szczytem zawodowej rozkoszy, jednak nie wolno myśleć o nim z klapkami na oczach. Przez nierozsądne podejście do tematu można się nieźle sparzyć. Mam nadzieję, że po le...