Wybierz swój język
Kurs Data Types
Ponad 2 miliony studentów na całym świecie

Kurs Data Types

Typy danych są fundamentem każdego napisanego programu, a ich opanowanie oznacza pisanie szybszego, bezpieczniejszego i bardziej niezawodnego oprogramowania. Ten kurs prowadzi od podstawowych koncepcji systemów typów aż po zaawansowane typy zdefiniowane przez użytkownika, serializację i implikacje bezpieczeństwa. Niezależnie od tego, czy projektujesz API, optymalizujesz wydajność, czy modelujesz złożone domeny, zdobędziesz wiedzę o typach, aby robić to dobrze.

Dedika dla firm

Czego się nauczysz:

Zbudujesz pełne zrozumienie działania typów danych w różnych językach programowania, od prymitywnych liczb całkowitych i wartości logicznych po złożone kolekcje i zdefiniowane przez użytkownika typy algebraiczne. Nauczysz się, jak systemy typów wymuszają bezpieczeństwo, zapobiegają błędom w czasie wykonania oraz wpływają na układ pamięci i wydajność. Kurs obejmuje precyzję liczbową, przetwarzanie tekstu, zasady konwersji typów i bezpieczne wzorce projektowe. Dowiesz się również, jak typy mają zastosowanie w schematach baz danych, formatach serializacji, potokach data science i lukach bezpieczeństwa. Po ukończeniu kursu będziesz w stanie oceniać kompromisy systemów typów, projektować wyraziste API i jasno komunikować decyzje dotyczące typów każdej grupie odbiorców.

Jak uczysz się w praktyce Kurs Data Types

Jak ćwiczysz Kurs Data Types

Dla firm, które chcą szkolić swój zespół

W Dedika dla firm kurs zawiera ćwiczenia i przykłady dostosowane do Twojego biznesu i potrzeb Twojej firmy.

Kliknij tutaj

Treść kursu

8 Rozdziały • 41 LekcjeCzas trwania od 4 do 360 godzin (Ty decydujesz)

Rozdział 1Zobacz szczegóły

Podstawy typów danych

  • Lekcja 1 • Co reprezentują typy danych

    Definiuje typy danych jako kontrakty między wartościami a operacjami. Ustala słownictwo używane w całym kursie.

  • Lekcja 2 • Dlaczego istnieją systemy typów

    Wyjaśnia motywacje bezpieczeństwa i wydajności stojące za systemami typów. Łączy dyscyplinę typowania z mniejszą liczbą błędów wykonania.

  • Lekcja 3 • Silne a słabe typowanie

    Odróżnia ścisłe wymuszanie typów od permisywnej koercji. Wyjaśnia powszechne błędne przekonania na temat siły typowania.

  • Lekcja 4 • Typy pierwotne a typy złożone

    Porównuje atomowe typy pierwotne ze strukturalnymi typami złożonymi. Przygotowuje uczniów do kategoryzowania każdego napotkanego typu.

  • Lekcja 5 • Typowanie statyczne a dynamiczne

    Porównuje sprawdzanie typów w czasie kompilacji z czasem wykonania. Uczniowie przypisują przykłady języków do każdego paradygmatu.

Rozdział 2Zobacz szczegóły

Typy numeryczne w szczegółach

  • Lekcja 1 • Promocja i koercja typów numerycznych

    Opisuje automatyczne konwersje rozszerzające i zawężające między typami numerycznymi. Uczniowie przewidują wyniki koercji w wyrażeniach mieszanych typów.

  • Lekcja 2 • Typy całkowitoliczbowe i zakresy

    Obejmuje liczby całkowite ze znakiem i bez znaku w typowych szerokościach bitowych. Uczniowie obliczają zakresy wartości ze wzorów na szerokość bitową.

  • Lekcja 3 • Wybór odpowiedniego typu numerycznego

    Stosuje kryteria wyboru oparte na zakresie, precyzji i potrzebach wydajnościowych. Utrwala wszystkie koncepcje numeryczne poprzez ćwiczenia decyzyjne.

  • Lekcja 4 • Reprezentacja zmiennoprzecinkowa

    Wyjaśnia binarną reprezentację liczb rzeczywistych IEEE 754. Uczniowie identyfikują utratę precyzji i artefakty zaokrągleń.

  • Lekcja 5 • Typy dziesiętne i o dowolnej precyzji

    Wprowadza typy dziesiętne, które unikają błędów zaokrągleń binarnych. Łączy te typy z przypadkami użycia w finansach i nauce.

Rozdział 3Zobacz szczegóły

Typy logiczne i znakowe

  • Lekcja 1 • Wartości prawdziwościowe i fałszywościowe

    Wyjaśnia, jak wartości nieboolowskie są koerowane do boolowskich w językach dynamicznych. Uczniowie unikają typowych błędów prawdziwościowych.

  • Lekcja 2 • Null i undefined jako wartości specjalne

    Bada null i undefined jako odrębne znaczniki braku wartości. Uczniowie stosują wzorce bezpieczeństwa null, aby zapobiegać błędom wyłuskania nulla.

  • Lekcja 3 • Podstawy kodowania znaków

    Wprowadza ASCII i Unicode jako podstawę typów znakowych. Uczniowie odwzorowują znaki na punkty kodowe i sekwencje bajtów.

  • Lekcja 4 • Typ znakowy w praktyce

    Obejmuje, jak języki reprezentują pojedynczy znak i jego operacje. Łączy typy znakowe z konstrukcją łańcuchów znaków.

  • Lekcja 5 • Podstawy typu logicznego

    Definiuje typ boolowski i jego dwuwartościową dziedzinę. Łączy wartości boolowskie z przepływem sterowania i wyrażeniami warunkowymi.

Rozdział 4Zobacz szczegóły

Typy łańcuchowe i przetwarzanie tekstu

  • Lekcja 1 • Walidacja i normalizacja łańcuchów znaków

    Stosuje regex i normalizację Unicode do walidacji i czyszczenia wejściowych łańcuchów znaków. Łączy z wymogami jakości danych i bezpieczeństwa.

  • Lekcja 2 • Formatowanie i interpolacja łańcuchów znaków

    Uczy formatowania łańcuchów znaków, literałów szablonowych i składni interpolacji. Uczniowie tworzą czytelne i bezpieczne przed wstrzyknięciem sformatowane wyjście.

  • Lekcja 3 • Wewnętrzna struktura łańcuchów znaków i układ pamięci

    Ujawnia, jak łańcuchy znaków są przechowywane w pamięci jako sekwencje znaków. Łączy wewnętrzny układ z implikacjami wydajnościowymi.

  • Lekcja 4 • Podstawowe operacje na łańcuchach znaków

    Obejmuje wycinanie, wyszukiwanie, zastępowanie i dzielenie łańcuchów znaków. Buduje zestaw narzędzi manipulacyjnych używanych we wszystkich kolejnych pracach z tekstem.

  • Lekcja 5 • Niezmienność i zmienność w łańcuchach znaków

    Porównuje niezmienne typy łańcuchowe ze zmiennymi konstruktorami łańcuchów znaków. Uczniowie wybierają właściwe podejście dla kodu wrażliwego na wydajność.

Rozdział 5Zobacz szczegóły

Typy kolekcji i typy złożone

  • Lekcja 1 • Dynamiczne listy i tablice z możliwością zmiany rozmiaru

    Wyjaśnia, jak dynamiczne listy rosną poprzez realokację tablic zapasowych. Uczniowie rozumieją koszt zamortyzowany i zarządzanie pojemnością.

  • Lekcja 2 • Wybór odpowiedniego typu kolekcji

    Stosuje kryteria wyboru oparte na porządkowaniu, unikalności i wzorcach dostępu. Syntezuje wszystkie typy kolekcji poprzez ćwiczenia porównawcze.

  • Lekcja 3 • Zbiory: Kolekcje unikalnych elementów

    Wprowadza zbiory jako nieuporządkowane kolekcje z gwarancją unikalności. Uczniowie stosują operacje zbiorowe do deduplikacji i testowania przynależności.

  • Lekcja 4 • Tablice: Sekwencje o stałym rozmiarze

    Obejmuje tablice w ciągłej pamięci, indeksowanie i sprawdzanie granic. Ustala tablice jako bazę dla wszystkich typów kolekcji.

  • Lekcja 5 • Mapy i magazyny klucz-wartość

    Obejmuje mapy haszowane i mapy drzewiaste jako asocjacyjne struktury danych. Uczniowie implementują wzorce wyszukiwania, wstawiania i iteracji.

  • Lekcja 6 • Krotki i niezmienne sekwencje

    Definiuje krotki jako sekwencje o stałej długości, heterogeniczne i niezmienne. Łączy krotki z wzorcami zwracania wielu wartości.

Rozdział 6Zobacz szczegóły

Konwersja typów i bezpieczeństwo typów

  • Lekcja 1 • Projektowanie pod kątem bezpieczeństwa typów

    Stosuje wzorce projektowe bezpieczne typowo, aby zapobiegać błędom konwersji przez konstrukcję. Utrwala zasady bezpieczeństwa we wszystkich wcześniej poznanych typach.

  • Lekcja 2 • Błędy typów i debugowanie

    Kataloguje typowe błędy typów i ich przyczyny źródłowe. Uczniowie używają komunikatów o błędach i śladów stosu do lokalizowania i naprawiania błędów typów.

  • Lekcja 3 • Techniki jawnego rzutowania

    Obejmuje składnię bezpiecznego i niebezpiecznego rzutowania w różnych paradygmatach. Uczniowie stosują zasadę najmniej uprzywilejowanego rzutowania, aby zminimalizować utratę danych.

  • Lekcja 4 • Strażnicy typów i sprawdzenia wykonawcze

    Wprowadza inspekcję typów w czasie wykonania w celu walidacji typów przed użyciem. Łączy strażników typów z wzorcami programowania obronnego.

  • Lekcja 5 • Reguły niejawnej konwersji

    Odwzorowuje automatyczne reguły konwersji stosowane przez kompilatory i interpretery. Uczniowie przewidują wyniki wyrażeń mieszanych typów bez uruchamiania kodu.

Rozdział 7Zobacz szczegóły

Zaawansowane i typy definiowane przez użytkownika

  • Lekcja 1 • Aliasy typów i opakowania newtype

    Odróżnia przezroczyste aliasy od nieprzezroczystych opakowań newtype. Uczniowie poprawiają czytelność kodu i zapobiegają błędom pomieszania jednostek.

  • Lekcja 2 • Wyliczenia i nazwane stałe

    Definiuje enumy jako zamknięte zbiory nazwanych wartości. Uczniowie zastępują magiczne liczby i łańcuchy znaków bezpiecznymi typowo wyliczeniami.

  • Lekcja 3 • Typy rekurencyjne i rekurencyjno-wariantowe

    Modeluje samoodnoszące się struktury, takie jak drzewa i listy powiązane. Łączy typy rekurencyjne z implementacją struktur danych.

  • Lekcja 4 • Typy unii i sumy

    Wprowadza typy, które w czasie wykonania przechowują jeden z kilku alternatywnych typów. Uczniowie używają wyczerpującego dopasowywania wzorców do bezpiecznej obsługi wszystkich wariantów.

  • Lekcja 5 • Struktury i typy rekordów

    Obejmuje typy złożone o semantyce wartości, grupujące powiązane pola. Łączy struktury z modelowaniem transferu danych i konfiguracji.

Rozdział 8Zobacz szczegóły

Systemy typów w praktyce

  • Lekcja 1 • Inferencja typów i adnotacje

    Wyjaśnia, jak kompilatory automatycznie wnioskują typy i kiedy wymagane są jawne adnotacje. Uczniowie równoważą wygodę inferencji z przejrzystością adnotacji.

  • Lekcja 2 • Typy w projektowaniu API i schematów

    Stosuje myślenie typowe do kontraktów API, schematów serializacji i formatów wymiany danych. Uczniowie projektują API, które komunikują intencje poprzez typy.

  • Lekcja 3 • Ocena systemów typów w różnych językach

    Porównuje systemy typów kilku głównych języków przy użyciu spójnych kryteriów. Uczniowie wybierają odpowiedni system typów języka dla danego kontekstu projektu.

  • Lekcja 4 • Generyki i typy parametryczne

    Wprowadza parametry typów, które umożliwiają wielokrotnego użytku, bezpieczne typowo abstrakcje. Uczniowie piszą generyczne funkcje i pojemniki bez poświęcania bezpieczeństwa.

  • Lekcja 5 • Typy i optymalizacja wydajności

    Łączy wybory typów z układem pamięci, wydajnością pamięci podręcznej i szybkością wykonania. Uczniowie profilują i optymalizują wąskie gardła wydajnościowe związane z typami.

Certyfikacja

Twój ważny certyfikat ukończenia

Ten kurs jest dla Ciebie:

  • Młodszy programista: chce przejść od prób i błędów do świadomych, opartych na zasadach decyzji kodowania.

  • Inżynier danych: musi zarządzać wiernością typów w potokach, schematach i granicach serializacji.

  • Osoba zmieniająca karierę: wnosi wiedzę dziedzinową i chce pogłębić podstawowe fundamenty programowania.

  • Inżynier backendu: napotyka subtelne błędy typów w produkcji i potrzebuje systematycznych narzędzi do ich zapobiegania.

  • Analityk danych: pracuje z nieuporządkowanymi zbiorami danych i potrzebuje rygorystycznego słownictwa do decyzji związanych z czyszczeniem typów.

  • Lider techniczny: musi oceniać wybory języków i frameworków oraz jasno komunikować te kompromisy.

Co mówią nasi uczniowie

Wasze lekcje są doskonałe. Kupiłem pakiet roczny i w końcu mam możliwość śledzenia różnych tematów, które mnie interesują, bez konieczności zmiany platformy... dziękuję za wszystko, co robicie, już polecałem was innym osobom...
Giulio Carlo
Giulio CarloStudent Marketingu Cyfrowego
Podoba mi się, jak lekcje są konkretne i jak mogę przełączać rozdziały i pomijać treści, których nie potrzebuję.
Mariana Ferres
Mariana FerresStudentka Fotografii
Podoba mi się treść i sposób prezentacji oraz transkrypcja filmów, co przyspiesza proces!
Luciana Alvarenga
Luciana AlvarengaStudentka Stylizacji Paznokci
Platforma jest szybka, prosta w użyciu. Różnorodność treści i filmy uzupełniające bardzo pomagają w nauce.
André Felipe
André FelipeStudent Inżynierii Promptów

Najważniejsze szkolenia

FAQ

Kim jest Dedika?

Czy certyfikat jest ważny w Polska?

Czy kursy są darmowe?

Jaki jest wymiar godzinowy kursu?

Jak wyglądają kursy?

Jak działają kursy?

Jaki jest czas trwania kursów?

Jaki jest koszt lub cena kursów?

Czym jest kurs EAD lub kurs online i jak działa?

Kurs PDF