W C# skorzystać możemy z operatorów konwersji – explicit (jawnych) oraz implicit (niejawnych). Co nam to daje? To co tygryski lubią najbardziej – wygodę i prostotę użytkowania ;) Definiując strukturę, wartość inicjalizujemy głównie przez konstruktor, np:(...)
Tegoroczna edycja konferencji Microsoft Technology Summit odbyła się 5 i 6 października 2010. Po sieci krąży już sporo wrażeń uczestników, więc i ja, jakom uczynił w roku ubiegłym i przedubiegłym, dorzucę swoje 12 groszy.
Wraz z wersją Team System 2010 portal projektu oparty o Windows SharePoint Services (WSS) czy Microsoft Office SharePoint Server (MOSS) zaczyna odgrywać poważniejszą rolę (między innymi dzięki tablicom stanu projektu – dashboards). W trakcie pracy korzystam z dwu zakładek przeglądarki internetowej.
autor: Ostatnia odsłona konferencji Microsoft Technology Summit miała w moim kalendarzu znaczenie szczególne. W tym roku aktywniej byłem zaangażowany w organizację. W praktyce oznaczało to opiekę merytoryczną nad częścią deweloperską prezentacji.
No właśnie, Microsoft Technology Summit 2010 przeszedł już do historii, ale tym razem był to dla mnie zupełnie inny MTS niż poprzednie. Dlaczego? Podobnie jak Mariusz brałem w nim udział z zupełnie innej strony niż do tej pory. W poprzednich latach (2009, 2008) byłem sobie uczestnikiem konferencji, który chodził sobie i grzecznie słuchał sesji. Tym razem pełniłem dwie role: eksperta w strefie Ask The Expert (sekcja: Programowani...
MTS 2010. I po MTS’ie. Pytania i odpowiedzi ze strefy ekspertów Październik 8, 2010- autor: Kuba SkałbaniaDodaj komentarz MTS 2010 minął. Jak wiecie, miałem przyjemność znów pełnić rolę eksperta w strefie Ask-the-Expert (razem z 3-ma kolegami z firmy). MTS 2010 był wyjątkowy, bo… mieliśmy okazję uczestniczyć w 3 sesjach pioświęconych Dynamics CRM. Wszystkie dotyczyły CRM 2011 i wypadły naprawdę fajnie (Sanjay, Piotrek – dobra robota / great job!). W strefie ekspertów większość pytań również dotyczyła CR...
Gdy przeglądałem ostatnio obszerne zasoby opublikowane przez Steve'a Yegge, moją szczególną uwagę przykuł wpis z 2005 roku traktujący o ćwiczeniu programowania: W przeciwieństwie do tego, co możesz sobie myśleć, zwyczajne wykonywanie swojej pracy dzień w dzień nie zalicza się do prawdziwego treningu. Uczestnictwo w spotkaniach nie poprawi Twoich zdolności interpersonalnych, a odpowiadanie na maile nie jest ćwiczeniem pisania na klawiaturze. Jeśl...
Tytuł tego posta może być lekkim zeskoczeniem. Od premiery VS 2010 sporo czasu już minęło. Postanowiłem jednak spisać kilka nowości jakie udostępnia ono pod kątem debugowania. Zadanie jest o tyle trudne, że prawie wszystko co było do powiedzenia w tym temacie zostało już powiedziane przez pracowników MS w postach takich jak ten napisany przez ScottaGu. Postaram się jednak przedstawić temat z nowej perspektywy.Dump
Gdy zaczynałem zabawę z DirectX w F# natknąłem się na dość dziwne zachowanie Visual Studio 2010. Po przepisaniu prostego przykładziku do F# zapragnąłem ujrzeć owoc swojej ciężkiej pracy, więc nie zwlekając wcisnąłem F5. Niestety, skutek okazał się całkowicie niezgodny z oczekiwaniami – debuger posłusznie wstał, jednak żadne okno aplikacji nie pojawiło się. Zacząłem poszukiwać błędu w napisanym kodzie – jednak to nie był ten problem. Break dla wszystkich wyjątków również nie pomógł. Aplikacja w ogóle się...
Pisząc kod odpowiedzialny za walidację liczb potrzebowałem sprawdzić ile miejsc po przecinku ma dany decimal. Użyłem rozwiązania może mało eleganckiego ale przynajmniej działającego:) :decimal decimalNumber =21.235; int length = (decimalNumber %1).ToString().Length -2; Reszta z dzielenia przez jeden zawsze zwraca to co jest po przecinku. Dla 21.235 będzie to 0.235. Zatem długość string’a minus dwa ( jeden dla przecinka, jeden dla zera) stanowi liczbę miejsc po przecinku. Może komuś się to przyda w przys...
W przeważającej większości content gry stanowią modele przygotowane przez grafików. Bez gotowego pliku z siatką też da się coś na ekranie wyświetlić. Do dzieła. Wierzchołki Pierwszą rzeczą, na którą należy się zdecydować, to format wierzchołka. Biblioteka XNA dostarcza 4 typy, ale definiowanie własnych nie stanowi większego problemu. Te typy to (nazwy odpowiadają polom definiującym pojedynczy wierzchołek):VertexPositionColorVertexPositionTextureVertexPositionColorTextureVertex...
Kolejną ze struktur danych, jakie przydadzą się podczas tworzenia gry, jest graf sceny. Graf sceny będzie grafem dość specyficznym (acyklicznym i spójnym), co w teorii sprowadzi go do drzewa. Zielonym do.. dołu. Drzewa w informatyce rosną w dół. Korzeń znajduje się u szczytu, kolejne gałęzie, węzły (wierzchołki posiadające dzieci) i liście (wierzchołki, nie posiadające dzieci) są umieszczane niżej. Przykładowe drzewo binarne (takie, w którym każdy wierzchołek może mieć co najwyżej dwoje dziec...
O ile naturalnie potrafię zrozumieć powody, dla których niektórzy wybierają Linuxa, to w ogóle nie potrafię zrozumieć programistów, którzy świadomie wybierają Windowsa jako swoją platformę. Znam kilku, którzy ciągle tkwią w rutynie z różnych powodów — żaden z nich tego nie pragnie. Miałbym trudność w wyobrażeniu sobie, iż zatrudniam do 37signals kogoś, kto...
Microsoft Azure stało się ostatnio dość popularne na blogach a sam MS bardzo promuje swoją wersję chmury. IMHO jest to technologia, której nawet jeśli nie jest jeszcze w pełni dojrzała – pierwsze wersje narzędzi, część (np. CDN) jeszcze w wersji Beta – warto się przyglądać. Aby poznać nową technologię IMHO najlepiej spróbować wykorzystać ją w projekcie (tu zgadzam się z opinią Procenta). Tak więc zaczynamy. Na początek jak zwykle Hello World.
MTS to z pewnością wydarzenie, w którym warto uczestniczyć. Spiszę dziś na świeżo po powrocie wrażenia, jakie wyniosłem z 2 ostatnich dni. Zacznę od … stoiska ATE Windows Phone, które współdzieliłem z Danielem Dudkiem. Komunikacja z różnymi ludźmi daje nieraz cenne doświadczenie, jak dane zagadnienie, produkt, technologia jest postrzegana przez innych. Ze swojej strony starałem się udzielać jak najbardziej dokładnych informacji, sprzedając zainteresowanym szczegóły z zakresu samych technologii czy możli...
Postawione w tytule posta pytanie jest jak najbardziej na miejscu. Już teraz mogę zdradzić tajemnicę, że nigdy tablicy nie udostępniamy w postaci właściwości. Na początek chciałbym krótko zarysować problem. W czasie tworzenia kodu okazało się, że bardzo ułatwi mi zachowanie go czytelnym utworzenie klasy przechowującej tablice stworzonych przeze mnie obiektów. Wygląda to następująco: public part...
Tak, jak wspominałem w ostatnim wpisie, kontynuujemy dzisiaj zmagania z interakcją Gracza z modelami znajdującymi się na scenie. Najpierw zamkniemy każdy z nich w „bańce”, którą następnie będziemy nękać promieniami (ang. rays) i domagać się odpowiedzi na najważniejsze z pytań: „Było przecięcie, czy nie?” (co najlepsze, odpowiedzią może być 42 ). Zaznaczanie, czyli kolizja Zaznaczanie można zrealizować na kilka sposobów. Można np. rysować każdy z obiektów sceny obie...
W poprzednim poście przedstawiłem krótko narzędzia do tworzenia interpreterów w F#. Dzisiaj chciałbym przedstawić bliżej jedno z nich, czyli fslex.exe. Dobrym źródłem wiedzy na temat fslex jest książka twórcy F#, Dona Syme pt. „Expert F#”, w której poświęcono cały rozdział technikom parsowania i tworzenia interpreterów w F# oraz dokumentacja do ocamllex. Wygenerowany kod analizatora wykorzystuje typy z dllki FSharp.PowerPack.dll, więc jeżeli chcesz używać analizatora w swoim projekcie powinieneś również ...
Zafascynowany pierwszą książką Joela Spolsky'ego postanowiłem sięgnąć po kolejną pozycję z jego nazwiskiem na okładce. Jedyna papierowa wersja, jaką udało mi się pożyczyć, to The Best Software Writing I.
Debugowanie jest procesem niezwykle złożonym. Istnieją publikacje opisujące techniczne aspekty wyszukiwania błędów w kodzie w ten właśnie sposób. Czasami warto jednak zapoznać się z jakimś zagadnieniem w oderwaniu się od konkretnej technologii. Taką właśnie pozycją jest Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać (oryg. Debug It!: Find, Repair, and Prevent Bugs in Your Code). Książka nie jest opisem jakiegoś narzędzia wspomagającego debugowanie, platformy uruchomieniowej cz...