Wartościowe tematyczne kanały na YouTube

Wartościowe tematyczne kanały na YouTube
KO
  • Rejestracja:ponad 10 lat
  • Ostatnio:19 dni
  • Postów:419
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...

edytowany 1x, ostatnio: Riddle
LukeJL
Czemu najlepiej bez wcześniejszego przygotowania?
KO
Bo wtedy łatwiej ocenić wiedzę danej osoby. To nie jest wymóg konieczny, ale taka forma prowadzenia projektu bardziej mi odpowiada - widzę jak dana osoba rozwiązuje na bieżąco pojawiające się problemy i jak podchodzi do pewnych kwestii.
LukeJL
Pytanie tylko, czy jeśli ktoś robi coś szybko, to robi to całkiem bez przygotowania, czy może jest tak, że to lata doświadczenia go tak przygotowały, że jak się pojawi podobny problem, to jest w stanie go zrobić szybko? Czyli wydaje mi się, że "bez przygotowania" to iluzja wynikająca właśnie z tego, że ktoś ma bardzo dobre przygotowanie (wynikające z lat praktyki, albo choćby robienia eksperymentów/researchu przed nagraniem). A pewnych rzeczy nie da się zrobić bez przygotowania i najwyżej ktoś będzie się przygotowywał na wizji (co sprawi, że będzie to trochę nudne).
LukeJL
tym niemniej nie neguję samej idei, ciekawe to, co napisałeś, sam myślę o tym, żeby coś takiego założyć. Ale nie do C#, tylko do JS albo Rust, fajnie byłoby coś takiego spróbować. Ale większy projekt i opisywać postępy. Są takie kanały, gdzie ludzie robią np. grę.
KO
Ogólnie się zgadzam. Chodziło bardziej o to, żeby widzieć jak zawodowcy faktycznie rozwiązują pewne problemy na żywo, jak dochodzą do pewnych rzeczy, jak myślą. Większość filmów na YT jest na zasadzie: napisałem jakiś projekt a teraz pokażę światu jak to zrobiłem - i odtwarzają to co już mają. A mi chodzi, żeby widzieć jak człowiek myśli tworząc coś od początku. I nawet nie chodzi o to, żeby faktycznie robił to po raz pierwszy ale żeby to nie było wyreżyserowane ;)
Spine
  • Rejestracja:prawie 22 lata
  • Ostatnio:17 minut
  • Postów:6627
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.


🕹️⌨️🖥️🖱️🎮
edytowany 3x, ostatnio: Spine
TheWypierdzisty
TheWypierdzisty
  • Rejestracja:prawie 2 lata
  • Ostatnio:prawie 2 lata
  • Postów:43
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.

KO
  • Rejestracja:ponad 10 lat
  • Ostatnio:19 dni
  • Postów:419
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ść :)

WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 10 godzin
  • Postów:5107
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

edytowany 1x, ostatnio: WeiXiao
markone_dev
  • Rejestracja:około 3 lata
  • Ostatnio:około godziny
  • Postów:811
1

Z tematów Microsoft Azure to tylko John Savill link


Programujący korpo architekt chmurowy.
Udzielam konsultacji i szkoleń w obszarze szeroko pojętego cloud computingu (Azure, AWS) i architektury systemów IT. Dla firm i prywatnie.
DevOps to proces nie stanowisko.
edytowany 1x, ostatnio: markone_dev
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)