Table of Contents
Środowiska wytwarzania oprogramownia
0. Przed rozpoczęciem zajęć...
- Przed rozpoczęciem zajęć: Instalacja Eclipse i CDT (Windows)
1. Program w C++ w środowisku Eclipse i CDT
2. Program w języku Java w środowisku Eclipse
3. Profilowanie kodu
*Ćwiczenia 3 Profilowanie - uzupełnienie*
Napisz program który umieszcza dane i odczytuje w standardowych kontenerach STL
#define ELEMENTS 100000
- Użyj list<int> i dodaj ELEMENTS losowo wyranych liczb int oraz odczytaj ELEMENTS x losowo wybrane elementy
- Użyj vector<int> i zrób ten sam eksperyment
- użyj map<int,int>. Pierwszy element to indeks drugi to wartość. Dodaj elementy i sprawdź czas dostępu
Dla Java
- użyj List<Integer> l = new ArrayList<Integer>() i przeprowadź ten sam eksperyment
- użyj Map<Integer,Integer> map = new HashMap<Integer,Integer>() i porównaj z map<int,int>
Oczekuje się, że dodawanie dla Java będzie wolne, bo każdy element w kontenerze jest referencją do obiektu, dla którego przydzielana jest pamięć na stercie, natomiast czas dostępu może być porównywalny z C++.
Generator liczb pseudolosowych
Random generator = new Random(System.currentTimeMillis()); l.get(generator.nextInt(ELEMENTS));
Ponieważ w JProfiler nagrywamy przebieg, konieczne jest zatrzymanie programu przed rzopoczęciem zbierania informacji.
void main(String[]args) { System.in.read(); // program czeka na ENTER // Tu test Thread.sleep(60*1000); // program czeka 60 sekund }
4. Narzędzia make/ant
Pisząc makefile eksperymentujemy na tym zestawie plików
Uwagi do Zadanie - etap 3
- Przykłady, jak automatycznnie okreslić listę plików: http://stackoverflow.com/questions/170467/makefiles-compile-all-c-files-at-once
Uwagi do Zadanie - etap 5
5. maven i git
- Część pierwsza:
- Przeczytaj Maven in 5 minutes i zrealizuj podane tam instrukcje
- Część druga: git
git
1. Utwórz lokalne repozytorium repo1
i dodaj tam plik test.txt
zawierający litery, wykonaj git add…
i git commit…
2. Utwórz lokalne repozytorium repo2
i pobierz tam przez pull
pliki: git pull ../repo1
3. Zmodyfikuj plik w repo2
– zamien litery na cyfry, wykonaj git add…
i git commit…
4. Zmodyfikuj plik w repo1
– dodaj kolejne litery , wykonaj git add…
i git commit…
5. Pobierz pliki z repo2
: git pull ../repo2
6. Rozwiąż konflikt! git mergetool imiona-2000-2016.csv info_pracownicy.csv ibuk_wykaz_pozycji.csv pracownicy-geo-agh.csv