Strona głównaUżytkownik

wopi | użytkownik

wopi
wopi
1 397,86
2773 dni, 6 godzin, 43 minuty temu
1 stycznia, 2013
dotnetomaniak.pl

Niedawno byłem zmuszony do powrotu do kodu, który kiedyś współtworzyłem. Musiałem dołożyć pewną w gruncie rzeczy drobną funkcjonalność. Nie sprawiło to mi większych problemów, ale samo obcowanie z tym kodem skłoniło mnie do refleksji. Dopiero porównując tamten kod (z którego byłem przecież dumny jak paw) z kodem dzisiejszym widzę różnicę (ciekawe co powiem za kilka lat o obecnym kodzie). Różnicę w sobie samym. Widzę jak przez ostatnie dwa lata się zmieniłem (ale to temat na inny post). Moją szczegó...

Walidacja danych w nHibernate – ewolucja postępowania w czasie | Wojtek Pitek about dev

Sztuka programowania 3671 dni, 39 minut temu wopi 135 źrodło rozwiń

Nieuchronnie zbliża się moment, w którym aplikacja, za którą jestem współodpowiedzialny zostanie opublikowana i zacznie działać u klienta. Lubię ten moment bo jest to ostateczna weryfikacja naszej pracy. Zdaje sobie jednak sprawę, że wiąże się to z wprowadzeniem pewnych dodatkowych funkcjonalności w aplikacji, które w fazie rozwojowej są (całkowicie?) zbędne. I właśnie jedyną z takich funkcjonalności chciałem omówić a konkretnie migrację bazy danych. Pamiętam jak dziś moment, w którym oddaliśmy (na...

Tagi: C#, NHibernate
Dziel się z innymi:
NHibernate – migracja bazy danych

Sztuka programowania 3683 dni, 19 godzin, 56 minut temu wopi 201 źrodło rozwiń

Pamiętam jak dawnymi czasami każde exception przyprawiało mnie o gęsią skórkę. Szukałem sposobu jak tu je wyeliminować (choć już wtedy wiedziałem, że niektórych źródeł nie wyeliminuje nigdy). Dziś z perspektywy czasu wiem jaki byłem głupi. Czasami exception to rzecz, o której wprost marzymy. A jak to z marzeniami bywa rzadko się one spełniają. Kilka “ciekawszych” problemów z którymi się zetknąłem:1. Backup bazy danych działa wybiórczo Wdrażając oprogramowanie u klienta liczyłem tylko na jedno ni...

Tagi: C#
Dziel się z innymi:
Najgorsze problemy ever | Wojtek Pitek about dev

Sztuka programowania 3703 dni, 14 godzin, 52 minuty temu wopi 398 źrodło rozwiń

Na ostatnim (tj. 90) spotkaniu KGD.NET miały miejsce dwie prezentacje. Prezentacja Procenta o DI to było to na co czekałem (tzn. potwierdzenie, że idę słuszną drogą oraz rozwianie pewnych wątpliwości). Druga prezentacja (a może lepiej powiedzieć pierwsza) była poświęcona F#. Nie spodziewałem się nic specjalnego po niej. Co tu dużo mówić pewien czas temu stworzyłem nawet coś w tym języku, ale mówiąc szczerze jakoś specjalnie mi to nie podchodziło. Jednak Michał Łusiak pokazał, że F# to język, którem...

Tagi: .Net, C#, F#
Dziel się z innymi:
F# pierwsze kroki (po raz drugi) | Wojtek Pitek about dev

Sztuka programowania 3725 dni, 22 godziny, 12 minut temu wopi 183 źrodło rozwiń

Pewien czas temu postanowiłem przeanalizować swoją zawodową listę TODO. Z przykrością zauważyłem, że pomimo dużej rotacji jest na niej jedna rzecz, która wisi już od pewnego czasu. Zrozumiałem, że mniej lub bardziej świadomie unikam tej pozycji. Mogę zrobić wszystko tylko nie to. Tym czymś był JavaScript wraz z wybranym frameworkiem. Postanowiłem, że nie będę robił niczego innego dopóki nie zacznę tej pozycji. Ponieważ jestem człowiekiem, który jak sobie coś postanowi to już nie ma przeproś to … pr...

Dziel się z innymi:
Windows 8 App z wykorzystaniem Angulara | Wojtek Pitek about dev

Windows 3733 dni, 8 godzin, 17 minut temu wopi 233 źrodło rozwiń

Potrzebowałem pewien czas temu uzyskać taki w gruncie rzeczy prosty efekt. Po kliknięciu lewym przyciskiem myszki na butonie otwiera się menu z którego wybieramy interesującą opcję. Niby nic trudnego, ale ja przekombinowałem (nie pierwszy zresztą raz i nie ostatni). Na początek może jak wyglądałby kod takiego buttona: Nic niezwykłego jak sądzę. Teraz tylko tak to zaimplementować aby otwierało się na lewy przycisk a nie na prawy. Najpierw może pokaże jak zrobiłem to w code-behind. Pierwsze co m...

Dziel się z innymi:
WPF – Caliburn.Micro – ContextMenu czyli jak skutecznie utrudnić sobie życie | Wojtek Pitek about dev

Windows 3737 dni, 19 godzin, 35 minut temu wopi 227 źrodło rozwiń

Zgodnie z obietnicą pora na przekazywanie danych pomiędzy oknami(widokami). Jak możemy zaimplementować taką bądź co bądź podstawową funkcjonalność (na razie nie myślmy w ogóle o WPF a tym bardziej o Caliburn.Micro).Public Property Najprostszym sposobem (nie znaczy, że złym) może być zastosowanie jakiejś publicznej property np. w takim stylu: private void GetAddress_Click(object sender, EventArgs e) { AddressForm addressForm=new AddressForm (); addressForm.ShowDialog(); string ad...

Dziel się z innymi:
WPF – Caliburn.Micro – Eventy i Event Aggregator | Wojtek Pitek about dev

Windows 3741 dni, 20 godzin, 7 minut temu wopi 153 źrodło rozwiń

W dotychczasowo opisanych częściach cyklu na temat MVVM (z wykorzystaniem Caliburn.Micro) wszystko było pokazane na przykładzie aplikacji mającej wyłącznie jedno okno. W rzeczywistym świecie takie aplikacje należą do mniejszości. Programy mają zwykle kilka okien i tym właśnie teraz się zajmiemy.Podejście klasyczne W klasycznie zbudowanej aplikacji jeśli chcemy wejść np. opcje aplikacji to otwiera się nam nowe okno. Spróbujmy zmodyfikować aplikację z ostatniego przykładu. Modyfikacja View jest pr...

Dziel się z innymi:
WPF – Caliburn.Micro – obsługa okien | Wojtek Pitek about dev

Windows 3741 dni, 20 godzin, 7 minut temu wopi 176 źrodło rozwiń

Czasami są takie dni w życiu człowieka (a nawet programisty), że wszystko idzie zgodnie z planem. Każde zadanie, które dostaje jest banalne albo (lepsza opcja) zrobione już wcześniej. Miałem kiedyś taki dzień. Jakby to powiedział Skipper dzień idealny. Niestety w moim przypadku to się nie sprawdziło. W moim przypadku sprawdza się raczej “jeśli wszystko idzie zgodnie z planem to znaczy, że to zasadzka”. No ale wracając do meritum dostałem kiedyś “banalne” zadanie musiałem wymienić tło w głównym okni...

Dziel się z innymi:
WPF – Caliburn.Micro – Gdy standardowa konwencja to za mało | Wojtek Pitek about dev

Windows 3745 dni, 20 godzin, 1 minutę temu wopi 132 źrodło rozwiń

Chyba każdy programista piszący w C# usłyszał kiedyś (najczęściej na rozmowie kwalifikacyjnej) pytanie o typy danych występujących w tym języku. Naturalną odpowiedzią są typy wartościowe i typy referencyjne (taka nierozłączna para bliźniąt), mówimy jakie są różnice pomiędzy nimi, mówimy mądre zdania o stosie i o stercie. Czasem dostajemy “podchwytliwe” pytanie w stylu: String to typ referencyjny czy wartościowy? String to jest przechowywany na stosie czy na stercie? Tablica intów to typ refer...

Tagi: .Net, C#
Dziel się z innymi:
Pointer czyli trzeci bliźnaik | Wojtek Pitek about dev

Sztuka programowania 3747 dni, 9 godzin, 52 minuty temu wopi 286 źrodło rozwiń

Jeśli ktoś czytał moje poprzednie posty na temat MVVMa to z pewnością wie, że jednym z plusów jego stosowania jest możliwość odseparowania(w mniejszym lub większym zakresie) pracy programisty od pracy osoby odpowiedzialnej za design aplikacji. Oczywiście tak mówi teoria i często programista sam musi opracować wygląd okna aplikacji (no ale takie jest już życie). Wyobraźmy więc sobie, że dostaliśmy wytyczne jak ma wyglądać okno (takie a takie przyciski, tutaj grid, jakiś checkbox, szerokość elementu ...

Dziel się z innymi:
WPF – Caliburn.Micro – Problemy podczas designu | Wojtek Pitek about dev

Windows 3748 dni, 19 godzin, 3 minuty temu wopi 164 źrodło rozwiń

Najwyższy szas na zapowiadaną obsługę zdarzeń w Caliburn.Micro. Najpierw jednak krótkie przypomnienie. Zaczniemy od prostego zdarzenie Click na ButtonieBez MVVM Każde zdarzenie z z View ma odwzorowanie w Code-Behind. Jeśli nazwy metod się nie zgadzają kod się nie kompiluje View Code-behind private void SayHi_Click(object sender, RoutedEventArgs e) { //some app logic } Z MVVM Musimy pamiętać o konieczności wpowadzenia klasy implementującej ICommand (odsyłam do przykładów z wcześn...

Dziel się z innymi:
WPF – Caliburn.Micro – obsługa zdarzeń | Wojtek Pitek about dev

Windows 3752 dni, 3 godziny, 11 minut temu wopi 179 źrodło rozwiń

Pisaliśmy kiedyś aplikację dla klienta z dość jaśnie określoną specyfikacją sprzętową. Program ma się bez problemów uruchamiać na 64-bitowym Windowsie 8 ponieważ wszystkie komputery działają pod obsługą tego systemu. Czyli hulaj dusza jedziemy z najnowszą wersją .neta (wszak jest to soft dedykowany dla tego konkretnego klienta). Po czasie określonym w umowie dostarczamy soft klientowi na testy, instalacja przebiega bezproblemowo… do czasu. Jest godzina 10 spokojnie dopijam czwarty kubek kawy (wsz...

Dziel się z innymi:
Krótka notatka o Asyns/Await w .NET 4.0 | Wojtek Pitek about dev

Sztuka programowania 3754 dni, 7 godzin, 34 minuty temu wopi 259 źrodło rozwiń

W poprzednim poście pokazałem prostą aplikację z wykorzystaniem Caliburn.Micro. Teraz chciałem pokazać bardziej zaawansowane (ale tylko trochę) sposoby bindowania.Bindowanie bezpośrednio do obiektu W przykładzie, który został pokazany uzupełniając dane w textboxach przypisujemy te dane do odpowiedniej property w klasie. Fragment dla przypomnienia public string LastName { get { return _person.LastName; } set { _person.LastName = value; NotifyOfPropertyChange("Last...

Dziel się z innymi:
WPF – CALIBURN.MICRO – JESZCZE TROCHĘ O BINDOWANIU | Wojtek Pitek about dev

Windows 3755 dni, 16 godzin, 17 minut temu wopi 215 źrodło rozwiń

Pod koniec poprzedniego postu na temat MVVM wspomniałem o Caliburn.Micro jako narzędziu, które czyni moją pracę lżejszą. Dla tych, którzy nie wiedzą jest to framework wspomagający w tworzeniu aplikacji opartej o wzorzec MVVM. Jeśli ktoś zastanawia się dlaczego od razu nie wspomniałem o tym frameworku i poprzedni przykład robiłem bez jego użycia to moja odpowiedź jest prosta (i poparta gorzkim doświadczeniem). Otóż robiąc coś zaawansowanego musimy mieć świadomość mechanizmów za tym stojących inaczej...

Dziel się z innymi:
WPF – Caliburn.Micro Some Kind of Magic | Wojtek Pitek about dev

Windows 3759 dni, 19 godzin, 12 minut temu wopi 223 źrodło rozwiń

W poprzednim poście opisałem (bardzo ogólnie) dlaczego już nie lubię WinForms i dlaczego używam WPF. Przez używanie WPFa mam na myśli WPF+MVVM ponieważ szczerze mówiąc to uważam, że stosowanie WPFa bez MVVMa to strata czasu, ale to tylko moje zdanie (jak większość opinii wyrażona na tym blogu). Czym więc jest ten cały MVVM? Otóż jest to ni mniej ni więcej wzorzec projektowy. Na początek trochę teorii (niestety bez niej się nie da).Model Obiekty biznesowe, serwisy i wszystko to co jest związane z ...

Tagi: C#, MVVM, WPF
Dziel się z innymi:
WPF – MVVMa czas zacząć! | Wojtek Pitek about dev

Windows 3762 dni, 10 godzin, 50 minut temu wopi 365 źrodło rozwiń

Jestem geekiem(a może nerdem?) jeśli chodzi o nowe technologię. Po prostu je uwielbiam, ale mimo tego nie mogłem przekonać się do jednego (i to w cale nie do takiej nowości). Nie mogłem przekonać się do laptopa. Po prostu pogardzałem takim sprzętem. Liczyła się dla mnie tylko stacjonarka wraz z jej nieposkromioną (do czasu) mocą. Aż pewnego dnia coś we mnie pękło: Muszę kupić sobie laptopa Wzbraniałem się przed tym długi czas, ale w końcu nie wytrzymałem. Jadę do domu na święta a muszę mieć dost...

Tagi: apple, Windows
Dziel się z innymi:
Problemy pierwszego świata czyli macbook okiem użytkownika Windows | Wojtek Pitek about dev

Windows 3767 dni, 20 godzin, 21 minut temu wopi 310 źrodło rozwiń

Od pewnego czasu wszystkie nowe aplikację okienkowe tworzę w WPFie. Próba napisania czegoś w Winformsach sprawia mi ból. A przecież gdy zaczynałem to Winformsy były moją pierwotną technologią (bo php litościwie pomine). To właśnie WinFormsy wraz z prostotą C# (o naiwności!) były przyczyną mojego zainteresowania platformą .net. Pamiętam jak przez mgłę mój pierwszy projekt w WinFormsach. Jakieś matematyczne obliczenia (średnia, mediana itp.), ale istotny był graficzny interfejs (jego brak powodował ...

Tagi: C#, WPF
Dziel się z innymi:
WPF – wprowadzenie do MVVM  | Wojtek Pitek about dev

Windows 3770 dni, 13 godzin, 24 minuty temu wopi 250 źrodło rozwiń

Ponieważ popełniłem kiedyś coś co nazwałem Fody ciekawa ptaszyna – część 1 to w związku z tym należało zrobić coś co nazywa się Fody cz2 co też obecnie czynie. Fody ma wiele pakietów, ale opiszę teraz tylko te wybrane z których kiedyś korzystałem (lub widziałem sens ich zastosowania). Tworząc aplikacje okienkowe musimy również przemyśleć sposób ich dystrybucji. Należy go dostosować do poziomu zaawansowania klienta oraz do nakładów pracy związanych z danym sposobem. Pisząc dużą aplikację wymaga...

Tagi: C#, fody
Dziel się z innymi:
Fody ciekawa ptaszyna – część 2 | Wojtek Pitek about dev

Windows 3770 dni, 13 godzin, 24 minuty temu wopi 162 źrodło rozwiń

Jak zdefiniować rozwój zawodowy? Rozwój zawodowy to proces zwiększania zakresu swojej wiedzy w czasie. Niby dobrze, ale jak to rozumieć? Może najprościej jak się da: każdego dnia uczymy się X nowych metod ( z danej klasy Frameworka etc.). I jeśli mówimy o początkach kariery zawodowej to jest to z pewnością prawda. Tylko, że jeśli z biegiem czasu dalej będziemy tak rozumieć rozwój to chyba coś z nami jest nie do końca w porządku. Chociaż to za dużo powiedziane. Może lepiej zabrzmi, że taka ścieżka r...

Tagi: architecture, C#
Dziel się z innymi:
Ścieżka od developera do architekta | Wojtek Pitek about dev

Architektura 3774 dni, 18 godzin, 37 minut temu wopi 563 źrodło rozwiń

1 2

Najaktywniejsi w tym miesiącu