Xplatform
Реализация фундаментальных проектов с курса по Computer Science
Install / Use
/learn @Winderton/XplatformREADME
Хочу начать как @pervognsen, процитируя Фейнмена:
"Что я не могу создать - я не понимаю".
xplatform - это проект, который состоит из серии мини-проектов, которые в свою очередь формируют один большой проект. Каждый такой мини-проект я снимаю отдельным видео на своем youtube канале.
Описание под проектом bitwise, Пьера Вогнсена, идеально подходит под то, что я делаю тут. В программировании меня мотивирует не изобретение чего-то нового, что само по себе круто, а разбор уже того, что имеется. Я считаю что на данный момент в IT сфере много крутых проектов, с которыми можно разбираться годами, и что создание чего-то нового происходит из понимания того, что старое работает не так как надо, что само по себе подразумевает твое приняте того, что ты знаешь как работает старое. Возможно я утрирую, но это мое виденье.
В проекте xplatform мы будем писать с нуля различные модули, которые интересны мне и вам. Если у вас есть пожелания по тому, чтобы вы хотели увидеть в формате видео-туториала на youtube, то пишите под последние видео ваши комментарии с темами, которые хотите видеть. На данный момент, сделано 6 модулей:
- [x] Serialization
- [x] Deserialization
- [x] Networking module
- [x] Blockchain(p2p)
- [x] Event System(кроссплатформенно, с glfw + win32)
- [x] Fullstack Web App(PostgreSQL, Next.js, Node.js(express), Youtube/Github API integrations, Cloud deployment)
Следующие темы будут варьироваться и меняться в зависимости от вашего желания их увидеть, и от моего - их делать, а предыдущие будут расширяться и дополняться
- [ ] Renderer(Raytracer/Rasterizer)
- [ ] Compression(LZ, Huffman)
- [ ] Custom Data Structures(Dynamic Array, Hashtable, Static Array, Tree)
- [ ] Custom library for heavily used data structores(STL-like)
- [ ] Thread pool
- [ ] Exception handling
- [ ] Allocators(На канале есть часовое видео по разработке malloc, но оно сюда не вписывается, так как слишком абстрактно)
- [ ] ECS
- [ ] Interpreter(И вообще, весь тул-чейн, который я бы хотел вам показать. Дебагер, профайлер, Статический анализатор... Скриптовой язык хотя бы для эллементарных задач)
- [ ] Build System(Где будет использоваться наш интерпретатор)
- [ ] Logging System
- [ ] Test Framework
- [ ] Utils(Различного рода вспомогательные утилиты, вроде
Catилиdumpbin)
Не смотря на то что я планирую написать все эти вещи с нуля, мы для примера, будем пользоваться готовыми, чтобы понимать что они из себя представляют, и для того чтобы показать вам какие-то техники и правила software engineering, о которых я узнал за свое время тут. Например, premake/cmake как билд-ситемы, eliot/spdlog как логинг, готовые arena и другие кастомыне алгокаторы, Lua/Python или другие языки для скриптинга, Google Test для тестов и так далее.
Расписание:
Я планирую делать 1 подобный модуль в месяц, с возомжными перерывами на другие видосы. От вашей активности под роликами будет в целом зависеть жизнь этой серии, но я в любом случае планирую закончить хотя бы часть модулей, чтобы вам было с чем работать для обучения.
Требования
Я постараюсь объяснять все, что я делаю в роликах на столько, на сколько могу, учитывая все, начиная от времени, вплоть до лени. Вам требуются понимание основы программирования на любом языке, и так же основа Computer Science, т.е общее представление о том, что это и из чего состоит. Это для того, чтобы мы могли разговаривать на одном языке. Вы можете задавать свои вопросы в комментариях под видео на youtube, у модулей, которые вас интересуют. Я постараюсь отвечать как минимум на большую часть технических вопросов.
Для людей же, кому интересно разбираться во всем этом на более глубоком уровне, напрямую со мной, то связь тут. Там я вам расскажу о возможностях. В скором времени эти возможности появятся в открытом доступе на boosty, но пока я не представляю всей картины целиком, поэтому уточняйте все моменты в ЛС сюда.
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
