» Blog » Zanim postanie pierwsza linia kodu...
28-01-2008 20:32

Zanim postanie pierwsza linia kodu...

W działach: Informatyka | Odsłony: 6

Zanim postanie pierwsza linia kodu...
Skoro niektórzy czytają o moich zmaganiach z komputerami to tym razem coś dla nich...

Praca programisty nie jest usłana różami. Nie licz na to, że ktoś Ci skonfiguruje stanowisko pracy. Musisz zrobić sobie to sam. W moim wypadku wymagania wyglądają następująco: biblioteka qt, biblioteka libxml++, jakieś środowisko dla C++ i baza danych Oracle. Skonfigurowanie tej ostatniej wcale do najsympatyczniejszych nie należy. Czemu? Ano bo jak się okazuje...

Używam (w pracy) Debian 4.0 etch. Standardowy kompilator to gcc serii 3. Wymagany przez większość naszych bibliotek. I tu pojawia się "ale". Klient Oracle, który zapewnia nam komunikację z bazą danych (oracle-xe-client_10.2.0.1-1.0_i386.deb) został skompilowany kompilatorem serii 2. Co z tego? Ano przy kompilacji projektu dostajesz komunikat o konflikcie odowołań do bibliotek.

Jest na to rada, o ile dobrze się poszuka w Internecie, a konkretnie na stronie Oracle. Podmienia się bibliotekę (jeden plik, wyszarpnięty z occi_gcc343.tar) na wersję skompilowaną nowszym kompilatorem.

Tylko tyle? No nie. Jeśli chcecie pisać programy z wykorzystaniem tych bibliotek i klienta pod linuxem, to trzeba jeszcze dopisać plik konfiguracyjny do łączenia z bazą (tnsnames.ora) i poinformować system o nowej bibliotece:

- dodajemy ścieżkę do bibliotek w pliku /etc/ld.so.conf
- wykonujemy ldconfig

Oczywiście myślisz sobie, że przecież to proste...

Do pełnego przygotowania środowiska pracy muszę sobie jeszcze skonfigurować svn, do zarządzania wersjami plików projektu. Byłoby fajnie, gdyby nie to, że ten jest kapryśny jeśli chodzi o kodowanie znaków.

Dochodzi ustawienie w systemie kilku ścieżek do odpowiednich katalogów i skompilowanie pluginów dla Qt.

Razem jest to około 4 do 8 godzin (wraz z instalacją systemu) roboty informatyka. Informatyka, a nie programisty. Bazą oczywiście zajmują się bazodanowcy. Tyle tylko, że jeśli potrzebujesz bazę testową zaczynają się schody. Ze względów formalnych prościej jest postawić ją sobie samemu i samemu nią administrować. Kolejne kilka godzin, przez które zamiast klepać kod, bawisz się z czymś co nie jest Twoją specjalnością. W ten oto sposób stałem się właścicielem bazy danych Oracle.

Instalacja serwera Oracle nie jest wcale przyjemniejsza niż klienta. Drobny błąd w konfiguracji i serwer się nie odpala dając tak odjechane komunikaty, że rozgryzienie problemu zajęło mi ok. 4 godzin. Jakby tego było mało dochodzi polityka bezpieczeństwa. Serwer w podstawowej wersji jest tak miły, że puszcza tylko klientów z komputera lokalnego. Można to zmienić, ale jest lepsza metoda.

Tunelujemy ssh. Wystarczy mieć tylko konto na komputerze z bazą danych.

ssh -l zuhar -p 22 -f -C -L 1520:127.0.0.1:1521 xxx.xxx.xxx.xxx sleep 10800

Powyższa komenda umożliwi przesył danych zaszyfrowanych (ssh), jeśli wyślemy je na port 1520 lokalnego komputera. Poprzez tunel dotrą one na adres 127.0.0.1:1521 z komputera, na który się logujemy ([email protected]). Nie trudno się domyśleć, że tunelowanie może mieć szersze zastosowanie.

Nie wspomniałem, że chcąc popracować w domu (umówmy się, że chcę - dobrze?) muszę łączyć się przez VPN do sieci lokalnej przy użyciu certyfkatu. Normalnie wygenerowanie certyfikatu i jego użycie (wliczam konfigurację) to około kwadransa. Ja swój uzyskałem po 4 dniach roboczych. "Drobne" problemy z oprogramowaniem do wystawiania certyfikatów.

Zapomniałem o konieczności kompilacji większości oprogramowania pomocniczego? Choćby TOra. Standardowa wersja z repozytorium nie obsługuje Oracle.

I tu wielkie podziękowania dla kolegów z pracy. Jeśli mieli już z czymś do czynienia, to albo dadzą Ci gotowe rozwiązanie (rzadziej), albo wskażą kierunek poszukiwań (częściej).

A potem przychodzi pora na programowanie...

W następnych odcinkach...
- mój ulubiony błąd...
- IE6 pod linuksem i błąd OLE 80004001
0
Nikt jeszcze nie poleca tej notki.
Poleć innym tę notkę

Komentarze


Mandos
   
Ocena:
0
hehe, profesjonalizm po polsku :-), też tak mam. Za to człowiek zyskuje szerokie horyzonty. A to potrafi już trochę administrować bazą, a to svnem lub innym fajnym oprogramowaniem ;-).
28-01-2008 20:44
Prozac
   
Ocena:
0
Nic nie zrozumiałem :)
29-01-2008 05:37
Draker
   
Ocena:
0
Z każdym takim wpisem rośnie moja miłość do Windowsow :P
29-01-2008 10:03
Zuhar
   
Ocena:
0
Rozczaruję Cię Draker. Procedura dla Windowsów nie różni się wiele (i też trzeba ręcznie). Z jednym może wyjątkiem - nie wiem jak ją wykonać (czyli gdzie wpisać magiczne zaklęcia), bo przez ostatni rok jakoś odwykłem od produktów MS (uruchamiam Jedyny Słuszny statystycznie raz w miesiącu na około 4-6 godzin). Większość kłopotów polega na takim skonfigurowaniu oprogramowania, żeby ze sobą dobrze współpracowało, a to akurat nie zależy od systemu operacyjnego.
29-01-2008 10:26
Ysabell
   
Ocena:
0
Ja też nic nie zrozumiałam. :]

Fajny wpis. I fajne zdjęcie kota.
29-01-2008 12:22
Draker
   
Ocena:
0
Hmm, mozliwe, juz Ty najlepiej wiesz jak to wyglada w tym wypadku.

Ogolnie mam jednak wrazenie, ze przy pracy na Linuxie trzeba wiecej czasu poswiecic na dostosowywanie systemu, instalacje narzedzi, trzeba naklepac mase polecen itp.

A ja jestem wygodny i XP (dzialajacy u mnie bardzo stabilnie) z dostepnym na niego oprogramowaniem jakos bardziej do mnie przemawia :)

Przykladowo uzywam TortoiseSVN, ktory mi pieknie dziala bezposrednio z Notepad++. Nie ma żadnych problemów z kodowaniem znaków, instalacja trwa 5 minut i moge od razu zaczac wlasciwa prace :)
29-01-2008 12:59
iron_master
    A ja zrozumiałem...
Ocena:
0
... co jest niezbędne w pracy inforormatyka jak napotka się wymienione w wpisie problemy ;-P

Fajny wpis, czekam na następne odcinki :-)
29-01-2008 13:08
Zuhar
   
Ocena:
0
@iron_master
Taaa. Rozgryzłeś mnie. Nawet nie próbuję zaprzeczać. Polecam jednak Famous Grouse - niewiele droższa, a lepsza.

@Draker
XP-ka akurat lubię - dłuugo z niego korzystałem. Ale jak już pewnie wspominałem Vista nie zagrzała u mnie miejsca dłużej niż 30 minut. Na linuksa Cię nie namawiam, ale najnowszego systemu MS unikaj jak ognia.

Jak nie prowadzisz nazw plików z polskimi znakami, to nie ma problemu z svn. Niestety zdarzył się nam taki byk w skrypcie robiacym automatyczny zrzut zmian w bazie danych do svn i teraz się z nim męczymy. Pod linuksa polecam kdesvn. Tortoise pod Windowsem miewam humory - czasem nie ściąga rekurencyjnie, ale może to być też kwestia jakiś naszych niedopatrzeń w konfiguracji. Cały nasz 3 osobowy zespół to linuksowcy, więc czasem wymiękamy z MSOkienkami. Na nasze szczęście inne zespoły są windowsowe - jest kogo podpytać.
29-01-2008 13:29
Tarkis
   
Ocena:
0
Widze, ze nie jestem, jedynym fanem Famous Grouse na Polterze- milo :-)

Ta, a konfiguracja oprogramowania bywa czasami mordercza - ja na razie spotykam sie z tym problemem na uczelni, a nie w pracy, wiec wyglada to troszke inaczej (np. oddawanie projektu na sprzecie uczelnianym, gdzie oprogramowanie z dosc oczywistych wzgledow jest dosc rzadko wymieniane na najnowsze, a w domu na ogol uzywa sie najnowszych wersji; albo najwieksza groza jaka moze spotkac studenta- kontynuowanie projketu ludzi z lat poprzednich - dogranie bibliotek, kompilatorow i przebicie sie przez kod, to niemaly wyczyn :))
29-01-2008 14:42
Shai
   
Ocena:
0
I dlatego tak lubię Javę. Biblioteki do jednego katalogu, manifest do jara i maszyna wirtualna w katalogu z projektem/pracą. Ewentualnie dla Windowsów exe wygenerowany za pomocą NSIS.

Co nie zmienia faktu, że z Oraclem obecnie sam się męczę w robocie. W sumie moja wina. Co mnie podkusiło, żeby kazać jego usługom uruchamiać się ręcznie a nie automatycznie. No i teraz mimo, żę chodzą to nie chodzą. :]
29-01-2008 19:57

Komentowanie dostępne jest po zalogowaniu.