SignalR to bardzo sprytna biblioteczka pozwalająca na komunikację serwer->klient w aplikacjach internetowych. Sam jeszcze nie miałem okazji pobawić się nią w praktyce, ale pewnie już wkrótce… Póki co postanowiłem rozpowszechnić informację krążącą po sieci już od jakiegoś czasu. Jose M. Aguilar, ASP.NET MVP, napisał książkę o SignalR właśnie i udostępnił ją za friko. Wystarczy wejść na stronę http://www.campusmvp.net/signalr-ebook, podać swojego maila i c...
Strona głównaUżytkownik
Paweł Łukasik | użytkownik
Ostatnio musiałem napisać autoryzację z jednym z serwisów w który używa OAuth w wersji 1 i muszę powiedzieć, że tyle przecinków ile się posypało przy tym dawno nie wydobyło się z moich ust. OAuth2 jest dość przyjemnym protokołem – da się z niego normalnie korzystać, jednak z OAuth1 tak prosto i fajnie już nie jest. Pierwszy zgrzyt na jaki natrafiłem to tak zwane podpisywanie requestów. Niby wszystko prosto, jeżeli chcemy zrobić request do http://www.flickr.com/services/oauth/request_token (plus query p...
W Visual Studio wersji Ultimate są narzędzia do analizowania architektury. Jednak są ludzie, którzy zamiast wydawać pieniądze na ultimate-a wolą iść do salonu i kupić sobie auto albo dwa. Jak jednak poradzić sobie bez diagramu warstw? Wystarczy pooglądać usingi. Single Responsibility Principle mówi, że klasa powinna robić jedną rzecz, mieć jedną odpowiedzialność. Jeśli ma jedną odpowiedzialność to nie powinna raczej grzebać we wszystkich warstwach. Wątpliwe jest aby klasa, która ma jedną ...
Sztuka programowania 4283 dni, 18 godzin, 48 minut temu 275 źrodło rozwiń
W poprzednim poście poruszyłem temat mojego side-projectu (który BTW nie powinien zająć więcej niż 2-3 dni, ale lubię dawkować przyjemności więc pewnie jeszcze trochę to potrwa;) ) i MSpec. Teraz zobaczymy jak można w bardzo ciekawy sposób przetestować WebAPI emulując dosłownie całego requesta z kodu, co miło przejedzie przez kompletny stack i sprawdzi nie tylko logikę, ale również m.in. konfigurację routingu… a docelowo tak...
Sztuka programowania 4284 dni, 11 godzin, 28 minut temu 118 źrodło rozwiń
Systemy kontroli wersji mają to do siebie, że otwierają przed nami, programistami (nie tylko zresztą), piękne możliwości. Niestety niektóre z narzędzi zamiast życie ułatwiać – utrudniają. Fajnie podsumował to Linus Torvalds, twórca Gita, krzycząc do programistów SVN coś w stylu: “pewnie, w SVN łatwo jest zrobić nowy branch, ale po co skoro nie da się zrobić merge?”. To samo tyczy się zresztą TfuFSa (chociaż tam to jest j...
Ostatnio napisałem jak możemy odebrać pingback z innego serwisu/strony. Teraz pora na to byśmy my poinformowali inną stronę, że linkujemy do niej. Samo w sobie wysyłanie nie jest skomplikowane, jednak to kiedy wysłać pingback może stanowić nie lada problem. Na przykład dodajemy post, który ma się wyświetlić 30 kwietnia, kiedy więc powinniśmy wysłać pingback? Przy dodaniu? Nie da rady bo go jeszcze nie ma widocznego, przez co nie ma jak zweryfikować czy pingback pochodzi z naszego źródła. Przy pierws...
Co to jest pingback? Jest to rodzaj notyfikacji dotyczącej umieszczenia linku do danego źródła w tekście. Notyfikację tę my możemy zarówno wysłać jak i otrzymać. Dziś napiszę jak my możemy odebrać taki pingback i co musi zostać spełnione, zaś następnym razem opisze sposób wysyłania takiej notyfikacji. To co będziemy potrzebować (choć nie jest to konieczne) to biblioteka XML-RPC.NET – ułatwi nam ona znacząco implementację – gdyż komunikacja odbywa się poprzez XML-RPC, oczywiście dla hardcorów istni...
Chwytliwy tytuł, nie ma co, no nie?:) Dobra wiadomość jest taka, że jest on po części prawdziwy! Co prawda nie ma jeszcze sposobu na wpięcie R# w Sublime Text czy dodanie nawigacji R# do notatnika (heh, to by było coś!), ale część funkcjonalności tego doskonałego narzędzia wreszcie będzie można użyć poza Visualem (co mnie raduje niezmiernie). W nowej wersji R# poza VS można wyciągnąć statyczną analizę kodu, wpinając ją np. proces...
O tym, że Microsoft chciałby “uskrypcić” C#, pierwszy raz usłyszałem w 2009 roku na MVP Summit. Efektem takich zapowiedzi jest projekt Roslyn – czyli Compiler As A Service. Idea bardzo interesująca i zacna, jej implementacja – z tego co czytałem – również. Glenn Block (m.in.) wziął Roslyn, wziął NuGeta, wziął C#, wziął fajny pomysł i zainicjował projekt ScriptCS. Idea jest prosta (wyjaśniona w większych szczegółach na blogu G...
Tak mnie dzisiaj naszło, podsumowałem liczbę linii kodu, którą dzisiaj wygenerowały moje palce czasami z pomocą resharpera, ctrl+c, ctrl+v i mojego konwertera klas na knockout JS. Łącznie dziś napisałem: 4956 linii kodu, w tym cshtml: 2141, C#: 1771 i JS: 1044. Czy jest to wydajna praca? Czy to nie jest wydajna praca? Popatrzmy na taski, całość zamknęła 20 tasków i 4 Product Backlog Items i około 5 bugów. Czy to już jest wydajnie?
To jedyne przykazanie w całym Devkalogu pozostawione w oryginalnej formie. Nie kradnij srajtaśmy z biura? Owszem, nie kradnij, ale ja nie o tym. Nie kradnij poprzez piracenie oprogramowania/muzyki/filmów? Owszem. Ale ja nie o tym. Dawno temu, jeszcze w 2008 roku, Jeremy Millernapisał: If you’re writing ADO.Net code by hand, you’re stealing from your employe...
Sztuka programowania 4333 dni, 17 godzin, 4 minuty temu 270 źrodło rozwiń
Gutek niedawno napisał o swoich przemyśleniach odnośnie programowania podczas jazdy samochodem. Takie myśli mogą nas dopaść wszędzie. Od tego naprawdę nie ma ucieczki… o ile jesteśmy faktycznie odpowiednio zaangażowani. Mnie ostatnio dopadły one podczas grania w doskonałe NFS: Most Wanted na Androida. Jeszcze p…asja? Czy już p…ierdolec? Dla tych którzy nie grali: są to wyścigi samochodowe;). Gracz otrzymuje kilka trybów wyścigów. Jest tam oczywi...
Witajcie w drugim odcinku Coding News – nowej, cotygodniowej serii, w której omawiam najciekawsze wydarzenia i znaleziska minionego tygodnia.
Witajcie w pierwszym odcinku Coding News – nowej, cotygodniowej serii, w której omawiam najciekawsze wydarzenia i znaleziska minionego tygodnia.
Font Awesome to zestaw wektorowych ikon w postaci fontów. Około 250 popularnych, darmowych, w pełni skalowalnych ikon kontrolowanych z poziomu CSS. W paczce instalacyjnej dostępnej pod tym adresem dostarczone są podstawowe pliki z definicjami klas CSS, SASS, LESS oraz ikony w postaci fontów w formatach .eot, .svg, .ttf,, .woff i .otf.
“Ciągły rozwój” jest, zdawałoby się, charakterystyczną cechą dla naszego zawodu. Nie tylko naszego oczywiście, ale my, programiści, szczególnie lubimy myśleć o sobie jako o tych, którzy nigdy nie stoją w miejscu i ciągle poznają nowe/lepsze techniki, rozwiązania, praktyki. Warto jednak zatrzymać się czasem na chwilę i zastanowić: czy ja sam nie odstaję od tego au...
W zeszłym tygodniu internety obiegła wiadomość, jakich mało: Microsoft oficjalnie uznał przewspaniałość Gita! Może jednak przyjdzie kiedyś czas, gdy nie będę musiał się wykłócać ze zwolennikami TfuFSa i tłumaczyć po milion razy jak to narzędzie, a szczególnie jego utrata kontroli nad wersją, jest bardzo, bardzo złe, słabe i szkodliwe?
Nie, nie nawiązuje tutaj to wspaniałego meczu Polska – Irlandia gdzie Polacy pokazali po raz kolejny, że są piłkarzami… wannabe. Modern.ie to projekt ms, a, że tyczy on IE to stwierdzili, że wykupią domenę irlandzką. I tyle zależności. Kropka :)
W NuGet fajne jest to, że jeżeli w firmie tworzycie paczki, których nie chcecie upubliczniać to macie taką możliwość. Ja ostatnio przekonałem częściowo firmę by z tego skorzystała, i zamiast mieć referencje po katalogach (co wymaga by każdy miał zgodną strukturę katalogów) lub referencje poprzez duplikowanie projektów, miała własny serwer NuGet do którego będziemy publikować paczki dla naszych lokalnych projektów.
Dzisiaj krótko o tym, jak poprawić wydajność pobierania danych z wykorzystaniem Entity Framework. Entity Framework ma wbudowany mechanizm śledzenia zmian na obiektach. Dzięki niemu Entity Framework wie, który obiekt jest nowy i że trzeba go dodać do bazy, co można zaktualizować, jakie referencje usunąć, zmienić, itp. Ficzer niby fajny, ale często przeszkadza – szczególnie, jeżeli dane chcemy jedynie pobrać i wiemy, że nie będziemy ich modyfikować.
Bazy danych i XML 4377 dni, 17 godzin, 23 minuty temu 196 źrodło rozwiń