Pracę nad projektem postanowiłem zacząć od przygotowania sobie środowiska pracy. Zrobiłem to jeszcze przed rozpoczęciem konkursu, żeby później mieć więcej czasu na rozwój samej aplikacji.
Pierwszym krokiem etapu 0 było założenie bloga, abym mógł na bieżąco redagować wpisy i trzymać je już na serwerze w postaci kopii roboczych. Mimo że prowadzę już jeden internetowy dziennik na joggerze, to informacje o projekcie postanowiłem umieszczać na nowym. Zdecydowałem się na bloggera z kilku powodów:
- jest całkowicie darmowy
- nie wyświetla irytujących reklam
- nie muszę się martwić o hosting
- daje możliwość edycji wyglądu
Wprowadziłem parę poprawek do szablonu, uzupełniłem „O mnie” i napisałem pierwszy post. Założyłem także konto na Twitterze. Przygotowanie bloga mogłem uznać za zakończone.
Przyszedł czas na miejsce do trzymania kodu źródłowego. Nigdy nie korzystałem z podobnych narzędzi, stąd czegokolwiek bym nie wybrał, wszystko będzie na początku tak samo uciążliwe. Wybrałem Google Code głównie dlatego, że jest od Google’a i nie będę musiał się osobno logować na pocztę, bloga i stronę projektu.
Nigdy też nie korzystałem z systemów kontroli wersji, więc z dwóch oferowanych przez GC wybrałem Subversion, ponieważ brzmiał jakoś bardziej znajomo od Mercuriala, stąd mogłem być pewien, że znajdę na jego temat dużo materiałów w sieci (no bo skoro nawet ja o nim słyszałem).
W kwestii wyboru języka programowania, biblioteki i środowiska postanowiłem postawić na opcje znane mi chociaż trochę. Stąd wybór padł na C++, które znam najlepiej i Qt, z którym już kiedyś miałem styczność. Nie jestem jeszcze pewny wyboru środowiska. W grę wchodzi Qt Designer 2.0 oraz Visual Studio 2010 Ultimate z wtyczką VisualSVN. Przewagą pierwszego jest integracja z bibliotekami Qt OOTB, Qt Designer i oczywiście to, że jest darmowy. Natomiast do VS jestem przyzwyczajony, dotychczas używałem wersji Express, ta jednak nie jest wspierana przez VisualSVN, stąd nie będę miał łatwego dostępu do repozytorium po wygaśnięciu triala VS Ultimate. Przygotowałem oba środowiska. Jednak bez względu na to na którą opcję się zdecyduję, dodatkowo będę używał Linuksa Mint 9, zainstalowanego na wirtualne maszynie VirtualBox 3.2.6, przy eksperymentach z przechowywaniem i przetwarzaniem danych, ponieważ ma wygodniejszą konsolę. Mint pozwoli mi także na testowanie aplikacji w środowisku linuksowym (trzeba przecież korzystać z multiplatformowości Qt).
Do organizacji pracy nad projektem postanowiłem zaprząc Tracksa, którego używam od niecałego miesiąca i bardzo przypadł mi do gustu.
Na koniec stworzyłem pusty projekt w Qt Designerze, dla pewności zapisując wszystkie pliki w folderze Dropboksa. Zaimportowałem je do repozytorium i pobrałem na maszynie wirtualnej. Środowisko pracy można było uznać za gotowe do tworzenia projektu na konkurs :)
Szczerze jestem zdziwiony, że tworzysz system blogowo-podobny jako aplikację offline. Ale to daje duże pole manewru.
OdpowiedzUsuńA rozważyłeś użycie bibliotek boost? C++ bez nich jest taki goły ;)
OdpowiedzUsuń@Soltys:
OdpowiedzUsuńLogtree powstaje jako aplikacja offline z bardzo prostego powodu - nie jestem w stanie stworzyć tego inaczej. Obecny wariant projektu to dla mnie duże wyzwanie. Trochę się boję, czy nie postawiłem sobie poprzeczki zbyt wysoko. Jednak do odważnych świat należy i mam nadzieję, że jednak podołam :)
@luksow:
Z Boostem jest taki problem, że go kompletnie nie znam, a jak do tej pory układając sobie w głowie (i zapisując na papierze) wszystko na temat tego projektu, nie napotkałem się z żadnym problemem, którego nie potrafiłbym rozwiązać. Nie wątpię, że niektóre cele osiągnę naokoło i dzięki Boostowi zrobiłbym to szybciej. Jednak jak już wspomniałem wcześniej, projekt już teraz jest dla mnie sporym wyzwaniem, dołożenie do tego jeszcze jednej nowej rzeczy do nauczenia się od zera to ryzykowny krok.