Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

WebDeveloping cz.2 i 1/2, git w praktyce

Ale mi poszło! Sam siebie zaskoczyłem. Część połówkowa druga jest już online. Tym razem o tym jak praktycznie używać gita na podstawie repozytorium dp_blog na githubie. Nie ma tutaj sensu więcej pisać więc, choć youtube się słabiej pozycjonuje niż treści pisane, na tym skończę.

Linkownia

https://github.com/conish/dp_blog - kod bloga do pobrania z gita

http://code.google.com/p/tortoisegit/ - stąd pobierzecie TortoiseGit

http://code.google.com/p/msysgit/downloads/list?q=full+installer+offic... - a stąd msys

http://www.dobreprogramy.pl/vircung/Zarzadzanie-cyklem-rozwoju-aplikac... - wspominany przeze mnie artykuł vircunga

Pozostałe części:

WebDeveloping, cz. II - routing, paginacja i komentowanie

WebDeveloping cz.1 i 1/2

WebDeveloping, część I

Webdeveloping, cz. 2/3 - Planowanie

Webdeveloping cz. 1/3 - WAMP

Webdeveloping cz.0 

programowanie

Komentarze

0 nowych
wojtex   10 #1 25.08.2013 16:27

Wielkie dzięki za wpis. I chyba jednak wygodniej niż klepać komendy w konsoli :-)

kostek135   8 #2 25.08.2013 19:16

Imho 20 minut opowiadania o gitcie to stanowczo za mało. Nie wiem czy mi umknęło, ale nie pokazałeś jak nawet nowy branch połączyć z masterem? I ogólnie brak jakiegoś wracania do n-tego commita, co jak coś złego wypchniemy i ogólnie mało - moja ocena, słabe.

@wojtex
Pragnę się nie zgodzić możliwość dodawania aliasów powoduje, że w łatwy sposób możesz definiować komendy z wieloma parametrami. Takim chyba klasykiem jest ll (podwójne małe L - btw, czcionka jak na portal informatyczny mistrzowska) które zastępuje ls -l. Niby nic, ale częstotliwość korzystania z ls sprawia, że to naprawdę oszczędza czas w dłuższej perspektywie.

tfl   8 #3 25.08.2013 19:50

@kostek135

A co myslisz o czesci drugiej artykulu, ktory umiescilem wczoraj?

kostek135   8 #4 25.08.2013 21:14

To znaczy tak technicznie rzecz biorąc nie rozumiem czemu to wszystko jest takie małe. Zobaczenie co piszesz jest niemożliwe praktycznie, albo ja już mam takie minusy na soczewkach.

Co do samego kodu za dużo nie powiem, bo ja bardziej siedzę w webservice'ach i ogólnie rozumianym middleware jeśli chodzi o web. Co bym ocenił na plus z tego wpisu (przy czym nie oglądałem poprzednich, może było to wspomniane, ale dziś nie znajdę już czasu):
+ Wybór MVC - jak dla mnie do www nadaje się idealnie
+ Wspomnienie o problemie ilości postów i ciągłego przeliczania z użyciem count. Przy czym nie jestem pewny czy zrobiłeś to z użyciem jednej transakcji. Przykładowo załóżmy, że jest 91 postów po 10 postów na stronę i teraz ktoś zacznie usuwać post commit zmiana ilości postów commit. To może powodować, że ktoś przejdzie na pustą stronę (jeśli się wstrzeli w moment pomiędzy commitami) co jest imho złe ze strony user experience - przejść na pustą stronę. Przed przejściem powinno się sprawdzić czy coś tam będzie i własnie tylko jeśli będzie się to odbywać w jednej transakcji będzie to nie zawodne. Ale i tak + większość tutoriali przeszła by nad count do porządku dziennego. A jak posty idą w setki tysięcy albo miliony to potem dziwne, że wszystko działa wolno.
+ Jest coś nie wprost o reusingu z metodą prywatną.

- Nie jestem pewny (nie wyłapałem, a kodu nie widać), ale SELECT * FROM tabela LIMIT x,y nie musi ci zwrócić zawsze tego samego zbioru wierszy, bo nie ma gwarancji, że baza sobie po jakimś czasie tego wewnętrznie nie poprzemieszcza, bo uzna, że tak będzie szybciej w tym szukać, zresztą sam select nie musi wyciągać czegoś w kolejności umieszczenia, zawsze powinno to być przesortowane po dacie.
- Za propozycję ściągania wszystkiego z bazy jak nie ma limit. Nie polecam przy dużych bazach.
Jeśli chcesz wybrać x,y to wybierz pierwsze y przesortuj w odwrotnej kolejności wybierz y-x. Czyli zwykłe podzapytanie może być. Być może będzie to trzeba jeszcze raz przesortować, bo po takim złożeniu operacji otrzymasz ciąg malejący.

Większych błędów nie wyłapałem dla początkujących seria może być. I fajnie że piszesz coś o programowaniu, bo strasznie ten topic kuleje na blogu dp.
PS do SEO się nie odniosę, bo wiem bardzo mało, że istnieje :D

kostek135   8 #5 25.08.2013 21:18

Kurcze nie można edytować, przez x,y mam na myśli przedział

tfl   8 #6 25.08.2013 21:23

@kostek135

Naprawdę dzięki za odpowiedź!

Dzięki za uwagi (zwłaszcza te krytykujące). Część na szczęście zostanie wyjaśniona w części kolejnej (zwłaszcza ten niuans związany z countem przy dodawaniu nowego posta).

KyRol   18 #7 26.08.2013 02:51

Ja od siebie dla polecam lekturę bardzo fajnej książki, która jest pisana prostym językiem, po polsku dostępna jest tylko w wersji online, tłumaczenie nie jest kompletne, ale obejmuje zdecydowaną większość materiału. Dostępna jest także wersja offline, jednak już tylko po angielsku: http://git-scm.com/book/pl

997   5 #8 26.08.2013 08:58

Nie chce mi się oglądać, jakoś wolę poczytać ;-) A planujesz napisać coś na temat stawiania gita u siebie gdzieś na jakimś Linuksiku? Gitolite czy innego? Łatwa, a jakże przydatne rzecz jeśli zamierzamy ukryć swój projekt w zaciszu własnej grupy ;-)

tfl   8 #9 26.08.2013 10:01

@997

Nie zamierzam. Osoby, ktore pracuja na linuxie (pracuja w doslowynym tego slowa znaczeniu) na pewno by mnie przygnietli wlasna wiedza z tej dziedziny. Osoby, do ktorych kierowana jest ta seria, to osoby, ktore poradza sobie na windows, ale na linux nie potrafia pma zainstalowac.

Dla osob, ktore niekoniecznie chca sie dzielic kodem ze wszystkimi w necie, a chca korzystac z gita na jakims zewnetrznym serwisie polecam bitbucket.

kostek135   8 #10 26.08.2013 19:53

@997
W moim odczuciu stawianie "serwera" git-a mija się z celem. Ponieważ git sam w sobie jest idea rozproszoną. http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-pract...
wyszukaj "How do you set up a shared team repository" i zobaczysz, że do pracy z innymi żaden serwer nie jest potrzebny. Taki github daje ci tylko tyle, że twój kod łatwiej znaleźć. Jeśli postawisz serwer w tym celu, aby być kopią github'a to na pewno ci się nie uda - przyzwyczajenie i marka. Jeśli z kolei chcesz mieć uptime 24/7 i prywatne repo, to znowu nie wiem po co wydawać na serwer skoro taki bitbucket ma to za free (z pewnymi ograniczeniami). Jeśli jednak chcesz to wystarczy, że przez ssh postawisz najzwyklejszego git'a i rozdystrybuujesz klucz znajomym, z którymi chcesz pracować to tyle.

kostek135   8 #11 26.08.2013 19:58

najzwyklejszego gita z opcją shared (czy edycja komentarzy wróci kiedyś???)

997   5 #12 26.08.2013 20:46

@kostek135
No wiesz ja tam z githuba nie korzystam za bardzo a ostatnio gita w ogóle do czego innego używałem ;-) Tak tylko wspomniałem o tym, zawsze coś do poczytania z innej perspektywy.

Ale rozumiem @tfl odnośnie Linuksa - dawno mnie nie było tutaj i zapomniałem jak to w ogóle jest ruszyć temat z tym związany... ;-)
Dla mnie ostatnio git to możliwość zamontowania hooka i zrobienia pulla np. konfiguracji jakiegoś softu bez potrzeby korzystania z ftpów i kombinacji z użytkownikami itd.

vircung   5 #13 27.08.2013 16:42

@kostek135 i tak i nie. Zależy do czego potrzebne Ci jest repozytorium. Dla domowego projektu masz rację ale przy większym srogo się mylisz. Idea centralnego repozytorium/serwera (nawet dla git) wiąże się z kilkoma profitami a ponadto sam git daje możliwość ustawienia repozytorium bez fizycznych plików (flaga --bare) z możliwością robienia na nim push.

Po co takie repozytorium? Ciągła integracja, automatyczne buildy, metryki kodu, budowanie projektów zależnych, powiadomienia w przypadku błędów w projektach zależnych wywołanych zmianami w bibliotece. To tylko podstawowe funkcje jakie może spełniać taki serwer(y) i przy większych projektach gwarantuję Ci, że jest to wykorzystywane.

Polecam też zapoznać się z moim wpisem, który został wymieniony we wpisie:)