Skip to content

Стратегия изучения веб-технологий

Notifications You must be signed in to change notification settings

zverkos/web-developer-on-linux

 
 

Repository files navigation

Гайд начинающего веб-разработчика

Telegram: @piratestories | Книги | Статьи, доклады, ресурсы |

Готовые гайды по построению стратегии изучения веб-технологий:

  1. По программированию в целом — цикл статей Три пути программиста: хороший, плохой, злой.
  2. По верстке есть текстовый гайд Вёрстка — это не тупо!
  3. По фронтенду — серия статей От нуля до героя фронтенда: часть 1, часть 2.

Основы программирования

  1. Код. Тайный язык информатики
  2. Введение в программирование
  3. Структура и интерпретация компьютерных программ
  4. Теоретический минимум по Computer Science
  5. Грокаем алгоритмы
  6. Допольнительно: code-basics.ru

Операционные системы: Linux

  1. Операционные системы
  2. Основы Linux
  3. Командная строка
  4. Ubuntu/Mint

Системы контроля версий: GIT

  1. Системы контроля версий
  2. GitHowTo

Введение в веб-разработку

  1. Как работает интернет
  2. Как работает Веб
  3. Что такое доменные имена
  4. Введение в веб-разработку

HTTP

  1. HTTP | MDN
  2. HTTP протокол (Иван Бибилов)

Фронтенд. Часть 1: верстка и основы JS

1. HTML

  1. Основы HTML, CSS и Веб-дизайна
  2. Основы HTML5
  3. HTML Шорты
  4. Семантика
  5. Семантика для циников
  6. Шаблонизатор jade (pug)
  7. Шрифты
  8. Доступность

2. CSS

  1. Основы CSS/CSS3
  2. Flexbox
  3. БЭМ: урок + документация
  4. CSS-препроцессоры
  5. Про ванильный CSS
  6. Про технологии
  7. CSS Grid
  8. Можно вообще все. Раскладка по гриду
  9. Вы все еще не знаете CSS

3. Графический редактор

  1. Photoshop
  2. Adobe Assets
  3. Figma

4. Практика верстки

  1. Пример хорошей верстки
  2. Стримы по верстке
  3. Про подходы в верстке
  4. Что поправить в верстке?

5. JavaScript

  1. Основы ES5
  2. Простая функция
  3. jQuery: примеры типичных задач

Алгоритмы и структуры данных

  1. Что такое алгоритмы и структуры данных, и зачем они нужны
  2. Классические приёмы программирования во фронтенде
  3. Quicksort на JavaScript за пять минут
  4. Списки
  5. Графы
  6. Деревья

Фронтенд. Часть 2: JS + автоматизация

1. JavaScript

  1. You don't know js
  2. Функции высшего порядка в JS
  3. Основы ES6
  4. Асинхронные функции (async/await)
  5. Map
  6. Set
  7. Очень лаконично про ES6
  8. Фреймворки: Где мой JavaScript?
  9. Фреймворки: jQuery vs Angular vs Vue
  10. The Road to learn React
  11. React.js от learn.javascript.ru
  12. React.js от CodeDojo
  13. Redux от CodeDojo
  14. React.js от CSSSR
  15. Оф. документация по Vue.js
  16. Vue.js с нуля от Точка.dev
  17. Vue.js 2 от Yauhen Kavalchuk
  18. ANTY HYPE
  19. Service Worker
  20. Инъекция зависимостей и инверсия контроля: Теория, Илья vs DI, DI и фронтенд, InversifyJS
  21. Полноценный курс: Фронтенд JS-программист

2. Автоматизация/сборка фронтенда

  1. JS: Настройка окружения
  2. Обзор инструментов
  3. Обзор npm, bower, git...
  4. Npm
  5. Gulp
  6. WebPack
  7. Browsersync

Программирование, управляемое данными

  1. Учитесь писать код без if
  2. Учитесь писать код без циклов
  3. Диспетчеризация и полиморфизм

Функциональное программирование

  1. Итак, вы хотите научиться функциональному программированию
  2. Лямбда исчисление
  3. Функторы и монады
  4. Основы Haskell
  5. Clojure. Полный стэк на одном языке или изоморфизм Рича Хикки
  6. Elixir. Уроки на elixirschool.com

Автоматное программирование

  1. Управление состоянием приложения с помощью конечного автомата
  2. Автоматное программирование

Автоматическое тестирование

  1. Что такое тестирование и почему мы должны его делать?
  2. TDD и автоматическое тестирование
  3. Процесс разработки через тестирование по шагам с примерами кода

Базы данных

1. Что такое базы данных

  1. Что такое базы данных, СУБД и язык SQL
  2. Основные понятия баз данных
  3. Объекты базы данных
  4. Операции с базами данных
  5. Базы данных: SQL (DDL/DML)
  6. Базы данных: SQL (DQL)

2. Основы SQL

  1. Синтаксис SQL
  2. Изучение SQL
  3. Теория от Елисеева
  4. Технострим маил.ру | Базы данных (2017)
  5. Нормализация баз данных
  6. Денормализация баз данных
  7. Индексы в MySQL
  8. Как использовать индексы в JOIN запросах MySql

3. ORM

  1. Что такое ORM?
  2. В глубь ORM (29.04.2018)
  3. Зачем мне знать SQL и Базы Данных, ведь у меня есть ORM?

4. NoSQL

  1. Обзор NoSQL решений для работы с высоконагруженными системами | Технострим
  2. Решения на NoSQL базах

5. Redis

  1. Что такое Redis?
  2. The little redis book

5. Elasticsearch

  1. Основы Elasticsearch
  2. Текстовые уроки по Elasticsearch

Бэкенд. Часть 1: node JS

  1. Зчем появилась Node.js и что такое неблокирующий I/O (devSchacht)
  2. Знакомство с Node.js (CodeDojo)
  3. Node.JS от А до Я (Илья Кантор)
  4. Полноценный курс: Бэкенд JS-программист

Внешнее взаимодействие

  1. Web services. Введение
  2. Web services. PHP
  3. Что такое API
  4. REST API
  5. Отличие “REST API” и “JSON API”
  6. GraphQL

Бекенд. Часть-2: PHP

  1. PhpStorm
  2. Основы PHP: Marlin, Hexlet
  3. Ключевые аспекты веб-разработки на PHP
  4. PHP: Настройка окружения

1. ООП

  1. Алан Кэй, создатель ООП, про разработку, Лисп и ООП
  2. Про ООП. Что это и зачем оно
  3. Забытая история ООП
  4. Сравнение подходов при решении простой задачи
  5. Что такое объект? И почему Геттеры и Сеттеры — зло
  6. OOP FOR BRAVE AND TRUE

2. Сlass programming в PHP

  1. PHP: ООП (Hexlet)
  2. Неделя ООП: SOLID, GRASP в PHP. (Дмитрий Елисеев)

3. Декларативный подход в PHP

  1. Отличие декларативного от императивного стиля
  2. Построение абстракций в PHP
  3. Пишем свою функцию: 1 часть, 2 часть

4. PHP + MySql

  1. Класс для работы с MySQL
  2. CRUD
  3. PDO
  4. Защита от SQL-инъекций

5. Функциональное программирование в php

  1. PHP: Функциональное программирование
  2. Функциональный PHP 1/2: Подсчёт стоимости товаров 

6. Фреймворки php

  1. Что такое фреймворки?
  2. Какие бывают фреймворки?
  3. Что такое MVC Framework?
  4. Slim

7. Рабочее окружение php и виртуализация

  1. PHP: Настройка окружения
  2. Composer
  3. Vagrant
  4. Docker
  5. Отличия Vagrant и Docker

8. PSR

  1. Обзор стандартов PSR
  2. Fig-standards
  3. Перевод PSR 0-4
  4. PSR-7 в примерах
  5. Опыт внедрения PSR стандартов в одном легаси проекте (PSR-7, PSR-11)
  6. Пишем PSR-7 фреймворк 1/6

9. Тестирование в PHP

  1. PHP: Автоматическое тестирование

10. Профессия PHP-программист

  1. Полноценный курс: PHP-программист

Паттерны

  1. SOLID в PHP
  2. От STUPID кода к SOLID коду
  3. Говорим про SOLID
  4. Что такое паттерны на самом деле?

Архитектурные практики

  1. Dependency Injection | Внедрение зависимостей
  2. Service Locator | Локатор Служб
  3. Dependency Injection и Service Locator в Yii2
  4. Структура проекта
  5. Action-Domain-Responder с Slim
  6. Middleware в Slim
  7. Сервисный слой и контроллеры
  8. DDD. Domain Driven Design
  9. ADR. "Goodbye controllers, hello request handlers"
  10. Состояния: Stateful vs. Stateless
  11. CQS: Разделение функций на команды и запросы
  12. CQRS и Event Sourcing: Command/Query Responsibility Segregation — отделяем мух от котлет
  13. Микросервисная архитектура: PHP и микросервисы
  14. Бессерверная (Serverless) архитектура или Function as a Service (FaaS): Доклад на PHP fwdays'17 и Забацали Lambda-Функцию на AWS
  15. RabbitMQ и Pipeline

Практика PHP

1. Блог на Yii2

  1. Интернет-магазин на Yii2 от Дмитрия Елисеева (есть на coursehunters.net)
  2. Документация

2. Блог на Laravel

  1. Мастер-класс по Laravel от Дмитрия Елисеева (есть на coursehunters.net)
  2. Документация
  3. Уроки по Laravel 5 с laracasts.com в переводе на русский язык

3. Документация по Symfony 4

  1. Обзор основных моментов Symfony 3

DevOps

1. Практики и инструменты

  1. Практики и инструменты DevOps

2. Ansible

  1. Что такое Ansible?
  2. Курс по Ansible.

3. Nginx и Php-Fpm

  1. Nginx, Php-Fpm и что это вообще?
  2. Документация по NGINX

4. Виртуализация: Vagrant и Docker

  1. Установка Docker
  2. Установка Vagrant
  3. Как установить LAMP
  4. Как настроить виртуальные хосты в Apache
  5. Настройка виртуальных хостов в Nginx

Дизайн

  1. UI/UX. Что это такое?

Настройка ФШ 2018

  1. Солдаткин
  2. Менчуковский

Практика по ФШ 2018

  1. Home #2
  2. Home #2

Sketch, Figma, Adobe Хd

  1. Обзор
  2. Официальный видео-туториал по основам Figma
  3. Вебинары по Figma на русском (см. на x1.25)

YouTube-каналы

  1. DesignProsmotr
  2. Академия Яндекс. Дизайн
  3. Максим Солдаткин
  4. Виталий Менчуковский

Полезные статьи

  1. Про визитки
  2. Про логотипы
  3. Про интерфейсы
  4. Про ссылки
  5. Про шрифты
  6. Цвета в web-дизайне: Выбор правильного сочетания для вашего сайта.
  7. Работа с цветом: полезные инструменты, книги, статьи для веб-дизайнеров.
  8. Границы возможного

Дополнительные материалы

Книги

  1. Структура и интерпретация компьютерных программ (Харольд Абельсон, Джеральд Джей Сассман)
  2. Грокаем Алгоритмы (Адитья Бхаргава)
  3. You Don't Know JS
  4. Другие

Ресурсы (Паблики, сайты, каналы)

  1. MDN Web Docs
  2. Веб-стандарты
  3. Другие

Практические задачи

  1. codewars.com
  2. kaggle.com
  3. proghub.ru
  4. Другие

Философия и мотивация

  1. 36
  2. 90 лет жизни в годах
  3. Фронтэнд-усталость
  4. Про выгорания

About

Стратегия изучения веб-технологий

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published