Проектное обучение
Список учебников по программированию, в которых учащиеся строят приложение с нуля. Эти учебники делятся на разные первичные языки программирования. У некоторых есть смешанные технологии и языки.
Чтобы начать, просто раздирайся этого репо. Пожалуйста, обратитесь к Appling.md для руководящих принципов вклада.
Оглавление:
- C#
- C/C ++
- Клоджюр
- Эликсир
- Эрланг
- F#
- Идти
- Хаскелл
- HTML/CSS
- Ява
- JavaScript
- Котлин
- Луа
- Ocaml
- PHP
- Питон
- Ведущий
- Рубин
- Ржавчина
- Скала
- Быстрый
- Дополнительные ресурсы
C/C ++:
- Создайте переводчика (глава 14 о написании в C)
- Определения памяти 101 - Напишите простой распределитель памяти
- Напишите оболочку в c
- Напишите файловую систему предохранителя
- Создайте свой собственный текстовый редактор
- Создайте свой собственный LISP
- Как программировать игру NES в C
- Напишите ОС с нуля
- Как создать ОС с нуля
- Создание эмулятора ChIP-8
- Начальное программирование игры с C ++ и SDL
- Внедрение магазина ключевых значений
- Крошечные 3D -графические проекты
- Крошечный рендеринг или как работает OpenGL: программное обеспечение в 500 строках кода
- Понятная применение в 256 линиях голого C ++
- Кабум! В 180 строках голого C ++
- 486 линий C ++: FPS старой школы в выходные дни
- Написание минимального компилятора x86-64 JIT в C ++
- Создайте библиотеку RELE-загрузчика в прямом эфире для C ++
- Напишите хеш -таблицу в c
- Давайте создадим простую базу данных
- Давайте напишем ядро
- Напишите загрузчик в C
- Контейнер Linux в 500 строках кода
- Напишите свою собственную виртуальную машину
- Изучение KVM - Реализуйте собственное ядро Linux
- Напишите компилятор C
- Часть 1: целые числа, лексинг и генерация кода
- Часть 2: Унарные операторы
- Часть 3: бинарные операторы
- Часть 4: еще больше бинарных операторов
- Часть 5: локальные переменные
- Часть 6: Кондиционисты
- Часть 7: Составные заявления
- Часть 8: петли
- Часть 9: Функции
- Часть 10: Глобальные переменные
- Внедрение языка с LLVM
- Meta Crush Saga: игра C ++ 17 с компиляцией
- Высокопроизводительная матрица умножение
- Космические захватчики с нуля
- Часть 1
- Часть 2
- Часть 3
- Часть 4
- Часть 5
- Учебное пособие Tetris на платформе C ++
- Написание отладчика Linux
- Часть 1: настройка
- Часть 2: точки останова
- Часть 3: Регистры и память
- Часть 4: эльфы и гномы
- Часть 5: Источник и сигналы
- Часть 6: ступенька на уровне источника
- Часть 7: точки останова на уровне источника
- Часть 8: разматывание стека
- Часть 9: Переменные обработки
- Часть 10: Расширенные темы
Сетевое программирование
OpenGL:
- Создание 2D Breakout Game Clone в C ++ с OpenGL
- Разразиться
- Настройка
- Рендеринг спрайты
- Уровни
- Столкновения
- Мяч
- Обнаружение столкновений
- Разрешение столкновения
- Частицы
- Постобработка
- Бонусы
- Аудио
- Рендеринг текст
- Последние мысли
- Герой ручной работы
- Как сделать Minecraft в C ++/OpenGL (видео)
C#:
- Узнайте C#, создав простую игру RPG
- Создайте мошенническую игру в C#
- Создайте пустое приложение с C# и Xamarin (работа в процессе)
- Создайте приложение для библиотеки фотографий iOS с Xamarin и Visual Studio
- Создание CoreWiki Это система управления контентом в стиле вики, которая была полностью написана в C# с ASP.NET Core и Razor Pages. Вы можете найти исходный код здесь.
Clojure:
- Создайте бот в Твиттере с Clojure
- Построение проверки орфографии
- Создание интеграции Jira с Clojure & Atlassian Connect
- Прототипирование с Clojure
Эликсир
- Создание простого приложения чата с Elixir и Phoenix
- Как написать супер быстрое сокращение ссылок с Elixir, Phoenix и Mnesia
Эрланг
- Чатбус: Создайте свое первое многопользовательское приложение чата с Erlang/OTP
- Создание приложения для чата с Erlang, Rebar, Cowboy и Bullet
F#:
- Напишите свой собственный Excel в 100 строк F#
Java:
- Создайте переводчика (глава 4-13 написана на Java)
- Создайте простой HTTP -сервер с Java
- Создайте приложение Android Flashlight (видео)
- Создайте приложение Spring Boot с аутентификацией пользователя
JavaScript:
- Построить 30 вещей за 30 дней с 30 учебниками
- Создайте приложение в Pure JS
- Создайте расширение ноутбуков Jupyter
HTML и CSS:
- Создайте экран загрузки
- Создайте HTML -калькулятор с JS
Мобильное приложение:
- Создайте приложение Todo RAGE
- Создайте нативное приложение React с Redux Thunk
Веб -приложения:
Реагировать:
- Создание приложений без сервера React.js
- Создать клон Trello
- Создайте приложение для голосования персонажа с React, Node, MongoDB и Socketio
- Учебное пособие React: клонирование Yelp
- Создайте приложение для голосования с полным стеком с разработкой теста с использованием Mocha, React, Redux и Immatable
- Создайте поток Twitter с помощью React и Node
- Создайте без серверного приложения Mern Story с помощью webtask.io
- Создайте простой средний клон с помощью React.js и Node.js
- Интегрировать MailChimp в JS
- Построить расширение Chrome с помощью React + Parcel
- Создайте приложение Todo с помощью Native React Native
- Сделать приложение в чате
- Создайте новостное приложение с Nate Native
- Узнайте WebPack для React
- Приложение для тестирования React с Pupepeteer и Jest
- Создайте свой собственный Cauperplate
- Кодировать игру жизни с React
- Основное вводное руководство React+Redux
- Создать планировщик встреч
- Создайте приложение чата с анализом настроений
- Создайте полную настройку веб -приложений стека
- Создайте тодоист -клон с React и Firebase
- Создайте машину случайной цитаты
- Часть 1
- Часть 2
- Часть 3
- Часть 4
- Часть 5
- Часть 6
- Часть 7
Угловой:
Создайте клон Instagram с угловым 1.x
Создайте автономный клиент Hacker News с Angular 2+
Создайте клон Google+ с Django и Angularjs (Angular 1.x)
Создайте красивое приложение для реального мира с Angular 8:
Построить отзывчивый макет с начальной загрузкой 4 и Angular 6
Приложение Todo с Angular 5
- Введение в Angular
- Часть 1
Узел:
- Создайте простой веб -сайт с Node, Express и MongoDB
- Создайте редактор Markdown в реальном времени с Nodejs
- Тестовая разработка с узлом, попрессом и Knex
- Напишите бот Twitter в node.js
- Создайте простое веб -приложение Restful
- Создайте простой поисковый бот за 30 минут
- Создайте веб -приложение для соскобки работы
Vue
- Vue 2 + Firebase: Как построить приложение Vue с системой аутентификации Firebase за 15 минут
- Учебное пособие по приложению Vue.js - Создание простого приложения для бюджета с Vue
- Создайте блог с Vue, GraphQL и Apollo
- Создайте полное веб -приложение для стека с использованием стека MEVN (MongoDB, Express, Vue, Node)
- Vue.js to-do List Turniory (Видео)
Другие (Хапи, Экспресс ...):
- Создайте прогрессивное веб -приложение (PWA)
- Создайте заявку на билет на поддержку с Adonisjs
- Создайте собственное настольное приложение с JS
- Создайте мощный API с Nodejs, GraphQL и HAPI
D3.JS
- Узнайте D3, используя примеры
- Научитесь делать линейную диаграмму
Развитие игры:
- Сделайте 2D -прорывную игру с помощью Phaser
- Сделайте Flappy Bird в HTML5 и JavaScript с Phaser
Настольное приложение:
- Создайте музыкальный проигрыватель с React & Electron
- Создайте настольное приложение чата с помощью React и Electron
Разнообразный:
- Как создать веб -структуру менее чем в 20 строках кода
- Построить себе Redux
- Как написать свой собственный виртуальный DOM
- Создайте API GraphQL без сервера в режиме реального времени с WebSockets на AWS
Котлин:
- Keddit - изучать котлин при разработке приложения Android
Луа:
ЛЮБОВЬ:
- Bytepath: создание полной игры с Lua и Löve
- Часть 0: Введение
- Часть 1: петля игры
- Часть 2: библиотеки
- Часть 3: Номера и области
- Часть 4: Упражнения
- Часть 5: Основы игры
- Часть 6: Основы игрока
- Часть 7: Статистика и атаки игрока
- Часть 8: враги
- Часть 9: режиссер и геймплей
- Часть 10: практика кодирования
- Часть 11: Пассивы
- Часть 12: больше пассива
- Часть 13: Дерево навыков
- Часть 14: Консоль
- Часть 15: финал
Питон:
Интернет -соскабливание:
- Добыча данных Twitter с Python
- Соскребайте веб -сайт с Scrapy и MongoDB
- Как скрепить с помощью python и selenium webdriver
- Какой фильм я должен смотреть с помощью BeautifulSoup
Веб -приложения:
- Построить микроблог с колбой
- Создайте веб -приложение для блога в Django
- Часть I: Введение
- Часть II: расширение, чтобы добавить больше функций
- Выберите свои собственные презентации приключений
- Создайте список Todo с Flask и RethinkDB
- Создайте список TODO с Django и разработкой, ориентированной на тестирование
- Создайте спокойный микросервис в Python
- Микросервисы с докером, колбой и реагируем
- Создайте простое веб -приложение с помощью колбы
- Создайте RESTFUL API с колбой - TDD WAY
- Создайте Django API менее чем за 20 минут
Боты:
- Построить бот Reddit
- Как сделать бот Reddit - YouTube (видео)
- Создайте бот Facebook Messenger
- Создание бота Reddit + Facebook Messenger
- Как создать телеграмму с помощью Python
- Создайте бот Twitter в Python
Наука данных:
- Изучите Python для науки о данных, выполняя несколько проектов (видео):
- Часть 1: Введение
- Часть 2: Анализ настроений в Твиттере
- Часть 3: Рекомендационные системы
- Часть 4: прогнозирование цен на акции
- Часть 5: Глубокая мечта в Tensorflow
- Часть 6: генетические алгоритмы
Машинное обучение:
- Напишите линейную регрессию с нуля в Python (видео)
- Пошаговое машинное обучение в Python
- Прогнозировать качество вина
- Решение проблемы классификации фруктов
- Узнайте неконтролируемое обучение с Python
- Создайте свою собственную нейронную сеть с нуля в Python
- Линейная регрессия в Python без Sklearn
- Многомерная линейная регрессия без Sklearn
- Музыка рекомендуется с использованием KNN
- Найдите подобные вопросы Quora-
- Использование лука, TFIDF и XGBOOST
- Использование Word2VEC и XGBOOST
OpenCV:
- Создайте сканер документа
- Создайте детектор лица, используя OpenCV и глубокое обучение
- Создайте систему распознавания лица, используя OpenCV, Python и Deep Learning
- Обнаружить важные особенности на изображении
- Создать сканер штрих -кода
- Учитесь кластеризацией лица с Python
- Отслеживание объекта с помощью Camshift
- Семантическая сегментация с OpenCV и глубоким обучением
- Обнаружение текста в изображениях и видео
- Люди противостоят использованию opencv
- Отслеживание нескольких объектов с OpenCV
- Перенос нервного стиля с OpenCV
- OpenCV OCR и распознавание текста
- Учебное пособие по исправлению текста
- Учебное пособие по выявлению ориентира лица
- Обнаружение объекта с использованием Mask-R-CNN
- Учебное пособие по автоматическому обнаружению цели
- Собственные меры с использованием OpenCV
- Более быстрый (5-точечный) учебник по обнаружению ориентира лица
- Обнаружение ручной клавиши
- Отслеживание объектов Correlation DLIB -
- Одиночный объектный трекер
- Minkle Object Tracker
- Изображение строит с помощью OpenCV и Python
- Сегментация экземпляра с OpenCV
- Детектор маски для лица
Глубокое обучение:
- Использование сверточных нейронных сетей для обнаружения лицевых ключей
- Создайте среднее лицо, используя Python и OpenCV
- Сломать систему CAPTCHA, используя CNNS
- Используйте предварительно обученную модель основания для обеспечения прогнозов изображений
- Создайте свой первый CNN
- Построить трубопровод распознавания лица
- Создайте генератор подписи изображения
- Сделайте свою собственную систему распознавания лица
- Обучить ИИ обнаружение языка через 20 минут
- Обнаружение объекта с нейронными сетями
- Изучить анализ настроений в Твиттере -
- Часть I - Очистка данных
- Часть II - EDA, Визуализация данных
- Часть III - Закон ZIPF, визуализация данных
- Часть IV - извлечение функции (векторизатор Count)
- Часть V - извлечение функции (векторизатор TFIDF)
- Часть VI - DOC2VEC
- Часть VII - моделирование фразы + doc2VEC
- Часть VIII - сокращение размерности
- Часть IX - Нейронные сети с векторами TFDIF
- Часть X - Нейронные сети с Word2VEC/DOC2VEC
- Часть XI - CNN с Word2VEC
- Используйте Transfer Learning для пользовательской классификации изображений
- Научитесь кодировать простую нейронную сеть в 11 строках Python
- Создайте нейронную сеть, используя подход к градиентному происхождению
- Обучить модель кераса для создания цветов
- Начните с Keras в пользовательском наборе данных
- Используйте собственные места и рыболовные сечения на наборе данных Faces94
- Kaggle Mnist Digit Учебное пособие
- Учебное пособие по моде MNIST с tf.keras
- CNN с использованием керас для автоматической классификации здоровья корней
- Керас против Тензорфлоу
- Глубокое обучение и анализ медицинского изображения для обнаружения малярии
- Перенос обучения для классификации изображений с использованием керас
- Кодировать классификатор улыбки с использованием CNN в Python
- Обработка естественного языка с использованием Scikit-learn
- Code A Taylor Swift Trics Generator
Разнообразный:
- Построить простой переводчика
- Создайте простой блокчейн в Python
- Напишите базу данных NOSQL в Python
- Построение сканера газового насоса с OpenCV/Python/IOS
- Создайте распределенную потоковую систему с Python и Kafka
- Написание базового компилятора JIT x86-64 с нуля в складе Python
- Создание отладчика низкого уровня (Linux)
- Внедрение поисковой системы
- Построить игру жизни
- Создать терминальное искусство ASCII
- Напишите AI Tic-Tac-Toe
- Создать фотомозаическое искусство
- Построить игру «змея» в терминале
- Напишите себе git
- Реализация Python бегуна Python Bytecode
Идти:
- Создайте приложение чата в реальном времени с Golang, Angular 2 и WebSocket
- Строительство GO Веб -приложения и микросервисы с использованием джина
- Как использовать GoDog для развития, основанного на поведении в Go et, началось с Godog
- Строительство блокчейна в ходе
- Часть 1: Основной прототип
- Часть 2: доказательство работы
- Часть 3: Постоянство и CLI
- Часть 4: Транзакции 1
- Часть 5: Адрес
- Часть 6: транзакции 2
- Часть 7: Сеть
- Создайте веб -приложение с Golang
- Создание контейнера с нуля в Go - Rice Liz (микроскалирующие системы)
PHP:
- Как построить блог с Laravel (видео)
- Сделайте свой собственный блог (в Pure PHP)
- Создайте пример веб -сайта недвижимости с Silverstripe
- Создание приложения чата в реальном времени с Laravel 5.4 и Vuejs (видео)
- Создайте социальную сеть: Laravel 5 - YouTube (видео)
- Создайте полнофункциональное многоязычное приложение с Laravel
- Часть 0: Введение
- Часть 1: настройка
- Часть 2: Роли и промотаемые
- Часть 3: Приглашение
- Часть 4: Аутентификация
- Часть 5: тестирование
- Часть 6: Профиль пользователя
- Часть 7: развертывание
Ocaml:
- Внедрить язык с LLVM в OCAML
Руби:
- Создайте сетевой стек с Ruby
- Создайте свой собственный Redis
- Часть 0: Введение
- Часть 1: Barebones TCP -сервер
- Часть 2: Ping <--> pong
- Часть 3: одновременные клиенты
- Часть 4: Эхо
Ruby on Rails:
- Учебное пособие Ruby on Rails
- Стройте Instagram с нуля с Ruby на рельсах
- Создайте социальную сеть, используя рельсы
- Как построить рубин на применении рельсов
Хаскелл:
- Напишите вам Haskell - создайте современный функциональный компилятор
- Напишите себе схему за 48 часов
- Напишите вам схему, версия 2
- Сверните свой собственный бот IRC
- Давайте построим базовый компилятор в Haskell
- Сделать фильм Монад
- Создание веб -сайта с Haskell (устаревшим)
R:
- Создать веб -приложения с блестящим
- Построить бот криптовалюты
- Учитесь добычей минимации в r Associate
Ржавчина:
- Простое веб -приложение в ржавчине
- Часть 1
- Часть 2а
- Часть 2б
- Напишите ОС в чистой ржавчине
- Построить двигатель браузера в ржавчине
- Напишите микросервис в ржавчине
- Изучение ржавчины с слишком большим количеством связанных списков
- Ржавчина в деталях: написание масштабируемого чата с нуля с нуля
- Часть 1: Реализация WebSocket. Введение.
- Часть 2: отправка и получение сообщений
- Написание ржавчины для рабочего стола и Интернета
Скала:
- Простой актерский блокчейн
- Нет магии: регулярные выражения
Быстрый:
- Взлом с Swift - Учитесь Swift, выполняя 39 проектов
Дополнительные ресурсы
- React Redux ссылки
- Полный стек Python
- Узел школа
- Скотчио
- Упражнения
- Egghead.io
- Блог Майкла Германа
- Thinkster.io
- C проектные учебники
- Просвет
- Hack Club Workshops