W dzisiejszym poście powiem nieco więcej na temat kodu przedstawionego w poprzednim wpisie oraz pokaże fizyczny układ do testowania danego kodu wykorzystując studenckie Visual Studio 2013 Jak zapowiedział w poprzednim poście dziś omówię w bardziej szczegółowy sposób kod napisany w języku C, który wgrałem do swojego mikrokontrolera AVR. Nie tracąc waszego czasu przejdę do konkretów. Pierwszą funkcją jaką napisałem jest funkcja inicjalizująca UART. Dla przypomnienia: void uart_init (void) {...
Strona głównaUżytkownik
trismegista | użytkownik
Daj się poznać 2016 3194 dni, 2 godziny, 43 minuty temu 95 źrodło rozwiń
Z sobotę odbyła się łódzka konferencja GET.NET (o czym jeszcze napiszę), w trakcie której tuż przed moją, odbyła się prezentacja Procenta o Dependency Injection. Samo wystąpienie było świetne, a moją ciekawość podsyciła dodatkowo obietnica (powtórzona dwukrotnie) wyjaśnienia całego zamieszania wokół pojęć DI (Dependency Injecton i Inversion) oraz IoC. Jakie było moje rozczarowanie, gdy upragniony moment nadszedł, a Maciek skwitował wszystko zdaniem, że definicje nie są ważne. Oj wkurzyłam się… Pomyślała...
Sztuka programowania 3892 dni, 19 godzin, 9 minut temu 413 źrodło rozwiń
Over a year ago I created simple Windows 8 app: Pomidoro (the name ‘Pomodoro’ was already taken at the Windows Store). And yes, it is for applying The Pomodoro Technique. I published it to the Windows Store on January 7, 2013. The reason I created this app, was to learn Windows 8 Metro apps development. From time to time I receive e-mails that my app got some third party award or was reviewed by some website I have never heard about.
Post Sławka z przemyśleniami na temat prezentacji Wujka Boba. Jeżeli myśleliście, że Uncle Bob skończył się na Kill'em All, to zachęcam do obejrzenia prezentacji na temat profesjonalizmu....
Sztuka programowania 3928 dni, 19 godzin, 51 minut temu 344 źrodło rozwiń
Kilka wpisów wcześniej pisałem o atrybucie OutputCache. Dla prostych zastosowań sprawdza się dość dobrze, ale bardzo szybko można dostrzec jego ograniczenia i błędy. Przedstawmy najpierw kilka niedogodności związanych z OutputCache.
O projekcie Fody po raz pierwszy, usłyszałem dość dawno temu, ale dopiero ostatnia prezentacja Tomka na Wroc.NET uświadomiła mi jak fajny jest to projekt. Ja sam będę miał przyjemność prezentować Fody’ego w nadchodzącym tygodniu (na spotkaniu KGD.NET) a dzisiaj wstęp na blogu. Czym jest fody? Krótko mówiąc to framework, który umożliwia odpalanie własnych tkaczy modyfikujących kod już po kompilacji. Dzięki temu cały tzw. pluming code, możemy wyciągnąć z naszego kodu źródłowego do osobnych modułów.
Dzisiaj nie technicznie jednak temat bardzo ważny bo przecież połowę życia spędzamy w pracy. Tak połowę. Czas to najcenniejszy zasób jaki mamy (najcenniejszy asset jeśli pracujesz w korpo). Doba dla wszystkich ma tyle samo godzin, minut i sekund. Nikt na ziemi nie dostał go mniej lub więcej, wszyscy dokładnie tyle samo, jak w komunie.
Jak do tej pory, mimo że raczej ciągnie mnie w stronę UI, nie miałem za wiele styczności z czymś takim jak Bootstrap czyli framework służący do tworzenia „responsywnych” i z pudełka dostosowanych do obsługi na urządzeniach mobilnych interfejsów użytkownika. Do tej pory miałem tylko trochę do czynienia z jednym z bardziej popularnych „preprocesorów” CSS czyli z Less’em. Jednak to tak naprawdę dwie różne sprawy. Less jest fajny, bo rozszerza CSS o kilka przydatnych „ficzerów” takich jak zmienne, funkcje it...
Kiedyś już o tym pisałem pobieżnie (kilka lat temu), ale dzisiaj chciałbym pokazać inny przykład wraz ze wszystkimi możliwymi parametrami. Stwórzmy najpierw klasyczny formularz i kontroler: @using (Html.BeginForm()) { @Html.DropDownList("selectedGroup",new SelectList(new []{"All","GroupA","GroupB"})) <input type="submit" value="Refresh"> } Prosty formularz z ComboBox i przyciskiem, który powoduje ponowne załadowanie strony oraz wykonanie metody GetData z nowym parametrem:public ActionResul...
FileTable to kolejny mechanizm dostępny w SQL Server mający na celu ułatwić przechowywanie dużej ilości danych np. plików. W starych bazach danych, często przechowywano pliki osobno na serwerze, a baza danych zawierała wyłącznie wskaźniki do tych plików. Podejście powodowało problemy, w przypadku synchronizacji danych tzn. plików dostępnych na dysku a ich identyfikatorami w bazie. Zwykle nie było innego wyjścia, ponieważ przechowywanie dużej ilości danych w bazach (plików graficznych) nie było zbyt optym...
Bazy danych i XML 3903 dni, 2 godziny, 13 minut temu 198 źrodło rozwiń
W starszych wersjach .NET, do dyspozycji był m.in. strumień GZipStream. Do prostych zastosować wystarczał ale zwykle, trzeba było opakowywać go w swoje klasy, aby np. skompresować cały folder. Od .NET 4.5 mamy klasę ZipFile, która dostarcza kilka przydatnych metod. Najpierw należy dodać referencję do System.IO.Compression.FileSystem, a potem wystarczy skorzystać jednej ze statycznych metod...
There are a lot of discussions in the Internet about the sense of testing the code with private accessors. In my opinion all of the discussions coming from the wrong understanding of the topic. What is unit testing? It is a testing of units, not classes, not methods exposed by some API. The term private is supposed to be private to the consumer, not to unit tests. Let's have a look at it closer..
Sztuka programowania 3908 dni, 14 godzin, 46 minut temu 117 źrodło rozwiń
Od jakiegoś czasu nosiłem się z zamiarem rozpoczęcia na tym blogu jakiegoś cyklu wpisów – od czasu kiedy popełniłem serię wpisów przygotowujących do egzaminu MCSD: 70-480 minęło już trochę czasu… Zastanawiałem się trochę nad tematem i ostatecznie postanowiłem, że będzie to implementacja różnych wzorców projektowych w C#. Wiem, wiem… Temat wzorców jest dość podstawowy, jednak moim zdaniem fajnie będzie zebrać je wszystkie w jednym miejscu, a przy okazji uporządkować sobie trochę wiedzę na ich temat. Posta...
Sztuka programowania 3907 dni, 13 godzin, 39 minut temu 435 źrodło rozwiń
Powiedzmy, że potrzebujemy wyciągnąć PostCode użytkownika (a po drodze mamy jeszcze Address): string postCode = person.Address.PostCode.ToString(); Nie mamy pewności czy person nie jest nullem, a następnie czy person.Address nie jest nullem, a następnie person.Address.PostCode … . Aby się zabezpieczyć przed NullReferenceException musimy napisać trochę dodatkowego kodu, jak np: ...
Debugging is a lot like police forensics. You’re chasing the villain (bug) by analyzing eye-witness accounts (users’ reports), inspecting the crime scene (source code), and combing through often the most helpful resource: CCTV recordings (application logs), if only their quality allows. I got upset lately, looking for the needle in a stack of log spam: People who argue that it's "useful" to keep DEBUG level logging in produc...
Sztuka programowania 3899 dni, 16 godzin, 29 minut temu 208 źrodło rozwiń
Ostatnimi czasy dwa razy w swoich postach poruszałem temat narzędzia Bootstrap. Wspomniałem tam między innymi, że możliwe jest skonfigurowanie własnych zmiennych LESS, które możemy później używać we własnych tematach... Stwierdziłem więc, że skoro jestem już przy narzędziach takich jak Bootstrap, to warto również poruszyć ten temat i zrobić małe wprowadzenie do LESS. Jako, że temat jest dość obszerny, postanowiłem że napiszę dwa wpisy na ten temat i w kolejnym postaram się dokładniej przybliżyć możliwośc...
Synchronizacja i przechowywanie sesji może być bardzo niekorzystne dla wydajności aplikacji webowej. Wyobraźmy sobie, że użytkownik wywołuje kontroler kilkukrotnie w ramach tej samej sesji. ASP.NET MVC musi zadbać o to, aby sesja zawsze miała prawidłową wartość. Niestety jest to osiągane poprzez kolejkowanie zapytaniach w ramach tej samej sesji. Jeśli zatem wywołujemy dwukrotnie metodę A, nie zostanie to wykonane współbieżnie. Dobrą stroną takiego mechanizmu jest fakt, że zapis i odczyt sesji jest bezpie...
Microsoft stworzył narzędzie o nazwie modern.IE, które jest w stanie przetestować naszą stronę internetową i powiedzieć Nam co mamy w niej poprawić. Wykorzystując modern.IE możemy zobaczyć podgląd (zrzut ekranu) z różnych urządzeń i przeglądarek internetowych Naszej strony… bez posiadania tych urządzeń i prz...
Każdy programista wie, że jego kod świadczy o nim, jego wiedzy, doświadczeniu, zdeterminowaniu i otwartości na nowości. W poprzednim odcinku pokazywałem narzędzie, które analizuję stronę w momencie kiedy chcemy - jasno musimy oznaczyć początek-koniec, a efekt końcowy to dużo wykresów, literek I zestawień. ...
Internet Explorer w wersji 11 doczekał się narzędzia do badania responsywności aplikacji z uwzględnieniem tego jaki kod jest wykonywany i na jakim wątku. W tym celu stworzyłem trochę złośliwy kod, który liczy w pętli funkcje matematyczne: Po uruchomieniu aplikacji udajemy sie do narzędzi dla program...