gMetrix - diagnostyka mocy silnika samochodu

Develoment blog

Pierwsze testy za nami 

Posted by Blog gMetrix Sunday, August 30, 2009 7:28:09 PM

Ostatnio zabraliśmy się ostrzej za testowanie gMetrix. Mierzyliśmy moc silnika i jego obroty w naprawdę różnych autach. Niektóre z nich to leciwe staruszki, ale oczywiście skupiamy się również (a może przede wszystkim) na tych najnowszych modelach. Zdradzę jedynie na razie, że zarówno na 15letnim BMW 318, 9letnim subaru forester, a także na nowym audi a4 - gMetrix zdaje egzamin.

Sądzę, że w najbliższej przyszłości będę mógł umieścić pierwsze wykresy, podobne do tych z hamowni...

Wyniki z hamownii 

Posted by Blog gMetrix Monday, July 27, 2009 9:06:39 PM

Właśnie wróciliśmy z hamowni. Wyniki poniżej. Ku naszemu zdziwieniu maksymalna moc silnika wyniosła aż 65 KM przy 170Nm momentu obrotowego.

To teraz proponuję konkurs: jakie to auto? :) Wiadomo, że Volkswagen...

Intelligent Solutions 

Posted by Blog gMetrix Sunday, June 28, 2009 8:18:47 PM

W Intelligent Solutions zajmujemy się nie tylko tworzeniem i projektowaniem układów elektronicznych, takich jak gMetrix właśnie, ale również stron i portali internetowych oraz aplikacji desktopowych (dla Windows i Linux). W szczególności potrafimy zintegrować niskopoziomowe system elektroniczne z aplikacjami przyjaznymi dla użytkownika.

Jeśli poszukujesz odpowiedzialnej firmy do zrealizowania Twoich pomysłów - skontaktuj się z nami, a postaramy się pomóc w realizacji Twoich celów.

Zdjęcia działającego gMetrix 

Posted by Blog gMetrix Saturday, June 20, 2009 11:51:20 AM

I wreszcie zdjęcia działającego gMetrix - wyświetlacz pokryty jest folią, stąd te rysy i białe plamy:

menu główne  edycja masy całkowitej 
edycja masy całkowitej  edycja ustawień wyświetlacza 

Jak widać wciąż eksperymentujemy z czcionkami (menu główne ma inną niż pozostałe). Chcemy, aby menu było maksymalnie intuicyjne i proste w użyciu, dlatego zdecydowaliśmy się na menu w klasycznym stylu Nokii.

Zrzuty ekranu aplikacji gMetrix (beta) 

Posted by Blog gMetrix Monday, June 15, 2009 7:27:36 PM

Po pierwszych zdjęciach samego prototypu gMetrix, poniżej znajdują się screeny z pierwszej wersji aplikacji gMetrix (w fazie nie ma co ukrywać wczesnej bety):

ekran powitalny  wybór profilu  konfiguracja samochodów użytkownika

Nie ma obawy, będzie też po polsku.

Pierwsze zdjęcia gMetrix 

Posted by Blog gMetrix Friday, June 12, 2009 8:53:00 AM

Pierwsze zdjęcia prototypu gMetrix:

prototyp gMetrix  prototyp gMetrix

Viewstate w asp.net 

Posted by Blog gMetrix Tuesday, June 09, 2009 9:18:00 AM

Viewstate w asp.net to prawdziwe przekleństwo. Rośnie jak rak na stronie, zazwyczaj w zastraszającym tempie. Tak naprawdę jednak w 90% można go po prostu wyłączyć (albo poważnie ograniczyć), szczególnie jeśli dotyczy on takich kontrolek jak TextBox, Checkbox itp - w skrócie tych wszystkich kontrolek, które przekazują swoje wartości przez post formy (po zdarzeniu Init, ale przed Load, tak jak to widać na cyklu życia strony w asp.net).

Przyznam, że jestem zwolennikiem wyłączania viewstate gdzie tylko się da. GridView to jedna z tych kontrolek, która jest szczególnie łakoma na viewstate: każdy wiersz zawierający nawet tylko asp:HyperLink czy Label potrafi dorzucić tam swoje 3 grosze, jeśli tylko kontrolka ta jest DataBindowana.

Przykładowo, dla takiego wiersza:

<asp:TemplateField>
   <ItemTemplate>
   <asp:HyperLink id="_edit" runat="server" Text="Link"
       NavigateUrl='<%# "/Edit.aspx?id=" + Eval("Id") %>'> </asp:HyperLink>
   </ItemTemplate>
</asp:TemplateFiel>

Hyperlink '_edit' zapamięta swój url w viewstate. Prawdopodobnie zupełnie niepotrzebnie. Dzieje się tak dlatego, ponieważ viewstate śledzi zmiany jakie w nim zachodzą, zapisuje je a następnie odczytuje przy kolejnym przeładowaniu. Więcej na ten temat i jak z tym walczyć znajduje się na stronie właśnie poświęconej problemom z viewstatem. Polecam, długa lektura lecz bardzo pouczająca.

To, czego natomiast nigdzie nie znalazłem, to informacja, że nawet w takim przypadku:

<asp:TemplateField>
   <ItemTemplate>
      <%# Eval("Id") %>
   </ItemTemplate>
</asp:TemplateFiel>

viewstate dla tego wiersza jest również zapisywany! Sprawdź, włącz Trace na stronie i sam się przekonaj. Dziwne? Trochę. Na szczęście wystarczy zamienić to na:

<asp:TemplateField>
   <ItemTemplate>
      <asp:Literal runat="server" enableviewstate="false" Text='<%# Eval("Id") %>' />
   </ItemTemplate>
</asp:TemplateField>

I po kłopocie.

A co to ma wspólnego z gMetrix? W trakcie budowy tej strony internetowej natknąłem się właśnie na taką sytuację i postanowiłem się tą informacją podzielić :)

SQLite zamiast fopen 

Posted by Blog gMetrix Sunday, June 07, 2009 8:44:00 PM

 fopen akurat nie wchodzi w grę, ale na pewno jakiś odpowiednik .net bądź serializacja obiektów już tak. A chodzi o zapis i odczyt danych w aplikacji: danych użytkownika, jego preferencji, ustawień dla samochodów, pomiarów mocy silnika itp

Jak zwykle największy problem występuje w momencie gdy model (tj obiekty reprezentujące jakiś zbiór danych np obiekt Profil zawiera takie właściwości jak email, imię itp) ulegnie zmianie, np dojdzie jakaś nowa właściwość. Jasne, można kombinować, wersjonować przy serializacji albo coś podobnego. I nawet pewnie to zadziała. Ale moim zdaniem można prościej i lepiej. Bardziej bazodanowo. Zwłaszcza, że gdy dużo się przebywa w środowisku aplikacji webowych to siłą rzeczy człowiek się do tego przyzwyczaja.

Tak właśnie trafiłem na SQLite. Już kiedyś, wcześniej gdzieś o niej czytałem, ale nie miałem wtedy okazji jej wypróbować. To prosta w obsłudze jednoplikowa baza danych, niewymagająca żadnej instalacji czy konfiguracji. Co więcej, istnieje bardzo poręczny provider do ado.net, dzięki czemu używanie SQLite w .net jest praktycznie identyczne jak z np MSSQL.

Muszę przyznać, że sprawdza się bardzo dobrze. Dodatkowo jak ktoś bardzo chce, może próbować połączyć to z nHibernate. W naszym przypadku, aplikacji gMetrix, wydaje się to być akurat niepotrzebne (samo assembly nHibernate zajmuje ok 1MB). Zamiast tego, aby ułatwić sobie życie, napisałem prościutkie biblioteki w C# do obsługi DAO i DTO (takie ORM), właśnie do użycia m.in. z SQLite i MSSQL2005/2008. Pewnie wkrótce gdzieś je wrzucę do ściągnięcia.

Interfejs użytkownika w aplikacji gMetrix 

Posted by Blog gMetrix Friday, June 05, 2009 1:12:00 PM

Tworząc aplikację na PC do obsługi gMetrix długo myślałem nad jakimś niecodziennym, ale jednocześnie jak najbardziej użytecznym interfejsem użytkownika. Dodatkowo chciałem, aby w sposób oczywisty aplikacja nawiązywała do strony gMetrix - w końcu będziemy ze sobą łączyć te dwa światy (desktop i stronę internetową).

Na początek główne menu. Pierwsze podejście nie wyglądało zbyt zachęcająco:

Pierwsze menu gMetrix

Ok, może nie jest to faktyczna aplikacja, ale tak mniej więcej by wyglądała. Niedobrze.

Fakt faktem, że ostatnio na topie jest menu w stylu nowego office 2007, tzw ribbon bar. Na bazie tego patentu, powstało coś takiego:

Samo takie menu już wygląda lepiej niż takie zwykle, standardowe. A na pewno jest przejrzyste i intuicyjne.

Nowa strona gMetrix 

Posted by Blog gMetrix Tuesday, June 02, 2009 12:40:47 PM

Witam na nowej stronie po krótkiej przerwie nieobecności w sieci.

Mimo, że strona wygląda prawie identycznie jak wcześniej, to jednak jej silnik się znacząco zmienił - oparta jest na porządnym CMS napisanym w asp.net. To tak tylko w celach informacyjnych :)

Najważniejsze jest jednak to, że cały czas pracowaliśmy i pracujemy nad jak najszybszym uruchomieniem prototypu. W tym blogu będziemy pisać właśnie o tym i o rzeczach z tychm związanych. Mamy nadzieję, że będziecie mogli już wkrótce sprawdzić ile macie koni mechanicznych i momentu obrotowego w swoich autach za pomocą gMetrix.

Zapraszamy do regularnego odwiedzania naszej strony!

Copyright gMetrix