czwartek, 29 września 2011

Problem z powolnym działaniem kontrolki dataGriedVIew


Przedstawione rozwiązanie dotyczy problemu związanego z kontrolką WindowsForms – dataGridView.

Wiązanie danych z baz SQL-owych (Binding data) do kontrolki dataGridView przy dużej ilości rekordów powoduje spore opóźnienie podczas ładowania danych dochodzące do nawet kilkudziesięciu sekund oraz duże spowolnienie działania samej kontrolki np. brak płynności podczas przewijania tabeli z danymi.

Rozwiązaniem tego problemu jest dodanie podwójnego buforowania danych.
W tym celu należy dodać nową statyczną klasę do swojej aplikacji, którą nazywamy np. DoubleBuffer edGridView().

Klasa przedstawia się następująco:

using System;
using System.Text;
using System.Reflection;
using System.Windows.Forms;

namespace DziennikKancelaryjny // Wpisujemy swoją przestrzeń nazw
{
    public static class DoubleBufferedGridView
    {
        public static void DoubleBuffered(this DataGridView datagridview, bool set)
        {
            Type datagridviewType = datagridview.GetType();
            PropertyInfo propertyinf = datagridviewType.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);
            propertyinf.SetValue(datagridview, set, null);
        }
    }
}

Następnie dodajemy nasze buforowanie dla docelowego dataGriedView tak, aby wywoływało się podczas uruchamiania aplikacji: 

dataGridView1.DoubleBuffered(true); 

To wszystko :) Od teraz możesz się cieszyć szybkim ładowanie swojej kontrolki w około 1 sekundę ;)

Rozwiązanie jest banalne, a o ile ułatwia życie.

VLAN (Virtual Local Area Network), czyli wirtualna sieć LAN

VLAN (Virtual Local Area Network), czyli wirtualna sieć LAN


Autorem artykułu jest Sebastian Rabenda




Coraz częściej wykorzystuje się VLAN'y w firmach, biurach, czy nawet szkołach. Coraz częściej się o nich mówi... Lecz co to tak naprawdę jest i czemu to ma nam służyć? Ułatwmy sobię (administratorom) pracę i stwórzmy sieć łatwiejszą do konfiguracji.



1.Czym jest VLAN?


VLAN to zbiór urządzeń pracujących w różnych wirtualnych podsieciach. Wykorzystuje się je do odseparowania ruchu pomiędzy niektórymi hostami oraz ograniczenia ruchu rozgłoszeniowego. Żadna ramka wysłana w danym VLAN'ie nie jest w stanie dotrzeć do innego VLAN'u bez dodatkowych urządzeń, czyli w tym przypadku routera. VLAN znajduje także zastosowanie przy wprowadzaniu zmian w topologii sieci. Dla zilustrowania tej funkcji wyobraźmy sobie następującą sytuację: W dużej firmie pracownik zmienia stanowisko pracy. Dzięki VLAN-owi administrator nie musi przepinać kabli w celu podłączenia ich do odpowiednich portów. Wystarcza jedynie kilka komend pozwalających na przypisanie nowego stanowiska pracy do odpowiedniej podsieci.


2.Konfiguracja i rodzaje VLAN'ów


VLAN'y działają na drugiej warstwie ISO/OSI (adresy MAC). Oznacza to, że konfigurujemy je na Switch'ach (przełącznikach). Routery wspomniane w pkt. 1 działają natomiast w trzeciej warstwie ISO/OSI (adresy IP).


VLAN'y dzielimy na statyczne i dynamiczne:
- VLAN'y statyczne pozwalają administratorowi na przypisanie na przełączniku danego VLAN'u danemu portowi. Użytkownik nie mający dostępu do Switch'a nie jest w stanie tego zmienić.
- VLAN'y dynamiczne umożliwiają przypisanie VLANowi danego MAC adresu, Oznacza to, że administrator tworzy tablice MAC adresową na przełączniku, w których spisuje, który VLAN przypisać danemu MAC adresowi.



Jak już wspomniałem wyżej Switche działają na warstwie drugiej modelu ISO/OSI, zaś routery na warstwie trzeciej. Dzięki temu możemy wykorzystać routery do łączenia ze sobą różnych VLAN'ów zachowując separację w danej domenie rozgłoszeniowej.



---

Sebastian Rabenda

www.komputerowe-sieci.pl



Artykuł pochodzi z serwisu www.Artelis.pl

Sieci bezprzewodowe 5 GHz

Sieci bezprzewodowe 5 GHz


Autorem artykułu jest Anna Skiba




W nielicencjonowanym paśmie 5GHz działają sieci bezprzewodowe 802.11a. Mogą być stosowane wewnątrz i na zewnątrz budynków. Często stosowane są do połączeń punkt-punkt i szkieletu sieci.

Pasmo to dzieli się na kilka podzakresów, które różnią się dopuszczalnymi mocami EIRP. Najpopularniejszy jest zakres 5,47 ÷ 5,75 GHz, w którym można emitować moce do 30 dBm (1W). W tym zakresie dostępnych jest 11 nie zachodzących na siebie kanałów (w paśmie 2,4GHz tylko 3). Większa liczba kanałów, mniejsza ilość sprzętu działającego w tym paśmie oraz charakterystyka 802.11a sprawia, że sieci tego typu są przeważnie stosowane do budowy szybkich łączy punkt-punkt i punkt-wielopunkt.


Możliwości sieci radiowych 5 GHz


Urządzenia w tym standardzie oferują przepustowości rzędu 20Mb/s. Najczęściej w paśmie 5GHz tworzony jest szkielet sieci, który służy do połączenia kilku stacji bazowych 2,4GHz w jedną strukturę podłączoną do Internetu. Pasmo 5GHz może być także wykorzystywane do dostarczenia sygnału do użytkownika końcowego. Jednak koszt urządzeń klienckich 5GHz jest stosunkowo większy od urządzeń klienckich na 2,4 GHz. Dlatego zwykle łącza 5GHz doprowadza się do użytkowników wymagających dużych przepustowości lub np. do bloków, gdzie sygnał dystrybuowany jest już przez sieć LAN do użytkowników końcowych.


Należy jednak pamiętać, że pasmo 5GHz to pasmo nielicencjonowane. Konsekwencją tego jest duże prawdopodobieństwo zakłócania pracy urządzenia radiowego przez inne urządzenia tego typu. Stąd w przypadku łączy o krytycznym znaczeniu warto rozważyć wykorzystanie pasma licencjonowanego.


Odmiany 802.11a


Sieci w paśmie 5 GHz często stosowane są do tworzenia łączy o dużej wydajności. Dlatego standard 802.11a doczekał się modyfikacji przez różnych producentów, które ukierunkowane sa na usunięcie niektórych wad w standardzie 802.11a i polepszenie parametrów transmisji. Producenci tworzą własne wersje protokołu bazujące na 802.11a. Niestety często urządzenia działające w zmodyfikowanej wersji standardu nie są kompatybilne z urządzeniami działającymi w "czystym" 802.11a. Przykładem takich protokołów jest WORP w urządzeniach Proxim Tsunami oraz Nstreme w Mikrotik. W niektórych rozwiązaniach jest możliwość wyboru czy urządzenia maja działać zgodnie z 802.11a czy w producenckiej wersji protokołu.


Najczęstsze modyfikacje w 802.11a to:


Superpakiet - transmisja dużej liczby małych pakietów przez sieć radiową jest mało efektywna. Stąd w celu zwiększenia efektywności małe pakiety są składane w jeden duży pakiet, który jest wysyłany przez interfejs radiowy.


Pooling - w standardzie 802.11a jest stosowany protokół dostępu do medium transmisyjnego typu CSMA/CA. Jest on nieefektywny w przypadku dużego ruchu gdy do punktu dostępowego podłączonych jest wiele stacji klienckich. W takich warunkach znacznie efektywniejszy jest tzw. „pooling", który charakteryzuje się tym, że to stacja bazowa decyduje kiedy klient może przesłać do niej jakieś dane.


Używanie urządzeń działających w zmodyfikowanym standardzie ma swoje pozytywne i negatywne strony. Z jednej strony mamy możliwość uzyskania łączy o lepszych parametrach. Z drugiej strony musimy się liczyć z niekompatybilnością z innymi rozwiązaniami i koniecznością podłączania urządzeń klienckich tego samego producenta co stacja bazowa.


---

Anna Skiba
www.netiona.pl
www.cyberbajt.pl



Artykuł pochodzi z serwisu www.Artelis.pl

Technolgia AJAX (Aplikacje internetowe)

Technolgia AJAX


Autorem artykułu jest JJ




Używasz laptopa, komputera a może telefonu z dostępem do Internetu z zainstalowaną przeglądarką. Nieważne czy jest to Firefox, Opera czy Safari. Na pewno zdarzyło się, że po kliknięciu na listę wyboru się czekałeś bardzo długo - kilka sekund! No cóż, jedno już wiesz na pewno - twórca strony najwyraźniej nie wie co to jest AJAX.

Zanim wyjaśnię, czym jest wspomniana technologia, warto wiedzieć jak działa przeglądarka internetowa. Korzystanie z jej funkcjonalności polega na tym, że klikając lub wpisując tekst wysyłamy zapytanie do serwera, który w odpowiedzi przesyła do przeglądarki żądane informacje. Ujmując to inaczej, przeglądarka w naszym imieniu wysyła zapytanie do serwera i dostaje od niego odpowiedź. Jest po proste działanie oparte na schemacie bodziec - reakcja. Przeglądarka wysyła żądanie i czeka na odpowiedź by ją wyświetlić na ekranie monitora a użytkownik czeka dłużej lub krócej. Kilka lat temu, zaczęto się zastanawiać, czy nie można przyśpieszyć tego działania tego mechanizmu i znaleziono proste w swej idei rozwiązanie - technologię AJAX. Jej prostota polega na tym, że część zapytań użytkownika jest przetwarzana bez potrzeby wysyłania natychmiastowego zapytania na serwer. Dzięki temu nie musimy czekać aż przeładuje się cała strona by zobaczyć np nazwę poszukiwanej piosenki na popularnym portalu. W ten sposób nasza interakcja jest bardziej dynamiczna i nie tracimy czasu na przeładowanie całej strony. Najlepiej to zaobserwować podczas korzystania z poczty www. Kliknijmy na wiadomość i skupmy się przez chwilę na na tym co się dzieje - załadowana zostaje tylko treść wiadomości, natomiast cała reszta nie zmienia się. W starszych rozwiązaniach, odczytanie wiadomości oznaczało konieczność przeładowania całej zawartości strony w html.


Co najważniejsze, zastosowanie AJAX nie ogranicza się tylko do stron www. W wielu firmach do codziennej pracy wykorzystywane są aplikacje typu klient - serwer pracujące również w przeglądarkach. Również tutaj wspomniana technologia ma szerokie zastosowane a jej efekty są jeszcze bardziej odczuwalne. Nawigacja pomiędzy stronami czy zawężanie listy wynikowej wykorzystywanej w nagłówkach kolumn to najprostsze sposoby jej użycia. Kolejnym, bardziej zaawansowanym pomysłem jest interaktywny kalendarz, pozwalający na pracę indywidualną jak i grupową. Dodatkową zaletą, jest jego powiązanie z innymi funkcjonalnościami w systemie, co znacznie upraszcza codzienną pracę.


Codzienne życie pokazuje, że AJAX spełnił pokładane w nim nadzieje. Jego działania nie uświadamiamy na co dzień, ciesząc się z coraz szybciej działających stron, a o to chodziło twórcom tej technologii.


Po więcej informacji zapraszam na stronę crm7.pl.




---

Artykuł pochodzi z serwisu www.Artelis.pl

Różne techniki wirtualizacji a system linux

Różne techniki wirtualizacji a system linux


Autorem artykułu jest sysop




Ponieważ nowoczesne procesory doskonale radzą sobie z wirtualizacją, we wszystkich wiodących systemach operacyjnych pojawiły się aplikacje i rozszerzenia umożliwiające uruchomienie na fizycznym komputerze kilku maszyn wirtualnych. W świecie administracji serwerami taka funkcjonalność ma wiele ciekawych zastosowań.

W niniejszym artykule zostaną wymienione i omówione tylko dwa sposoby wirtualizacji, które nadają się do wykorzystania na serwerach. Obydwa sposoby reprezentują dwa zupełnie różne podejścia do zagadnienia i pozwolą administratorowi systemu linux na wybranie najbardziej odpowiedniej do jego potrzeb opcji.


OpenVZ to łatka do kernela linuxa, która rozszerza jego funkcjonalność o możliwość tworzenia i uruchamiania na serwerze maszyn wirtualnych, które nie są zupełnie niezależne i mają kilka ograniczeń takich jak na przykład współdzielenie kernela z systemem operacyjnym linux gospodarza. Tak na prawdę to tak technika wirtualizacji z punktu widzenia administratora przypomina raczej uruchomienie całego niezależnego systemu operacyjnego na swojego rodzaju więzieniu (ang. jail) i odizolowanie go pozostałych elementów systemu operacyjnego linux oraz zapewnienie mu określonych warunków funkcjonowania. Administracja linux dzięki takiemu rozwiązaniu staje się łatwiejsza a zasadniczą zaletą takiego rozwiązania jest znacznie zmniejszona ilość niezbędnych zasobów dla zapewnienie funkcjonowania samej wirtualizacji w systemie linux.


Kolejnym przykładem jest XEN, który jest również dostarczany w postaci łatki na kernel systemu operacyjnego linux jednak jego architektura zasadniczo różni wyżej opisanej techniki wirtualizacji. Uruchomienie maszyny wirtualnej wiąże się tutaj z utworzenie zupełnie niezależnego środowiska, które jest zupełnie odizolowane od systemu linux gospodarza a jedyne punkty sytemu to te które są niezbędne do funkcjonowania całego mechanizmu. System operacyjny gościa może posiadać swój własny kernel niezależny od systemu gospodarza co daje możliwość uruchomienia poza linuxem również innych systemów operacyjnych. Tak dużą elastyczność okupiono znaczną konsumpcją zasobów systemu operacyjnego linux gospodarza i jest to największa wada tego rozwiązania.


Pamiętać należy, że każdy administrator linux powinien sam sobie odpowiedzieć na pytanie, które rozwiązanie będzie dla określanej sytuacji najlepsze. Ponieważ obydwa maja określone wady i zalety, co więcej te wady i zalety są przeciwstawne, nie można jednoznacznie stwierdzić która technika wirtualizacji jest lapsza a która gorsza.


---

Artykuł pochodzi z serwisu www.Artelis.pl

Specyfikacja i wymagania aplikacji internetowej

Specyfikacja i wymagania aplikacji internetowej


Autorem artykułu jest Tomasz Jeziorski




W artykule zdefiniowane zostały podstawowe wymagania, jakie stają przed wszelkimi aplikacjami internetowymi. Wskazano również na wady oprogramowania, którego głównym środowiskiem staje się Internet.

Z uwagi na fakt zacierania się granic między tradycyjnymi aplikacjami, a tymi dostępnymi w Internecie, trudno jednoznacznie wskazać indywidualne cechy wyróżniające. Nie jest to jednak zadanie niewykonalne.


Pierwszą podstawową cechą aplikacji internetowej jest możliwość korzystania z niej jedynie za pomocą przeglądarki internetowej, co wyklucza możliwość instalacji lokalnej.


Kolejną ważnym czynnikiem jest niezbędność (ze względu na bezstanowy protokół HTTP) przechowywania informacji po stronie serwera na temat danego klienta/użytkownika. Osiągnięte zostaje to poprzez rozpoczynanie unikalnych sesji, które przechowują informacje o użytkowniku, jego wyborach, czy działaniach. Wszystko to po to, by poprawnie identyfikować i odpowiednio reagować na działania korzystającego.


Do wad aplikacji internetowej zaliczyć możemy: częstszą podatność na zmiany oraz trudności w nakreśleniu obciążenia serwera. Do zalet natomiast należą: niski koszt instalacji, łatwe przechowywanie danych (odpowiednie bazy danych), niezależność od systemu operacyjnego korzystającego, czy też szybkość aktualizacji.


Główne wymagania stawiane aplikacjom internetowym podzielić możemy na funkcjonalne i systemowe.


Wymagania funkcjonalne wynikają bezpośrednio z potrzeby zgłaszanej przez użytkownika.


Podstawowym wymogiem staje się krótki czas reakcji na żądanie oraz krótki czas wyszukiwania informacji (oraz ich dokładność), przez co przy projektowaniu warto uwzględnić wielowarstwową architekturę.


Następnym oczywistym wymogiem jest kwestia bezpieczeństwa i poufności danych. Przy projektowaniu aplikacji zwrócić należy szczególną uwagę, że nie wszyscy korzystający z niej użytkownicy będą działali zgodnie ze wskazówkami i już na tym etapie dokonywać odpowiedniej walidacji. Dodatkowo aplikacje powinny oferować bezpieczne zarządzanie danymi (często poufnymi) użytkowników.


W kwestiach multimedialnych należy pamiętać o stworzeniu layout’u przyjaznego, w którym nawigacja jest wygodna i intuicyjna. Wszystkie materiały dźwiękowe i graficzne powinny być możliwie jak najwyższej jakości.


Przechodząc do wymagań systemowych, czyli związanych z architekturą systemu, warto już na początkowych etapach tworzenia aplikacji pamiętać o tym, że w przyszłości aplikacja będzie pewnie aktualizowana i modyfikowana.


Ważnym aspektem staje się również koszt i czas tworzenia aplikacji, a także jej łatwość integracji z innymi aplikacjami.


W związku z tym, iż aplikacja działa w środowisku internetowym zapewnić musimy jako twórcy jej zgodność na różnych systemach operacyjnych, a całość powinna odpowiednio wyglądać na każdej z popularnych przeglądarek.



[1] - artykuł opracowano na podstawie: Filipczyk B., Gołuchowski J. (red.), Tworzenie aplikacji internetowych, str. 27-35 (podrozdział 2.1. autor: Kempa A.), Wydawnictwo Akademii Ekonomicznej w Katowicach, 2008,


---

T. Jeziorski
iTSOLUTIONS by SPLEEN
Projektowanie stron WWW i e-Marketing
www.spleen.com.pl

Poland, Tarnowskie Góry



Artykuł pochodzi z serwisu www.Artelis.pl