Dzisiaj trochę więcej szczegółów na temat, jak można wywoływać metody w Hub API. W ostatnim wpisie, zaimplementowaliśmy klasę, która wykonuje metodę po wszystkich klientach (broadcast). SignalR ma ogromne możliwości i istnieje wiele innych wzorców. Dla przypomnienia broadcast wygląda następująco:publicvoid SendMessage(string message) { Clients.All.newMessage(string.Format("{0}: {1}",DateTime.Now,message)); } Clients posiada kilka metod, służących do wysyłania wiadomości w różnych sposób. Na przykła...
Strona głównaUżytkownik
Paweł Łukasik | użytkownik
Game programming with F#, C# and SFML – GameLoop Posted on by Michal Franc I am a F# apprentice. The best way to learn new language is to do some project. That’s why I have started to code one game idea that was following me for some time. Core concept: sci-fi settingroguelikeinspired by: dwarf fortressprison architectcataclysm dda Because I don’t care about the graphics but the game-play, the graphic I am going to use will be an ASCII styles tile set. You know symbols, characters, letters and some...
Sztuka programowania 3825 dni, 12 godzin, 39 minut temu 181 źrodło rozwiń
0xDBE jest nowym narzędziem do zarządzania bazami danych stworzonym przez JetBrains. Znając R# oraz słysząc opinie o inych ich produktach można mieć nadzieję że będzie dobre. Jednak zamiast mieć nadzieję lepiej po prostu sprawdzić, a można to zrobić dzięki "Early Access Program". Skorzystał z niego Maciek Aniserowicz i wyraził się dość niepochlebnie. A więc postanowiłem sprawdzić to narzędzie sam.
Bazy danych i XML 3825 dni, 12 godzin, 39 minut temu 313 źrodło rozwiń
Ten post jest częścią cyklu o Dependency Injection. Ostatnim razem rozstaliśmy się w takim napięciu, że aż jeden z Czytelników nazwał to cliffhangerem (nauczyłem się nowego słowa!). Zanim jednak zaczniemy przyglądać się rozwiązaniu naszej niewesołej sytuacji (nie kompiluje się, buuu): chwila refleksji i nader trafnego (a jak!) porównania. Znacie te potworki przedstawione na obrazku? Matrioszka. Ruska drewniana baba...
Sztuka programowania 3825 dni, 12 godzin, 39 minut temu 281 źrodło rozwiń
Ptacy ćwierkali już od jakiegoś czasu, że JetBrains coś szykuje. Ja byłem praktycznie pewny, że nie będzie to IDE dla C#, bo ten temat wałkowany jest właściwie od lat. Więc… cóż to mogła być za niespodzianka? Okazało się, że jest to 0xDBE: nowe IDE, tyle że nie do C#. Jest to IDE do pracy z bazami danych! Ucieszyłem się niezmiernie, ponieważ już 5 lat temu pisałem, że nienawidzę Management Studio (“Dlaczego ni...
Bazy danych i XML 3825 dni, 12 godzin, 39 minut temu 276 ź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 3840 dni, 19 godzin, 15 minut temu 254 źrodło rozwiń
Zanim zajmiemy się faktycznym wstrzykiwaniem zależności, to najpierw musimy mieć co wstrzykiwać! Statycznej klasy nie wstrzykniemy przecież, jakkolwiek byśmy wstrzykiwać nie chcieli. Na początek zatem: zidentyfikujmy składowe procesu rejestracji użytkownika, które w ogólnie nie powinny znajdować się w kontrolerze. Pewniakiem jest tutaj walidacja poprawności adresu e-mail. Nie dość, że bardzo ładnie da się to...
Sztuka programowania 3846 dni, 19 godzin, 57 minut temu 193 źrodło rozwiń
Jak można było dowiedzieć się z moich ostatnich postów społecznościowo-konferencyjnych (jeden, drugi, trzeci), miałem ostatnio prezentacje na temat Dependency Injection. Dość dziwne jest to o tyle, że na ten temat nie blogowałem właściwie od czterech lat. Pora zaległości nadrobić:). Pojawiły się za to treści gdzieś indziej. Po jednym z moich występów Basia podjęła temat. Po jej poście Paskol też coś naskrobał. A i w polskiej-anglo...
Architektura 3855 dni, 10 godzin, 56 minut temu 331 źrodło rozwiń
Personal Challenge - 100 dni kodowania, codziennie minimum 30 minut na kod nie związany z pracą
The problem I would like to discuss is an API call, where you need to send binary data (for example multiple images) and some metadata information together. There are various ways you can approach this, and I will describe them briefly. Then I will go into more detail on multipart/form-data requests and how they can help you with the mentioned task.Approach 1 – Send metadata and files in separate requests The steps could be this:Send metadata to server Server stores metadata and generates an unique URL...
Ach święta, czas jedzenie i nie policzalnych kalorii. A gdy ktoś ma szczęście, to także czas błogiego programowania bez żadnych zobowiązań. To także czas kiedy można przysiąść i poczytać. Udało mi znaleźć chwilę i posiedziałem, czytałem i czytałem i nie mogłem przestać, bo ciągle nie miałem rozwiązania swojego problemu. Chciałem zaimplementować "Owin Identity" w asp mvc, a w internetach chciałem znaleźć rozwiązanie podane na talerzu. Spędziłem cały dzień wpisując coraz to różne i kombinacje słów "owin, i...
W ASP.NET MVC do dyspozycji jest dość mało popularny atrybut Bind, który pozwala określić zachowanie bindingu pomiędzy modelem a widokiem. Załóżmy, że mamy następujący model:publicclass Person { publicstring FirstName { get; set; } publicstring LastName { get; set; } publicstring Email { get; set; } } Następnie napiszemy prostą akcję, zwracającą model do widoku:public ActionResult Create() { var person=new Person(); return View(person); } Widok stanowić będzie prosty formularz:@using ...
W ostatnim wpisie wyjaśniłem jak bardzo sesja wpływa na wydajność i skalowalność aplikacji. Dzisiaj chciałbym pokazać przykład i konkretne liczby, które pozwolą nam oszacować skalę problemu. Zacznijmy od ASP.NET MVC. Stworzymy trzy kontrolery:SessionlessCotroller – kontroler będzie miał zablokowaną sesję. SessionController – kontroler zapisuje dane do sesji. SessionReadOnlyController – kontroler ma dostęp tylko do odczytu. Kod:[SessionState(SessionStateBehavior.Required)] publicclass SessionController...
Jeśli zdarza się nam pracować z plikami .xaml i korzystamy z dobrobytu jakim jest bindowanie kod-widok (niezależnie od tego czy będzie to MVVM czy code behind), po pewnym czasie nadchodzi moment, gdy szlag nas trafia i musimy napisać po raz kolejny zamiast prostego ładnego property...
Z sobotę odbyła się łódzka konferencja GET.NET (o czym jeszcze napiszę), w trakcie której tuż przed moją, odbyła się prezentacja Procenta o Dependency Injection. Samo wystąpienie było świetne, a moją ciekawość podsyciła dodatkowo obietnica (powtórzona dwukrotnie) wyjaśnienia całego zamieszania wokół pojęć DI (Dependency Injecton i Inversion) oraz IoC. Jakie było moje rozczarowanie, gdy upragniony moment nadszedł, a Maciek skwitował wszystko zdaniem, że definicje nie są ważne. Oj wkurzyłam się… Pomyślała...
Sztuka programowania 3894 dni, 15 godzin, 37 minut temu 413 źrodło rozwiń
Debugging is a lot like police forensics. You’re chasing the villain (bug) by analyzing eye-witness accounts (users’ reports), inspecting the crime scene (source code), and combing through often the most helpful resource: CCTV recordings (application logs), if only their quality allows. I got upset lately, looking for the needle in a stack of log spam: People who argue that it's "useful" to keep DEBUG level logging in produc...
Sztuka programowania 3901 dni, 12 godzin, 57 minut temu 208 źrodło rozwiń
Gdy zaczynałam swoją przygodę z programowaniem w Windows Phone (jakoś w maju zeszłego roku) okazało się, że to nie jest po prostu kolejny rodzaj projektu w Visual Studio. A szkoda, bo samo rozpoczęcie pracy, czy przeglądnięcie kodu, który zastałam w nowej pracy, wymagało wielu instalacji. Jasne, że wiele z nich dotyczyło konkretnych bibliotek użytych w projekcie, jednak kilka ruchów było niezbędnych, by w ogóle zacząć pracę z platformą. Postanowiłam opisać dla potomności te moje pierwsze kroki, a nuż kto...
Mobile development 3912 dni, 1 godzinę, 53 minuty temu 294 źrodło rozwiń
Simple.Data jest super. A ostatnio okazało się jeszcze… supersze. Chciałem wygenerować zapytanie update “doklejające” pewną wartość do kolumny tekstowej. W Postgre byłoby to coś takiego: update people set StatusUpdate = StatusUpdate || "new status," where id=1 Jak widać – robię update jednocześnie odwołując się do wartości kolumny z aktualizowanego wiersza To by akurat nie zadziałało dla pierwszej “iteracji”, bowiem “null || string” zwró...
Bazy danych i XML 3931 dni, 21 godzin, 50 minut temu 181 źrodło rozwiń
Tworząc stronę internetową często potrzebujemy sprawdzić poszczególne składowe bez wracania do środowiska programistycznego. Narzędzia w przeglądarce Internet Explorer pozwalają analizować elementy widziane na stronie ze względu na budowę kodu HTML i CSS oraz sprawdzić logikę napisaną w języku JavaScript. Za...
Dzisiaj kolejny wpis o podstawach ASP.NET MVC. Tym razem chciałbym pokazać czym różnią się metody RenderBody, RenderSection, RenderPage oraz RenderPartial. Zacznijmy od najbardziej znanej metody, RenderBody. Korzystamy z niej w przypadku zdefiniowanego Layout’u. Tworząc nowy, domyślny projekt automatycznie zostanie dodany w folderze shared plik _Layout.cshtml. Definiuje on domyślny szablon czyli zwartość, która jest powtarzana na każdej podstronie. Zamiast duplikować cześć wspólną (menu, stopka itp.) na...