Ostatnio zderzyłem się z problemem transakcyjnej pamięci (STM) i właściwie brakiem dostępnych implementacji w C# (poza NSTM). Różne wariacje na temat które powstały przez lata w stajni Microsoftu nie doczekały się do dnia dzisiejszego funkcjonującej implementacji (głównie dlatego, że zdecydowano – całkiem rozsądnie – że wsparcie dla tego mechanizmu powinno być na poziomie CLR). Dla osób zainteresowanych tematem przedstawię w skrócie moją implementację, zapewne nie pozbawioną wad, jednak mającą jedną zasadniczą zaletę – prostotę implementacji i użycia. Zatem zapraszam do lektury ![]()
Continue reading »
Mała zmiana tematu po kilku miesiącach – opowiem dziś coś niecoś o technologiach ze stajni Microsoftu i związanych z nimi wzorcami. A tak konkretniej to będzie to (bodajże najpopularniejszy) wzorzec związany z Silverlight i Windows Presentation Foundation (WPF) – czyli MVVM. Opowiem jaka powinna być (moim skromnym zdaniem) kolejność tworzenia poszczególnych warstw, co postaram się poprzeć „dowodami”, nie koniecznie formalnymi
Opowiem również o związanych z implementacją wzorca problemach i być może nawet o rozwiązaniach tych problemów. Continue reading »
Tak jak obiecałem we wcześniejszym wpisie napiszę kilka słów o konfiguracji debuggera w Aptana Studio 3 – czyli Eclipse z „wbudowanym” PyDev i kilkoma innymi przydatnymi dodatkami. Wprawdzie temat tyczy się głównie Django, jednak konfiguracja dla innych framework’ów czy technologii dla Pythona jest zbliżona. Całość sprowadza się do kilku kliknięć, ewentualnie wpisania kilku znaków, więc myślę, że nie powinno być z tym problemów. A więc zaczynamy!
Continue reading »
Jako że temat rozpoczynania (tudzież rozwijania) swojego biznesu jest u mnie chlebem powszednim, stwierdziłem, że pora napisać kilka słów na ten temat. Słów (mam nadzieję) pomocnych dla potomnych, aczkolwiek na pewno nie tych z kategorii motywujących. Otóż powiem pokrótce o kilku sprawach, o których warto pamiętać, a o których wielu ambitnych ludzi zapomina, przeceniając swoje możliwości – twórcze i finansowe.
Continue reading »
Tak jak wcześniej obiecałem postaram się napisać kilka słów o wsparciu dla sprzętu zainstalowanego w ThinPadzie L412 pod Linuksem (konkretnie pod Ubuntu 10.10 Maverick Meerkat). Skoncentruję się oczywiście na tym, czego zwykle używam, ale postaram się opisać możliwie wszystkie elementy, które udało mi się w jakikolwiek sposób przetestować. A więc zaczynamy!
Przez ostatni miesiąc dość dużo czasu spędziłem na nauce frameworka Django. Po ponad 8 latach tworzenia stron w PHP (pierwsze jeszcze w czasach PHP3) stwierdziłem, że pora poszerzyć horyzonty i zobaczyć, dlaczego inne technologie zyskują tak dużą popularność. W przedbiegach z wyścigu odpadł RoR – głównie ze względu na moją niechęć do samego Rubyego (przecież Python jest ładniejszy…). Na placu boju pozostały ASP.NET MVC i Django. I o ile sam C# jako język całkiem mi się podoba, o tyle rozwiązania Microsoftowe ogólnie już nie tak bardzo, nawet mimo tego, iż mógłbym ASP hostować na VPS-ie z Linuksem (poprzez Mono). W związku z tym wybór padł na Django. I tak się zaczyna cała historia…;-)
Ponieważ mój dotychczasowy laptop (Lenovo G550) nie do końca spełniał moje wymagania co do wydajności, postanowiłem coś z tym fantem zrobić. Miałem dwie opcje – upgrade dotychczasowego (co było ograniczone ze względu na limit 4 GB RAM i przeciętnej wydajności procesor Pentium T4200) lub zakup nowego. Wybrałem opcję numer dwa.
Continue reading »
Ostatnio poszukiwałem magicznego wzoru na wyliczenie procentu rabatu przy kaskadowym naliczaniu kolejnych rabatów jednostkowych. Jednak tym razem wujek Google nie był zbyt pomocny, po kilku stronach się poddałem i postanowiłem skorzystać z pomocy królowej nauk – matematyki. W ten oto sposób otrzymałem prosty wzór na wyliczenie końcowego rabatu bez względu na liczbę kolejnych naliczanych rabatów. Oto i on:

Legenda:
Rk : końcowy procent rabatu wyliczony kaskadowo
R1 … Rn : kolejne rabaty do wyliczenia
Dla niezorientowanych: kaskadowy sposób naliczania rabatów polega na tym, że każdy kolejny rabat liczony jest od ceny umniejszonej o dotychczas naliczone rabaty. Dzięki temu sprzedawca zyskuje nawet kilka cennych procent ze swojej wyjściowej ceny
Mam nadzieję, że wzór przyda się tej mniej matematycznie myślącej części społeczeństwa (większości?), choć oczywiście zachęcam do samodzielnego wysilenia szarych komórek.
Or is it?




Najnowsze komentarze