niedziela, 17 kwietnia 2016

Informatyka w praktyce: więcej Gita! - GitHub i SourceTree

Nieco o tym, czym jest Git i dlaczego warto się z nim zapoznać pisałam już tutaj. Dzisiaj chciałabym temat pogłębić i napisać coś o praktycznych początkach współpracy z systemem kontroli wersji.
Kiedy wiemy już czym jest system kontroli wersji oraz dlaczego opłaca się go używać, warto również dowiedzieć się JAK to zrobić.

Na samym początku będziemy potrzebować repozytorium, w którym przechowywać będziemy tworzone pliki. Najlepiej skorzystać tutaj z gotowego rozwiązania jakie oferuje GitHub. Udostępnia on darmowy hosting plików dla projektów open source oraz umożliwia stworzenie prywatnego, płatnego repozytorium. Oferuje on wiele funkcji, z których niektóre to bugtracker, forki repozytoriów, pull requesty, narzędzia statystyczne itd.

Kolejną rzeczą jaką należy "załatwić" przed korzystaniem z naszego repozytorium, jest klient - aplikacja, którą należy zainstalować lokalnie na komputerze, aby móc korzystać z dóbr oferowanych przez GitHub. Rekomendowaną przez GitHub aplikacją jest SourceTree, jednak nie jest on jedyny z dostępnych na rynku darmowych aplikacji klienckich służących do obsługi repozytoriów GitHub. Nieco więcej o konkurencji, pozwolę sobie napisać prawdopodobnie innym razem.

O tym jak zacząć pracę z GitHub i SourceTree najłatwiej jest dowiedzieć się z wiki, gdzie znaleźć można dokładny opis funkcji i możliwości - krok po kroku i z obrazkami, dlatego uważam, że opisywanie tego po raz kolejny, byłoby niepotrzebną redundancją i kompletnym marnowaniem czasu zarówno mojego, jak i potencjalnych czytelników :)

Korzystanie zarówno z GitHub jak i SourceTree może na samym początku wydawać się nieco skomplikowane. Ale jak kiedyś powiedział ktoś mądry (a konkretne wg. niektórych Johann Wolfgang von Goethe, a innych Thomas Fuller, osobiście stawiam, że obydwaj):

"Wszystko jest trudne, dopóki nie stanie się proste"

zatem najlepszą metodą na nauczenie się korzystania z czegoś, jest używanie tego. W tym przypadku na dodatek nie grozi to niczyją śmiercią, czy katastrofą nuklearną, więc nie ma się czego bać. Ja sama zaczęłam i kontynuuję swoją pracę z Gitem na praktykach studenckich i uważam, że jeśli nie Git, to ogólnie jakikolwiek system kontroli wersji jest rzeczą niezbędna przy pracy nad mniej lub bardziej złożonymi projektami informatycznymi.

Informatyka w praktyce: Code Retreat, czyli szlifowanie programistycznego rzemiosła

Branża IT rozwija się w niesamowitym tempie. Jeżeli się tylko chce, można stać się częścią informatycznego świata, jedyne czego do tego trzeba, to komputer, czas, nieco samozaparcia i świadomość celu, do którego się dąży. Niektórzy wybiorą drogę oficjalną poprzez ukończenie studiów i zdobywanie certyfikatów, inni będą woleli zająć się tym rzemiosłem w domowym zaciszu korzystając z publicznie dostępnych materiałów. Jedno jest pewne - aby programować, trzeba programować. A biorąc pod uwagę szybkość z jaką w dzisiejszym świecie zachodzą zmiany, każdy geek niemal zmuszony jest do ciągłego pogłębiania swej wiedzy i wystawiania jej na próbę.
Z myślą o ludziach, którzy programować już potrafią, ale zazwyczaj borykają się z brakiem czasu i ścigającymi ich "dedlajnami", powstało coderetreat.

1. Co to jest Coderetreat?

Coderetreat to całodzienne, intensywne wydarzenie programistyczne pozwalające uczestnikom skoncentrować się na podstawach rozwoju programowania, bez żadnej presji, a za to z możliwością dzielenia się swoimi pomysłami z innymi uczestnikami. Co roku organizowany jest globalny dzień coderetreat - uczestniczące w nim ośrodki zgłaszają ten fakt, aby każdy, kto chce w nim uczestniczyć, mógł odnaleźć wydarzenie odbywające się w jego okolicy.

2. Dlaczego Coderetreat?

Taka forma nauki pozwala na rozwijanie swoich umiejętności w nieco inny niż "tradycyjny" sposób. Poprzez dzielenie się swoimi ideami i możliwość spojrzenia na programowanie z innej perspektywy, uczestnik ma możliwość szybkiego rozwijania swoich umiejętności. Swego rodzaju rozluźnienie atmosfery spowodowane brakiem ograniczeń czasowych oraz brak sztywno narzuconych reguł, wzmaga kreatywność i pozwala - że tak się górnolotnie wyrażę - wyjść poza schematy. Więcej o zaletach coderetreat m.in. tutaj.

3. Dla kogo to jest?

Idea ta doskonale nadaje się dla każdego programisty, który chce rozwinąć swoje umiejętności (co powinno być celem każdego z nich). Ludzie uczą się przede wszystkim przez robienie tego, czego chcą się nauczyć, a także przez nauczanie innych. Dlatego beneficjentami wyżej opisywanego wydarzenia są zarówno uczestnicy, jak i jego organizatorzy. Czasami tym, co najbardziej blokuje naszą "ewolucję", jest brak możliwości spojrzenia na dany problem z innej niż nasza perspektywy. Niektórym może wydawać się, że dużo lepiej wychodzi im rozwijanie umiejętności w samotności i bez interakcji z innymi przedstawicielami ludzkiego gatunku, jednak nic nie rozwija tak dobrze jak otwartość na pomysły innych ludzi, zrozumienie ich i spojrzenie na daną sprawę z ich perspektywy (a przynajmniej podjęcie takiej próby). Dlatego od czasu do czasu warto dać się zsocjalizować.

4. Historia Coderetreat

O historii pomysłu nie będę się rozpisywać. Warto wspomnieć, że pierwszy "event" zorganizowany został w 2009 roku i od tego czasu jest regularnie powtarzany gromadząc coraz więcej organizatorów oraz uczestników z wielu krajów. A więcej o historii i pomysłodawcach odnajdziecie tutaj.

5. Jak wziąć udział w Coderetreat lub zorganizować wydarzenie?

Najlepiej jest trzymać rękę na pulsie i śledzić informacje na stronie organizatora. Światowy Dzień Coderetreat ma miejsce co roku (w 2016 r. planowany jest na 22. października) i na stronie traktującej o tym, którą odnajdziecie tutaj, można odnaleźć wydarzenie odbywające się w naszej okolicy.
Jeżeli sami chcielibyśmy zorganizować dzień kodowania zgodnie z ideą pomysłodawców, warto skorzystać z gotowych, sprawdzonych pomysłów oraz doświadczeń dotychczasowych organizatorów. Więcej o tym do odnalezienia tutaj oraz tutaj.  

Warto wspomnieć, że o ile w przypadku pierwszego spotkania retreatowców używanym przez nich językiem programowania była Java, inni organizatorzy koncentrowali się na innych językach, jak Ruby. Byli też jednak tacy, którzy odkryli potencjał spotkań opartych na różnorodnych językach programowania, pozwalających uczestnikom na rozwiązywanie tych samych zadań z użyciem różnorodnego podejścia typowego dla danego języka. Według mnie to świetne i niezmiernie pouczające rozwiązanie pokazujące, że zawsze jest więcej niż tylko jedna możliwość podejścia do danego przypadku.