Ostatnimi czasy szukam różnych rozszerzeń do Visual Studio i wypróbowuję je w swoich aplikacjach webowych. Jednym z takich rozszerzeń jest biblioteka jQueryUIHelpers, która umożliwia nam korzystanie z jQuery za pomocą helperów. Jak to wygląda w praktyce?
Aplikacje webowe przeszły rewolucje od czasów pierwszych stron internetowych. Przez długi czas, aplikacje webowe opierały się na prostym schemacie zapytania i odpowiedzi. Wpisując jakiś adres w przeglądarce, generowany był po prostu dokument. Nie było możliwości interakcji. Nawigacja do innej strony, skutkowała przeładowaniem całej strony. Później pojawił się AJAX, czyli wykonywanie metod usługi w tle. Był to na pewno krok do przodu ponieważ nie było potrzebne już przeładowanie całej strony, aby odśwież...
Get out of your comfort zone – Vim the social connector Posted on by Michal Franc I am a .Net developer, mostly. Sure, I am exploring Python, node.js and other technologies, still my work is mostly related to C# and recently I am having fun with F#. I can say that as of now I am tied to one platform and I mostly attending meetups and conferences slightly related to it. Recently I have gone to one of the meetups and I had opportunity to chat with awesome PHP programmers. Boy that was fun. MS technol...
Poprzednio opisałem do czego służy grunt i jak go zainstalować. Jednak zakończyłem na jednej z najważniejszych rzeczy w grunt – mianowicie pliku który jest odpowiedzialny za definicje zadań jak i konfiguracje tego co ma nam ten biedny grunt robić :) Niestety, z grunt nie jest tak łatwo jak z NPM – by stworzyć gruntfile.js lub gruntfile.coffee mamy dwie opcje:Ręczne utworzenie plikuWykorzystanie kolejnej paczki (kiedyś była częścią grunt) grunt-init Ręcznie możemy to zrobić za pomocą poleceńtouch gruntf...
SW trzeciej części serii chciałbym ukazać łatwość z jaką przy pomocy EmguCV można dokonywać przekształceń obrazu. W tym poście skoncentruję się na 3 przekształceniach: Odbicie lustrzane (Flip), Obrocie, Skalowaniu.
Skoro już mamy nasze środowisko przygotowane i wiemy co i jak z tym grunt, to pora się nim trochę pobawić :) UWAGA: to jest przykład, nie twierdzę że najlepiej napisany, chodzi głównie o pokazanie co można zrobić.Krok 0 – przygotowanie środowiska W aplikacji będziemy wykorzystywać grunt jak i bower, więc warto sobie przypomnieć jak te dwie rzeczy zainstalować :)npm bower -g install npm grunt-cli -g install Krok 1 – informacje na temat aplikacji i struktury katalogów W tym celu wykorzystamy przykładową...
Rozważmy przez chwilę scenariusz wysyłania wiadomości e-mail. A raczej tą część procesu, w której generowana jest treść. W tagu demo3-finish mamy taki interfejs: public interface IEmailService { void RegistrationEmail(string email, string link); } (https://github.com/maniserowicz/di-talk/blob/demo3-finish/src/app/EmailService.cs) Jego implementacja powinna zająć...
Sztuka programowania 3813 dni, 5 godzin, 10 minut temu 264 źrodło rozwiń
Ostatnio omawialiśmy co to jest NPM oraz co to jest Bower. Pora na coś z czego będzie nam naprawdę ciężko (do póki nie poznamy alternatywy ;)) żyć w świecie JavaScript.Grunt The JavaScript Task Runner Grunt jest to system automatyzacji pracy – nie zależnie co robimy, czy to ma być statyczna strona w HTML i JavaScript, czy bardziej zaawansowana aplikacja wykorzystująca coffee script, czy też po prostu coś co chcielibyśmy z automatyzować. W odniesieniu do naszego świata .NET Grunt można porównać z MSBUIL...
Postawiłem przed sobą dość proste zadanie dodania nowego 'ficzeru' do pewnej wewnętrznej ministronki w firmie. Ot, taka mała lista obsługiwanych aplikacji. Z biegiem czasu 'mutacji' produktu powstało wiele, dlatego lista stała się dość pokaźna i znalezienie czegoś w niej stało się trudne.
Microsoft idąc śladami Chrome i Firefoxa, stworzył dla swojej flagowej przeglądarki Internet Explorer specjalny kanał deweloperski. Dzięki tej usłudze, każdy zainteresowany może już pobrać i przetestować nowości, które dopiero pojawią się w kolejnych wersjach finalnych przeglądarki www.
Niedawno na łamach natematu pojawił się artykuł o jakże wdzięcznym tytule: “IT-arystokracja. Najbardziej zepsuta pensjami i przywilejami grupa zawodowa“. Widziałem linki do niego w bardzo wielu miejscach, więc pewnie każdy z Was go już czytał. A teraz się do niego ustosunkuję (po raz wtóry, gdyż raz już to, trochę po łebkach, uczyniłem na grupie polskich programistów .NET na FB). Odnośnie artykułu Sam art...
W poprzednim wpisie wspomniałem o metodzie ToBitmap klasy Image pozwalającej na konwersję klasy Image na klasę System.Drawing.Bitmap, co pozwala na używanie wyniku obróbki obrazu w kontrolkach Windows Forms. Jednak taka konwersja nie należy do najszybszych operacji, po za tym powoduje zwiększenie zużycia pamięci, ponieważ obraz jest przechowywany w pamięci w dwóch postaciach. Ponieważ najczęstszym zastosowaniem obrazów jest ich wyświetlanie do EmguCV została dodana kontrolka ImageBox.
Zgodnie z powiedzeniem "im mniej wiesz, tym lepiej śpisz", postanowiłem napisać krótką notkę o tym, jak ukryć HelpPage w usłudze WCF. Warto wspomnieć na początku, że sporo się naszukałem w Google, żeby dowiedzieć się, że ta strona nazywa się HelpPage :- D Dla niewiedzących, mam na myśli to: Po wyłączeniu HelpPage'u, pozostaje nam ukryć WSDL. Jeśli tak jak w tym przypadku nasza usługa nie działa jako SOAP, możemy sobie pozwolić na ukrycie WSDL. Programistom piszącym aplikacje klienckie, będzie i tak ci...
Architektura 3815 dni, 12 godzin, 51 minut temu 120 źrodło rozwiń
Parę moich uwag jako postscriptum do burzy rozpętanej przez całkiem niewinny artykulik: http://natemat.pl/105597,it-arystokracja.
OK – mamy niektóre “odpowiedzialności” wyjęte do osobnych klas. Ale co dalej? Czy UsersController powinien sam, ot, tak sobie, tworzyć nowe instancje których aktualnie potrzebuje? Nie! Pójdę o krok dalej i powiem więcej: użycie słowa kluczowego “new” w kodzie aplikacji uznaję za anti-pattern. Howgh, rzekłem. Jeżeli klasa potrzebuje innej klasy do działania, to ta zależność powinna być jawnie wyeksponowana w kodzie. Najlepiej przez param...
Sztuka programowania 3820 dni, 1 godzinę, 47 minut temu 212 źrodło rozwiń
Co prawda nie jest to ani blog ani wpis .Netowy, nie jest nawet techniczny. Wydaje mi się jednak, że każdy kto pracuje jako B2B powinien takie rzeczy wiedzieć i warto, żeby takie coś znalazło się na dotnetomaniaku.
EmguCV jest .Netowym wrapperem do OpenCV - potężnej biblioteki do przetwarzania i analizy obrazów (zarówno statycznych jak i ruchomych) oraz innych sygnałów cyfrowych. Ważną cechą biblioteki jest fakt iż stara się ona wykorzystać jak najlepiej zasoby dostępne na maszynie na której jest ona uruchomiona, ze szczególnym uwzględnieniem karty grafiki.
O finalizers czy też destruktorach pisałem już wielokrotnie. Wspomniałem również, że lepiej ich unikać, jeśli oczywiście to możliwe. Głównym problem jest możliwość wypromowania obiektu do kolejnych generacji, ponieważ obiekty z destruktorami są umieszczane w kolejce freachable, gdzie na nową stają się osiągalne. Jeśli ktoś nie pamięta, to polecam najpierw poczytanie o tym (w dziale articles są linki do moich tekstów o GC). Dzisiaj jednak chciałbym wspomnieć o czymś innym. Wiemy, że jeden wątek zwykle m...
Sztuka programowania 3820 dni, 1 godzinę, 47 minut temu 158 źrodło rozwiń
Kiedyś na stronach MS widziałem rekomendację mówiącą “używaj typów wyjątków dostarczanych przez framework”. Jakiś czas temu, na jakimś polskim chyba blogu, przeczytałem tego powtórkę. Wiecie co? U mnie się doskonale sprawdza kompletne przeciwieństwo tej praktyki. Zawsze w swoich aplikacjach staram się mieć jeden bazowy typ wyjątku, abstrakcyjna klasa MyAppException: Exception. Dzięki temu jestem w stanie wyłapać wszystko co rzuca mój...
Sztuka programowania 3822 dni, 6 godzin, 34 minuty temu 254 źrodło rozwiń
The topic of custom exceptions is surprisingly controversial. Some argue that exceptions shouldn't be used for anything related to "business", while others (me included) say that exceptions like InsufficientFunds are fine - I even wrote a whole chapter about using custom exceptions to simplify controllers in my Rails Refactoring book. I've read an interesting blog post today about custom exceptions (here - unfortunately it's in Polish), where the author advocates for using "business exceptions". ...
Sztuka programowania 3822 dni, 6 godzin, 34 minuty temu 147 źrodło rozwiń