Wartościowe tematyczne kanały na YouTube

0

Cześć,
czy możecie polecić jakieś materiały, gdzie realizowane są różne projekty najlepiej bez wcześniejszego przygotowania przez jakiś pro programistów np. z googla, m$ etc.? Coś podobnego co robi @Gynvael Coldwind tylko żeby takim przewodnim językiem był C#.
Ostatnio znalazłem kanał Tsoding Daily, gdzie śmieszny koleś podobnie robi różne ciekawe projekty od ręki, ale on głównie programuje w C a ja chętnie zobaczyłbym jak się takie rzeczy robi w C# :).

Nie chodzi mi o kanały typu IAmTimCorey tylko takie, gdzie widać, że człowiek siada bez przygotowania i pisze kod i jeszcze opowiada co robi i dlaczego tak...

1

Polecam: link youtube

Jak zaczynałem Unity, nie robiłem nic wcześniej w C#.
Znałem m. in. Javę i Pythona.

Z powyższym tutorialem dużo się dowiedziałem o C# i o Unity.

1

Hmm, sam też się uczyłem od Gynvaela w sumie to był mój jedyny autorytet, chyba 11 lat temu się od niego nauczyłem asm i inżynierii wstecznej.

Język to tylko tools, mówisz że chcesz zobaczyć jak się rzeczy dane robi w C#, czyli co masz na myśli?
W sumie to tu się rozchodzi o znajomość bardziej technologii, chcesz coś zrobić czy to w C# czy C to musisz zrozumieć jak coś działa napisać algorytm, to tylko bajty danych, które trzeba obrobić, jeśli plik ma jakiś header to go obsługujesz tam masz informacje gdzie co jest w tym pliku, czy jest kompresowane, tu język nie ma znaczenia.

Czy to http protokół jest tekstowym, no w C# są lepsze frameworki do obsługi, ale oba działają na tej samej zasadzie robisz połączenie tcp wysyłasz stringa i odbierasz stringa, połączenie się kończy :>

Im niżej poziomowy język tym lepiej czasem, czasem gorzej, jeśli chcesz modyfikować sobie kernel windowsa/linuxa to lepiej ten C/C++ i teraz Rust(w sumie będę musiał go w końcu opanować).

Ja uwielbiam takie dziwne rzeczy, których inni ludzie nigdy nie zrozumieją.

Mam przykładowo grę minesweeper i chcę znaleźć funkcję, która odpowiada za sprawdzanie czy dane pole jest z miną i mnie to nie ważne jaki język ktoś użyje da się przewidzieć jak coś powinno działać np. mamy planszę 2 wymiarową i funkcja sprawdzająca jeśli taka istnieje powinna najprawdopodobniej przyjmować dwa parametry koordynaty x i y planszy.

Sprawdzimy także jaki kompilator ktoś użył najczęściej jest tak, że używa jakiegoś systemu wywołań funkcji jak fastcall stdcall.
Wiedząc jak są przekazywane parametry np. fastcall to są w rejestrach rcx, rdx, r8, r9, zwykle pierwszy to jakiś obiekt jest this wskaźnik, to można sprawdzić czy następne dwa rdx i r8 zawierają wartość odpowiednio x i y, dodatkowo czy jesteśmy w adresie pamięci, który jest w przedziale załadowanego modułu naszej gry.

I jak znajdziemy stan procesora, który spełnia nasze warunki taki jak x położenie, y położenie i adres w przedziale naszego modułu czyli RIP rejestr odpowiada za to.
To miejsce w kodzie jakie znajdziemy to będzie chwila przed wywołaniem funkcji, która jest funkcją, która sprawdza czy na danej planszy jest mina wywołując do tego funkcję.

I mając lub nie mając kodu źródłowego tworząc takie heurystyki idzie dość łatwo wywnioskować gdzie co jest w kodzie i potem można przystąpić do analizy wstecznej zwanej reverse engineeringiem, tłumaczymy dziwne instrukcje kodu dla przykładu mamy jakąś operację co dodaje do siebie elementy z jakiegoś wskaźnika, najprawdopodobniej bufora, przechodzi co 4 bajtów co każde dodanie czyli myślimy że to będzie array intów, przy każdym też inkrementuje rejestr i na końcu robi dzielenie przez ten rejestr i jako człowiek trzeba wydedukować, że obliczyliśmy średnią arytmetyczną i to jest co funkcja wynkonuje, jest do dość żmudne i trudne, ale można odtworzyć każdy kod jaki istnieje i możemy modyfikować wszystko czego zapragniemy.

0

@TheWypierdzisty Trochę odleciałeś, ale dzięki za tak długi post :)
Ogólnie to ja już trochę lat programuję, więc wiem mniej więcej jak to działa ;) Może nie tak niskopoziomowo, ale nie o to tu chodzi.
Większość filmów na YT to takie tutoriale pokazujące jak zrobić konkretną rzecz. Takie filmy są dobrze przygotowane i prowadzący wie w jaki sposób chce coś zaimplementować.
Mi natomiast podoba się taki format, gdzie człowiek wybiera sobie jakiś większy temat i rozwiązuje dane zadanie na żywo, bez wcześniejszego przygotowania. Problemy w takich filmach rozwiązywane są często kilka godzin i można się dużo więcej dowiedzieć / nauczyć.
Nie chodzi mi o poznanie składni języka etc. tylko jak bardziej doświadczona osoba podchodzi do problemów i jak implementuje pewne rozwiązania.

Ja ogólnie znam również C++ więc kanały, które wcześniej podałem są dla mnie ok. Liczyłem jednak na kolejne źródła ciekawej wiedzy bardziej związane z językiem z którym wiążę dłuższą przyszłość :)

2

Mi natomiast podoba się taki format, gdzie człowiek wybiera sobie jakiś większy temat i rozwiązuje dane zadanie na żywo, bez wcześniejszego przygotowania.

Na twitchu ludzie robią tego typu live coding z tego co kojarzę.

https://www.twitch.tv/directory/game/Software%20and%20Game%20Development

1

Z tematów Microsoft Azure to tylko John Savill link

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