Wiemy już czym jest MonoGame i jak je zainstalować więc czas na utworzenie pierwszego projektu. Ten post jest częścią serii poświęconej tworzeniu i portowaniu gier dla Windows Store w technologii XNA (MonoGame).
Opublikowano Wczoraj pisałem o rewelacyjnej konferencji DevDay. Dzisiaj link do prezentacji: Scotta Hanselmana „It’s not what you read, it’s what you ignore” (o którym pisałem już tutaj) oraz Grega Younga „How to get productive in a project in 24h” Oczywiście nie jest to zapis z DevDay, ale prezentacje te same, więc do czasu aż organizatorzy nie opublikują filmów, możecie zobaczyć o czym mówili Ci dwaj Panowie. Miłego oglądania To też może Cię zainteresować:DevDay–konferencja na którą mogę jeź...
Opublikowano Jeden z bardziej dla mnie zaskakujących wykładów z tegorocznego ABB DevDay to HTTP Caching 101. Zaskakujących bo nie znałem wcześniej wykładowcy a sama tematyka szczerze powiedziawszy nie należy do zbyt ciekawych. Nie sądziłem jednak, tam jest tyle TEGO. Osobiście otwało mi oczy na kilka spraw. Poniżej znajduje się zapis z wykładu HTTP Caching 101 na Oredev 2012 czyli jak we wcześniejszy wpisie, tematyka ta sama, wykład ten sam tylko zapis z innej konferencji. Mam nadzieję, że przyda się ...
W dzisiejszym wpisie chciałbym przyjrzeć się trochę bardziej tablicom i interfejsom jakie implementują. Zaglądając do dokumentacji dowiemy się, że Array implementuje:[SerializableAttribute] [ComVisibleAttribute(true)] publicabstractclass Array : ICloneable, IList, ICollection, IEnumerable, IStructuralComparable, IStructuralEquatable IEnumerable nie powinno wydawać się dziwne ponieważ oczekujemy od tablic możliwości dostępu do elementów poprzez foreach:int[] numbers =new[] { 5, 2, 52, 5 }; foreach...
We wcześniejszym wpisie pisałem już o projekcie MonoGame. Dzisiaj przyszedł na wskazówki dotyczące instalacji tego dobrodziejstwa. Normalnie bym to pominął, ale sam miałem kilka problemów więc abyś nie tracił czasu na szukanie rozwiązania, zebrałem wszystko w jednym miejscu. Poniżej znajdziesz prawidłową kolejność odpowiednich SDK wraz z linkami.
Wraz z pojawieniem się nowego Visual Studio, Microsoft zaprezentował nowy język skryptowy. Z dużym zainteresowaniem przeczytałem o tym na blogu Somy Somesagar'a i postanowiłem przyjrzeć się temu tematowi trochę bliżej. Jak można przeczytać na stronie projektu - www.typescriptlang.org, jest to język skryptowy, stworzony z myślą o tworzeniu dużych aplikacji. To tak na prawdę "nakładka" na JavaSCript- pozwala na tworzenie silnie typowanego, obiektowego kodu, który następnie kompilowany jest do tradycyjnego...
Dziś mały eksperyment. Chciałbym pokazać jaki jest faktycznie spadek wydajności jeśli zachodzi potrzeba boxing’u i unboxing’u. Wiele o tym ostatnio pisałem ale nie pokazałem najważniejszego – liczb opisujących wydajność. Na początek porównanie boxing z unboxing:privatestaticvoid TestBoxingAndUnboxing() { object boxedValue =null; // boxing Stopwatch stopwatch = Stopwatch.StartNew(); for (int i =0; i < iterations;="" i++)="" {="" int="" unboxed="(int)" boxedvalue;="" }="" stopwatch.stop();="" ...
Sztuka programowania 4409 dni, 8 godzin, 43 minuty temu 90 źrodło rozwiń
Witajcie! zapraszamy na dwunasty odcinek codingtv(); Dzisiaj kontynuujemy prace nad instalatorem – tworzymy mechanizm do tworzenia schematu bazy danych. Zapraszamy do oglądania i czekamy na Wasze komentarze!
Wreszcie znalazłem czas by zająć się MonoGame dla Windows Store apps. Ten post jest wstępem do kilku następnych wpisów poświęconych tworzeniu i portowaniu gier dla Windows Store.
SQL Serwer umożliwia zdefiniowanie procedury składowanej, której dowolny parametr (lub parametry) może służyć do zwracania jakichś informacji w ramach tej procedury uzyskanych. Oprócz tego procedura może zwracać także jakiś zestaw wyników w postaci tabelarycznej (wystarczy w jej treści wykonać select), co więcej takich zestawów może być więcej niż jeden. Połączenie tych dwóch cech pozwala tworzyć rozbudowane procedury, które mogą zwracać wiele zestawów wyników i dodatkowo jakieś informacje w parametrach ...
Bazy danych i XML 4411 dni, 11 godzin, 44 minuty temu 98 źrodło rozwiń
W poprzednim poście napisałem kilka słów o dwóch sposobach wywoływania konstruktorów statycznych. Dziś chciałbym pokazać, że faktycznie ma to wpływ na wydajność. Rozważmy następujący przykład:publicclass BeforeInitSementics { publicstaticint Value =10; } publicclass PreciseSemantics { publicstaticint Value; static PreciseSemantics() { Value =20; } } internalclass Program { privateconstint Iterations =100000000; privatestaticvoid Test1() { // Precise ...
Sztuka programowania 4411 dni, 15 godzin, 51 minut temu 89 źrodło rozwiń
Jeśli ktoś (tak jak ja) pierwsze kroki z XNA stawiał w Windows Phone, to możliwe, na w swoich projektach założył dość sztywne reguły, np: rozdzielczość urządzenia to 800×480 pikseli. Tak właśnie zrobiłem ja. Na jakiś czas (około 1 rok) było to ok, bo wszystkie telefony z Windows Phone pracowały właśnie w tej rozdzielczości. Ale czasy się zmieniły...
Zaczniemy znów od kawałka kodu. Przeanalizujmy w jaki sposób wykonywana jest powyższa metod...
Łapanie wyjątków w metodzie asynchronicznej nie jest niczym skomplikowanym. Należy tylko pamiętać o tym, iż mamy do czynienia z różnymi możliwymi scenariuszami wyjątków. Metoda oznaczona słowem kluczowym async zawiera przeważnie jedną lub więcej wywołań metod ze słowem kluczowym await. Await stoi przed metodą zwracającą typ Task. Pierwsza zasada to ta, iż await nie może się pojawić się w bloku catch lub finally.
Nietypowo, na początek trochę kodu. Co czyni powyższą metodę asynchroniczną? Sygnatura metody zawiera słowo kluczowe async, nazwa metody zawiera przyrostek Async, typ zwracany to: Task(TResult), Task lub void, metoda zawiera przynajmniej jedno słowo kluczowe await.
Konstruktory statyczne zwykłe służą do inicjalizowania pól statycznych lub walidacji typów generycznych np.:class Generic
Sztuka programowania 4414 dni, 14 godzin, 44 minuty temu 110 źrodło rozwiń
Zamrażanie interfejsu użytkownika podczas wykonywania skomplikowanej czynności nie jest dobrym pomysłem. Aplikacja, która "zamiera" nie zachęca do dalszego wykorzystywania przez użytkownika. Programowanie asynchroniczne z drugiej strony wiąże się z większym nakładem pracy oraz bardziej skomplikowanym kodem wynikowym. Na pomoc przychodzi .NET 4.5 wraz z nowymi słowami kluczowymi: async, await. Jak je stosować i w jaki sposób pomagają nam tworzyć aplikacje asynchroniczne zobaczymy w poniższym przykładzie...
Microsoft konsekwentnie kontynuuje taktykę ściągania nie .NETowych programistów - udostępnił darmową książkę w ramach Microsoft Press: "Programming Windows 8 Apps with HTML, CSS, and JavaScript".
Dlaczego, po co lub do czego to użyć to już indywidualna sprawa jednak chcę się podzielić ciekawostką, która może się przydać dla lubiących SQL. Więc od początku. Mamy następujące zapytanie (baza danych w moim przypadku składa się z imion i daty urodzenia ...
Bazy danych i XML 4417 dni, 14 godzin, 19 minut temu 131 źrodło rozwiń
Dziś w poście o kolejnej regule pisania dobrego kodu. Prawo Demeter mówi o relacjach między klasami a konkretnie o tym z jakimi obiektami dana klasa może komunikować się. W skrócie, prawo nakazuje odwoływanie się tylko do “bliskich przyjaciół” czyli obiektów, które są bardzo znane danemu obiektowi. Brzmi to trochę abstrakcyjnie dlatego przenieśmy to na świat programowania obiektowego. Każda metoda obiektu A może wywoływać wyłącznie metody następujących obiektów: 1. obiektów przekazanych jako parametr w...
Sztuka programowania 4417 dni, 14 godzin, 19 minut temu 179 źrodło rozwiń