Lista artykułów

1

Czym się różni właściwość klasy od pola klasy?

Wracając jeszcze do filozofowania o kodzie, dziś trochę o cechach klas, a dokładniej: pola i właściwości. Zanim wymyślono idee właściwości dostęp do pól odbywał się na dwa sposoby. Pole w klasie (np. name) mogło być publiczne i każdy miotał nim jak szatan, druga opcja to dostęp kontrolowany przez parę metod typu GetName i SetName. Umożliwiały […]

2

Przyjemne funkcje

Jak przyjmować i jak zwracać kulturalnie – zastanawialiście się kiedyś na tym? Taki programistyczny savoir-vivre. Jak to zrobić, żeby mi (programiście) było wygodnie, a jednocześnie uszcześliwić przyszłego użytkownika API które tworzymy? Przecież to może być właśnie ja (ja piszący tego bloga)! Sprzedam wam dwie proste reguły (na bank są inne o których nie wiem), które warto zapamiętać […]

Kod “wystarczająco dobry”

Każdy kod można usprawnić / napisać lepiej. Bez wyjątku. Nie ma kodu idealnego (jak już zresztą kiedyś pisałem). Jednak w pewnym momencie trzeba przestać, tzn. nie można dopieszczać w nieskończoność jednego kawałka kodu zaniedbując wszystko dookoła. Ale nie oznacza to, że powinniśmy akceptować każde poplątane ścierwo jakie wyjdzie spod naszych skrzypiących paluchów i mówić “spoko, [...]

Sprzedam Hyundai Coupe 2.0, 2000r

Mam do sprzedania przepiękne auto – czerwonego Hyundai Coupe FX z 2000 roku. Więcej zdjęć można obejrzeć tutaj: http://sdrv.ms/SOUZJY . * Hyundai Coupe FX * cena: 10 000 zł * rok: 2000 * silnik: 2.0, 140 KM , benzyna * przebieg: ok 143tys km * od nowego w Polsce, kupiony w polskim salonie; karta pojazdu, [...]

ABB Dev Day 2012, czyli zajebistość do sześcianu

Rok temu odbyła się pierwsza – "pilotażowa" – edycja konferencji dla programistów ABB Dev Day. Główne cechy: w Krakowie, ze świetnymi sesjami i, co w Polsce może nie być bez znaczenia: za darmo. Niestety nie mogłem w niej uczestniczyć, ale "znam kogoś kto był" (haha co za czerstwy tekst!) i podobno było baaaardzo pozytywnie. A [...]

Konfiguracja aplikacji rozbita na wiele sekcji i plików *.config

Pisane przez nas "biblioteki wielokrotnego użytku" mogą (a nawet: powinny być?) konfigurowalne. Konfiguracja musi być oczywiście rozprowadzana wraz z aplikacją korzystającą z takich bibliotek, więc obowiązkiem programisty aplikacji jest dołączenie do *config odpowiednich wpisów. Swego czasu miałem krótki romans z tworzeniem własnych, dedykowanych "sekcji konfiguracji", ale długo on nie trwał. Toż to jakaś masakra! W [...]

Słowo na niedzielę, o samodzielnym myśleniu i świadomych decyzjach

Przeczytałem niedawno bardzo fajny post “The best approach to software development“. I… whoa! Jakże często słyszy się taki argument? “Dlaczego robisz to tak i tak?” “Bo X tak powiedział, bo tak jest najlepiej.” “A myślałeś jakie ma to plusy i minusy w twojej konkretnej sytuacji, szukałeś lepszych rozwiązań?” “Nie.” Nie spotykam się z tym na [...]

DXRacer – wrażenia po kilku miesiącach

W listopadzie zeszłego roku temu pisałem o snwoich “krześlanych” przygodach – i o tym, że finalnie wybrałem krzesło DXRacer. Od tamtej pory dostałem, bagatela, z 10 pytań “jak się DXRacer sprawdza w praktyce?“. Tak więc aby zaspokoić zbiorową ciekawość, posta niniejszego publikuję… Od jakiegoś czasu prawie z tego krzesła nie korzystam. Od początku roku nie [...]

Walka z G(K)ACem: DEVPATH

Programując pod Sharepointa czy inne tego typu badziewie musimy podpisywać nasze assemblies i wrzucać je do GACa. Już dwa razy mnie to "ugryzło" i straciłem w sumie dobre kilka godzin na diagnostykę poniższego scenariusza: 1) piszę testy do funkcjonalności zawartej w podpisanej dllce 2) koduję implementację w tejże dllce 3) uruchamiam testy 4) dostaję wyjątek [...]

Słowo na niedzielę, o pomysłach, take 2

O “najlepszych” i “wyjątkowych” pomysłach na aplikację już kiedyś pisałem w niniejszym dziale (link). Ofiarą bezmyślnego niejednokrotnie zapału i ślepego zachłyśnięcia się własnym geniuszem padają najczęściej osoby “nieprogramistyczne” lub programiści bardzo niedoświadczeni. My wraz z przekodowanymi latami dowiadujemy się, że to nie takie hop-siup. A jak takiej osobie wytłumaczyć “hola hola, nie dziel skóry na [...]

11

Access to variable of another object – reflect method

When create a GUI class I’m find a problem of access to the variables in another class using a universal procedure. Here is my solution to the problem package testexample; import java.lang.reflect.Field; class S3Element { private Object obj=null; private Field fld=null; private String fieldName=""; /** * * @param obj - A reference object to override […]

Mapowanie Skydrive jako dysk sieciowy

Pamiętam, że kiedyś, kiedyś (chyba jeszcze za czasów Mesh) czytałem o mapowaniu pochmurnego storage od Microsoft lokalnie jako dysk sieciowy. Pamiętam też, że nie tak dawno temu próbowałem zrobić to ze Skydrive i.. się nie udało. Wiem że nie tylko ja z tym bojowałem. Gdy w końcu przysiadłem do komputera z postanowieniem "nie odejdę póki [...]

13

How to add balancer in scala 2.9 and akka 2.0.2

In Akka 2.0.2 authors change a procedure to set a load balance. Example to set router: val system = ActorSystem("HarvestSystem") val router = system.actorOf(Props[SiteTestActor].withRouter(RoundRobinRouter(nrOfInstances = testSiteWorkes))) implicit val timeout = Timeout (10 seconds) val countUrl=index.values.size val countDownUrl = new CountDownLatch(countUrl) var cnt=0 index.values.foreach(url =>{ Sys.info("HarvestActor::"+actorName,"Start site test "+cnt+": "+url.toString,4) cnt+=1 val futureTest=router ask SiteTestRequest(url.toString,testKeyWord,countDownUrl)

14

NetBeans 7.1.2 and complie JARs to single JAR

In build.xml add new target:                                                                                                                         […]

Windows Authentication w ASP.NET MVC 3

W jednej z aplikacji pojawiło się wymaganie: dodać windows authentication. Nic prostszego! Zmiana na IIS, dodanie w web.config, i działa, prawda? Ano nieprawda, jeśli aplikacja stworzona jest w MVC 3. Jak można poczytać tutaj, majkrosoftowa drużyna modelu, widoku i kontrolera utrudniła nam życie, bo… takie ustawienia zmieniają tyle, że po wejściu na [...]