-
X-Received: by 2002:a37:c45:: with SMTP id 66mr8666069qkm.51.1591735394006; Tue, 09
Jun 2020 13:43:14 -0700 (PDT)
X-Received: by 2002:a37:c45:: with SMTP id 66mr8666069qkm.51.1591735394006; Tue, 09
Jun 2020 13:43:14 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin3!goblin.stu.neva.r
u!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.goog
le.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-f
or-mail
Newsgroups: pl.comp.programming
Date: Tue, 9 Jun 2020 13:43:13 -0700 (PDT)
In-Reply-To: <rbmdn3$43s$1@dont-email.me>
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>
<rbm3nv$jf$1@dont-email.me>
<8...@g...com>
<rbmdn3$43s$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9...@g...com>
Subject: Re: Embedded HTTP Server
From: Maciej Sobczak <s...@g...com>
Injection-Date: Tue, 09 Jun 2020 20:43:14 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 58
Xref: news-archive.icm.edu.pl pl.comp.programming:214974
[ ukryj nagłówki ]> >> 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
Następne wpisy z tego wątku
- 09.06.20 22:47 heby
- 09.06.20 23:14 Maciej Sobczak
- 09.06.20 23:15 heby
- 09.06.20 23:32 heby
- 10.06.20 07:50 Tomasz Kaczanowski
- 10.06.20 08:09 heby
- 10.06.20 20:57 Maciej Sobczak
- 10.06.20 21:13 Maciej Sobczak
- 10.06.20 22:35 Maciej Sobczak
- 10.06.20 22:52 heby
- 10.06.20 22:54 heby
- 10.06.20 22:55 heby
- 23.06.20 09:33 Wojciech Muła
- 23.06.20 23:13 Maciej Sobczak
Najnowsze wątki z tej grupy
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
Najnowsze wątki
- 2025-09-15 Poznań => Konsultant SAP HCM <=
- 2025-09-15 Warszawa => Specjalista rekrutacji IT <=
- 2025-09-15 Warszawa => International Freight Forwarder <=
- 2025-09-15 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-09-15 Warszawa => Engineering Manager (doświadczenie w branży lotniczej lu
- 2025-09-15 "Jestem z ..."
- 2025-09-15 jak sprawdzić czy zerwałem gwint
- 2025-09-14 UWAGA: MAM PODEJRZENIE, ŻE onet.pl DOKONUJE ATAKÓW!!!
- 2025-09-14 zarobki w 1995r
- 2025-09-13 Korea Południowa odpowie za niewolnictwo seksualne armii USA
- 2025-09-13 Zatrzymano zabójcę Charliego Kirka
- 2025-09-13 Wrześniowe promocje na ładowarkach
- 2025-09-13 Warszawa => BI Developer <=
- 2025-09-13 Warszawa => Sales Assistant <=
- 2025-09-13 Warszawa => Lead SAP PP Consultant <=