Jestem zwolennikiem terminologii angielskiej, czyli wszystkie identyfikatory w kodzie są w tym właśnie języku. Dzięki temu kod rzeczywiście jest samodokumentujący się, bo nie dławi go dysonans angielskiej składni i polskiej terminologii, który nieodwołalnie prowadzi do identyfikatorów typu „ponglish„, np. BeforeZapisz, RestoreZasoby...
Sztuka programowania 3708 dni, 5 godzin, 29 minut temu 131 źrodło rozwiń
Opublikowano Rozmowa z pewnym developerem: ja: a tu jest ta książka ja: http://www.charlespetzold.com/phone/index.html ja: czytałeś ją ? on: mam pdfa ja: a czytałeś ją ?? on: a powiedz mi kiedy Ręce opadają.Posiadanie książki/pdf-a/ebooka nie jest równoznaczne z przyswojeniem w niej zawartej wiedzy. Niestety dyfuzja tutaj nie działaW naszym zawodzie trzeba znaleźć czas na czytanie książek. Kup kindla i czytaj choćby w toalecieNie czytam książek w pracy, czytam je po pracy (choćby patrz pu...
JSON-a pełno wszędzie ale jeśli jeszcze się jakimś trafem z nim nie spotkałeś to warto poczytać co to jest json. Jeśli natomiast głowisz się jak z jsona wygenerować klasy to masz mamy kilka możliwości: klepiemy mozolnie kod lub szukamy jakiegoś generatorka który to zrobi lub….. wklejamy przykładowego jsona do Visual Studio 2012. i tak oto z przykładowego JSON-a z wikipedii (link na początku) otrzymujemy: szybko i wygodnie, szybciej się nie da. Jeśli nie widzisz w menu Paste JS...
Pierwszy project MonoGame dla Windows 8 gotowy. Ale poprzednio wspomniałem, że obecna wersja MonoGame nie obsługuje XNA Content Pipeline. W tym poście podam rozwiązanie (mam nadzieję, że tylko tymczasowe) tego problemu, bo Content i assety są nam baaaardzo potrzebne. Ten post jest częścią serii poświęconej tworzeniu i portowaniu gier dla Windows Store w technologii XNA (MonoGame).
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 3714 dni, 2 godziny, 12 minut 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 3716 dni, 5 godzin, 13 minut temu 96 ź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 3716 dni, 9 godzin, 20 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 3719 dni, 8 godzin, 13 minut temu 110 źrodło rozwiń