🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217030

Re: Embedded HTTP Server

#217030
From: Maciej Sobczak
Date: Tue, 23 Jun 2020 21:13
59 lines
4623 bytes
> > 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
Technical Details
Message-ID: <6db2110e-079d-4750-862b-6007345416d1o@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.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.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <d423a072-9378-441b-ba06-e0657a1fa53bo@googlegroups.com> <3e267b62-0fdf-41c2-9f9c-c316f98b85c6o@googlegroups.com> <7cd03711-5fee-4322-b02a-c803fcf43b31o@googlegroups.com> <a0edbb57-72ba-48f1-bf82-7060d1cec401o@googlegroups.com> <d95ffe9d-570f-455c-bb22-0831b8c0a0dfo@googlegroups.com> <7718052c-c349-4eae-a60d-7a6108cb1b38o@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:7cb8:: with SMTP id z24mr22681243qtv.190.1592946788132;        Tue, 23 Jun 2020 14:13:08 -0700 (PDT)
X-Received: by 2002:a37:6503:: with SMTP id z3mr21218698qkb.439.1592946787380; Tue, 23 Jun 2020 14:13:07 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.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.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 23 Jun 2020 14:13:07 -0700 (PDT)
In-Reply-To: <7718052c-c349-4eae-a60d-7a6108cb1b38o@googlegroups.com>
Complaints-To: groups-abuse@google.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: <d423a072-9378-441b-ba06-e0657a1fa53bo@googlegroups.com> <3e267b62-0fdf-41c2-9f9c-c316f98b85c6o@googlegroups.com> <7cd03711-5fee-4322-b02a-c803fcf43b31o@googlegroups.com> <a0edbb57-72ba-48f1-bf82-7060d1cec401o@googlegroups.com> <d95ffe9d-570f-455c-bb22-0831b8c0a0dfo@googlegroups.com> <7718052c-c349-4eae-a60d-7a6108cb1b38o@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6db2110e-079d-4750-862b-6007345416d1o@googlegroups.com>
Subject: Re: Embedded HTTP Server
From: Maciej Sobczak <see.my.homepage@gmail.com>
Injection-Date: Tue, 23 Jun 2020 21:13:07 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit