Inspekcja elementów HTML
Sztuka programowania 4022 dni, 22 godziny, 4 minuty temu 76 źrodło rozwiń
Nie mam zamiaru nikogo indoktrynować. Nie mam zamiaru dyskutować o wyższości tego nad tym i owego nad tamtym. Zamierzam natomiast przedstawić parę zalet regionów oraz powód, dla którego podobają się właśnie mi. A skoro już zdradziłem, że wpis jest subiektywny i tendencyjny, to zacznę właśnie od tego powodu. Z urodzenia jestem ...
Sztuka programowania 4034 dni, 18 godzin, 18 minut temu 200 źrodło rozwiń
Zapewne każdy profesjonalny programista zna zasadę DRY, której nazwa jest zarazem skrótem jej treści Don’t Repeat Yourself czyli zalecenia Nie Powtarzaj Się. Najczęściej stosuje się ją, by przeciwdziałać powielaniu kodu wykonującemu tę samą czynność (czy to przez jego niepotrzebne, ponowne napisanie czy też przez zwykłe przeklejanie). To co ciekawego w tej regule, to fakt, że w swej treści skierowana jest ona do ...
Sztuka programowania 4034 dni, 18 godzin, 18 minut temu 210 źrodło rozwiń
Tło problemu - jest wystawiony opasły Windows Service po remotingu. Implementacja to wielka klasa z dziesiątkami metod, typowe legacy code. Z pewnych architektonicznych przyczyn zostało postanowione, że cykl życia komponentów rejestrowanych w Castle, wykorzystywanych w wyżej wymienionych, dziesiątkach metod, musi by...
Sztuka programowania 4034 dni, 18 godzin, 18 minut temu 133 źrodło rozwiń
Dzisiejszy artykuł powstał na podstawie angielskiego artykułu ze strony BlueLemonCode. Artykuł zamieszczam z powodu tego, aby sposób eleganckiego i darmowego znakowania pdf’ów był bardziej dostępny, a także w powyższym kodzie wprowadziłem pewną małą, ale ważną zmianę, dzięki której na każdej stronie pojawi się ten znak wodny, gdzie w matczynym kodzie nie zawsze.
Sztuka programowania 4035 dni, 10 godzin, 47 minut temu 131 źrodło rozwiń
Leave a reply I mentioned some time ago, that fall will be eventful. But I didn’t know about all the events. Everyday I learn about something new, and most of it looks really impressive. During last two weeks I attended two really well organized events. First one on 12th October. This day I planned to be at leetspeak (BTW – videos are already uploaded) in Sweden, but due some health issues I had to stay home. But there were more than one backup options. There was Warsjawa (name is nice play on polish n...
Sztuka programowania 4041 dni, 21 godzin, 26 minut temu 142 źrodło rozwiń
10.18.13 by MJ Short post about searching List. There are 3 most popular methods: foreach, delegate and lambda expression. I will introduce all of them. Let’s say that we have List which stores cars. Car has 2 properties – brand and model. var listOfCars = new List { new Car() { Brand = "Car1Brand", Model = "Car1Model" }, new Car() { Brand = "Car2Brand", Model = "Car2Model" }, new Car() { Brand = "Car3Brand", Model = "Car3Model"...
Sztuka programowania 4045 dni, 2 godziny, 52 minuty temu 120 źrodło rozwiń
Po krótkiej przerwie, wracam do blogowania. Ostatnio, pokazałem jak C# traktuje przeładowywanie metod. Nie zawsze jest to proste i czasami naprawdę może spowodować błędy w interpretacji. Jeszcze raz chcę powtórzyć, że celem wpisów NIE jest zachęcenie czytelników do pisania skomplikowanych przeładowań. Wręcz odwrotnie – wiedząc jak trudno odgadnąć wynik należy po prostu unikać przedstawionych konstrukcji.
Sztuka programowania 4048 dni, 20 godzin, 40 minut temu 197 źrodło rozwiń
Enumerable.Empty Jeśli funkcja zwraca IEnumerable, nie zwracaj pustej dopiero co stworzonej listy. Enumerable.Empty() jest właśnie tym czego oczekuje wywołujący kod. return new MyClass[0]; // Better return Enumerable.Empty
Sztuka programowania 4048 dni, 20 godzin, 40 minut temu 423 źrodło rozwiń
Recently I've been coding some WCF methods and I've got a strange exception during WCF message serialization. I needed to send list of enums to the WCF service. There are couple of ways to do that. First solution is using [Flag] attribute to combine several enum values into one variable - but then you need to use powers of 2 for enum values. I couldn't do that because of the requirements and actual big number of that enums stored in current database. It would require writing and applying a lot of scrip...
Sztuka programowania 4054 dni, 19 godzin, 33 minuty temu 162 źrodło rozwiń
Jeżeli po przeczytaniu tytułu tego wpisu masz mieszane uczucia, bo niby co wspólnego może mieć psychologia z programowaniem, to zanim postanowisz zrezygnować z dalszej lektury, przypomnij sobie o wzorcach projektowych, a dokładnie skąd się one wzięły. Tak, początkowo to nie był pomysł programisty, ale architekta. Okazał się on jednak nie przystawać do tej dziedziny, za to zgrabnie dał się zaadaptować do naszego podwórka. W przypadku psychologii analogia nie jest może aż tak bezpośrednia, niemniej ...
Sztuka programowania 4056 dni, 22 godziny, 11 minut temu 297 źrodło rozwiń
Ostatnio czytając jedną z książek o programowaniu w Objective-C natrafiłem na sformułowanie o polimorfizmie, które spowodowało u mnie wodę z mózgu. Musiałem się nad nim naprawdę zastanowić, gdyż do tej pory w ogóle o tym w takich kategoriach, a jednak. Po dłuższym zastanowieniu się zrewidowałem swoje pojęcie co to jest polimorfizm. Wszystko zaczęło się od tego zdania:Polymorphism enables programs to be developed so that objects from different classes can define methods that share the same name. Kod w O...
Sztuka programowania 4056 dni, 22 godziny, 11 minut temu 218 źrodło rozwiń
Przeładowania metod to podstawy języka. Niestety, nieumiejętnie stosowane, mogą przystworzyć problemów nawet zaawansowanym programistom. Z tego względu, uważam, że należy po prostu unikać tych przeładować, które są zbyt trudne w zrozumieniu – powodują niepotrzebne zamieszanie. Zacznijmy od klasycznego przykładu, który jest zrozumiały dla każdego
Sztuka programowania 4062 dni, 20 godzin, 44 minuty temu 241 źrodło rozwiń
Chcemy zaznaczyć, że klasa możemy być użyta w jakiś sposób, jednocześnie nie definiując żadnych metod, które klasa miałaby implementować. Może się wydawać, że takie coś nie powinno mieć miejsca, bo zawsze chcemy wykonać logikę która została zaimplementowana dzięki kontraktowi zwanemu interfejsem. Przykładami, że jednak czasem tak bywa są INamingContainer w ASP.NET oraz Serializable w Javie.
Sztuka programowania 4062 dni, 20 godzin, 44 minuty temu 241 źrodło rozwiń
W kilku wpisach chciałbym przedstawić różnicę między tymi dwoma typami. Osoby piszące aplikacje finansowe z pewnością znają te różnice bo to właśnie w tych typach aplikacji, double powodował bardzo poważne błędy. Przed przeczytaniem wpisu, niezbędne będzie przypomnienie sobie następujących informacji: 1. Przeliczanie systemu binarnego, szczególnie części dziesiętnej. 2. Liczby zmiennoprzecinkowe. Nie będę tego opisywał na blogu, ponieważ są to zagadnienia wyjaśniane już wiele razy – ale pisząc aplika...
Sztuka programowania 4069 dni, 17 godzin, 41 minut temu 293 źrodło rozwiń
O tym, że od dawna można w VS używać transformacji web|app.config pewnie każdy już wie (jeżeli nie do zapraszam do przeczytania podstaw w poście Web Deployment: Web.Config Transformation). Jak i każdy wie, że łatwo jest zmienić wartość jednej wartości z appSettings czy też ją kompletnie usunąć. Tak jak łatwo jest usunąć lub zamienić inne elementy które już istnieją. Czy jednak kiedykolwiek, próbowaliście coś dodać? Dla przykładu, jeżeli będziecie chcieli dodać tag
Sztuka programowania 4069 dni, 17 godzin, 41 minut temu 97 źrodło rozwiń
07.27.13 by MJ My friend has asked this question one week ago. He was not able to understand the usage of interfaces in his small projects. I decided to explain it, but I knew that it would be a long journey, from the beginning to the end. FInally he got the idea. Today I will try to explain this to you, audience. “Q” is defined as a question. “A” as an answer. Q: What is interface? A: We can say that interface is a kind of class which has declarations of all methods, properties or events. I...
Sztuka programowania 4076 dni, 21 godzin, 1 minutę temu 251 źrodło rozwiń
Po dłuższej urlopowej przerwie w blogowaniu zacznę od zagadki z serii co zostanie wypisane na ekran, którą podsunął mi kolega Przemek: decimal d = 2; Console.WriteLine("d == 2 = {0}", d == 2); Console.WriteLine("d == (decimal)2 = {0}", d == (decimal)2); Console.WriteLine("d.Equals(2) = {0}", d.Equals(2)); Console.WriteLine("d.Equals((decimal)2) = {0}", d.Equals((decimal)2)); Tutaj jeszcze nie ma haczyka i odpowiedź to 4XTrue. Zmieńmy jednak jedną liniję: decimal? d = 2; Tym razem odpowiedź jes...
Sztuka programowania 4081 dni, 23 godziny, 15 minut temu 167 źrodło rozwiń
Dalsze rozważania na temat nullanle.
Sztuka programowania 4081 dni, 23 godziny, 15 minut temu 183 źrodło rozwiń
Do napisania niniejszego wpisu zainspirowała mnie pewna dyskusja, którą prowadziłem z kolegą po fachu. Dyskusje wywołało niefortunnie(wg. mojego kolegi) użyte przez ze mnie słowo mock zamiast stub. Za nim przejdę do opisywania dyskusji szybko trochę teorii i nomenklatury. W tym wpisie celowo pomijam techniki takie jak TDD czy BDD i pewnie tracę przez to wielu czytelników;). Pragnę skupić się na tym czym jest i był...
Sztuka programowania 4083 dni, 19 godzin, 57 minut temu 457 źrodło rozwiń