Opis projektu MemoryVisualizera toczy się w kilku wątkach. Jednym z nich jest moja przygoda z F# w kontekście WPF. Po pierwszej części, w której w ogólności opisywałem jak możemy “pożenić” WPF z F#, pora kolejne kroki. Ale wcześniej potrzebne nam będzie krótkie przypomnienie z WPF w C#. Rzecz się tyczy użycia komend, do wykonywania akcji. Oraz nieśmiertelnego OnPropertyChanged do notyfikowania interfejsu o zmianie – ale o tym w kolejnej części.Więcej...
Siedzę w temacie wydajności, przynajmniej staram się. Mówię o niej, piszę, notuję co mówić i co pisać. No i oczywiście czytam, oglądam. Potem znowu notuję. Nawet specjalną grupę w Warszawie na ten temat staram się rozkręcić.
Ponieważ nadarzyła się okazja by coś zorganizować we współpracy z wydawnictwem Packt, oto i jest - konkurs! Okazja do wygrania wybranych przeze mnie książek właśnie z dziedziny wydajności. W formie elektronicznej - tzw. talon na balon czyli ebook. Tak wiem, że ebooka można ukraść z sieci, więc co to za nagroda?! Otóż nagroda dla uczciwych, ot po prostu.
Zasady konkursu są proste. W komentarzu pod tym wpisem rozwińcie w ciekawy, najlepiej żartobliwy sposób, niekoniecznie sensowny, słówko DOCKER. Tyle się o tym teraz mówi, sam w tym trochę ostatnio siedzę. Więc oświećcie mnie, co to znaczy?! Po polsku albo po angielsku, obojętne. Moja pierwsza, pozakonkursowa propozycja poniżej. Na komentarze niech każdy głosuje, trzy osoby o najwyższej liczbie głosów otrzymają kupon upoważniający do zakupu jednej z książek z poniższej listy:
Konkurs niechaj potrwa do 24 kwietnia do godziny 23.59.
Zachęcam do zabawy!
Obiekty w pamięci tworzą całkiem rozbudowany graf. Mają pomiędzy sobą referencje, są też poukładane w segmenty w ramach pamięci procesu, które to możemy potraktować również jako kolejny węzeł w grafie. W tym sensie segment może być rodzicem wielu obiektów, które zawiera itd. W każdym bądź razie, tak jak już było obiecane, pora zastanowić się nad językiem zapytań do owych grafów. Choć padały inne propozycje (m.in. użycie SPARQL), ja jednak pozostaję pod nieustającym wrażeniem prostoty i przejrzystości języka Cypher, używanego w grafowej bazie danych Neo4j. Więcej...
Powoli zbliżają się matury. A co za tym idzie, jeśli noga się nie podwinie, raczej poważne życiowe decyzje - jakie studia, gdzie, w jakim trybie? Pomyślałem, że to dobry moment, by dodać do tego tematu swoje trzy grosze. Bezpośrednio zainspirowało mnie jedno z pytań zadanych na grupie Programowanie/Biznes It/Java/Php/.Net/C #/ Polska/Poland na Facebooku.
Od razu uprzedzę. Nie udzielam w tym wpisie odpowiedzi, która powinna być traktowana jako wyrocznia, bo też nie jestem żadną wyrocznią i nie jestem niczym uprawniony by się za taką uważać. Ale kierując się swoim doświadczeniem, wyrażam swoje zdanie, które być może będzie małą cegiełką w Waszej decyzji.Więcej...
To będzie tutorialowy wpis dla początkujących, ale mam nadzieję, że komuś się przyda. Mimo że nie dotyczy wprost projektu MemoryVisualizera, od początku istnienia konkursu obiecywałem sobie przygotować taki mini poradnik nt. jak rozpocząć nowy projekt na GitHub. Cel - tworzymy nowe repozytorium na GitHubie, commitujemy pierwsze zmiany, tworzymy brancha na jakiś feature. Potem go mergujemy. Przy okazji nauczymy się trochę używania gita i może jakiś innych, fajnych narzędzi. Ze względu na długość, poradnik podzielony jest na kilka części. W tej stworzymy repozytorium i zaczniemy je lokalnie modyfikować. Więcej...
Kilka godzin pracy z F# w Visual Studio i kilka niespodzianek już za mną. Zainstalowanie Visual F# Tools (pozwalające tworzyć projekty F# w Visual Studio) jak się okazuje to był dopiero początek. Więcej...
Wstępniak: Uczę się używać F# wraz z postami o tym projekcie. Nie wszystko więc pewnie od razu będzie idealne. Za to w zamian cenne może być to, że dzielę się uwagami, spostrzeżeniami i zaskoczeniami w ramach tego procesu.
Po trzech pierwszych, wprowadzających postach pora wreszcie przejść do konkretów - kodu! MemoryVisualizer ma być aplikacją desktopową, napisaną w WPF. Nie mam jeszcze ani jednej linijki kodu, zacznę zatem od pustej aplikacji z jakiegoś szablonu. Gdybym zdecydował się na C#, sprawa byłaby prosta - startuję z pustego szablonu WPF Desktop Application i już. Mamy tam z pudełka obsługę XAML, code behind, designer itd. Jednak jak najwięcej chcę napisać w F#, zatem rodzi się pytanie - czy i jak zintegrować WPF z F#? Więcej...
Udało mi się zorganizować społecznościowego combosa. W środę 09 marca Azure Day Poland w siedzibie Microsoftu w Warszawie, potem szybko w pociąg by zdążyć na końcówkę Wroc.NET we Wrocławiu. A w czwartek 10 marca Wroc#. Nie byłbym sobą, gdybym tego wszystkiego nie opisał. Zatem punkt pierwszy - Azure Day Poland.
Więcej...
Po części opisującej projekt MemoryVisualizera oraz jego techniczne aspekty, pora na opis metodyki prac, jaką chciałbym zastosować. Aczkolwiek nie będzie to długi opis bo...
MVP, MVP, MVP!
Właściwie główną koncepcją, której chcę się trzymać, to podejście MVP - Minimal Viable Product. Świetnie się sprawdziło ostatnio, gdy z chłopakami tworzyliśmy cfp.help. Jestem głęboko przekonany, że to jedyne słuszne podejście do tworzenia swoich pet projectów. O co chodzi? W skrócie - piszemy jak najmniej, byle działało. Nie brniemy w tygodniowe wybieranie idealnej biblioteki, idealnej architektury, idealnej nazwy i idealnego wszystkiego innego. Piszemy szybko działający prototyp i później go rozwijamy. Daje to bardzo ważną rzecz - statysfakcję. Dość szybko zobaczymy, że "coś mamy". Potem na naszych oczach możemy to "coś" ulepszać, co również motywuje. Więcej...
Wiele jest konferencji w Polsce, wiele wartościowych - serce się raduje. Przegląd propozycji dla .NET developera (choć nie tylko) opisałem już w kalendarzu .NETowca, jednak nie wszystkie z owych propozycji skierowane są tylko dla .NETowców. Osobny wpis chcę przeznaczyć na jedną z propozycji z tamtej listy - konferencji 4Developers, której to zostałem "partnerem medialnym". Bardzo mnie ta propozycja ucieszyła, bo fajnie być partnerem tak ciekawego wydarzenia! Więcej...