Jest taka paleta kolorów – 16stu kolorów (8 podstawowych i ośmiu akcentów) podobno dobra dla wzroku. Używam od kliku dni i jak na razie jestem zadowolony – nawet trochę bardziej niż zadowolony. Paleta nazywa się solarized http://ethanschoonover.com/solarized Może Tobie też będzie odpowiadać. A teraz najpiękniejsza rzecz, odpowiednie pliki konfiguracyjne i instrukcja instalacji jest dostępna dla wszystkich edytorów/terminali jakie używam czyli: Visual Studio 2012 WebStorm Sub...
Odkrywam kawałek tajemnicy dla osób, które zamierzają tworzyć strony internetowe używane przez tysiące…. jednym z wąskich gardeł jest Baza Danych… sic! Nie będę się tu wdawał w kwestie budowania architektury, dobrej I złej. Bardziej chciałbym naświetlić pewien problem I możliwe rozwiązanie. Bazy danych w .NET Framework w większości (zakładam, że 99% przypadków), są obsługiwane przez mechanizm ADO.NET, a ten bazuje na ConnectionString do źródła danych, który jest zdefiniowany według wzoru zgodnego z bazą...
Sztuka programowania 4146 dni, 23 godziny, 44 minuty temu 200 źrodło rozwiń
Automated coded UI testing become very popular in the past few years. Its allow developers to create tests which are executed directly on UI level and simulate user actions. At the same time HTML5 become a standard for creating universal modern applications which can be hosts in a native browser controls. New model of creating applications brings a new challenges in the testing fields that's why in this post I want to present my solution (it takes me almost two days to get this working!) which is fir...
Mobile development 4148 dni, 54 minuty temu 75 źrodło rozwiń
Rozpoczynając korzystanie z edytora Visual Studio bardzo dotkliwie odczuwałem brak wspomagania dość prostej czynności jaką jest otaczanie nawiasami klamrowymi – analogicznie do edytora Delphi, który wspomaganie pisania konstrukcji begin … end realizował wzorcowo. Powodowany niedosytem dostępnych możliwości środowiska, odkryłem wkrótce darmowe narzędzie produkcji Microsoft o nazwie Productivity Power Tools rozszerzające VS o tę umiejętność, jak również o wiele innych. Postaram się przedstawić teraz więks...
W poprzednich wpisach omawialiśmy wewnętrzną implementację async\await. Dziś kolejne przykłady pokazujące, czego należy unikać aby optymalizować nasz kod. Jak wiemy, użycie await generuje masę kodu i niesie ze sobą alokację dodatkowych obiektów – maszyna stanów, wątki, wrappery itp. W zasadzie sama alokacja w .NET nie jest jakiś wielkim problemem i jest znacząco szybsza niż w językach niezarządzanych. Niestety, pomimo wielu optymalizacji dokonywanych przez GC, późniejsze ich zwolnienie jest czasochłonn...
Sztuka programowania 4148 dni, 54 minuty temu 117 źrodło rozwiń
Piękno ASP.NET MVC polega na tym, że prawie wszystko można wymienić, zamienić, przetestować… tyle tylko, że Ci goście z Microsoftu uwielbiają internal-e. Wszysko co się da dają jako internal a może nawet więcej. No i tyle byłoby z testowalności, ale do rzeczy. Piszę własny ControllerFactory ale nie zupełnie od zera. Chcę standardowej funkcjonalności ale też chcę ładować jak pluginy z luźnych dll-ek. Nic prostszego, wystarczy trochę zmodyfikować DefaultControllerFactory i jeśli standardowe...
Firmy to dziwne instytucje, czasem ich wymagania są tak dziwaczne, że trudno nadążyć i/lub sprostać. Już dawno przestało mnie dziwić, że w roku 2013 widzę w ofercie wykonania projektu potrzebę zgodności z Internet Explorer 6 (sic!), ale ostatnio w tych samych dokumentach pojawia się też druga wartość.. wersja 11, dobrze, że nie piszą nic o zgodności z wersją 2, 3 i 4, ale to może tylko kwestia szczęścia w otrzymywanych propozycjach. Co zrobić? Jak żyć? Gdzie zdobyć te dziwaczne wersje przeglądarek fir...
In the project, I am working with, there is a simple feature that imports data from external source. Import is only interested in new records. This condition is fulfilled with ‘DateTime’ comparision. Looks simple, Unfortunately I have encountered a nice ‘bug’.
Sztuka programowania 4148 dni, 19 godzin, 23 minuty temu 90 źrodło rozwiń
Tak się złożyło, że ostatnio dużo czasu w pracy spędzam nad MS SQL z wykorzystaniem SQL Management Studio 2012 i czuję mały niedosyt. Nie mówię, że edytor jest zły czy coś, ale przeglądanie informacji w oknie "Object Explorer" przy ~200 procedurach składowanych, ~100 funkcjach i 3-4 wyzwalaczach na każdą z tabel nie należy do przyjemności (nie wspominając już o straconym czasie). Tym bardziej jeżeli wchodzi się w głąb zależności pomiędzy obiektami, szaleństwo. Może gubią mnie moje przyzwyczajenia z Visua...
Bazy danych i XML 4149 dni, 18 godzin, 10 minut temu 104 źrodło rozwiń
Zacznijmy od synchronicznego kodu:internalclass Program { privatestaticvoid Main(string[] args) { ShortMethod1(); ShortMethod2(); ShortMethod3(); } privatestaticvoid ShortMethod1() { Console.WriteLine("1"); } privatestaticvoid ShortMethod2() { Console.WriteLine("2"); } privatestaticvoid ShortMethod3() { Console.WriteLine("3"); } } Mamy powyżej przykład 3 metod, które wykonują bardzo proste operacje. Nie są one zbyt skompl...
Sztuka programowania 4150 dni, 23 godziny, 9 minut temu 80 źrodło rozwiń
Ostatnio w pracy przygotowałem i prowadziłem małą prezentację dotyczącą frameworka RequireJS upraszczającego ładowanie plików i modułów. Postanowiłem więc podzielić się tym materiałem również tutaj na blogu. Uprzedzam, że nie będzie to post dla zaawansowanych a jedynie wprowadzenie - coś w rodzaju tutoriala "jak zacząć".
Pytanie “przechowywać, czy nie przechowywać” pojawia się praktycznie przy okazji każdego projektu, w którym trzeba przesłać coś więcej niż proste formy do i od użytkownika. Szkoły są dwie (plus hybryda, o czym za chwilę), jednak wybór, która w danym wypadku jest najlepsza zależy w dużej mierze od specyfiki samej aplikacji oraz rozwiązań technicznych użytych w projekcie.
Sztuka programowania 4153 dni, 9 godzin, 4 minuty temu 192 źrodło rozwiń
Zanim przejdziemy do pokazania przykładów jak optymalizować async\await najpierw trzeba zrozumieć implementację wewnętrzną w .NET. Bez tego ciężko będzie cokolwiek optymalizować. Na początku async\await wydawał mi się również czymś niezwykłym, a jak zacząłem zagłębiać się w kod IL, okazało się, że to bardzo prosty mechanizm i mógłby być napisany przez każdego z nas. Kod korzystający z async\await wygląda na synchroniczny. Pod spodem jednak są zwykłe callback’i – dokładnie tak jakby było to napisane w po...
Sztuka programowania 4153 dni, 17 godzin, 30 minut temu 163 źrodło rozwiń
W kolejnych kilku wpisach, zajmiemy się async\await ale od strony wydajnościowej. Jeśli ktoś nie wie do czego te słowa kluczowe służą, zachęcam przeczytać np. mój artykuł o programowaniu asynchronicznym w .NET 4.5. Sposób korzystania z async\await jest bardzo prosty. Do tego stopnia, że programowanie asynchroniczne wygląda w zasadzie tak jak synchroniczne podejście. W kodzie nie ma callback’ow a przepływ logiki wygląda na sekwencyjny. Niestety, trzeba być świadomym jakie pułapki czekają na programistów...
Sztuka programowania 4156 dni, 21 godzin, 57 minut temu 288 źrodło rozwiń
http://www.devday.pl/2013/Register Właśnie ruszyły zapisy na najlepszą w tej szerokości geograficznej konferencję dla developerów. Zapisy potrwają do 16-tego sierpnia. Dobrze zastanów się dlaczego to Ty powinieneś otrzymać zaproszenie bo lista uczestników jest bardzo zacna a będzie jeszcze bardziej zacna jak wszyscy prelegenci zostaną ogłoszeni To też może Cię zainteresować:DevDay – ruszają zapisyDevDay–konferencja na którą mogę jeździć co miesiącHTTP Caching 101 – wideo prawie z D...
Opublikowano W poniedziałek pisałem, że nie testowałem scriptcs-sublime. To się już zmieniło. Zainstalowałem i działa. Co więcej zainstalowałem drugi plugin build-with-input a to wszystko po to aby móc do skryptu przesłać coś za pomocą klawiatury bezpośrednio z poziomu samego sublime text-a.Instalacja: w konsoli gita teleportuję się do C:\Users[uzytkownik]\AppData\Roaming\Sublime Text 2\Packages i wpisujemy magiczne znaki runiczne: git clone https://github.com/scriptcs/scriptcs-sublime.git oraz gi...
Dzisiaj na szybko wrócimy z powrotem do tematu TPL Data Flows. Jakiś czas temu pisałem o różnych blokach w TPL DataFlows. Nie opisałem jednak TransformManyBlock. TransformManyBlock jest analogiczny do TransformBlock z tym, że na wyjściu jest kolekcja więc możliwe jest zwrócenie kilku wartości. TransformBlock służył wyłącznie do przetworzenia parametru i zwrócenia pojedynczego wyniku. Ktoś może zapytać, czy to nie to samo co przekazanie jako typu generycznego IEnumerable do TransformBlock – też wtedy na...
Sztuka programowania 4158 dni, 12 godzin, 55 minut temu 47 źrodło rozwiń
Opublikowano O ScriptCS było głośno kilka miesięcy temu (bodajże w marcu) gdy pojawił się na .netowej scenie. W dużym skrócie jest to uskryptowiona wersja C#-a. To powoduje, że jeśli chcemy zbudował/przetestować kawałek kodu, nie musimy odpalać całego Visuala. Wystarczy napisać: Console.WriteLine(“hello scriptcs”) i powinno się wykonać (tak – na końcu nawet nie ma średnika). Do wykonania powyższego będziemy potrzebowali najnowszych źródeł ScriptCS-a https://github.com/scriptcs/scriptcs któr...
W sprawie wydajności wyjątków można znaleźć wiele opinii, często sprzecznych ze sobą. W dzisiejszym wpisie przedstawię kilka programików, mających na celu, wyjaśnienie jaki wpływ mają wyjątki oraz ich łapanie na wydajność aplikacji. Zacznijmy od przykładów a potem przejdziemy do analizy wyników. Kod z wyrzucaniem wyjątków: internalclass Program { privatestaticvoid Main(string[] args) { constint n =20000; Stopwatch stopwatch = Stopwatch.StartNew(); for (int i =0; i < n;="" i+...
Sztuka programowania 4162 dni, 38 minut temu 285 źrodło rozwiń
And how are you defining your variables?
Sztuka programowania 4163 dni, 4 minuty temu 207 źrodło rozwiń