#0381

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 พ.ย. 2024

ความคิดเห็น • 17

  • @mikoajwojciechowski9507
    @mikoajwojciechowski9507 7 ปีที่แล้ว

    Jak zwykle super poradnik i uporządkowanie wiedzy, aby można było łatwo zacząć mam nadzieję długą serię o komunikacji w oparciu i o Delphi i B4A. Genialnie, że będą takie magiczne czwartki po delfiarskich wtorkach :-)

  • @patUlak
    @patUlak 6 ปีที่แล้ว +1

    Bardzo fajnie wytłumaczone, czuć pasję i zaangażowanie oraz poczucie humoru, co zachęca do słuchania. Jedynie nad tłem trzeba tu popracować, bo czasem odwraca uwagę, lepsze byłoby niezmienne ;)

    • @mirekk36
      @mirekk36  6 ปีที่แล้ว

      Czasem zmienne tło wymusza lepszą koncentrację ;) Ale cieszę się, że mogło się podobać, dziękuję za ciepłą opinię.

  • @maciejlatawiec3298
    @maciejlatawiec3298 7 ปีที่แล้ว

    Super poradnik - czekam oczywiście na czwartki z B4A :)

  • @Pawel.N
    @Pawel.N 7 ปีที่แล้ว

    Panie Mirku, serdecznie dziękuję za rześkie przypomnienie! (17:52) Szczerze przyznam, że za pierwszym razem wcześniejszego (17:28) nie zauważyłem. Może zadziałało podprogowo ;)

    • @mirekk36
      @mirekk36  7 ปีที่แล้ว

      :D no tak to był zdecydowanie przekaz podprogowy :D ... ja nawet teraz jak to widzę to lecę do lodówki i zastanawiam się po co ? :D

  • @YTAnihilati
    @YTAnihilati 7 ปีที่แล้ว +2

    Mirku, bardzo lubię Twoje poradniki. Masz niesamowity talent do przekazywania wiedzy i robisz to z wielkim zaangażowaniem.
    Niestety jeśli chodzi o ten odcinek to mam kilka zarzutów:
    - model iso/osi i model TCP/IP to dwa różne modele (a Ty to przedstawiasz jako jeden "model osi stosu tcp/ip"),
    - w warstwie transportowej są segmenty a nie pakiety (te są w warstwie sieciowej),
    - odnośnie strat w sieci: odkąd weszły sieci bezprzewodowe znowu mamy potencjalnie kłopoty z dużym prawdopodobieństwem strat. Natomiast coraz większy udział w ruchu sieciowym mają transmisje mało wrażliwe na straty (głos, video, gry, etc.). Upraszczając: mało wrażliwe - tzn. np. niewiele się stanie jak "wypadnie" jedna próbka głosu w trakcie rozmowy, a jej retransmisja mija się z celem.

    • @mirekk36
      @mirekk36  7 ปีที่แล้ว +1

      ja wspominałem bardzo wyraźnie, że przedstawiam to w sposób MEGA uproszczony i kompletnie nie porywam się tu na omawianie szczegółów bo się wręcz nie da w takim krótkim przekazie. A więc pierwszy twój zarzut - sorki, ale kompletnie nie trafiony, nawet powiedziałbym zatopiony. Kompletnie zapominasz o tych, którzy mają z tym pierwszy raz do czynienia, a że sam wiesz to próbujesz łapać za słówka. Drugi zarzut - segmenty czy pakiety ;) .... Bez próby podjęcia chociaż w minimalny sposób odniesienia się do szczegółów każdej z warstw to taka uwaga o segmentach/pakietach .... no sorki ;) ... znowu trafiony zatopiony. Trzeci zarzut - no tutaj to już chyba kolega się w ogóle wyłączył. Ja generalnie miałem na celu pokazanie i zaprezentowanie UDP a nie jakichś tam transmisji głosowych, szczególnie kompresowanych - gdzie często można wręcz na zasadzie autokorekty odtwarzać zaginione pojedyncze pakiety ;) .... o czym kolega w ogóle mówi? ;) Troszkę kolega jakby popłynął za daleko. Ja mówię o bardzo praktycznym zastosowaniu i wkrótce będę je pokazywał że tak powiem na KONKRETNYCH przykładach, wciąż mówię o najzwyklejszym UDP .... proszę zatem posłuchać do końca całego cyklu - to może stanie się to dla kolegi bardziej przejrzyste. Nie mam tu na myśli wiedzy o TCP/IP bo widać, że tu kolega ma wiedzę niemałą, ale widać też że gdyby kolega miał ją przekazywać początkującym osobom to byłoby kiepsko.

    • @YTAnihilati
      @YTAnihilati 7 ปีที่แล้ว

      Mirku,
      Moje zarzuty mają na celu tylko zwrócenie Twojej uwagi - że w mojej opinii - pewne skróty są nieuprawnione. Ja całkowicie rozumiem Twoją stylistykę. Przedstawiać jak najbardziej obrazowo temat i możliwie jak najprościej. Tylko, że uważam (rozumiem, że się z tym nie zgadzasz), że w swoich uproszczeniach poszedłeś za daleko.
      Pierwszy zarzut dotyczy sprawy istotnej i pozostaje w mocy jak bardzo "mega" byś nie upraszczał (jak chciałeś upraszczać to po co w ogóle wprowadzać model ISO/OSI?). Druga moja uwaga jest rzeczywiście marginalna (choć potem komuś może się zacząć dopiero mieszać warstwa sieciowa z transportową - jak zacznie drążyć). Kwestia trzecia dotyczyła poruszonego przez Ciebie tematu strat (zacząłeś nawiązywać do starych technologii 19:44 i mówisz, że teraz nie ma problemu z ginięciem pakietów 20:20, a ja tłumaczę, że wciąż jest problem ze stratami pakietów, a istotą jest to, że coraz więcej aplikacji akceptuje te straty i wcale - na wyższej warstwie - nie wymaga retransmisji).
      I na koniec, raz jeszcze podkreślam, te uwagi nie wpływają na bardzo pozytywny odbiór i tego odcinka.

    • @mirekk36
      @mirekk36  7 ปีที่แล้ว

      Ale ja nie odbieram twoich wypowiedzi jako atak czy coś, i bardzo dziękuję za przekazanie ich w bardzo kulturalny sposób, tyle że ja też jasno odpowiadam i wyrażam swoje zdanie. Jeszcze raz odnośnie pierwszego zarzutu - być może nieopatrznie pod napisem model OSI napisałem na tablicy stosu TCP/IP ale to taka zbitka "na szybko" powstała i uwierz mi - nie jest to w stanie absolutnie nikogo wprowadzić w błąd ;) Ludzie musieli być jakimiś nierozumnymi istotami żeby dać się w takim przypadku wprowadzić w błąd. Mówię ci - więcej wiary w ludzi. Ja ich zachęcam w ogóle do zmierzenia się z tematem. Po takich wstępnych wyjaśnieniach - nie tylko w tym poradniku, bo w wielu innych miejscach czasem daję taki ala mini wykład - okazuje się, że ludzie a szczególnie młodzi, już nie mówię że gimnazjaliści ale licealiści - sięgają z przyjemnością po książki dla studentów z 2-3 roku i chłoną dalej wiedzę, doczytują szczegóły. Przy takim podejściu KAŻDA istota ludzka - zarażona tą wiedzą w pigułce - w 5 sekund zauważy o co chodzi z tym stosem TCP/IP i modelem OSI - tu chyba nie możesz się ze mną nie zgodzić - prawda?
      Druga - ta marginalna uwaga - to mogłaby zamieszać w głowie może mniej uważnemu studentowi, który akurat ma przedmiot z tego zakresu a nie za bardzo słuchał wykładów na studiach , później gdyby obejrzał ten poradnik i bezkrytycznie podszedł - to może i mógłby strzelać takie błędy pakiet/segment. Ale tu jeszcze raz powiem - ja nie mam na celu docierać do takich ludzi.
      Odnośnie trzeciej kwestii ... to może wyjaśnię tobie inaczej co miałem na myśli. Bo oczywiście szczególnie przy wifi mogą być takie straty w prostym przesyłaniu pakietów UDP, ale przy połączeniach kablowych ? ;) Z drugiej strony nawet przy WIFI dobrej jakości gdy ktoś działa sobie w domku nie spotka się z większymi problemami przy porządnie zorganizowanej sieci. Zrozum - początkujące osoby, które zamierzają zabrać się za komunikację na mikrokontrolerach - przez takie niestety (jak dla mnie nonsensowne - nie mówię tu o twojej wypowiedzi - ale o ogólnych tekstach jakie to UDP jest straszne - później rzucają się na ....
      .... no na stawianie serwera HTTP opartego siłą rzeczy na TCP albo próbują zestawiać połączenia gniazdkowe na 8-bitowcach i później są rozczarowani dlaczego nie działa.
      Podsumowując - zrozum proszę - ja idę pewnym tokiem który sobie wytyczyłem, długo się przygotowywałem do tego tematu - żeby przemyśleć jaką drogą go pokazać. A na końcu dopiero mogę śmiało zwrócić uwagę na zagrożenia w transmisji UDP i jak sobie z nimi radzić i od czego zależą albo kiedy wybrać inny rodzaj komunikacji.
      Gdybym miał wszystko omawiać czysto teoretycznie jak w książce która opisuje np cały model OSI to .... już w 5 minucie poradnika - spałoby 50% osób zaś w 6 minucie pewnie 99% osób.
      To dlatego też - to powoli wciąż zmieniające się tło - ma pobudzać mózg widza do ciągłego skupiania się na tym co mówię - a muszę mówić bardzo prostym językiem i tak aby JAK NAJWIĘCEJ osób nie tylko zrozumiało - bo nie da się od razu po takim przekazie wszystkiego wiedzieć - ale dalej to już DUŻO ŁATWIEJ komuś złapać ze 2-3 książki i sobie doczytać. Już niejedna osoba mi powiedziała że po takim moim przekazie - nagle kolejne części książki stają się o wiele bardziej zrozumiałe - bo wiadomo co z czym zacząć łączyć. I podkreślam - mówię o ludziach, którzy nie studiują tego w danym momencie gdzieś na uczelni. Ludzie nie mający wcześniej z tym do czynienia. To jest MÓJ główny cel.

    • @YTAnihilati
      @YTAnihilati 7 ปีที่แล้ว

      Mirku
      Przede wszystkim rozumiem Twoje zdanie. Te poradniki robisz wg własnej koncepcji, zamysłu i bazując na olbrzymim doświadczeniu.
      Ja np. uwielbiam serię o ATTiny, bo wg mnie ma ona nieoceniony walor dydaktyczny - i to wg mnie nie tylko dlatego, że pokazujesz ile można wycisnąć z takiego "maluszka", ale też dlatego, że uczy to dbania o zasoby przy projektowaniu każdego systemu (w szczególności elektronicznych i informatycznych).
      Natomiast w tematyce poruszonej przez Ciebie w tym odcinku troszkę się pogubiłem i dlatego wskazałem te "zarzuty", które się wg mnie do tego przyczyniły. Pamiętam jak mnie uczono o stosie ISO/OSI i przyznam, że zupełnie nie rozumiałem jakie ma to zastosowanie w praktyce. Zresztą do tej pory o tym modelu odniesienia uczy się w ten sposób - jest sobie model OSI, sieci komunikacyjne powinny być implementowane z nim w zgodzie, a teraz jest stos protokołów TCP/IP (który prawie każdy kojarzy z Internetem) i on wcale nie jest taki zgodny z ISO/OSI. Niemniej jednak są to dwa różne modele. Stąd moje zdziwienie, kiedy w Twojej prezentacji usłyszałem o "modelu OSI stosu TCP/IP" (np. 2:14). Ja wiem, że to wynika z dynamiki prowadzonego przez Ciebie poradnika i że to był skrót, ale u osoby początkującej może powodować pewien dysonans poznawczy. I z mojej perspektywy wydaje mi się właściwsze przemilczenie modelu ISO/OSI i przedstawienie jedynie modelu TCP/IP (zwłaszcza jeśli nie chcesz wnikać w szczegóły - a zgadzam się, że ma sens nie zagłębianie się w takim poradniku w takie detale). Piszesz - że każda istota rozumna sięgając do źródła zauważy o co chodzi z tym stosem TCP/IP. No właśnie obawiam się, że nie zawsze. I nie wynika to z mojego braku wiary w ludzi, ale z doświadczenia. Po części dlatego, że podręczniki o sieciach komputerowych w języku polskim zwykle są mało zrozumiałe (no może poza podręcznikiem Tanenbauma), a po części dlatego, że ktoś może rozumować tak - w książce piszą, że TCP/IP i ISO/OSI to są dwa różne modele między którymi są pewne analogie a Pan Mirek mówi, że to jest jedno: model OSI stosu TCP/IP, to jak to jest?
      Jeśli chodzi o pakiet i segment. Chodzi o to, że nazwanie tej "paczki" danych zarówno w warstwie sieciowej jak i transportowej "pakietem" może powodować to, że te dwie warstwy się słuchaczowi potem zleją.
      Sęk w tym, że "połączenie" w TCP następuje między urządzeniami końcowymi. Ale na niższej warstwie (IP) realizowana jest komutacja pakietów (a nie kanałów), czyli każda paczka danych i tak może sobie pójść inaczej i przyjść w innej kolejności do urządzenia końcowego (a to dopiero tam jest odtwarzana kolejność segmentów i następuje kontrola strat). Urządzenia sieciowe najczęściej dotykają tylko warstwy drugiej (np. przełączniki) lub trzeciej (np. routery), choć i od tego są odstępstwa. Zatem skupiając się na warstwie transportowej unikałbym zmieszania jej z warstwą niższą. Stąd moja uwaga. Jak jednak widzisz wyjaśnienie jej genezy jest prawdopodobnie na tyle nieoczywiste, że pewnie większość widzów i tak nie będzie przywiązywać do tego wagi (nie będą od razu utożsamiać nazwy pakiet tylko z warstwą sieciową a segmentu z warstwą transportową), stąd uznałem tę uwagę za marginalną.
      Jeśli chodzi o trzecią uwagę, to rozumiem. Ja tylko chciałem zwrócić uwagę, że to, że UDP może zgubić pakiety, to nie znaczy od razu, że musimy się tym martwić i specjalnie cokolwiek robić w wyższych warstwach. Co prawda może przykłady z VoIP i VOD odbiegają od głównej tematyki poruszanej przez Ciebie, więc żeby to lepiej zobrazować - np. jeśli będziemy prowadzić jakiś pomiar i dane z czujnika przesyłać bezprzewodowo do jakiegoś serwera. To jeśli robimy to odpowiednio często i raz na jakiś czas nam wynik pomiaru 'zaginie' to nic się nie stanie. A zatem niejako chciałem dodatkowo wzmocnić Twój przekaz o sensowności stosowania UDP, ale widać chyba stałem się mało zrozumiały.
      Rozumiem, że masz koncepcje i plan na realizację poradników w tym temacie. Nie jest moim celem ingerowanie w nie. Chciałem się podzielić tylko z Tobą moimi odczuciami, gdyż słuchając Twojej prezentacji starałem się wczuć w osobę, która styka się z tą tematyką po raz pierwszy - właśnie na Twoim kanale. Chciałem, abyś potraktował to na zasadzie - co jeśli on nie jest odosobniony.
      Jeśli chodzi o tło, to przyznam, że nie zwróciłem na to uwagi, gdy po raz pierwszy oglądałem poradnik i mi to nie przeszkadzało. Nie jestem w tym zakresie ekspertem w tym zakresie i nie znam takiej techniki skupiania uwagi, więc nie wypowiem się w tym zakresie.
      Zgadzam się, że wielką sztuką jest prowadzić dydaktykę dla osób początkujących - z jednej strony jak przedstawić temat prosto i zrozumiale, ale jednocześnie z drugiej strony bez nadmiernych skrótów i uproszczeń. I moje dzisiejsze uwagi dotyczą właśnie tego drugiego aspektu. Moim zdaniem, w moim odczuciu, te kwestie zostały nadmiernie uproszczone, co właśnie mogłoby powodować pewną konsternacje po sięgnięciu do książek.
      Uważam jednak, że wykonujesz tytaniczną robotę tymi poradnikami.

    • @mirekk36
      @mirekk36  7 ปีที่แล้ว

      Powiem tak - ja się zgadzam z tym co mówisz i piszesz, i masz 100% racji ... przyznaję bez bicia. Tylko teraz na tą naszą dyskusję niech się odezwą chociaż ze trzy osoby, które wiedzą o czym my mówimy. Tym bardziej, że jak sam słusznie napisałeś w języku polskim jest jak na lekarstwo dobrej literatury. Ja absolutnie (zrozum proszę) nie spieram się z tobą w tym sensie, żebym zarzucał, że źle pan prawisz ;) bo dobrze mówisz i uzupełniasz. To jest oczywista zaleta takich dyskusji, że znowu ten kto zechce i to zobaczy to z tego tylko skorzysta. Bo ja tak jak wspominałem nie jestem nieomylny i pewnie (jak sądzę) znam temat warstw albo ich szczegóły już bardzo słabo, albo nie do końca pamiętam. Możemy zatem długo tutaj mówić czy są błędy w tym co mówię - w aspekcie aż takich szczegółów o jakich wspominasz ... i masz rację, tylko co to da?
      Ja w dalszych częściach opowiem jeszcze o samym datagramie, jego strukturze, i o tym jak łatwo i przyjemnie implementuje się komunikację UDP w kilku bardzo różniących się od siebie środowiskach: B4A (Android), PC oraz mikrokontroler. To jest moim celem, te poradniki zaś mają być wstępem rzucającym bardzo ogólne światło żeby chociaż mniej więcej widz wiedział co i skąd się bierze i gdzie i o czym poczytać gdyby chciał wejść w głąb. A czy to model OSI czy stos TCP/IP ... co za różnica ;) czy jest ktoś kto zajmuje się w praktyce (mówię o amatorach , początkująych albo i średnio zaawansowanych) który musi przeorać szczegóły działania każdej warstwy a w szczególności części o których fajnie nawiasem mówiąc piszesz (dotyczących routerów itp) ? ... wątpię ...
      Jeśli uważasz, że zbyt uproszczone to trudno - no masz do tego prawo a ja szanuję twoje zdanie. Ja jednak jeśli pozwolisz pozostanę przy swoim, i wierzę - że jeśli już ktoś pójdzie głębiej w te zagadnienia - to czytając książki - złapie go konsternacja jeszcze milion razy ;) nie tylko w związku z uproszczeniami ...
      To troszkę tak jakby np, gdybyśmy chcieli pisać komunikację po USB - to sądzisz, że powinno się omówić dokładnie całą dokumentację tego standardu ? ;) Ja myślę, że nie - najpierw wystarczy pokazać jak zacząć, jak coś przesłać - jak osiągnąć efekt w praktyce - a to dopiero skłaniać może do dalszych poszukiwań o co chodzi w środku. Wg mnie sama teoria zabija każdą pasję ;) ... przynajmniej ja lubię sporo praktyki ...
      Czy moje podejście jest najlepsze na świecie? NA PEWNO NIE! ... ja jestem mały pikuś, ale wiem - że ze swoim przekazem wiedzy trafiam do sporej części ludzi i wiem jak oni szybko potrafią się uczyć dalej i poznawać szerzej zagadnienia we własnym zakresie - często prześcigając mnie ... ale to jest właśnie jeden z moich celów. Pobudzać wyobraźnię i bakcyla programowania.
      Dlatego jeszcze raz - cieszę się z twoich uwag ale tym bardziej gdy kończą się nie tylko na zarzutach a tak jak teraz chociażby na próbach wyjaśnienia w ciut większym zakresie w czym rzecz. Bo dopiero teraz inny widz będzie miał ciut więcej informacji.
      A tak w ogóle - to miło podyskutować z takim człowiekiem, który nie jest malkontentem - zaś gdy mówi o błędach to potrafi to robić w bardzo kulturalny sposób.

  • @Pawel.N
    @Pawel.N 7 ปีที่แล้ว

    Chciałbym dodać jedną rzecz, o której Pan Mirek nie wspomniał ze względu na "oczywistą oczywistość".
    Dlaczego UDP jest szybsze od TCP?
    Bo policzenie wszystkiego (kolejność, crc i reszta) dla TCP wymaga wielu dodatkowych instrukcji procesora i pamięci. Przeliczając to na cykle zegarowe różnica może być kilku-kilkunastokrotna, tak na oko. Jak ktoś ma testy albo źródło - będę wdzięczny bo sam jestem ciekaw :)

  • @marekjaglarz6880
    @marekjaglarz6880 7 ปีที่แล้ว

    Hurrraaa! Będą czwartki z B4A :-)

    • @mirekk36
      @mirekk36  7 ปีที่แล้ว +1

      Marek, chociaż byłbyś tylko jednym odbiorcą czwartków z B4A to i tak rozpocznę tę serię ;) Z takimi ludźmi jak ty warto ;) przynajmniej będzie o czym merytorycznie podyskutować :D

    • @marekjaglarz6880
      @marekjaglarz6880 7 ปีที่แล้ว

      No w C# zrobiłem sobie komunikację w UDP komp komp. W Androidzie jeszcze nie robiłem :p