Pierwszym projektem jaki realizowałem po rozpoczęciu pracy w dziale IT była aplikacja zbierająca logi ze stanowisk komputerowych. Początkowo miał polegać na przerobieniu istniejącego już narzędzia jednak w miarę upływu czasu potrzeba było coraz więcej zmian aż wreszcie okazało się, że szybciej będzie stworzyć nowe. narzędzie
Do rzeczy. Narzędzie musi działać cały czas gdy do komputera jest zalogowany użytkownik. Musi na bierząco czytać dane z pliku tekstowego, do którego zapisują się logi. Wybierać interesujące zdarzenia i zapisywać je do bazy danych. Projekt realizowałem w roku 2005, kiedy komputery nie były tak mocne jak teraz. Na każdym komputerze było odpalonych kilka a nawet kilkanaście róznych aplikacji, na których pracowali doradcy infolinii. Zbyt duże obciążenie komputera mogło spowodować uniemożłiwienie załatwienia sprawy, z którą dzwoni klient a to jak wiadomo nie było mile widziane. Na koniec dnia taki plik mógł mieć kilka a nawet kilkanaście MB obiętości co również znacznie wydłużało cały proces.
Co konkretnie robiło to narzędzie. Znajdywało plik utworzony w dniu dzieiejszym. Otwierało go, kopiowało całą jego zawartość do drugiego tymczasowego pliku i zamykało. Wszystkie operacje parsowania były wykonywane na drugim pliku tak aby nie zakłócać działania aplikacji, która te logi tworzyła. W drugim pliku wyszukiwane były tylko wybrane zdarzenia a informacje o nich przesyłane do bazy danych. Następnie cała zawartość pliku tymczasowego była usuwana z wyjątkiem ostatniej linii. Przy kolejnym odczytywaniu pliku źródłowego, aplikacja w pierwszej kolejności odczytywała pozostawioną linię z pliku tymczasowego. Następnie wyszukiwała tej liniii w pliku z logiem i kopiowała całą zawartość, która znajdywała się pod wyszukaną linią. Te operacje były wykonywane przez cały dzień w odstępach kilkuminutowych.
Była to pierwsza moja aplikacja. Napisana w Delphi 6. Języku którego wcześniej nie znałem (znałem podstawy Pascala, chyba jeszcze z czasów szkoły średniej) i praktycznie uczyłem się go w trakcie jej tworzenia. Wybór technologii nie był przypadkowy. Miałem obok siebie w pracy Kolegę, który był (a w zasadzie to jest) zaawansowanym programistą Delphi. W razie problemów zawsze mogłem się do niego zwrócić o pomoc. Nie obyło się bez wpadek, które powodowały blokowanie komputerów i uniemożliwienie pracy doradcom (aplikacja zapętlała się i zajmowała cały dostępny RAM). Ostatecznie jednak projekt zakończył się sukcesem i przez długi czas umożliwiał raportowanie pracy doradców on-line.
Suchar obowiązkowy skoro mowa o Delphi:
W tym roku nie odbędzie się konferencja programistów Delphi. Jeden ma grype a drugi sam jechać nie będzie.
Z perspektywy czasu muszę przyznać, że jestem zadowolony z tego projektu. Pokazał mi co to jest programowanie obiektowe. Poznałem Delphi, którego używałem później jeszcze przez pewien czas. Oraz co najważniejsze przekonałem się, że programowanie to kierunek, w którym chcę dalej podążać. Tak mi pozostało aż do dzisiaj.
Ależ to komplikejtet 🙂