Nie musisz już zastanawiać się od czego zacząć. Przygotowaliśmy pakiet kursów idealny dla osób, które rozpoczynają swoją przygodę z C++. W pakiecie znajdziesz kursy:
Nie musisz już zastanawiać się od czego zacząć. Przygotowaliśmy pakiet kursów idealny dla osób, które rozpoczynają swoją przygodę z C++. W pakiecie znajdziesz poniższe kursy.
Zwięźle, praktycznie, nowocześnie. Coś dla osób początkujących. Nie jest to szkolenie od zera. Mile widziane wcześniejsze próby oswojenia C++. Dobry wstęp do naszych pozostałych szkoleń.
Najbardziej praktyczny kurs z narzędzi programistycznych i devopsowych. Poznaj narzędzia programisty niezbędne nie tylko w programowaniu w C++.
Najbardziej merytoryczny kurs STL-a po polsku. Naucz się pisać idiomatyczny kod bez pętli w C++20.
Polimorficzny wirtualny destruktor? Kompozycja czy agregacja? Zasady SOLID? Można prościej? U nas tak! Naucz się pisać testowalny kod w paradygmacie obiektowym i projektuj swoje klasy zgodnie ze sztuką.
Umiesz pisać programy, ale czujesz, że Twój kod śmierdzi? Brakuje mu tego czegoś? Wygląda jak przez okno? Naucz się nazywać zmienne, formatować kod i stosować ogólnie przyjęte konwencje. Twój kod będzie się czytało jak wciągający kryminał.
Opanuj mroczne arkana programowania wielowątkowego i przyspiesz swoje programy. Używaj wątków i muteksów. Unikaj zakleszczeń, wywłaszczeń, walki o zasoby i... gry w ping ponga z pamięcią cache.
Zwięźle, praktycznie, nowocześnie. Coś dla osób początkujących. Nie jest to szkolenie od zera. Mile widziane wcześniejsze próby oswojenia C++. Dobry wstęp do naszych pozostałych szkoleń.
Najbardziej praktyczny kurs z narzędzi programistycznych i devopsowych. Poznaj narzędzia programisty niezbędne nie tylko w programowaniu w C++.
Najbardziej merytoryczny kurs STL-a po polsku. Naucz się pisać idiomatyczny kod bez pętli w C++20.
Polimorficzny wirtualny destruktor? Kompozycja czy agregacja? Zasady SOLID? Można prościej? U nas tak! Naucz się pisać testowalny kod w paradygmacie obiektowym i projektuj swoje klasy zgodnie ze sztuką.
Jak alokować na stercie, a jak na stosie? Jak wyjątki przyspieszają kod? Użyć wskaźników zwykłych, czy tych sprytniejszych? A może cieknie Ci pamięć? Oto kompendium wiedzy dla tych, którzy chcą się nazywać prawdziwymi programistami C++.
Standardy C++11, C++14 i C++17. Dowiedz się, jak pisze się nowoczesny kod. Ten kurs uświadomi Ci, jak dużo materiałów w internecie jest przestarzałych i jak wiele rzeczy można zrobić prościej z użyciem nowych standardów.
Najbardziej mroczna część C++, której boją się nawet seniorzy. Opanuj metaprogramowanie, poznaj szablony funkcji, klas, zmiennych i aliasów. Opanuj szablony wariadyczne i pisz generyczny, a jednocześnie optymalny kod,
Nie jestem testerem, po co mam pisać testy?! Po to, żeby nie tracić tygodni na poprawianie błędów matole! Testy jednostkowe to obowiązek każdego programisty. Nauczymy Cię GTesta, Catch2 i TDD. To szkolenie całkowicie zmieni Twój sposób pisania kodu.
Standardy C++20, a nawet C++23. Ten kurs pokaże Ci, jakie najnowsze funkcjonalności będą w języku C++ i jak je wykorzystywać.
Gang of Four brzmi jak nowojorska grupa przestępcza? Idiomy to coś dla idiotów? Odczarujemy je. Nauczymy Cię popularnych wzorców - Dekoratorów, Fasad, Fabryk, Obserwatorów, Strategii oraz C++'owych idiomów - RAII, SFINAE, PIMPL, SOO i innych.
Umiesz pisać programy, ale czujesz, że Twój kod śmierdzi? Brakuje mu tego czegoś? Wygląda jak przez okno? Naucz się nazywać zmienne, formatować kod i stosować ogólnie przyjęte konwencje. Twój kod będzie się czytało jak wciągający kryminał.
Dowiedz się, jak zdobyć pierwszą pracę bez doświadczenia w branży. Odpicuj swoje CV i profil na LinkedIn. Wpisz odpowiednie projekty, dowiedz się z czego się przygotować, gdzie szukać pracy i o co zapytać przyszłego pracodawcę.
Wejdź na wyższy poziom abstrakcji niż wątki. Opanuj mroczne arkana programowania wspóbieżnego. Używaj zadań asynchronicznych i zmiennych atomic, aby pisać wysokopoziomowy i jednocześnie czytelny kod.
// Complicated types are not readable - avoid them
std::vector> compressGrayscale(std::array, height>&);
std::array, height> decompressGrayscale(std::vector>&);
// Domain names are much better
CompressedImage compressGrayscale(const Image& bitmap);
Image decompressGrayscale(const CompressedImage& compression);
// Create aliases to achieve it
using Image = std::array, height>;
using CompressedImage = std::vector>;
// Always initialize your data
int index = 0; // ok
bool completed; // bad
bool finished = false; // ok
if (completed) { // very bad
// ...
}
struct Node {
Node* next = nullptr; // ok
int value = 0;
}
// Create code formatting rules and guides, use .clang-format
class SuperWarrior {
public:
SuperWarrior(int level, int strength, int dexterity)
: level_(level)
, strength_(strength)
, dexterity(dexterity)
{
if (level_ >= 10) {
mana_ = 50;
}
}
private:
int level_ = 1;
int strength_ = 50;
int dexterity_ = 10;
int mana_ = 0;
};
void foo()
{
double x[1'048'576];
x[0] = 10;
}
int main()
{
foo();
return 0;
// What happens here?
}
#include
#include
#include
int main() {
std::string x = "x";
std::async(std::launch::async, [&x]() {
x = "y";
});
std::async(std::launch::async, [&x]() {
x = "z";
});
std::cout << x;
// Why the value of x is always "z"?
}
#include
#include
#include
#include
#include "catch_amalgamated.hpp"
#include
#include
#include
SCENARIO("Testing sort with a custom comparator", "[vector][sort][greater]") {
GIVEN("vector v") {
auto v = GENERATE(std::vector{1, 2, 3},
std::vector{1, 3, 2},
std::vector{2, 1, 3},
std::vector{2, 3, 1},
std::vector{3, 1, 2},
std::vector{3, 2, 1});
WHEN("sort is called with std::ranges::greater functor") {
std::ranges::sort(v, std::ranges::greater{});
THEN("v is {3, 2, 1}") {
std::vector expected = {3, 2, 1};
REQUIRE(v == expected);
}
}
}
}
SCENARIO("Testing sort algorithm on string", "[string][sort]") {
GIVEN("A simple string s = textTEXT") {
std::string s = "textTEXT";
WHEN("The string is sorted") {
std::ranges::sort(s);
THEN("The result is ETTXettx") {
REQUIRE(s == "ETTXettx");
}
}
}
}
Pochodzą one tylko i wyłącznie od naszych kursantów. Więcej opinii znajdziesz tutaj
Opinie są pozyskiwane i weryfikowane zgodnie z zapisem w punkcie 15 regulaminu.
Tyle brutto kosztował 1 dzień mojego szkolenia firmowego z C++ w 2021 roku. Zawartość powyższych kursów to od 2 do 10 takich dni. Dzieląc to przez 10 (średnia liczba osób w grupie) dostajemy 800 zł za dzień.
Tyle ludzie płacą za ROCZNY dostęp do grup i społeczności eksperckich, takich jak nasz serwer Discord. A u nas taki dostęp masz za darmo, gdy kupisz dowolny kurs 😍
Tyle kosztowały 3 godziny szkolenia grupowego ze mną za jedną osobę, gdy zaczynałem w 2018 roku.
Na platformie Coders School znajdziesz zakładkę Zarabiaj z nami, gdzie wygenerowaliśmy dla Ciebie linki do poleceń. Podeślij je swoim znajomym. Jeśli zdecydują się na zakup kursu i skorzystają z linku z Twoim poleceniem, w Twoich prowizjach pojawią się magicznie pieniądze. I nie, nie musisz ich wydać na nasze kurs. Możesz je wypłacić i zrobić z nimi co tylko zechcesz.
Jeśli nie chcesz kupować kursu, ale chcesz rozwijać swoją wiedzę o C++, to zapisz się na nasz Ninjaletter. Co miesiąc wysyłamy dawkę wartościowych treści o C++: nowości, ciekawostki i darmowe materiały. Oprócz tego ninjaletterowicze zawsze mogą liczyć na specjalne promocje i spoliery o nowych kursach.
Chcesz wiedzieć, co słychać w C++ nie tylko? Zapisz się na Ninjaletter i otrzymuj od nas co miesiąc dawkę wartościowych treści o C++
Zanim to zrobisz, zapisz się na Ninjaletter, aby wiedzieć, co piszczy w C++.
Informujemy, iż w celu realizacji usług dostępnych w naszym serwisie, optymalizacji jej treści, dostosowania strony do Państwa indywidualnych potrzeb oraz wyświetlania, personalizacji i mierzenia skuteczności reklam w ramach zewnętrznych sieci reklamowych korzystamy z informacji zapisanych za pomocą plików cookies na urządzeniach końcowych użytkowników. Pliki cookies można kontrolować za pomocą ustawień swojej przeglądarki internetowej. Dalsze korzystanie z naszego serwisu, bez zmiany ustawień przeglądarki internetowej oznacza, iż użytkownik akceptuje stosowanie plików cookies. Więcej informacji zawartych jest w polityce prywatności serwisu.