eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Embedded HTTP Server
Ilość wypowiedzi w tym wątku: 42

  • 21. Data: 2020-06-08 22:43:46
    Temat: Re: Embedded HTTP Server
    Od: Maciej Sobczak <s...@g...com>

    > Nie, to wszystko jest w implementacji IStream :D

    Właśnie nie. Bo IOStream nie ma API do obsługi czegoś takiego jak gniazdo
    nasłuchujące, ani tym bardziej do tworzenia nowych strumieni. Więc potrzebne są
    osobne interfejsy do obsługi tego aspektu, który być może wygląda różnie w zależności
    od transportu.
    Kwestie bezpieczeństwa też nie muszą być rozstrzygane tylko na poziomie transportu,
    więc mogą zasługiwać na osobne parametry, tak jak wspomniany alokator pamięci. Itp.
    Czyli zaproponowana przez Ciebie sygnatura też dla kogoś może być niekompletna.
    Pytanie, gdzie jest własciwa granica pomiędzy tym, co parametryzowane a tym, co
    ustalone.

    > Ale czyż nie myślisz o tym aby zmieniac świat czy może już przekroczyłeś
    > 20tkę i zastanawiasz się jak dotrwać do emerytury :D ?

    Jest jeszcze etap samej emerytury, ludzie dziwne rzeczy wtedy robią.

    > Innymi słowy wybieram się na wakacje z gotówką portfelui i kupie sobie
    > na miejscu co mi jest potrzebne,

    Nie, bo jeszcze masz w bagażniku rozkładany uniwersalny stelaż/ramę i spędzisz
    wakacje próbując przykręcić do niego przepłacone w kurorcie części.

    > vs rozwiązanie kiedy wybierając sie w
    > góry mam bagażnik zawalony pontonami bo autor biblioteki lubi morze.

    I raczej zorientowałeś się pakując wcześniej bagażnik.

    > Abecnie dziubdziam
    > hobbystycznie aplikacje z lokalnym GUI i jednoczesnym dostępem przez
    > www, konkretnie to kontroler falownika.

    Fajnie.

    > > Idea jest taka, żebyś nie musiał mieć Qt.
    >
    > Jak masz gazyliony bajtów to Qt jest najmniejszym problemem. Widuje
    > aplikacje z kodem kilkaset kB + grube setki MB na Qt tylko po to aby
    > wyświetlić okienko z przyciskiem. Uchodzi, jak widać.

    Nie takie rzeczy uchodzą. Ale są też ludzie z nieco bardziej wyrafinowanym gustem.

    > Właśnie nie. "kuźwa, znowu mutexy" i takie klimaty.

    Jakie muteksy? W przykładach dopiero 6. ma mutex a i jego mogłoby nie być, gdyby
    połączyć get_updates() i activity().
    I jaki masz problem z muteksem, skoro nie masz problemu dołączając setki MB na guzik?

    > To nie kwestia czego używa większosc tylko czy można uzyć tego w sposób
    > niestandardowy. Właśnie to powodujee że nagle ten promil programistów
    > powie "no właśnie czegoś takiego szukam od 10 lat, genialne". A reszta
    > nie zauważy róznicy bo dostanie implementacje wątkową jako domyślną.
    > Wszyscy zadowoleni.

    Wszystkich można zadowolić w wersji 14.7. A w wersji 1.0 wstawiamy nogę w drzwi i
    liczymy zainteresowanych.

    > Oczywiście każdy przypadek wymaga analizy, ale
    > nie twierdziłbym kategorycznie że apliakcja GUI musi mieć wątki.

    Ja się pytam, dlaczego musi nie mieć.

    Ale o tym zapraszam w osobnym wątku, bo to ciekawy temat.

    --
    Maciej Sobczak * http://www.inspirel.com


  • 22. Data: 2020-06-08 23:24:20
    Temat: Re: Embedded HTTP Server
    Od: heby <h...@p...onet.pl>

    On 08/06/2020 22:43, Maciej Sobczak wrote:
    >> Nie, to wszystko jest w implementacji IStream :D
    > Właśnie nie. Bo IOStream nie ma API do obsługi czegoś takiego jak gniazdo
    nasłuchujące, ani tym bardziej do tworzenia nowych strumieni.

    Dlatego masz abstractFactory dla stumieni przekazane do Twojego kodu.

    > Kwestie bezpieczeństwa też nie muszą być rozstrzygane tylko na poziomie transportu

    Ale zazwyczaj są i to jest, powiedzmy, naturalne, że strumienie sa
    szyfrowane.

    >, więc mogą zasługiwać na osobne parametry, tak jak wspomniany alokator pamięci.
    Itp.

    Owszem, ba, powinny być odporne na uderzenia meteorytów. Ale czy aby to
    ja się zapędzam za daleko w wymyślaniu ficzerów ;) ?

    > Czyli zaproponowana przez Ciebie sygnatura też dla kogoś może być niekompletna.
    Pytanie, gdzie jest własciwa granica pomiędzy tym, co parametryzowane a tym, co
    ustalone.

    Brak odpowiedzi na to pytanie i brak abstrakcji *jakiejś* jest i tak
    gorszy niż jakaś abstrakcja.

    >> Ale czyż nie myślisz o tym aby zmieniac świat czy może już przekroczyłeś
    >> 20tkę i zastanawiasz się jak dotrwać do emerytury :D ?
    > Jest jeszcze etap samej emerytury, ludzie dziwne rzeczy wtedy robią.

    Na grupie to głównie wspominali GEORGE i jaki dobry jest Pascal z
    Simulą. Czy ja wiem ... może i dziwne.

    >> Innymi słowy wybieram się na wakacje z gotówką portfelui i kupie sobie
    >> na miejscu co mi jest potrzebne,
    > Nie, bo jeszcze masz w bagażniku rozkładany uniwersalny stelaż/ramę i spędzisz
    wakacje próbując przykręcić do niego przepłacone w kurorcie części.

    Troche za dalego idzie ta analogia.

    >> vs rozwiązanie kiedy wybierając sie w
    >> góry mam bagażnik zawalony pontonami bo autor biblioteki lubi morze.
    > I raczej zorientowałeś się pakując wcześniej bagażnik.

    W wypożyczalni były tylko te z pontonami i te zawalone po dach nartami.
    A ja latem jadę w góry. Takiego samochodu z pustym bagażnikiem nikt nie
    wymyślił, wszysci wciskają mi w gratisie pełen bagażnik zbędnych dupereli.

    >> Właśnie nie. "kuźwa, znowu mutexy" i takie klimaty.
    > Jakie muteksy?

    W kodzie klienta.

    > I jaki masz problem z muteksem, skoro nie masz problemu dołączając setki MB na
    guzik?

    No własnie chciałbym nie mieć jednago ani drugiego :D

    >> Oczywiście każdy przypadek wymaga analizy, ale
    >> nie twierdziłbym kategorycznie że apliakcja GUI musi mieć wątki.
    > Ja się pytam, dlaczego musi nie mieć.

    Bo znacząco podnosi to koszt jej obsługi, refaktoringu i supportu. W
    dodatku kilkoma studentami jej nie opędzisz, nagle musisz mieć senior
    dev którzy ogarniają głupi semafor.


  • 23. Data: 2020-06-08 23:44:16
    Temat: Re: Embedded HTTP Server
    Od: Maciej Sobczak <s...@g...com>

    > > I czym się różni pomyłka polegająca na użyciu pustego wskaźnika od pomyłki
    polegającej na użyciu wskaźnika do niewłaściwej funkcji?
    >
    > Na tym że pierwsa jest wykrywana przez trywialny assert.

    Który nie wykrywa niczego innego. To, że jesteś na lądzie, nie znaczy, że pod
    właściwym adresem (pun intended).

    > Nie użycie go
    > świadczy o bardzo kiepskiej jakości kodzie

    Według jakich kryteriów?

    > ponieważ bibiloteka nawet
    > *takiej* oczywistości nie weryfikuje

    Od kiedy to biblioteki HTTP służą do weryfikacji programów?

    > a powinna weryfikować jak nawięcej

    Według jakiego procesu produkcji oprogramowania?

    > Z praktyki wynika że nullowe pointery są znacznie wiekszym problemem niż
    > niewłaściwe pointery, bo te drugie często załatwia się kontrolą typów.

    Nie, bo wszystkie akcje GET mają ten sam typ.

    register_get_html("action1", action1);
    register_get_html("action2", action2);
    register_get_html("action3", action2);

    Jest bug. Co więcej, zdecydowanie łatwiej jest go zrobić, niż napisać NULL.

    > Szczególnie kiedy biblitekę używasz po raz pierwszy i spodziewasz się
    > choć odrobiny wsparcia po jej stronie.

    Wsparcie jest w tym, że API jest minimalne i nie narzuca się z niepotrzebnymi
    abstrakcjami.

    > Nie wykluczam że w projaktach hobbystycznych jest jakiś margines
    > projektów gdzie faktycznie psu na budę te testy. Skoro taki masz target...

    Targetem są świadomi inżynierowie, którzy nie oczekują od biblioteki HTTP, że im
    zrobi weryfikację poprawności programu...

    --
    Maciej Sobczak * http://www.inspirel.com


  • 24. Data: 2020-06-08 23:52:26
    Temat: Re: Embedded HTTP Server
    Od: Maciej Sobczak <s...@g...com>

    > > Kwestie bezpieczeństwa też nie muszą być rozstrzygane tylko na poziomie
    transportu
    >
    > Ale zazwyczaj są

    O, słowo kluczowe. "Zazwyczaj".
    Więc zazwyczaj ludzie chcą mieć prosty interfejs, który od razu działa.

    > Brak odpowiedzi na to pytanie i brak abstrakcji *jakiejś* jest i tak
    > gorszy niż jakaś abstrakcja.

    Ale nikt mi nie zgłaszał (realnie) zapotrzebowania na abstrakcje. Natomiast na prosty
    wbudowalny serwer HTTP mam zapotrzebowanie natychmiast.

    > W wypożyczalni były tylko te z pontonami i te zawalone po dach nartami.

    To idź do innej wypożyczalni zamiast się awanturować, że coś jest w bagażniku.

    > > Jakie muteksy?
    >
    > W kodzie klienta.

    A po co?

    > > I jaki masz problem z muteksem, skoro nie masz problemu dołączając setki MB na
    guzik?
    >
    > No własnie chciałbym nie mieć jednago ani drugiego :D

    Nawet takiego małego muteksika? I jesteś gotów za to zapłacić znacznie bardziej
    skomplikowanym użyciem? Dziwne.

    > >> nie twierdziłbym kategorycznie że apliakcja GUI musi mieć wątki.
    > > Ja się pytam, dlaczego musi nie mieć.
    >
    > Bo znacząco podnosi to koszt jej obsługi, refaktoringu i supportu.

    A tak w dolarach? Albo w procentach?
    Bo ja nie wiem, skąd to "znacząco". Z przykładów to nie wynika.

    > W
    > dodatku kilkoma studentami jej nie opędzisz, nagle musisz mieć senior
    > dev którzy ogarniają głupi semafor.

    Ja myślę, że studenci są już i tak nieosiągalni w sferze C++.
    Tylko seniorzy zostali.

    --
    Maciej Sobczak * http://www.inspirel.com


  • 25. Data: 2020-06-09 00:08:17
    Temat: Re: Embedded HTTP Server
    Od: heby <h...@p...onet.pl>

    On 08/06/2020 23:52, Maciej Sobczak wrote:
    >> W wypożyczalni były tylko te z pontonami i te zawalone po dach nartami.
    > To idź do innej wypożyczalni zamiast się awanturować, że coś jest w bagażniku.

    Nie ma innej. Mam do wyboru ciągnąc przyczepkę za jednym z nich albo
    kupić torche rudy żelaza i zrobić własny.

    >>> Jakie muteksy?
    >> W kodzie klienta.
    > A po co?

    Bo są callbacki.

    >> No własnie chciałbym nie mieć jednago ani drugiego :D
    > Nawet takiego małego muteksika? I jesteś gotów za to zapłacić znacznie bardziej
    skomplikowanym użyciem? Dziwne.

    Mały muteksiak to duży kłopot w kilku przypadkach.

    >>>> nie twierdziłbym kategorycznie że apliakcja GUI musi mieć wątki.
    >>> Ja się pytam, dlaczego musi nie mieć.
    >> Bo znacząco podnosi to koszt jej obsługi, refaktoringu i supportu.
    > A tak w dolarach? Albo w procentach?
    > Bo ja nie wiem, skąd to "znacząco". Z przykładów to nie wynika.

    Z życia wynika :D Zawodowo mam jakieś doświadczenia z tym tematem.
    Unikam wątków jeśli nie są niezbędne ponieważ wiem jaki koszt ponoszę
    wspierając wątki w miejscach gdzie ktoś je wstawił tylko dlatego że
    inaczej nie potrafił.

    >> W
    >> dodatku kilkoma studentami jej nie opędzisz, nagle musisz mieć senior
    >> dev którzy ogarniają głupi semafor.
    > Ja myślę, że studenci są już i tak nieosiągalni w sferze C++.
    > Tylko seniorzy zostali.

    E tam :D Pojedyncze sztuki ciągle wpadają. Takich zakażonych Javą da się
    nawet czasem wyleczyć. Tych od Pythona ciężko ..


  • 26. Data: 2020-06-09 00:22:19
    Temat: Re: Embedded HTTP Server
    Od: heby <h...@p...onet.pl>

    On 08/06/2020 23:44, Maciej Sobczak wrote:
    >> Na tym że pierwsa jest wykrywana przez trywialny assert.
    > Który nie wykrywa niczego innego.

    Ale to co wykrywa jest przydatne.

    >> Nie użycie go
    >> świadczy o bardzo kiepskiej jakości kodzie
    > Według jakich kryteriów?

    Programowania defensywnego na inpucie.

    >> ponieważ bibiloteka nawet
    >> *takiej* oczywistości nie weryfikuje
    > Od kiedy to biblioteki HTTP służą do weryfikacji programów?

    W każdym inpucie powinna być weryfikacja, ponieważ *ułatwia* to
    debugowanie klientowi.

    W każdym innym miejscu powinna być weryfikacja, bo ułatwia to
    refaktoring *autorowi*.

    >> a powinna weryfikować jak nawięcej
    > Według jakiego procesu produkcji oprogramowania?

    Dojrzałego.

    >> Z praktyki wynika że nullowe pointery są znacznie wiekszym problemem niż
    >> niewłaściwe pointery, bo te drugie często załatwia się kontrolą typów.
    > Nie, bo wszystkie akcje GET mają ten sam typ.

    No w tym wypadku nie. W sytuacji ogólnej tak.

    > register_get_html("action1", action1);
    > register_get_html("action2", action2);
    > register_get_html("action3", action2);
    > Jest bug. Co więcej, zdecydowanie łatwiej jest go zrobić, niż napisać NULL.

    To dlatego że masz ascii-art programming. I rozumiem że nie da się tego
    zrobić łatwo i bezpiecznie. Dość specyficzny przypadek gdzie kontrola
    typów nie zadziała. Nie da się mieć wszystkiego, ale to nie znaczy że
    nie można mieć choć troche.

    >> Szczególnie kiedy biblitekę używasz po raz pierwszy i spodziewasz się
    >> choć odrobiny wsparcia po jej stronie.
    > Wsparcie jest w tym, że API jest minimalne i nie narzuca się z niepotrzebnymi
    abstrakcjami.

    Assert to nie abstrakcja. To ... nic.

    >> Nie wykluczam że w projaktach hobbystycznych jest jakiś margines
    >> projektów gdzie faktycznie psu na budę te testy. Skoro taki masz target...
    > Targetem są świadomi inżynierowie, którzy nie oczekują od biblioteki HTTP, że im
    zrobi weryfikację poprawności programu...

    Chyba takich jest relatywnie mało. Sądzepo ilości assertów w poważnych
    biblitekach.


  • 27. Data: 2020-06-09 22:23:15
    Temat: Re: Embedded HTTP Server
    Od: Maciej Sobczak <s...@g...com>

    > > To idź do innej wypożyczalni zamiast się awanturować, że coś jest w bagażniku.
    >
    > Nie ma innej.

    To się dogadaj z właścicielem wypożyczalni. Albo załóż własną i wypożycz sam od
    siebie odpowiednio zapakowany bagażnik.

    > >>> Jakie muteksy?
    > >> W kodzie klienta.
    > > A po co?
    >
    > Bo są callbacki.

    No i?

    Chciałeś event-based, proszę bardzo. Spróbuj sobie wyobrazić, że te callbacki to
    *jedyna* aktywność w programie. Tak jest w przykładach 1-5. Taki program nie różni
    się od programu w całości przyklejonego do tradycyjnego jednowątkowego GUI[*].

    [*] OK, osobne połączenia klienckie to fizycznie różne wątki. Ale da się o tym nie
    myśleć, mogę specjalnie dla Ciebie dodać serializację callbacków.

    Muteks jest potrzebny, jeśli masz powody, żeby robić sekcje krytyczne. Tylko od
    Ciebie zależy, czy będziesz miał te powody.

    > Mały muteksiak to duży kłopot w kilku przypadkach.

    Ale zapomniałeś je opisać.

    > Unikam wątków jeśli nie są niezbędne ponieważ wiem jaki koszt ponoszę
    > wspierając wątki w miejscach gdzie ktoś je wstawił tylko dlatego że
    > inaczej nie potrafił.

    Lubię te nasze przepychanki. Nawet pomimo tego, że są przewidywalne.

    > > Tylko seniorzy zostali.
    >
    > E tam :D Pojedyncze sztuki ciągle wpadają. Takich zakażonych Javą da się
    > nawet czasem wyleczyć. Tych od Pythona ciężko ..

    No, ale tacy przekonwertowani to przecież też nie świeżaki. Tacy od Javy to niemal na
    pewno widzieli jakiś wątek.
    Ba - tacy od Javy to potrafią nawet kilka tysięcy wątków w jednym procesie zrobić i
    jeszcze się cieszyć patrząc na wykresy. Nie sądzę, żeby mieli jakiś problem etyczny
    związany z tą biblioteką do HTTP.

    --
    Maciej Sobczak * http://www.inspirel.com


  • 28. Data: 2020-06-09 22:43:13
    Temat: Re: Embedded HTTP Server
    Od: Maciej Sobczak <s...@g...com>

    > >> Nie użycie go
    > >> świadczy o bardzo kiepskiej jakości kodzie
    > > Według jakich kryteriów?
    >
    > Programowania defensywnego na inpucie.

    Rzucam tezą, że ktoś z dobrą intencją ulepił koncept a cała masa ludzi ten koncept
    powiela, już bez zastanowienia o co autorowi chodziło.

    Weź sobie funkcję std::sort. Ma trzy argumenty, trzeci to właśnie callback
    komparatora (zwany w kręgach zbliżonych do akademickich "predykatem"). Otwórz sobie
    header "algorithm" ze swojego kompilatora i poszukaj tam co robi funkcja std::sort ze
    swoim trzecim argumentem (czyli "inputem", jak to nazywasz).

    Sprawdza, czy programista nie podał pustego wskaźnika/funktora/itp.?

    Tak więc biblioteka HTTP jest właśnie w takim towarzystwie (przynajmniej w tej
    konkretnej kwestii...).

    > > Od kiedy to biblioteki HTTP służą do weryfikacji programów?
    >
    > W każdym inpucie powinna być weryfikacja,

    To nie jest input, tylko część programu. Inputem jest URL z przeglądarki albo dane z
    formatki w POST. I *to* należy walidować.

    > ponieważ *ułatwia* to
    > debugowanie klientowi.

    Debugowanie ułatwia fakt, że gdybyś faktycznie spróbował zrobić taki błąd w tej
    bibliotece, zamiast trollować na rympał, to byś zobaczył, że std::function rzuca
    wtedy wyjątek, który biblioteka uczciwie wypisuje na podanym strumieniu do logowania
    błędów.
    Spróbuj.

    To programowanie defensywne, podobnie jak paranoja wokół unit testów, to niestety
    efekt braku refleksji nad własnym warsztatem.

    > > Targetem są świadomi inżynierowie, którzy nie oczekują od biblioteki HTTP, że im
    zrobi weryfikację poprawności programu...
    >
    > Chyba takich jest relatywnie mało. Sądzepo ilości assertów w poważnych
    > biblitekach.

    No to ile assertów znalazłeś w std::sort na trzecim argumencie?
    Ja sprawdziłem w bibliotekach standardowych z trzech różnych kompilatorów.

    --
    Maciej Sobczak * http://www.inspirel.com


  • 29. Data: 2020-06-09 22:47:00
    Temat: Re: Embedded HTTP Server
    Od: heby <h...@p...onet.pl>

    On 09/06/2020 22:23, Maciej Sobczak wrote:
    > [*] OK, osobne połączenia klienckie to fizycznie różne wątki. Ale da się o tym nie
    myśleć, mogę specjalnie dla Ciebie dodać serializację callbacków.

    Zaczynasz emulować model event-based. Za chwile pojawi się lock-free
    kolejka i już będziemy w domu.

    > Muteks jest potrzebny, jeśli masz powody, żeby robić sekcje krytyczne. Tylko od
    Ciebie zależy, czy będziesz miał te powody.

    Nie. Jeśli mam event-based to nie mam powodów aby z powodu bibloteki
    robić coś ekstra.

    >> Mały muteksiak to duży kłopot w kilku przypadkach.
    > Ale zapomniałeś je opisać.

    Na przykład tam gdzie masz do czynienia z RT.

    Powiedzmy... piszesz soft do drukarki 3D sterujący wprost mechaniką.
    Wystawiasz w nim serwer www do sterowania. Mutexy są mało sensowne bo
    pracujesz nie dośc że w środowisku RT to jeszcze z masą przerwań o
    priorytetach wyższych niż switch kontekstu.

    > No, ale tacy przekonwertowani to przecież też nie świeżaki. Tacy od Javy to niemal
    na pewno widzieli jakiś wątek.

    Prawie kazdy widział wątek. Promil wie jak działa pod maską. Do tego
    tzreba pojmować dość przekrojowo od asm po wysoki poziom. Taki student
    się nie trafia za często.

    > Ba - tacy od Javy to potrafią nawet kilka tysięcy wątków w jednym procesie zrobić i
    jeszcze się cieszyć patrząc na wykresy. Nie sądzę, żeby mieli jakiś problem etyczny
    związany z tą biblioteką do HTTP.

    Nie będą mieli ani jednego w skalowaniu hello worldów na milion watków.
    Do czasu aż wpadną na problem pierwszej współdzielonej zmiennej z okolic
    zagadnien memory barrier. Fakt, w http cięzko takie zagadnienia znaleźć ...


  • 30. Data: 2020-06-09 23:14:00
    Temat: Re: Embedded HTTP Server
    Od: Maciej Sobczak <s...@g...com>


    > Zaczynasz emulować model event-based.

    Nie emulować, tylko sztucznie te zagadnienia rozdzielasz.
    Przecież biblioteka oparta w całości o callbacki jest eventowa niemal z założenia. To
    Ty usiłujesz jej przypisać jakieś inne cechy.

    > > Muteks jest potrzebny, jeśli masz powody, żeby robić sekcje krytyczne. Tylko od
    Ciebie zależy, czy będziesz miał te powody.
    >
    > Nie. Jeśli mam event-based to nie mam powodów aby z powodu bibloteki
    > robić coś ekstra.

    Ciągle nie pokazałeś, dlaczego miałbyś robić coś ekstra.
    I dlaczego to akurat miałoby być z powodu tej biblioteki.

    Powtórzę: przykłady 1-5 *nie mają* muteksów. A jakie piękne GUI mają.

    > >> Mały muteksiak to duży kłopot w kilku przypadkach.
    > > Ale zapomniałeś je opisać.
    >
    > Na przykład tam gdzie masz do czynienia z RT.

    No i? Jest cała szkoła modelowania systemów RT z obiektami chronionymi (patrz np. Ada
    i związane z nią papiery akademickie), gdzie muteksy w niczym nie przeszkadzają. Jaki
    masz problem z tymi muteksami?

    > Powiedzmy... piszesz soft do drukarki 3D sterujący wprost mechaniką.

    Łał. Myślałem, że drukarki 3D to był szpan dwa lata temu. :-p
    Teraz młodzież steruje dronami.

    > Wystawiasz w nim serwer www do sterowania.

    Masz na myśli, że serwer www lata na RaspberryPi, który jest ukryty w obudowie
    drukarki (no bo jeszcze USB, ekranik, update'y z pendrive'a, i inne tego typu
    oczywistości, bez których nikt by tej drukarki nie dotknął) a sterowanie leci z
    mikrokontrolera?
    Czy może masz na myśli to, że jakiś masochista uparł się, że serwer www z
    niesterowalnym stosem TCP musi koniecznie być na jedynym mikrokontrolerze?

    No to niech będzie ta wersja od masochisty.

    > Mutexy są mało sensowne

    Ale dalej nie pokazałeś, po co te muteksy. Masz jakieś fiksacje. :-)

    > Prawie kazdy widział wątek. Promil wie jak działa pod maską.
    [...]
    > Fakt, w http cięzko takie zagadnienia znaleźć ...

    O, to, to. Fajnie, że dostrzegasz bezcelowość swojego trollowania. :-)

    --
    Maciej Sobczak * http://www.inspirel.com

strony : 1 . 2 . [ 3 ] . 4 . 5


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: