-
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
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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
Najnowsze wątki
- 2025-02-04 ranking wyciszenia, głośność, hałas przy 130 km/h, na postoju, przy przyspieszaniu
- 2025-02-05 Warszawa => IT Recruiter <=
- 2025-02-05 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-05 Rzeszów => Spedytor Międzynarodowy <=
- 2025-02-05 Warszawa => IT Business Analyst <=
- 2025-02-05 Warszawa => Specjalista DevOps <=
- 2025-02-05 Łódź => NodeJS Developer <=
- 2025-02-05 Warszawa => QA Engineer (Quality Assurance) <=
- 2025-02-05 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-05 Warszawa => QA Engineer <=
- 2025-02-05 Warszawa => Programista Full Stack .Net <=
- 2025-02-05 Re: UK: Michał K. dalej czeka na rozprawę ekstradycyjną w areszcie [bo nie (jeszcze?) zebrał kaucji]
- 2025-02-04 podpisywanie umów z datą wsteczną
- 2025-02-04 Radio internetowe do starego Androida
- 2025-02-04 "ogrodowa linia napowietrzna"