najnowszy post o Chain of Responsibility od @elszczepano zainspirował mnie do napisania recenzji;

TL;DR: chain of responsibility masz jak wykonujesz po sobie rzeczy, np.

1. Zapisz do logów
2. Wyślij metryki
3. Zwróć HTML ze zdjęciem papieża

Bardzo chciałem, żeby moja krytyka była merytoryczna, więc wpisałem dokładnie ten prompt w Chat GPT z prośbą o napisanie przykładu w express.js (ryc. 1)

const express = require('express');
const app = express();

// Middleware 1: Zapisz do logów
app.use((req, res, next) => {
console.log(`Received a request at ${req.url}`);
next(); // Przejście do następnego middleware
});

// Middleware 2: Wyślij metryki
app.use((req, res, next) => {
// Kod wysyłający metryki (przykładowo)
console.log(`Sending metrics for ${req.url}`);
next(); // Przejście do następnego middleware
});

// Middleware 3: Zwróć HTML ze zdjęciem papieża
app.use((req, res) => {
res.send('<html><body><h1>Strona z zdjęciem papieża</h1><img src="url\_do\_zdjecia\_papieża.jpg" alt="Papież"></body></html>');
});

const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});

na koniec chatGPT wyjaśnia nam co zrobił:

W tym kodzie każda funkcja middleware wywołuje next() po wykonaniu swojego zadania, co pozwala na przekazanie kontroli do następnego middleware w łańcuchu. Ostatni middleware nie wywołuje next(), ponieważ kończy proces obsługi żądania, wysyłając odpowiedź HTML.

pytanie: jaki jest sens pisać ten artykuł, zamiast napisać samo tl;dr? Mam nadzieję, że autor nie odbierze mojej recenzji osobiście. Ja nie mam motywacji napisać czegoś "od zera" dlatego póki co komentuję odważniejszych. pozdrawiam

#programowanie #pytanie #naukaprogramowania #lajko <- mój tag o programowaniu
ccbe9ce7-6e29-4925-a214-11229e9286fc
elszczepano

Rozumiem Twój punkt widzenia. Pisząc artykuły na bloga nigdy nie zakładałem, że muszą być unikalne i oryginalne (ale mogą, co niekiedy mi się udaje). Zdaję sobie sprawę że sporo contentu z bloga opisane w wielu innych miejscach (w tym w książce, na której się wzorowałem w recenzowanym wpisie) oraz że mogę uzyskać podobny efekt korzystając z Chatu GPT. Patrząc na możliwości LLM-ów, to równie dobrze bloga mógłbym nie prowadzić wcale.


Pisząc ten konkretny artykuł spełniam swój cel opisania wszystkich znanych mi wzorców projektowych na łamach bloga. Co do samej formy, to czy dało się to napisać krócej to się nie wypowiem. Artykuły staram się pisać bez zbędnego wodolejstwa i w prosty sposób jednak z kompletnym wyczerpaniem tematu. To czy mi to wychodzi czy nie pozostawiam do oceny czytelnikom.


Kończąc ten przydługi wywód, dzięki za feedback

wombatDaiquiri

@elszczepano oki, trzymam kciuki, mam nadzieję że się nie obrazisz za formę osobnego wpisu zamiast komentarza, ale miałem nadzieję więcej osób sprowokować do rozmowy, pozdrawiam xd

elszczepano

@wombatDaiquiri nie obrażę, spokojna głowa. Merytoryczny, fajny thread więc nie ma się o co obrażać

Zaloguj się aby komentować