Co byście powiedzieli na taki kod?publicclass Person { publicstring FirstName; publicstring LastName; publicstring GetFullName() { returnstring.Format("{0} {1}", FirstName, LastName); } } Na pierwszy rzut oka może nic poważnego. Jednak jeśli chcemy pisać kod zgodny z praktykami C#, powinniśmy zwrócić uwagę na następujące kwestie:Enkapsulacja, FirstName,LastName powinni być ukryte i ewentualnie wyeksponowane za pomocą setterow\getterów.GetFullName jest dobrym sposobem dla Javy (a w...
Poniedziałek, styczeń 30. 2012Niekonsekwencje w ASP.NETAutor:Paweł Goleń | Data:2012-01-30 21:48 | Kategorie:Security, WebApps | Brak komentarzy | Brak Śladów Na ostatnim spotkaniu OWASP w Krakowie jedna z prezentacji dotyczyła zapobiegania XSS w aplikacjach tworzonych w ASP.NET. Z prezentacją można zapoznać się t...
Niniejszy post jest kontynuacją cyklu o Reactive Extensions dla .NET ([RX 1], [RX 2], [RX 3], [RX 4], [RX 5], [RX 6], [RX 7], [RX 8], [RX9], [RX10]) i pojawią się w nim przykłady wykorzystania Reactive Extensions. W ramach przykładu pokazane zostanie okno aplikacji, która w pasku statusu będzie wyświetlać, położenie kursora myszki w oknie aplikacji oraz informacja, czy kursor znajduje się w lewej, czy prawej części okna. Niniejszy przykład zostanie wykonany z wykorzystaniem WPF, należy więc pamiętać, że...
Programowanie rozproszone 4009 dni, 10 godzin, 39 minut temu 108 źrodło rozwiń
Wpis o tym jak dodać nowy build system dla programistów .NET w edytorze Sublime Text 2. Opcja szczególnie przydatna dla tych, którzy sporą część pracy programistyczno-designerskiej przenieśli poza Visual Studio i chcą sobie życie ułatwić :)
Zachęcam do kolejnego artykułu, tym razem o wzorcu MVVM: http://msdn.microsoft.com/pl-pl/library/wprowadzenie-do-wzorca-projektowego-model-view-viewmodel-na-przykladzie-aplikacji-wpf.aspxExplore posts in the same categories:Patterns & Practices, WPF
Architektura 4011 dni, 3 godziny, 43 minuty temu 919 źrodło rozwiń
Autor (Paweł Łukasik): Kilka dni temu miałem okazję wygłosić kolejną prelekcję na Wrocławskiej Grupie .NET. Tym razem jako temat wybrałem debugger, który jest dostępny w Visual Studio. Jest to na prawdę kawałek narzędzia, który możemy wykorzystać dość sprawnie na naszą korzyść jeśli tylko wiemy gdzie szukać. Prezentacja to tak na prawdę zbiór tego co publikowałem w ostatnich czasach na blogu jak również na devPytania tak więc jeśli ktoś regularnie czyta bloga - zapewne nie znajdzie zbyt wiele nowości. ...
W Visual Studio bardzo łatwo tworzyć Splash Screen- czyli okno powitalne, wyświetlające się w momencie ładowania aplikacji. Każda z większych aplikacji posiada taki gadget (Visual Studio, Office itp.). Zamiast wyświetlać pusty ekran, dużo lepszym rozwiązaniem jest wyświetlenie SplashScreen’u z logiem firmy\aplikacji. W VS można tego dokonać za pomocą kilku kliknięć:Dodajemy obrazek do solucji (Add->Add Existing Item).W oknie właściwości wybieramy BuildAction –> Splash Screen.Gotowe! Można uruchomić aplik...
autor: W ostatnim poście wspominałem, że napisze jeszcze o ustawieniach debuggera VS w rejestrze. Okazuje się, że nie wszystko da się ustawić w Visual Studio czy ustawieniach systemowych. Częścią funkcjonalności trzeba sterować za pomocą ustawień w rejestrze - na szczęście są to marginalne przypadki. Czasami jednak zdarza się, że dodając jakieś wyrażenie do okienka Watch dostajemy niemiły komunikat - Function evaluation timed out. Buu... :/ Okazuje się, że możemy choć trochę wpłynąć na VS po jakim cza...
Kilka dni temu przez przypadek wszedłem na GitHub i kliknąłem na Trending Repos. Niespodzianką dla mnie było, że projekt, o którym pisałem jakiś czas temu jest dużo popularny: ma wiele użytkowników, którzy obserwują zmiany i jest dużo forków.
Rozważmy następujący kod:IEnumerable
autor: Jeżdżę sobie ostatnio po TFSie jak Heniek po łysej kobyle, ale żyć z tym trzeba. Poniżej kilka tipów, które uczyniły moje życie trochę lepszym. Z przeogromną wdzięcznością poczytam w komentarzach kolejne sugestie dotyczące dalszych uproszczeń. 1. git-tfs https://github.com/git-tfs/git-tfs Ten projekcik zdecydowanie na pierwszym miejscu. Ale ostatnio o nim się osobno rozpisałem. 2. Telerik TFS Work Item Manager http://www.telerik.com/agile-project-management-tools/tfs.aspx Narzędzie mające pełn...
W postach oznaczonych “Code review” zamierzam przedstawiam dobre i złe praktyki pisania kodu. Posty przeważnie będą składały się z fragmentu kodu i opisu co jest w nim źle. Dziś spójrzmy na:StreamReader streamReader =new StreamReader(File.Open(path, FileMode.Open)); string header = streamReader.ReadLine(); string dataPoints = streamReader.ReadLine(); string[] dataPointArray = dataPoints.Split(newchar[]{';’});streamReader.Close(); Co w tym jest jest nie tak? W przypadku gdy np. ReadLine wyrzuci wyjątek, ...
Na początek mała ciekawostka - tak wygląda Windows 8 build 8180, mający już napis “Windows 8 Beta”, ale jeszcze betą nie będący. Podczas instalacji można zauważyć kilka zmian w stosunku do wersji z konferencji BUILD. Domyślnym kolor tła jest teraz niebiesko-szary (można oczywiście ustawić sobie inne tło). Niestety, mimo kilkukrotnych instalacji Visual Studio 11 Preview i elementów SDK dla Metro nie udało mi się póki co otrzymać instalacji Visual Studio pozwalającej na budowanie aplikacji Metro. Trudności...
autor: Jak da się zauważyć - mam teraz na tapecie TFSa. I jeśli z całego tego zamieszania wyniknie choć jedna skonwertowana na gita osoba - z radości urządzę sobie kąpiel w kozim mleku i szampanie. Kilkukrotnie już wspominałem, że życie z TFS wcale nie musi oznaczać życia bez Gita. Wręcz przeciwnie - życie z TFS powinno "implicitly" kojarzyć się z wykorzystaniem Gita w celu obejścia największej porażki TFSa, czyli komponentu zajmującego się kontrolą wersji. Można to zrobić bardzo prosto. A co najlepsze...
autor: W drugim poście poświęconym Raven DB opiszę jak wykonywać podstawowe operacje (zapisz/usuń/zmień) na dokumentach. Ale czym jest dokument? Nie wiem jaka jest formalna definicja ale ja na dokumenty patrzę po prostu jak na obiekty zapisane (zserializowane) w formacie JSON. Poniżej przykład takiego dokumentu z mojego pet project, który odpowiada obiektowi klasy reprezentującej wyrażenie i jego tłumaczenia. { "Category": "Geografia", "Expression": "wioska", "Translations": [ {...
Bazy danych i XML 4020 dni, 19 godzin, 31 minut temu 188 źrodło rozwiń
Niniejszy post jest kontynuacją cyklu o Reactive Extensions dla .NET ([RX 1], [RX 2], [RX 3], [RX 4], [RX 5], [RX 6], [RX 7], [RX 8], [RX9]), dotyczyć on będzie możliwości metod rozszerzających służących wykonywaniu połączenia dwóch lub więcej strumieni. Jedną z interesujących cech Reactive Extensions jest kompozycja obserwowalnych kolekcji, czyli strumieni danych. Istnieje wiele metod rozszerzających służących wykonywaniu połączenia dwóch lub więcej strumieni; Amb, Concat, SelectMany, Merge, Zip, Combin...
Programowanie rozproszone 4020 dni, 19 godzin, 31 minut temu 88 źrodło rozwiń
Co raz więcej programistów interesują się językiem Ruby. Jest to wysokopoziomowy język dynamiczny. Dużą rolę odegrał framework Ruby on Rails, dzięki czemu język nabył swoją popularność. Ten artykuł pomoże początkującym (i nie tylko) programistom zapoznać się z tym językiem, który przy napisaniu stosownie małego kawałku kodu pozwala na zrealizowanie prostej funkcjonalności. W tym artykule dowiesz się o :instalacji środowiska, implementacji prostej aplikacji.
Począwszy od Visty Microsoft wprowadził do systemu mechanizm 'Protected Processes', który w założeniach miał chronić niektóre procesy przed innymi wścibskimi procesami. Rozwiązanie to znalazło zastosowanie w DRM oraz WER... i właściwie nigdzie więcej. O tym, dlaczego PP to nie jest dobry pomysł pisał swego czasu Alex Ionescu, który udostępnił (niedostępne już) do pobrania narzędzie D-Pin Purr. Prosty przykład Zanim przejdziemy dalej, zobaczmy o czym mowa. Rozpocznijmy od uruchomienia Windows Media Player...
Po zapoznaniu ze zmianami jakie na nas czekają przy budowie Content Type’ów przy pomocy Visual Studio 2011 zobaczmy jakich zmian możemy się spodziewać jeśli chodzi o tworzenie list. Zacznijmy zatem od dodania nowego elementu do projektu: Pierwszą zmianę widzimy już na tym etapie, a mianowicie nie dostajemy już wyboru, czy chcemy utworzyć List Definition czy List Instance. Miejsce tych dwóch elementów zastąpił...
W poprzednim wpisie przedstawiłem w jaki sposób można lokalizować aplikację napisaną w Silverlight 4 oraz Windows Phone, wykorzystując do tego ten sam mechanizm. Tym razem zademonstruje w jaki sposób można nieco uprościć składnie tłumaczenia wykorzystując do tego MarkupExtension. Jeżeli kiedykolwiek pisałeś coś w Silverlighcie, Windows Phonie lub WPF-ie istnieje duża szansa, że używałeś już MarkupExtension. Do najpopularniejszych MarkupExtensions należą takie słowa kluczowe (używane w XAML-u) jak: Bi...
Silverlight 4021 dni, 10 godzin, 55 minut temu 70 źrodło rozwiń