69. O wydajności systemu, optymalizacjach i trade-offach z Tomaszem Lelkiem
Czy nieczytelny, trudno nierozszerzalny i na dodatek zduplikowany kod może być dobry? Co więcej, nawet pożądany? Tak, jeśli w projekcie istotne są zupełnie inne drivery, np. w postaci oczekiwanej dużej wydajności systemu. Wówczas poświęcenie pewnych cech kodu na cześć innych wydaje się mieć dużo sensu.Dziś zapraszam na rozmowę z Tomaszem Lelkiem, współautorem wydanej w ubiegłym roku w wydawnictwiem Manning książki "Software Mistakes and Tradeoffs: How to make good programming decisions". A rozmawiać będziemy właśnie o świadomym podejmowaniu decyzji, zwłaszcza w kontekście wydajności i optymalizacji systemu. Nie od dziś przecież wiadomo, że zbyt wczesna optymalizacja jest źródłem całego zła. Niestety wykonana zbyt późno też źródłem wszystkich kosztów...Dzięki uprzejmości wydawnictwa Manning mam 2 kody uprawniające do darmowego pobrania książki Tomka "Software Mistakes and Tradeoffs: How to make good programming decisions" w formie ebooka. Zapraszam więc do podzielenia się historiami o optymalizacjach waszych systemów. Kody te trafią do dwóch osób, których zgłoszenia zostały wybrane przeze mnie jako najciekawsze i najbardziej pouczające dla Ciebie i/lub zespołu.Termin przesyłania zgłoszeń mija z końcem 30 września 2023 roku, nadsyłać je można z użyciem formularza dostępnego na stronie https://forms.gle/o2rVAQHmwZuyP7y66
Mariusz Gil przedstawia temat o wydajności systemu i rozmawia z gościem, Tomaszem Lelkiem, o decyzjach i trade-offach w programowaniu.
Better Software Design to podcast o projektowaniu oprogramowania.
Tomasz Lelkiem opisuje swoje doświadczenie w branży, pracując w Allegro, DataStacks i Dreamio, oraz opisuje swoją książkę o decyzjach programistycznych.
Tomasz Lelkiem opisuje zainteresowanie trade-offami i jak to wpływa na jego pracę, opierając się na doświadczeniach z różnych projektów.
Tomasz Lelkiem omawia różne trade-offy, takie jak duplikacja kodu i optymalizacja przedwczesna, podkreślając potrzebę balansowania decyzji.
Tomasz Lelkiem omawia zagadnienie optymalizacji przedwczesnej, podkreślając konsekwencje i potrzebę zbierania odpowiednich danych.
Tutaj wspomniałeś Dynatrace'a, tutaj można też oczywiście rozważyć New Relic'a czy jakiekolwiek inne narzędzie tej klasy i tą informację, jak to się zachowuje na produkcji, bardzo szybko pozyskać.
Tomasz Lelkiem opisuje proces zbierania danych i identyfikowania hot path w systemie, aby zaimplementować optymalizacje.
Tomasz omawia znalezienie złotego środka między optymalizacją a skalowalnością, podkreślając znaczenie metryk i monitorowania wydajności. Rzadko zastanawiamy się nad złożonością obliczeniową kodu, co może prowadzić do klęski systemu. Podkreśla znaczenie budowy pętli feedbacku i wersjonowania API.
Tomasz podkreśla istotność budowy pętli feedbacku, która pozwala na efektywniejsze podejmowanie decyzji. Omawia korzyści z korzystania z narzędzi takich jak co-pilot i chat GPT, które zwiększają szybkość otrzymania feedbacku. Rzadko zastanawiamy się o kompatybilności API i danych.
Tomasz podkreśla znaczenie wersjonowania API i danych, co ułatwia przyszłe ewolucje systemów i analitykę. Podziękowania za rozmowę.
Rozdziały i streszczenia generowane automatycznie. Pełna transkrypcja nie jest publikowana — wyszukaj frazę, aby zobaczyć dopasowane fragmenty.
„Better Software Design to podcast o projektowaniu oprogramowania."
„Tutaj wspomniałeś Dynatrace'a, tutaj można też oczywiście rozważyć New Relic'a czy jakiekolwiek inne narzędzie tej klasy i tą informację, jak to się zachowuje na produkcji, bardzo szybko pozyskać."
Czy nieczytelny, trudno nierozszerzalny i na dodatek zduplikowany kod może być dobry? Co więcej, nawet pożądany? Tak, jeśli w projekcie istotne są zupełnie inne drivery, np. w postaci oczekiwanej dużej wydajności systemu. Wówczas poświęcenie pewnych cech kodu na cześć innych wydaje się mieć dużo sensu.
Dziś zapraszam na rozmowę z Tomaszem Lelkiem, współautorem wydanej w ubiegłym roku w wydawnictwiem Manning książki "Software Mistakes and Tradeoffs: How to make good programming decisions". A rozmawiać będziemy właśnie o świadomym podejmowaniu decyzji, zwłaszcza w kontekście wydajności i optymalizacji systemu. Nie od dziś przecież wiadomo, że zbyt wczesna optymalizacja jest źródłem całego zła. Niestety wykonana zbyt późno też źródłem wszystkich kosztów...
Dzięki uprzejmości wydawnictwa Manning mam 2 kody uprawniające do darmowego pobrania książki Tomka "Software Mistakes and Tradeoffs: How to make good programming decisions" w formie ebooka. Zapraszam więc do podzielenia się historiami o optymalizacjach waszych systemów. Kody te trafią do dwóch osób, których zgłoszenia zostały wybrane przeze mnie jako najciekawsze i najbardziej pouczające dla Ciebie i/lub zespołu.
Termin przesyłania zgłoszeń mija z końcem 30 września 2023 roku, nadsyłać je można z użyciem formularza dostępnego na stronie https://forms.gle/o2rVAQHmwZuyP7y66