PDA

Zobacz pełną wersję : NetBeans, github, sourceforg



rkonik
01-08-2012, 22:07
Mam gorącą prośbę do osób które zechcą mi pomóc w zrozumieniu tego zagadnienia. Potrzebuję parę słów wyjaśnienia bonie wszystko rozumiem lub po prostu nie jestem pewien.

Zacznę od tego że ciągle używam do pisania templatek itd Bluefish (linux-owcom jest on zapewne znany) Przy zwykłej prostej pracy jest wystarczający spełnia swoje zadanie.

Od jakiegoś czasu rozpoczołem poszukiwania czegoś zastępczego i padło na trzy programy. Eclipse, Aptana Studio i NetBeans.
Nie wiem dlaczego ale najbardziej przypadł mi do gustu NetBeans. Dla mnie jest jakoś najprostszy. Pisanie czegokolwiek jest na pewno dużo przyjemniejsze od Bluefish.

Przeglądając internet zainteresowałem się czymś takim jak SVN. Ładnie brzmi system kontroli wersji ale z praktyką gorzej. I praktycznie brak doświadczenia w tym, kiedyś trzeba zacząć.

Z pośród przeróżnych portali znalazłem dwa które github.com i sourceforg.net nie wiem który jest lepszy i na który bardziej zwrócić uwagę jak ktoś może podpowiedzieć będę wdzięczny.
Jedną rzecz którą zauważyłem to że sourceforg.net ma github.

Kolejną rzeczą którą nie do końca rozumiem.
Tworząc jakiś projekt ( nie ważne jaki) wysyłam pliki na jeden z tych portali. Jak te pliki na tych portalach są traktowane jako główne pliki czy jako wersja zapasowa?? Nie do końca tego rozumiem.

Poza tym z jednych tutoriali które znalazłem na stronie joomli:
http://people.joomla.org/videos/video/408-joomla-extension-development-using-netbeans-69-ide.html?groupid=95

Autor pokazuje ciekawą rzecz tworzenia w bardzo prosty sposób modułu, komponentu itp Odwołuje się do tej strony:
http://docs.joomla.org/Building_Joomla_Extensions_with_Apache_Ant

Z tym że nie ma tam żadnych plików do ściągnięcia.
Czy jest takie coś możliwe właśnie z tymi serwisami github.com i sourceforg.net czy jest to on nich niezależne bo on pokazywał to na przykładzie http://joomlacode.org/

Z góry dziękuję za podpowiedź w sprawach które są dla mnie nie do końca jasne a myślę że dla osób które już długo siedzą w tym czy innym programie jest to śmieszne. Dlatego proszę o poświęcenie paru minut i naprowadzenie mnie

Z góry dziękuję

zwiastun
01-08-2012, 23:58
Krótko mówiąc, życzysz sobie napisania Ci opracowanie typu Dirk Merkel: PHP5 Narzędzia dla ekspertów. Helion 2011. Cena 79 PLN, stron 420
Masz opis phpDocumentatora, Eclipse, CVS i paru innych narzędzi.

PS Wybierz się na Joomla!Day
Radek Suski przygotowuje prezentację : http://www.joomla-day.pl/prezentacje/346-development-workflow

rkonik
02-08-2012, 00:44
Tą pozycję którą mi podsunąłeś to patrząc po spisie treści niezła pozycja. Pewnie jutro odwiedzę księgarnię.
Widzę że w niej jest nacisk położony na Eclipse mnie osobiście to narzędzie jakoś nie przekonuje. Mam nadzieję że w sposobie konfiruracji pomiędzy Eclipse a NetBeans nie będzie aż takiej kolosalnej różnicy.

Kolejna sprawa którą nie wiem czy mi ta pozycja wydawnicza wyjaśni to te portale github.com i sourceforg.net. Jak je zgrać z Eclipse czy NetBeans.
I ten sposób tworzenia modułów i komponentów czy też tam znajdę naprowadzenie na to?? I jak to robić nie tylko w przypadku Joomli ale i innych aplikacji.

Pytam bo nie używałem takich narzędzi a widzę i czytam że to ułatwia i przyśpiesza znacznie pracę. A jak wiadomo czas to pieniądz.

Co do Joomla!Day żałuje ale to dosłownie drugi koniec Polski a z chęcią bym przyjechał. Może jakieś materiały wideo będą udostępniane?? Czy to raczej wątpliwa sprawa

moje
04-08-2012, 15:57
A po co Ci portal github.com czy courceforg.net? Nie możesz mieć repozytorium np. SVN u siebie? Eclipse posiada dodatek do obsługi SVN, który bez problemu można zainstalować. Przypuszczam, ze NetBeans też ma taki dodatek.

rkonik
04-08-2012, 16:26
Powodem jest to że nie zawsze siedzę przy jednym kompie siedząc nad kodem.
W tym momencie używam czegoś ala Dropbox gdzie aktualnie sciągam i modyfikuje pliki. Jest to dosyć uciążliwe bo za każdym razem muszę pamiętać aby na dany komp ściągnąć aktualną wersję.
Jak dobrze rozumiem github.com czy courceforg.net pozwoli mi na bieżąco kontrolować wersję i pracować nad aktualnym kodem. Głównie do tego potrzebuję dodatkowo to zdobycie doświadczenia w pracy z kontrolą wersji.

deviapps
04-08-2012, 18:09
Ja używam takiego zestawu narzędzi:
Eclipse - jako edytor kodu, klient GIT (pluginy PDT, egit, m2e)
Maven - jako automatyczne tworzenie pliku wynikowego zip, automatyczne ustawianie wersji w xml komponentu i tworzenie pliku joomla-update; automatyczne wgrywanie plików z projektu do folderu z testową instalacją joomla (aby nie edytować plików na działającym systemie żeby je potem wyciągać do stworzenia paczki instalacyjnej) - aktualnie piszę jeszcze swój plugin do mavena, który będzie dostosowany do Joomla! zmniejszający ilość potrzebnej konfiguracji
Jenkins - jako automatyczne wgrywanie plików zip i component-update.xml na serwer, aby każdy klient mógł sobie auto updateować
bitbucket.org - jako repozytorium kodu (nielimitowana ilość prywatnych repo, za free)

Dodatkowo jeszcze skrypt .sh używający sed'a do tworzenia nowego komponentu z przygotowanego szkieletu, nexus jako maven repo.

moje
08-08-2012, 21:58
Jeśli posiadasz w domu router z możliwosćia podpiećia do niego pendrive'a czy zewnętrznego dysku twardego, to nie powinno być problemów, żeby zrobić z niego "serwer", a na nim repozytorium.

deviapps
09-08-2012, 00:20
@moje tylko po co kombinować z svn, jak można mieć prywatne repo GIT na bitbucket.org za free?
@rkonik
github i sourceforge udostępniają dostęp do repozytorium dla publicznych projektów (open source) - bitbucket działa tak samo, tylko z opcją prywatnych - ukrytych (jeżeli np. robisz prace komercyjne).
Do systemu kontroli wersji wrzucasz zmiany - pierwszy wrzut to 100% zmian. Przy kolejnych wysyłane są różnice - czyli tylko to, co zostało zmodyfikowane. Na podstawie tego można wyciągnąć historię zmian.
To działa inaczej niż dropbox, gdzie masz automatyczną synchronizację katalogów (przy zainstalowanej aplikacji db). Z dodatkiem do IDE (np. egit dla Eclipse, Aptana; netbeans też taki ma) po zrobieniu zmian klikasz commit podając opis zmian, potem push na serwer hostujący. Jeżeli nie pracowałeś na aktualnej wersji, to przed wysłaniem zmian zostaniesz poproszony o połączenie (merge) modyfikacji aby nic nie zgubić. Najlepiej przed rozpoczęciem pracy klikać zawsze pull.
Jeszcze trochę musisz poczytać (np. z google: git tutorial pl) ale idziesz w dobrym kierunku.

rkonik
09-08-2012, 13:41
Staram się zrozumieć ten temat. Pewnie dla osoby która pracuje z tym na co dzień jest to bajecznie proste i wręcz śmieszne. Dla mnie praca w ten sposób jest nowością ponieważ tak jak pisałem na początku nigdy tego nie stosowałem.
Książka którą podał @zwiastun jest ciekawa. Na pewno jak ją przeczytam pojawią się kolejne pytania.

@devlapps - nie wiem czy dobrze zrozumiałem. github, sourceforg, bitbucket - nie przechowuje kodu tylko zmiany?? (przepraszam że to pytanie może wydać się idiotyczne ale tu ujawnia się mój brak wiedzy i doświadczenia w tym temacie)

Jeżeli tak jest to możesz napisać śmiało abym doczytał temat.
Pierwszą pozycją do przeczytania na pewno jest ta co dał @zwiastun jeżeli masz inną propozycję przeczytania książki lub jakiejś strony w tym temacie będę bardzo wdzięczny za podpowiedź.

deviapps
09-08-2012, 16:51
nie wiem czy dobrze zrozumiałem. github, sourceforg, bitbucket - nie przechowuje kodu tylko zmiany?? (przepraszam że to pytanie może wydać się idiotyczne ale tu ujawnia się mój brak wiedzy i doświadczenia w tym temacie)
Tak jak system do backupu przyrostowego - żeby zaoszczędzić storage przechowuje różnice między plikami a nie X razy ten sam plik. Oczywiście można odtworzyć cały plik z dowolnego commitu na przestrzeni czasu - tylko system kontroli wersji transparentnie sobie te zmiany nakłada na siebie chronologicznie w trakcie wyciągania wybranej wersji.

rkonik
09-08-2012, 17:54
Teraz już jaśniej. Ale książkę przeczytam a na pewno pojawią się kolejne pytania.
Mimo wszystko dzięki za odpowiedzi, wbrew pozorom mi niesamowicie dużo pomogły.

moje
09-08-2012, 18:39
@deviapps przy paracy w jednym miejscu, własne repozytorium, "postawione obok" naszego kompa/lapka ma swoją wygodę. Nie jesteś uzależniony od kaprysów swoje łącza (co może mieć istotne znaczenie w mniej zinternetowanych obszarach naszego kraju) i nie zjada transferu (co jest istotne jeśli Twój internet ma limity transferu).