Отсутствует файл README. Руководство для начинающих инженеров

Товар

2 758  ₽
Отсутствует файл README. Руководство для начинающих инженеров
  • 0 раз купили
  • 5  оценка
  • 2 осталось
  • 1 отзыв

Доставка

  • Почта России

    1745 ₽

  • Курьерская доставка EMS

    2323 ₽

Характеристики

Артикул
16169537272
Состояние
Новый
Język publikacji
polski
Tytuł
Brakujący plik README. Przewodnik dla początkujących inżynierów oprogramowania
Autor
Chris Riccomini
Nośnik
książka papierowa
Okładka
miękka
Rok wydania
2022
Wydawnictwo
Helion
Liczba stron
248
Numer wydania
1
Szerokość produktu
14 cm
Wysokość produktu
20 cm

Описание

Brakujący plik README. Przewodnik dla początkujących inżynierów

Brakujący plik README. Przewodnik dla początkujących inżynierów oprogramowania

Chris Riccomini, Dmitriy Ryaboy

Dla inżyniera oprogramowania umiejętność kodowania to zaledwie punkt wyjścia. Większość początkujących programistów przekonuje się o tym już w pierwszych dniach pracy w firmie. Nagle się okazuje, że wielu kluczowych spraw zabrakło w programach nauczania. Mowa tu nie tylko o praktykach związanych z tworzeniem i wdrażaniem kodu, ale także o zachowaniach i metodach współpracy ułatwiających odpowiednie działanie zespołu i w efekcie całego przedsiębiorstwa.

To książka przeznaczona dla osób, które chcą rozpocząć karierę inżyniera oprogramowania. Znajdziesz w niej wiele cennych informacji, które zazwyczaj nie są uwzględniane w programach nauczania informatyki na poziomie studiów inżynierskich czy licencjackich, dowiesz się też, czego możesz się spodziewać w pracy. Poszerzysz swoją wiedzę techniczną dotyczącą pisania kodu nadającego się do wdrożenia w środowisku produkcyjnym, opanujesz zagadnienia efektywnego testowania i przeglądów kodu, ciągłej integracji, a także ciągłego wdrażania, dokumentacji projektowej i najlepszych praktyk w zakresie architektury. Zapoznasz się również z informacjami o umiejętnościach miękkich, takich jak techniki zwinnego planowania, efektywna współpraca z kierownictwem i zarządzanie rozwojem własnej kariery.

Najciekawsze zagadnienia:

  • oczyszczanie zastanego i tworzenie poprawnie działającego kodu
  • testy deterministyczne i przeglądy kodu
  • proces projektowania technicznego
  • obsługa incydentów produkcyjnych
  • zaawansowane techniki architektoniczne
  • agile w praktyce firmowej

Po ukończeniu uczelni czas na prawdziwą szkołę programowania!

O autorach

Chris Riccomini jest inżynierem oprogramowania. W ciągu ostatniej dekady pracował w takich firmach jak PayPal, LinkedIn i WePay. Jest również twórcą oprogramowania open source, inwestorem i doradcą w dziedzinie startupów.

Dmitriy Ryaboy od dwudziestu lat pracuje jako inżynier oprogramowania i menedżer. Pracował w startupach i instytucjach badawczych. Pomagał w tworzeniu i rozwijaniu wielu projektów open source, w tym Apache Parquet.

Spis treści

O AUTORACH

PODZIĘKOWANIA

WSTĘP

1. PODRÓŻ, KTÓRA CIĘ CZEKA

  • Cel Twojej podróży
  • Mapa Twojej podróży

    Góra Żółtodzioba

    Rzeka Szkolenia

    Przylądek Kontrybutora

    Ocean Operacyjny

    Zatoka Kompetencji

  • Pełną parą naprzód!

2. ŚWIADOME DOCHODZENIE DO KOMPETENCJI

  • Jak się uczyć, żeby się nauczyć

    Przygotuj się do nauki

    Ucz się przez działanie

    Eksperymentuj z kodem

    Czytaj

    Obejrzyj prezentacje

    Uczestnicz w spotkaniach i konferencjach (z umiarem)

    Wymiana doświadczeń i współpraca z doświadczonymi inżynierami

    Eksperymentuj z projektami pobocznymi

  • Zadawanie pytań

    Zrób research

    Ramy czasowe

    Pokaż wykonaną pracę

    Nie przeszkadzaj

    Preferuj multicast, komunikację asynchroniczną

    Zaplanuj żądania synchroniczne

  • Pokonywanie przeszkód w rozwoju

    Syndrom impostora

    Efekt Dunninga-Krugera

  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

3. PRACA Z KODEM

  • Entropia oprogramowania
  • Dług technologiczny

    Rozwiązywanie problemu długu technologicznego

  • Zmienianie kodu

    Użyj algorytmu zmiany dotychczasowego kodu

    Pozostaw kod czystszy niż ten, który zastałeś

    Wprowadzaj zmiany przyrostowo (stopniowo)

    Bądź pragmatyczny w refaktoryzacji

    Użyj IDE

    Stosuj najlepsze praktyki systemu kontroli wersji

  • Unikanie pułapek

    Użycie nudnych technologii

    Nie daj się zbałamucić

    Nie rozwidlaj bez commitowania do źródła

    Oprzyj się pokusie, by napisać to od nowa

  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

4. PISANIE DZIAŁAJĄCEGO KODU

  • Programowanie defensywne

    Unikaj wartości zerowych

    Spraw, aby zmienne były niezmienne

    Używanie podpowiadania typów i statycznego sprawdzania typów

    Sprawdzanie poprawności danych wejściowych

    Korzystaj z wyjątków

    Precyzyjnie określaj wyjątki

    Rzucanie wyjątków wcześnie, przechwytywanie wyjątków późno

    Inteligentne ponawianie prób

    Stosuj systemy idempotentne

    Czyszczenie zasobów

  • Rejestrowanie

    Użyj poziomów dziennika

    Przechowuj dzienniki atomowe

    Dbaj o szybkość dzienników

    Nie rejestruj wrażliwych danych

  • Metryki

    Wykorzystanie standardowych bibliotek metryk

    Zmierz wszystko

  • Ślady
  • Konfiguracja

    Nie kombinuj z konfiguracją

    Rejestrowanie i sprawdzanie poprawności wszystkich konfiguracji

    Podaj wartości domyślne

    Konfiguracja powiązana z grupą

    Traktuj konfigurację jako kod

    Utrzymuj porządek w plikach konfiguracyjnych

    Nie edytuj wdrożonej konfiguracji

    Narzędzia

  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

5. ZARZĄDZANIE ZALEŻNOŚCIAMI

  • Podstawy zarządzania zależnościami

    Wersjonowanie semantyczne

    Zależności przechodnie

  • Piekło zależności
  • Unikanie piekła zależności

    Wyizoluj zależności

    Celowe dodawanie zależności

    Przypinanie wersji

    Wąski zakres zależności

    Chroń się przed zależnościami cyklicznymi

  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

6. TESTOWANIE

  • Wielość zastosowań testów
  • Typy testów
  • Narzędzia testowe

    Biblioteki atrap

    Frameworki testowe

    Narzędzia do poprawy jakości kodu

  • Pisanie własnych testów

    Pisz czyste testy

    Nie przesadzaj z testowaniem

  • Determinizm w testach

    Ziarno generatora liczb losowych

    Nie wywołuj zdalnych systemów w testach jednostkowych

    Wstrzykiwanie zegarów

    Unikaj usypiania i przerywania pracy

    Zamykanie gniazd sieciowych i uchwytów plików

    Powiązanie z portem 0

    Generowanie unikalnych ścieżek do plików i baz danych

    Wyizoluj i usuń pozostałości stanu testów

    Nie uzależniaj się od kolejności testów

  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

7. PRZEGLĄDY KODU

  • Dlaczego warto przeglądać kod?
  • Uzyskiwanie przeglądu kodu

    Przygotuj swój przegląd

    Zmniejszanie ryzyka dzięki przeglądom projektów

  • Nie wysyłaj recenzji w celu wyzwolenia testów

    Przechodzenie przez duże zmiany w kodzie

    Nie przywiązuj się

    Bądź empatyczny, ale nie toleruj chamstwa

    Bądź proaktywny

  • Przeglądanie kodu

    Ocena wniosków o przeprowadzenie przeglądu

    Zarezerwuj czas na przeglądy

    Zrozum zmianę

    Przekaż wyczerpującą informację zwrotną

    Uznaj to, co dobre

    Rozróżniaj problemy, sugestie i drobiazgi

    Nie przybijaj pieczątki na przeglądach

    Nie ograniczaj się do narzędzi dostępnych na stronach internetowych

    Nie zapominaj o sprawdzaniu testów

    Dąż do konkluzji

  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

8. DOSTARCZANIE OPROGRAMOWANIA

  • Fazy dostarczania oprogramowania
  • Strategie rozgałęziania
  • Faza kompilowania

    Wersja pakietów

    Oddzielne pakowanie różnych zasobów

  • Faza wydawania

    Nie rób z wydań kukułczych jaj

    Publikowanie pakietów w repozytorium wydania

    Zachowaj niezmienność wydań

    Częste wydawanie

    Zachowaj przejrzystość w kwestii harmonogramu wydań

    Publikowanie dzienników zmian oraz informacji o wydaniu

  • Faza wdrażania

    Automatyzacja wdrożeń

    Dokonaj atomizacji wdrożeń

    Wdrażaj aplikacje w sposób niezależny

  • Faza rozpowszechniania

    Monitoruj rozpowszechnianie

    Zwiększanie wydajności dzięki flagom funkcji

    Zabezpiecz kod za pomocą wyłączników automatycznych

    Równoległe wersje usług i progi

    Wdrażaj w trybie ciemnym

  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

9. PEŁNIENIE DYŻURÓW TELEFONICZNYCH

  • Jak działa dyżur telefoniczny?
  • Ważne umiejętności w kontekście dyżurów telefonicznych

    Bądź dostępny

    Bądź uważny

    Ustalaj priorytety pracy

    Komunikuj się w jasny sposób

    Śledź swoją pracę

  • Postępowanie w przypadku incydentów

    Ocena

    Koordynacja

    Łagodzenie skutków incydentu

    Rozwiązanie

  • Dodatkowe zadania
  • Udzielanie wsparcia
  • Nie bądź bohaterem
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

10. PROCES PROJEKTOWANIA TECHNICZNEGO

  • Stożek procesu projektowania technicznego
  • Myślenie o projektowaniu

    Zdefiniuj problem

    Przeprowadź analizę

    Przeprowadzaj eksperymenty

    Daj sobie czas

  • Pisanie dokumentacji projektowej

    Wiedz, po co piszesz

    Naucz się pisać

    Aktualizuj dokumentację projektową

  • Korzystanie z szablonu dokumentacji projektowej

    Wprowadzenie

    Stan obecny i kontekst

    Motywacja do zmian

    Wymagania

    Potencjalne rozwiązania

    Proponowane rozwiązanie

    Projektowanie i architektura

    Plan testów

    Plan wprowadzenia

    Kwestie nierozstrzygnięte

    Dodatek

  • Współpraca przy projekcie

    Zrozumienie procesu przeglądu projektu w zespole

    Nie zaskakuj ludzi

    Burza mózgów i dyskusje projektowe

    Udział w projektowaniu

  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

11. TWORZENIE EWOLUUJĄCYCH ARCHITEKTUR

  • Zrozumienie złożoności
  • Projektowanie z myślą o ewolucji

    Nie będziesz tego potrzebował

    Zasada najmniejszego zdziwienia

    Enkapsulacja wiedzy domenowej

  • Ewoluujące API

    Staraj się, żeby API były małe

    Udostępnianie dobrze zdefiniowanych API dla usług

    Zachowaj zgodność zmian API

    API wersji

  • Ewoluujące dane

    Wyizoluj bazy danych

    Używanie schematów

    Zautomatyzuj migrację schematów

    Zachowaj zgodność schematów

  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

12. AGILE'OWE PLANOWANIE

  • Manifest Agile
  • Framework planowania zwinnego
  • Scrum

    Historyjki użytkownika

    Zadania

    Szacowanie w punktach

    Klasyfikacja zadań do zrobienia

    Planowanie sprintu

  • Stand-upy
  • Przeglądy
  • Retrospektywy
  • Roadmapy
  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

13. PRACA Z MENEDŻERAMI

  • Czym zajmują się menedżerowie
  • Komunikacja, cele i procesy rozwojowe

    Spotkania 1:1

    PPP

    Cele i kluczowe rezultaty (OKR)

    Ocena pracownika

  • Zarządzanie w górę

    Uzyskaj informację zwrotną

    Przekaż informację zwrotną

    Omów swoje cele

    Podejmij działanie, gdy coś nie działa

  • Co należy, a czego nie należy robić
  • Wejdź na wyższy poziom

14. ŚCIEŻKA KARIERY

  • Do poziomu seniora i jeszcze dalej
  • Doradztwo zawodowe

    Trzymaj się litery T

    Uczestnictwo w programach inżynierskich

    Kieruj swoim awansem

    Ostrożnie zmieniaj miejsca pracy

    Trzymaj się własnego tempa

    Refleksje końcowe

Гарантии

  • Гарантии

    Мы работаем по договору оферты и предоставляем все необходимые документы.

  • Лёгкий возврат

    Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.

  • Безопасная оплата

    Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.

Отзывы о товаре

Рейтинг товара 5 / 5

1 отзыв

Russian English Polish