Stagncja w nauce

0

Mam solidne podstawy jeżeli chodzi o czystego C++, struktury danych i teorie informatyki. Od niedawna nie jestem w stanie znaleźć sobie zadania, które by mnie rozwinęło. Gdybym pisał w backend w Javie to wiedziałbym, że muszę znać springa i próbowałbym w nim robić klony jakichś dużych stron, problem z C++ polega na tym, że nie wiem co mogę zrobić, żeby nie uczyć się kolejnej bezużytecznej biblioteki jak SFML. Projekty takie jak snake czy szachy są zbyt proste, a inne zdecydowanie za trudne. Co mogę robić, żeby polepszyć swoje umiejętności? Aktualnie uczę się testów, cmake-a, gita i rusta w celu poszerzenia horyzontów, ale czuję, że mijam się z najważniejszym, czyli umiejętnością programowania na wyższym poziomie abstrakcji. Czego jeszcze mógłbym się nauczyć? Jakie projekty zrobić? Jakie przykładowe zadania mogę dostać w pracy jako stażysta/junior?

4

Nie ucz się. Problem z głowy

6

Kup sobie malinkę, albo kilka i poeksperymentuj z linuxem, mikroserwisami, różnymi protokołami, IPC, strumieniowanie audio, video, kryptografia, przetwarzanie obrazów(openCV), bazy danych.
Może jakieś IoT (np. kamera monitoringu z panelem web UI) - solidna podbudowa pod szukanie pracy w branży telekomunikacyjnej. Do tego automatyzacja testów i podejście dev-ops.

1

a w którym kierunku chcesz się rozwijać i czy zależy ci na rozwoju w C++, czy może być w innych językach?

Np. poznać podstawy JavaScriptu czy Pythona nie zawadzi.

1

Mogę Ci pokazać pewien projekt z sieci jaki miałem na studiach xd (ale raczej na privie, bo prawa autorskie twórcy zadania), ale w skrócie, chodziło o zrobienie proxy/repeatera do radia internetowego, bardzo fajny projekt, jak coś nie działało to było słychać xd

1

To teraz zacznij pisać wzorce projektowe.
Co do projektów możesz machnąć game of life z całym interfejsem graficznym i rozbudowana baza danych.
Robiliśmy taki projekt przez cały semestr na studiach i bardzo fajna zabawa

3
leto napisał(a):

Aktualnie uczę się testów, cmake-a, gita i rusta w celu poszerzenia horyzontów

Doszlifuj cmake.
A testy to jest pilna sprawa. Obecnym standardem przemysłowym dla testów w C++ jest gtest, ale catch2 zyskuje na popularności.
Polecam nauczyć się Test Driven Development na jakimkolwiek projekcie.

2
leto napisał(a):

szachy są zbyt proste

O Panie :D No to szacun, też chciałbym takim wymiataczem być. Chyba, że mówisz o player vs player, a nie implementowałeś logiki gracza AI.

3

i.
też bym się czuł wypalony, jakbym pozostawał w jednym języku / jednym typie projektów itd ...
Geothe o językach naturalnych napisał: ile znasz języków obcych, tylekroć jesteś człowiekiem (ja wiem o sobie, znając niemiecki / rosyjski głębiej znam polski)

Znając/poznając różne języki programowania stawiasz umysł w sytuacji "o kurcze, tak się to robi w X, jak by się to robiło w Y". Mam własną teorię, że znając (mówię o poziomie względnie solidnym) ... znając trzeci język programowania, lepiej rozumiesz pierwszy.

ii.
I kilka "skoków na boki" dla programisty C/C++ bez ich zdradzania: własne extensiony 1) do Pythona / Lua, tym się wciągnąć w Python/Lua (niekoniecznie do poziomu mistrz świata), lub oskryptowanie większej aplikacji C/C++ w Python / Lua 2). Dla mnie był to bardzo ciekawy etap życia fachowego

  1. main w interpreterze
  2. main w C/C++
1

Albo można spróbować zrobić coś w 3D na przykład, gierkę czy coś. A potem to skompilować do WebAssembly i wrzucić do internetu, żeby można było grać na stronie internetowej.

0

Możesz pisać natywne pluginy do Node.js

1 użytkowników online, w tym zalogowanych: 0, gości: 1