-
Data: 2011-09-17 21:40:02
Temat: Re: Modułowość programu - założenia
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Sep 17, 5:02 pm, Michoo <m...@v...pl> wrote:
> > Co jak zamawianie pizzy
> > - wybierasz sk adniki a pizzaiolo przy piekarniku lepi wszystko tak
> > jak sobie wybra e . Nie widz tu problemu z linkowaniem statycznym.
>
> Ja te nie widz specjalnego problemu - albo pakujemy wybrane pliki .so,
> albo gcc na wybranych plikach .a.
Wolę wersję statyczną. Przynajmniej wiadomo, że użytkownik niczego
ręcznie nie pomieszał.
> > Praktykuje si r wnie inne podej cie - wszystko zlinkowa co si da i
> > dostarczy klientowi ca y produkt, ale tylko niekt re jego modu y s
> > aktywne, reszta jest nieaktywna i aktywuje si j p niej.
>
> Tylko co w sytuacji gdy nie da si tego zlinkowa bo mamy plugin X i
> jego wersj dla firm A,B r ni ce si kilkoma szczeg ami, kt rych
> wprowadzenie do mainline nie jest ani celowe ani korzystne?
Nie rozumiem. Czego się nie da zlinkować? Różnych modułów? Pewnie, że
się da.
A to, że coś nie jest celowe, to nikogo nie obchodzi, jeśli niechciane
części są nieaktywne.
> > Wad jest
> > to, e si bierze wi kszy pakiet na pocz tku ale zalet jest to, e
> > p niejsza aktywacja modu w w og le nie musi nawet wymaga po czenia
> > przez net. I to si praktykuje, nawet cz sto.
>
> Ale te aktualizacja wymaga konstruowania binarnych at albo pobierania
> ca o ci na nowo, nie mo na wys a po prostu zmodyfikowanej jednej
> biblioteki.
A co za różnica?
Jak na swoim komputerze widzę, że jest aktualizacja do jakiegoś
programu, to mnie kompletnie nie interesuje, czy to jest łata, czy
całość, czy 4 z 156 bibliotek. Widzę tylko, że jest aktualizacja i
mogę wcisnąć Continue albo i nie wcisnąć.
Użytkownika naprawdę nie interesuje w jakim formacie te aktualizacje
przyjdą.
> > Oczywi cie ch tnie us ysz jaki przyk adowy kontrargument, tylko
> > praktyczny.
>
> Za my, e mamy aplikacj obs uguj c kilkaset da na minut . W
> przypadku odpowiednio rozwi zanego systemu plugin w mo emy oznaczy
> plugin jako przeznaczony do wy adowania(zostanie wy adowany gdy sko cz
> si wszystkie po czenia), za adowa now wersj i mie aktualizacj bez
> downtime.
Widziałeś już coś takiego w praktyce? Nazwa produktu, please.
BTW - co to znaczy "gdy skończą się wszystkie połączenia" i czym to
się różni od downtime?
BTW2 - a co jak się połączenia nie skończą, bo zawsze przyjdzie jakieś
nowe i nigdy nie będzie ich zero? Trzeba zrobić jakiś mechanizm, który
nie pozwoli na stworzenie nowych połączeń. I czym *to* się różni do
downtime z punktu widzenia tego odrzuconego klienta?
Gdybym miał zrobić taki hot-swap, to nie robiłbym programu jako zbioru
bibliotek, bo to na 100% się kiedyś wywali na hazardach, tylko jako
zbiór osobnych programów połączonych przez jakiś message bus w postaci
lokalnego brokera. Albo przewidziałbym failover pomiędzy instancjami
od samego początku. Takie coś robiłem i bez żadnego downtime'u można
było uaktualniać nie tylko software ale i hardware. Ale ładowanie i
wyładowywanie bibliotek w czasie działania programu? Science fiction.
> Przyk ad:
> w pewnej, rzadkiej sytuacji modu A u ywa foo z modu u B, foo zostaje
> zmodyfikowana (dzia a teraz w spos b niekompatybilny) i dopiero na
> etapie szczeg owych test w (albo dopiero w praniu) wychodzi zale no
> A->B. Gdyby to by y pluginy to komunikowa y by si po swoich publicznych
> interfejsach i by oby wiadomo od pocz tku, e specyfikacja foo jest jego
> sk adow .
Ale biblioteki dzielone kompletnie nic tu nie wnoszą. Wystarczy
posłużyć się narzędziami dostępnymi na poziomie języka. Jeśli one nie
wystarczają, to język jest do bani i biblioteki dzielone nadal nic tu
nie wniosą.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 18.09.11 07:42 Jacek Czerwinski
- 18.09.11 08:12 Artur Muszyński
- 18.09.11 08:32 Jacek Czerwinski
- 18.09.11 08:59 Patryk Włos
- 18.09.11 09:31 Robert Winkler
- 18.09.11 12:49 Paweł Kierski
- 18.09.11 13:31 Jacek Czerwinski
- 18.09.11 15:55 A.L.
- 18.09.11 16:21 Waldek M.
- 18.09.11 16:59 Lukasz
- 18.09.11 21:35 R. P.
- 20.09.11 22:30 Edek
- 20.09.11 23:30 A.L.
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=
- 2024-11-22 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=