-
Data: 2022-07-20 16:54:53
Temat: Re: Rynek pracy STM32
Od: a...@m...uni.wroc.pl szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dawid Rutkowski <d...@w...pl> wrote:
> ?roda, 20 lipca 2022 o?04:27:18 UTC+2 a...@m...uni.wroc.pl napisa?(a):
> > Janusz <j...@o...pl> wrote:
> > > W dniu 2022-07-19 o?18:26, Dawid Rutkowski pisze:
> > > > wtorek, 19 lipca 2022 o?16:57:56 UTC+2 Mateusz Viste napisa?(a):
> > > >> 2022-07-19 o 07:44 -0700, Dawid Rutkowski napisa?:
> > > >>> To jak taki fajny ten SVN, bez wad, to po co Linus pisa? gita?
> > > >> To jest pytanie z serii "skoro mam traktor, to po co mi samoch?d".
> > > >> svn i git to dwa VCSy, ale rozwi?zuj?ce nieco inne klasy problem?w.
> > > >
> > > > Tote? w?a?nie o to pytam - czym si? r??ni??
> > > > I jak bardzo w og?le mog? si? r??ni? od siebie systemy kontroli wersji?
> > > > Wiadomo, ?e podstawowym pytaniem jest "co si? optymalizuje?" i ?e si?
> > > > nie da mie? wszystkiego (dlatego w?r?d programist?w jest tak ma?o kobiet -
jedynie
> > > > kobieta z umys?em m??czyzny, typu Maria Sk?odowska, jest w stanie to
zrozumie?),
> > > > no ale na ile r??nych sposob?w mo?na zrobi? to samo?
> > > > Mo?e naiwnie pytam, bo w sumie te? wci?? czekam na satori - czyli
zrozumienie,
> > > > po co w og?le takiego oprogramowania u?ywa?, w sensie zysk?w, bo ?e koszty
b?d? to nie ulega w?tpliwo?ci.
> > > Nie przejmuj si?, mnie te? nie przekona? ani on ani poprzednicy, jak
> > > pracujesz sam nad kodem to i sam sobie panujesz nad kolejnymi wersjami.
> > > Co innego praca zespo?owa i chyba g??wnie w takiej pracy sie to uzywa,
> > > ale dla np mnie jest strasznie upierdliwe.
> > >
> > > >
> > > > A tendencj? rozs?dnego cz?owieka jest szukanie rozwi?zywania istniej?cych
problem?w,
> > > > a nie hipotetycznych (to to podczas analizy i projektu).
> > > >
> > > > Bo to, ?e VCS pomo?e mi w tym, ?e sobie z czym? eksperymentuj?, a potem to
albo odrzucam albo
> > > > wrzucam do trunka, to mi na plaster - to samo robi si? po prostu kopiuj?c
katalog
> > > > (zak?adam ?e katalog jest na tak samo chronionym komputerze w sensie
redundancji itp. co VCS).
> > > > Ewentualnie mog?oby co? da?, gdybym na raz eksperymentowa? z kilkoma
rzeczami,
> > > > ale dla bezpiecze?stwa chcia?, by sprawdza? jedn? na raz - a potem ?eby VCS
automagicznie
> > > > po??czy? mi trzy takie ga??zie w sp?jny projekt b?d?cy wersj? wyj?ciow? z
dodanymi tymi 3 nowymi funkcjonalno?ciami.
> > > > Da si? tak?
> > > Dostaniesz tak? kaszk? mann? ?e tydzie? b?dziesz dochodzi? co jest gdzie :)
> > >
> >
> > 90% funkcji systemu kontoroli wersjo mozna uzystkac kopiujac katologi:
> > robisz sobie glowny katalog na wersje w nim podkatalog dla kazdej
> > wersji. Co w takim razie daje system kontroli wersji w sytuacji
> > pojednyczego programisty:
> > - oszczedniejszy zapis danych
> > - mniejsze ryzyko przpadkowych bledow (np. bledna nazwa katalogu
> > moze spowodowac nadpisanie starszej wersji zmiast utworzenia
> > nowej)
> > - wygoda: system kontroli wersji pamieta parametry ktore podales
> > i moze je uzyc. Zamiast kilku polecen dla jednej logicznej
> > operacji wystarcza jedno polecenie.
> >
> > Co do oszczedniejszego zapisu: w jedny z moich projektow repozytorium
> > git-a zajmuje 65 M. Same zrodla to 25 M. Jest ok. 3000 wersji,
> > co przy naiwnej metodzie "katalog na wersje" daloby rzedu 75 G
> > (projekt zaczal od juz istniejacych zrodel, sporo kodu bylo
> > usowane tak ze rozmiar wczesnych wersji jest podobny od obecnego).
> > Dla oszczednosci miejsca zrodla moznaby kompresowac, wtedy dostane
> > ok 4M, do 3000 wersji to ciagle rzedu 12 G na calosc. Przy
> > skompresowaych zrodlach wiekszosc operacji wymagaloby najpierw
> > dekompresji, wiec jest dodatkowa niewygoda.
> >
> > Zamiast katalogow mozna by pamietach diffy (roznice) miedzy
> > wersjami. Wtedy powierzchia dysku do pamietania wersji
> > bylaby mniejsza (ale prawie na pewno wieksza niz 40 M narzutu
> > git-a), ale odtworzenie wersji byloby klopotliwe.
> >
> > Ja "powazniesze" projekty trzymam w systemie kontrolii wersji.
> > Ale nie jestem fanatykim, kilkadzisiat (czy moze kilkaset)
> > drobnych programikow jest poza system kontroli wersji.
> > Jak nie robisz niczego powaznego to system kontroli wersji
> > niewiele pomaga. Tzn. system kontroli wersji zacheca
> > do porzadku i zmniesza opory psychiczne w stylu "czy warto
> > zapamietac ta wersje" (w system kontroli wersji "koszt"
> > kolejnej wesji jest maly).
> >
> > Jak ktos jest z natury nieporzadny to system kontroli
> > wersji mu nie pomoze, taki czlowiek bedzie "walczyl"
> > z systemem albo nie bedzie go w ogole uzywal. Jak
> > ktos jest bardzo porzadny to moze dac sobie rade bez
> > systemu kontroli wersji (zakladajac ze miejsce na dysku
> > nie bedzie problemem), ale system kontroli wersji to
> > wygodniejsza praca. Przecietnym ludziom system kontroli
> > mocno pomaga...
>
> A jakie s? przyk?ady u?yteczno?ci trzymania 3000 wersji?
Gwoli malego wyjasniena: kazda wersja to logicznie w miare
jednorodna i kompletna zmiana, ktora sie kompiluje i przeszla
wszystkie testy. Experymentalny kod i wersje robocze _nie_
umieszczam w systemie kontroli wersji (tu sa rozne praktyki,
czesc osob mocno agituje zeby wersje robocze trzymac w branchach,
wtedy wersji byloby duzo wiecej). Mimo testow wersja moze
wprowadzic blad. Gdzies ze 2-3 razy naprostszym sposoblem
lokazacji bledu bylo binarne szukanie wersji ktora wprowadzila
blad (wersja K nie ma bledu, wesja N ma blad, spradzamy wesje
(K+N)/2 i przechodzimy do odpowiedniego podprzedzialu).
Troche wiecej razy po lokalizacji bledu popatrzenie na
zmiane ktora wprowadzila blad pomoglo w poprawce.
Jak planuje zmiane jakiegos kawalka kodu to popatrzenie
na historie pomaga: pokazuje zaleznosci, widzac cala
zmiane (lacznie z komentarzem) latwiej ustalic/przypomniec
sobie jakies problemy ktore trzeba bylo rozwiazac.
No i jeszcze jedna rzecz: komfort psychiczny. Mozna by
"oszczedzac" pamietajac tylko niektore wersje (w skrajnym
przypadku jedna, tzn. ostatnia). Ale wtedy ryzykuje
duzo pracy jak cos zepsuje a 500 wersji pozniej odkryje
blad. Majac stare wersje prawie zawsze moge naprawic
problem wycofujac zmiane ktora wprowadzila blad.
--
Waldek Hebisch
Następne wpisy z tego wątku
- 20.07.22 16:57 heby
- 20.07.22 17:03 Mateusz Viste
- 20.07.22 19:07 RoMan Mandziejewicz
- 20.07.22 19:38 heby
- 20.07.22 19:46 RoMan Mandziejewicz
- 20.07.22 19:50 heby
- 20.07.22 20:02 a...@m...uni.wroc.pl
- 20.07.22 20:29 Piotr Gałka
- 20.07.22 20:37 heby
- 20.07.22 20:42 heby
- 20.07.22 21:52 Dawid Rutkowski
- 20.07.22 21:56 Piotr Gałka
- 20.07.22 21:57 Janusz
- 20.07.22 22:45 heby
- 20.07.22 22:49 heby
Najnowsze wątki z tej grupy
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
- jak szybko plynie prad
Najnowsze wątki
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-21 Re: Dla mr. J.F`a, Trybuna i Wiesiaczka którzy "troszczą" się o państwowe i u których 0 pragmatyzmu
- 2024-11-20 "betamaxy" i inne voip-y dzisiaj
- 2024-11-21 Strach się bać
- 2024-11-21 Koniec smrodów
- 2024-11-20 Krematorium
- 2024-11-20 Taki tam szkolny problem...
- 2024-11-20 LIR2032 a ML2032
- 2024-11-20 SmartWatch Multimetr bezprzewodowy
- 2024-11-21 Środa Wielkopolska => Konsultant SAP <=
- 2024-11-21 Łódź => Spedytor Międzynarodowy <=
- 2024-11-21 Wrocław => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-21 Kraków => Lead Java EE Developer <=
- 2024-11-21 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=