-
X-Received: by 2002:a37:6503:: with SMTP id z3mr21218698qkb.439.1592946787380; Tue,
23 Jun 2020 14:13:07 -0700 (PDT)
X-Received: by 2002:a37:6503:: with SMTP id z3mr21218698qkb.439.1592946787380; Tue,
23 Jun 2020 14:13:07 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
e.net!feeder.erje.net!ecngs!feeder2.ecngs.de!78.46.58.241.MISMATCH!weretis.net!
feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATC
H!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googleg
roups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 23 Jun 2020 14:13:07 -0700 (PDT)
In-Reply-To: <7...@g...com>
Complaints-To: g...@g...com
Injection-Info: google-groups.googlegroups.com; posting-host=213.108.152.51;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 213.108.152.51
References: <d...@g...com>
<3...@g...com>
<7...@g...com>
<a...@g...com>
<d...@g...com>
<7...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6...@g...com>
Subject: Re: Embedded HTTP Server
From: Maciej Sobczak <s...@g...com>
Injection-Date: Tue, 23 Jun 2020 21:13:07 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:215008
[ ukryj nagłówki ]> > Więc na czym polega postęp?
>
> Na braku konieczności ręcznego tworzenia i zarządzania wątkiem.
Ale przecież nie ma takiej konieczności w żadnym z przykładów.
Natomiast w Twojej propozycji nie tyle nie ma takiej konieczności, co raczej nie ma
takiej możliwości, bo schowałeś to "zarządzanie" w jakimś obiekcie, którego API nie
podałeś.
> Co mnie jako twórcę biblioteki obchodzi, że ktoś ma burdel w callbackach. Ja
gwarantuję, że moje wątki się skończą jeśli skończą się callbacki.
To jest ciekawa propozycja na kolejną wersję biblioteki.
> Bo np. na jednym porcie masz dane dla userów, na drugim możesz dawać output z
debuggera, profilera, co tam sobie robisz.
I to trzeba mieć osobne porty do tego?
Ja na przykład w tej konkretnej chwili podłączam się przeglądarką do jednego portu
pod adresem groups.google.com a tam zdumiewające rzeczy, jedna grupa dla tych co
lubią C++, inna dla tych, co nie lubią, itd. Masa różnych rzeczy, dla różnych
odbiorców. Wyobrażasz sobie, różne rzeczy na jednym porcie mieć?
> Bo mutexy są kosztowne czasowo.
A tak w liczbach, mógłbyś?
W sensie - w porównaniu do całkowitego czasu, który przeglądarce zejdzie na pełnej
obsłudze, od konstrukcji zapytania GET do zakończenia wyświetlenia obrazu na ekranie?
> > > To jest koślawe, sorry. W HTTP masz nie tylko akcje GET i POST, ale i chyba ze
20 innych.
> >
> > Ale ja nie obiecuję obsługi tych 20 innych.
>
> Super, więc jak będę chciał mieć operację DELETE albo PUT, to muszę sobie szukać
innego rozwiązania.
Tak. Ewentualnie możesz zwrócić się do autora z uprzejmą prośbą, żeby to dorobił. Czy
ten schemat pracy to jest dla Ciebie jakieś nowe zjawisko?
> > I właśnie dlatego funkcje dla GET i POST *różnią się* sygnaturami.
>
> No fajnie, tylko to sztuczne rozróżnienie.
Ale użyteczne w kontekście docelowego użycia.
> > Czyli że:
> >
> > register(make_get_action(my_action));
> >
> > jest lepsze od:
> >
> > register_get_action(my_action);
> >
> > Sorry - ani trochę.
>
> Jest bardziej elastyczne i tyle. Ja wolę mieć jedną metodę i zrobić sobie
odpowiednie konstruktory.
> Zresztą, najlepiej byłby mieć register(my_action) i wybierać wariant za pomocą
typetraits.
Łomatko.
Więc najwyraźniej potrzebujesz innej biblioteki. Normalna sprawa.
> Chciałeś review, to masz. Ja wiem, że parsery klepane ręcznie nie mające testów to
proszenie się o kłopoty, będą wcześniej, czy później.
Nie zrozumiałeś. To, że testów nie ma w pakiecie razem z biblioteką, nie znaczy
wcale, że parser nie był przetestowany - ani tym bardziej, że w ogóle nie było
żadnych testów.
W ogóle pomysł, że razem z produktem dostaje się w tym samym pudełku jego stanowisko
testowe, to jakiś wymysł nie mający analogii w żadnej innej branży, nawet w tych
inżynierskich.
--
Maciej Sobczak * http://www.inspirel.com
Najnowsze wątki z tej grupy
- 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
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-05-06 Fotowoltaika do c.w.u.
- 2024-05-06 Warszawa => Senior IT Recruiter <=
- 2024-05-06 Kraków => Lider Serwisu/Programista PLC z językiem niemieckim <=
- 2024-05-06 Berlin => Solution Architect (secure communication and IoT solutions)
- 2024-05-06 Czy szpital przekazuje dokumentację medyczną do Starosty powiatu?
- 2024-05-06 naprawa zamka
- 2024-05-06 Kraków => Mid/Senior QA Engineer <=
- 2024-05-06 Warszawa => Java Developer <=
- 2024-05-06 Re: Prawo móżdżek...
- 2024-05-06 Toruń => UX/UI Designer <=
- 2024-05-06 Wrocław => UX/UI Designer <=
- 2024-05-06 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-05-06 Białystok => Senior Software Engineer PHP (BillPro) Kontraktor <=
- 2024-05-06 Warszawa => AI Specialist <=
- 2024-05-05 Taki dinks do drzwi