Dziś rozpoczniemy zapoznawanie się z kolejnym celem jakim jest umiejętność zmieniania styli elementów HTML za pomocą JavaScript. Nauczymy się więc jak zmienić pozycję elementów, poznamy możliwości transformacji w CSS3 (to w kolejnym odcinku), a także dowiemy się jak ukrywać i pokazywać kontrolki.
Dzisiaj kontynuować będziemy temat kontrolek multimedialnych w HTML5. Tym razem zajmiemy się możliwością programowania funkcji odtwarzacza multimediów, który pojawia się w przeglądarce gdy osadzimy plik audio lub wideo w dokumencie HTML. Dodamy przycisk 'Play/Pause', obsłużymy sterowanie dźwiękiem i paskiem postępu. Ponadto zajmiemy się możliwością tworzenia list odtwarzania. Na początek przykład osadzenia filmu w dokumencie HTML, na którym będziemy pracować (dla skrócenia posta, skupię się tylko na zn...
O długu technologicznym ciąg dalszy. Tym razem będzie o managemencie czyli o wszelkich kierownikach, dyrektorach, leadach, dev leadach, pm-ach, project i product managerach i wszystkich innych, którzy mają pozycję decyzyjną. Przez to rozumiem wszystkie te osoby, które między innymi powiedzieć kiedy będzie nowa wersja i co w jej zakres wchodzi. Wydawało Ci się, że to tylko lenistwo programistów wpędza zespoły w długi? Otóż nie. Nie mały wkład w to ma management (zarząd w j. polskim ma troc...
Me z .NET tete-a-tete » Nadeszła pora na cykl publikacji: „Historia pewnej refaktoryzacji”. Część 7.
Zgodnie z zapowiedzią z poprzedniej części, pora przystąpić do definiowania stosownych interfejsów. Zaczniemy od interfejsu wyboru pliku – zgodnie z planem, który ukształtował się w trakcie dotychczasowych rozważań. Jak powinien wyglądać taki interfejs? Jak wiadomo interfejsy definiują pewien zakres funkcjonalności, specyfikują: potrafię robić takie, a nie inne rzeczy – to są moje umiejętności. Jakie powinny być zatem umiejętności interfejsu wyboru pliku? Przyjrzyjmy się dowolnej z czterech metod i ...
Sztuka programowania 4332 dni, 6 godzin, 12 minut temu 50 źrodło rozwiń
W poprzednim artykule jako jeden z pierwszych składników długu technologicznego podałem wersję narzędzi. Dzisiaj będzie trochę szerzej o tym. Używanie starych narzędzi ma kilka dosyć poważnch skutków.Odcinanie się od lepszych narzędzi Pierwszy to odcinanie się od nowych zabawek, które pozwoliły by tworzyć lepsze produkty. Korzystając z .net 1.1 nie było wsparcia dla typów generycznych dzięki czemu zamiast stworzyć typ generyczny trzeba było czasem nawet pokopiować trochę kodu. Zamiast sk...
W NuGet fajne jest to, że jeżeli w firmie tworzycie paczki, których nie chcecie upubliczniać to macie taką możliwość. Ja ostatnio przekonałem częściowo firmę by z tego skorzystała, i zamiast mieć referencje po katalogach (co wymaga by każdy miał zgodną strukturę katalogów) lub referencje poprzez duplikowanie projektów, miała własny serwer NuGet do którego będziemy publikować paczki dla naszych lokalnych projektów.
Producenci kontrolek lubią kiedy kupujemy kontrolki bo mają z tego pieniądze, nierzadko duże pieniądze. Jeszcze bardziej cieszą się jak podziedziczymy po ich kontrolkach. Wtedy jesteśmy ich, na zawsze. Jesteśmy jak narkoman w rękach dilera. Dlaczego? Ano dlatego, że jeśli odziedziczymy coś po jakiejś kontrolce lub bibliotece, a jeszcze lepiej jeśli kawałek kodu, który dziedziczy należy do logiki biznesowej lub logiki aplikacji to późniejsza zmiana kontrolki wiąże się z przerobieniem większ...
OData to protokół stworzony przez Microsoft, służący przesyłaniu danych za pomocą protokołu HTTP. Obsługuje następujące metody: GET - selekcja danych (SELECT), POST - wysyłanie danych (INSERT), PUT - uaktualnianie (UPDATE), DELETE - usuwanie danych
Używając LINQ2SQL oraz Entity Framework możemy na bieżąco monitorować wysyłane zapytania do bazy danych. Aby logować zapytania wysyłane przez LINQ2SQL należy na obiekcie DataContext ustawić właściwość Log. Przypisać do niej możemy dowolny obiekt klasy dziedziczącej po TextWriter.
Rozpocząłem pisanie nowego cyklu artykułów, tym razem o wydajności w C#. Pierwsza część właśnie została opublikowana i zawiera przede wszystkim wprowadzenie do tematu oraz kilka konkretnych przykładów. Kolejne części już wkrótce i będą prezentowały poszczególne konstrukcje w C#. Na blogu już pisałem niejednokrotnie o wydajności w C#, ale artykuł oprócz tego co już tutaj zostało napisane, zawiera dodatkowe informacje i przykłady. Dla tych co nie czytali blog’a myślę, że taki cykl stanowi po prostu kompend...
Sztuka programowania 4334 dni, 20 godzin, 52 minuty temu 335 źrodło rozwiń
Słowo się rzekło, kobyłka u płota... Przygotowania do egzaminu 70-480 (w ramach certyfikacji MCSD Web Application) czas zacząć!! W moim poprzednim poście - MCSD Web Applications - parę uwag i przemyśleń na temat egzaminu 70-480 - przedstawiłem kilka linków do materiałów przygotowujących do tego egzaminu. Po bliższym przyjrzeniu się im, wydaje mi się, że najlepszą robotę zrobił autor bloga Blogged By Chris, dlatego moje przygotowania w głównej mierze chcę oprzeć na materiałach podanych w przytoczonym link...
Tak jak obiecałem w ostatnim poście, dziś kolejna odsłona zapisków z moich przygotowań do egzaminu 70-480. Dzisiejszy post poświęcony będzie kontrolkom multimedialnym wprowadzonym w HTML5 - Możliwe jest również, podanie więcej niż jednego źródła pliku - robi się to w następujący sposób: 1 Jest to o tyle istotne, że oczywiście nie ma jednego standardowego formatu wyświetlania wideo na stronach www. Na szczęście nie jest tak źle - większość popularnych przeglądarek internetowych zapewnia obsługę jednego...
Dziś kolejna odsłona moich zapisków z przygotowań do egzaminu MCSD: 70-480, zajmiemy się podstawami JavaScript. Wykorzystamy ten język do prostych manipulacji elementami interfejsu użytkownika. Na początek jeszcze, celem uściślenia - tytuł dzisiejszego posta, to tłumaczenie kolejnego naukowego celu, jaki należy opanować aby zdać rzeczony egzamin: "Write code that interacts with UI controls.This objective may include but is not limited to: programmatically add and modify HTML elements; implement media c...
W wielu zespołach jest “guru”, który decyduje o architekturze, praktykach, narzędziach itd. Reszta zespołu, prawdopodobnie mniej doświadczona, podąża wytyczonymi przez niego ścieżkami. System się buduje, każdy klepie swoje, mijają miesiące, kolejne ficzery “się dodają”… a rozwój zespołu stoi w miejscu.
Me z .NET tete-a-tete » Nadeszła pora na cykl publikacji: „Historia pewnej refaktoryzacji”. Część 2.
Co należy w pierwszej kolejności zrobić z kodem opublikowanym w pierwszej części? Skoro ma on ulegać zmianom, dobrze by było, aby nie odbywały się one w dotychczasowym pliku przechowującym kod, ale w pliku dedykowanym tylko tym zmianom. Należy zatem przenieść kod, który będzie modyfikowany do innego pliku. Myli się jednak ten, kto myśli, że wykorzystana zostanie do tego...
Sztuka programowania 4336 dni, 8 godzin, 34 minuty temu 106 źrodło rozwiń
Me z .NET tete-a-tete » Nadeszła pora na cykl publikacji: „Historia pewnej refaktoryzacji”. Część 1.
Dawno, dawno temu, kiedy graficzne środowisko Windows zaczęło pretendować do miana systemu, powstały także środowiska dla programistów realizujące ideę RAD, czyli Rapid Application Developmnent, co w tłumaczeniu na polski oznaczało szybkie tworzenie aplikacji. W Windows – początkowo – istniały dwa takie środowiska: Visual Basic i Delphi. Po jakimś czasie pojawiły się kolejne. Ale nie to było istotne, a fakt, że nieświadomie narodził się także nowy styl programowania...
Sztuka programowania 4336 dni, 8 godzin, 34 minuty temu 98 źrodło rozwiń
Pisząc aplikacje oparte o ASP.NET MVC często korzystamy z wielu dodatkowych bibliotek/frameworków usprawniających naszą pracę. Czasem jednak zdarza się, że zatrzymujemy się zaczynamy zastanawiać, jaką cenę musimy zapłacić za wszystkie te dodatki? Poniżej postaram się przedstawić listę najczęstszych problemów oraz najlepsze biblioteki służące ich wydajnemu rozwiązaniu.
Me z .NET tete-a-tete » Nadeszła pora na cykl publikacji: „Historia pewnej refaktoryzacji”. Część 4.
W poprzedniej części niniejszego cyklu mimo usilnych starań nie udało się doprowadzić do przygotowania testów mających kontrolować refaktoryzowany kod. W tej części – mogę to obiecać – testy wreszcie powstaną. Przygotowania testów, zniweczyło występowanie we wszystkich czterech metodach wywołania statycznej metody Show() klasy MessageBox. Co począć z tym wywołaniem? Najbezpieczniejszym rozwiązaniem będzie ...
Sztuka programowania 4336 dni, 22 godziny, 9 minut temu 53 źrodło rozwiń
Me z .NET tete-a-tete » Nadeszła pora na cykl publikacji: „Historia pewnej refaktoryzacji”. Część 5.
W tej części cyklu przygotujemy testy dla wszystkich metod klasy MethodObject, ale najpierw musimy znaleźć powód niezaliczania pierwszego z przygotowanych testów – testu metody ImportCSV(). Najszybszym i najprostszym sposobem będzie skorzystanie z uruchamiania krokowego, skoro test nie jest zaliczany, to pierwszym, co należy sprawdzić jest kryterium jego zaliczania. Sprawdzimy zatem czy ...
Sztuka programowania 4336 dni, 22 godziny, 9 minut temu 94 źrodło rozwiń
Me z .NET tete-a-tete » Nadeszła pora na cykl publikacji: „Historia pewnej refaktoryzacji”. Część 3.
Dotychczasowe działania refaktoryzacyjne doprowadziły do wydzielenia refaktoryzowanego kodu do oddzielnej klasy, w oddzielnym pliku. Aby bezpiecznie przeprowadzić dalsze modyfikacje konieczne jest uzyskanie wiarygodnego mechanizmu weryfikującego ich poprawność. Po prostu potrzebne są testy. W jaki sposób przetestować metody importujące dane? Najlepiej dokonać za ich pomocą importu i sprawdzić czy zaimportowany plik daje oczekiwane dane. Przyglądając się poszczególnym metodom można zauważyć, że wszystkie ...
Sztuka programowania 4336 dni, 22 godziny, 9 minut temu 105 źrodło rozwiń