Najprościej definiując problem: Czy mamy tylko jeden return z metody, czy też mamy ich kilka w różnych miejscach. Mówię też o metodach, które nie zwracają wartości. Metodę void też można skończyć wcześniej...
Sztuka programowania 3924 dni, 1 godzinę, 27 minut temu 229 źrodło rozwiń
W ostatnich odcinkach serii wspominałem o tym jak można w łatwy sposób wyrzucić do konsoli informacje o stanie Naszej aplikacji. Dzisiaj pokazuję jak można formatować te dane, uzyskując większy porządek w danych. Umiętność formatowania danych, czy to pisanych ręcznie czy pochodzących ze zmiennych przydaj...
Sztuka programowania 3924 dni, 22 godziny, 55 minut temu 38 źrodło rozwiń
Dzisiaj chciałbym trochę opowiedzieć o tym jak logować do konsoli całe obiekty, tak byśmy mieli podgląd nie tylko na same zmienne co już prezentowałem w poprzednich artykułach, ale całe złożone elementy. Zaczniemy od prostego kodu z dwoma przyciskami: Kod realizuje następujące zadania:Mamy dwa przycis...
Sztuka programowania 3924 dni, 22 godziny, 55 minut temu 39 źrodło rozwiń
W tej części kursu zajmiemy się pojęciem inicjalizacji i czyszczenia danych. Wielkiej filozofii tutaj nie ma; w NUnit działa to tak:Jeśli chcemy, aby jedna z metod uruchamiała się przed każdym uruchomieniem naszego testu, aby np. inicjalizować dane, nakładamy na nią atrybut [SetUp].Jeśli zechcemy, aby metoda uruchamiała się po każdym uruchomieniu testu w celu np. czyszczenia danych — nakładamy atrybut [TearDown]...
Sztuka programowania 3927 dni, 1 godzinę, 9 minut temu 143 źrodło rozwiń
Dystrybucja lokalnych bibliotek jako NuGet'y w oparciu o TFS Build i NuGet Server.
Zobacz cykl artykułów o projekcie Siena - narzędziu pozwalającym budować aplikacje Windows 8 bez żadnych umiejętności programistycznych.
W poprzednim wpisie pokazałem Wam zalety narzędzia MvcSiteMapProvider. Zapowiedziałem też, że to nie koniec wpisów na ten temat… Jako, że nie rzucam słów na wiatr, dziś obiecana kontynuacja. A konkretnie, tak jak można wyczytać w tytule, zajmę się przedstawieniem jak za pomocą narzędzia MvcSiteMapProvider można trochę „zkustomizować” generowaną automatycznie listę służącą jako menu nawigacyjne. Naszym celem będzie, aby nadać tej liście odpowiednie klasy Bootstrap, tak aby wyglądało to jak należy. Zobaczy...
Każdy programista webowy wie doskonale czym jest sitemap’a i dlaczego ważne jest by ją mieć na stronach, które tworzymy. Jeśli jednak nie jesteś programistą tworzącym strony i aplikacje internetowe to śpieszę z wyjaśnieniem – sitemap’a to taki plik XML, znajdujący się zwykle w głównym katalogu aplikacji, który zawiera, jak sama nazwa wskazuje, mapę witryny czyli listę wszystkich podstron. Roboty wyszukiwarek internetowych wykorzystują tę listę do „zrozumienia” struktury witryny i dzięki temu szybciej mog...
.NET zawiera klasy przeznaczone do leniwej inicjalizacji i zwykle nie trzeba samemu implementować tego wzorca. Jeśli jakiś obiekt, chcemy inicjalizować dopiero w momencie, gdy jest on potrzebny to można skorzystać ze wspomnianych typów.
Najczęściej programiści korzystają z klasy Dictionary ale warto rozważyć dwie inne kolekcje. ListDictionary przechowuje dane na liście jednokierunkowej. Dla słowników z kilkoma kluczami zwykle jest to szybsze niż standardowy hash table, wykorzystywany w Dictionary. Szybciej jest po prostu przejść przez 10 elementów, niż liczyć skomplikowaną funkcję haszującą.
Ostatnio w sieci ukazało się wiele przykładów jak posprzątać kod w kontrolerach mvc. Sam podjąłem próbę walki z ciągle powtarzającym się kodem. Rozdmuchany kontroler z akcjami wypchanymi kodem wszelakiej maści, od walidacji po wywołania serwisów, repozytoriów, łapanie wyjątków i jak do tego jeszcze zaplącze się jakaś cząstka logiki biznesowej nie przyniesie nam nic dobrego.
Sztuka programowania 3928 dni, 7 godzin, 26 minut temu 315 źrodło rozwiń
Kilka lat temu robiłem coś takiego za pomocą ILMerge. Wymagało to własnego Post build event, etc. Teraz jest rozwiązanie out of the box - Costura.Fody. Wystarczy ściągnąć nugetem.
Dzisiaj zapraszam na pierwszą w mojej karierze recenzję książki! Nigdy wcześniej tego nie robiłem jednak tę akurat książkę uważam za szczególnie wartościową i godną polecenia jeśli chodzi o literaturę związaną z językiem JavaScript. Mowa oczywiście o tytułowej pozycji, a więc „JavaScript Wzorce” (ang. JavaScript Patterns) Stoyana Stefanova. Znalazłem w końcu czas aby ją do końca przeczytać, dzięki czemu mam teraz materiał do przemyśleń na jej temat… I tymi przemyśleniami chciałbym się z Wami dzisiaj podz...
This post is a part of preparation for 70-483 exam. Information written down here refers to the part Manage program flow. Last time I wrote about the Thread class which allows you to run the code concurrently. Today I will show an another part of the System.Threading namespace, the ThreadPool class.
Programowanie rozproszone 3929 dni, 1 godzinę, 49 minut temu 53 źrodło rozwiń
Jako, że ostatnimi czasy mam do czynienia ze współpracą pomiędzy aplikacją ASP.NET MVC, a Selenium , chciałbym się podzielić z Wami kilkoma przemyśleniami...
Post ten dotyczy tematu efektywnego pobierania danych z Active Directory. Załóżmy, że chcemy pobrać listę użytkowników przy czym interesują nas tylko niektóre właściwości, które ich opisują. Pokarzę trzy niewiele różniące się z pozoru sposoby odczytania potrzebnych nam danych. Pozornie ponieważ te trzy podejścia znacząco różnią się wydajnością.
Useful Node.js modules – ssh2 I would like to introduce a very useful Node.js module to you, which can help in automating your daily work or accomplishing non-ordinary and non-obvious task such as SFTP/SSH management.Description ssh2 is a SSH2 client module written in pure JavaScript. In this case the above mentioned module helped me to bootstrap the simple tool a while ago. The main goal of this tool is to automate creating, downloading and uploading a backup to SFTP for one-of-the-most-popul...
CouchDB – short review During one of our last projects we had a small 2-year adventure with Apache CouchDB NoSQL database. Here, I’m going to briefly present its strong points as well as drawbacks.Background Why using yet another NoSQL? CouchDB was chosen based on requirements and assumptions in the project. Especially, easy multi-master replication seemed to be attractive in the context of the project, which was supposed to be a distributed document database without any relations and rather un...
Bazy danych i XML 3930 dni, 4 godziny, 8 minut temu 83 źrodło rozwiń
Dzisiaj coś o Code Review, czyli przeglądaniu własnego kodu przez innego członka zespołu. Jak to działa? Wyjaśnię to na podstawie Scrum’a. Rozpoczyna się sprint, każdy backlog item ma w sobie różne taski. Każdy task ma wyestymowany czas potrzebny na wykonanie zadania, np. Handle operation documentsCreate database structure 4hPrepare model changes 2hCreate data structures 4hCode Review 2hRework 3h Jak widać, również Code Review oraz Rework jest wyestymowany. Jak wygląda to w praktyce? Robimy pełen dev...
Sztuka programowania 3931 dni, 6 godzin, 58 minut temu 193 źrodło rozwiń