Skip to content
/ devmap Public

Карта развития веб-разработчика

Notifications You must be signed in to change notification settings

zualex/devmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 

Repository files navigation

Карта развития веб-разработчика Tweet

Содержание


Каждый уважающий себя разработчик должен знать

Книги

Это — книги «на все времена». Лучшие в своем роде и важные для программистов любых направлений.


Английский язык

Зачем - большинство лучших курсов, справочных и учебных материалов доступно именно на английском языке. Если возникают трудности, то со знанием английского языка выше шансы найти ответ во всемирной паутине. Также если хотите работать в крутой престижной кампании, то без английского никак.

  • Полезные ресурсы:

Архитектура компьютера

Цель - познакомиться с концептуальной структурой вычислительных машин.


Linux, командная строка Bash

Цель - понять как работают операционные системы. Научиться базовому администрированию.


Структуры данных

Структуры данных — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Данные можно представить по-разному. В зависимости от того, что это за данные и что вы собираетесь с ними делать, одно представление подойдёт лучше других.

Рекомендуется ознакомиться с алгоритмами хотя бы на базововм уровне. Так как структуры данных реализованы с помощью алгоритмов, алгоритмы - с помощью структур данных.


HTML & CSS


Объектно-ориентированное программирование


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


Системы управления версиями


Протокол HTTP

Цель - понять, как браузер взаимодействует с веб-сервером.


Тестирование


Безопасность сайтов


Тайм-менеджмент

Тайм-менеджмент - технология организации времени и повышения эффективности его использования.

Методы:

  • Метод «Помидора»
  • Метод Парето
  • Метод «Альп»
  • Матрица Эйзенхауэра

Можно использовать один или несколько методов или разработать свой метод. Главное, чтобы он был удобен и реально приносил пользу.


Карта развития Back-end разработчика

Алгоритмы


Серверные языки программирования

Цель - освоить несколько серверных языков программирования.

Нельзя останавливаться на одном языке, так как у вас может появиться 'JAVA головного мозга' - неспособность думать за пределами своего языка программирования.

Лозунг: нужно программировать не на языке программирования, а используя его.


Паттерны программирования


Принципы программирования


Регулярные выражения


SQL


Проектирование баз данных


Фреймворки

Для разных языков программирования существуют разные фреймворки, не нужно изучать всё сразу, необходимо взять несколько фреймворков за основу.


Пакетный менеджер


Устройство веб-серверов и способы взаимодействия


Развертывание проектов


Карта развития Front-end разработчика

JavaScript

  • Познакомиться с такими понятиями как:

    • Переменные
    • Типы данных
    • Функции
    • Рекурсия
    • Замыкания
    • Область видимости
    • Объекты
    • События
    • DOM
  • Документации, книги:


Адаптивный/отзывчивый веб-дизайн


JavaScript библиотеки

Цель - познакомиться с наиболее популярными библиотеками JavaScript. Знать где и когда их применять.

Список библиотек:

Список наиболее популярных библиотек есть на Javascripting


Препроцессоры CSS


Сборщик проектов

Сборщик проектов — небольшое приложение, которое используется для автоматизации скучных и рутинных задач, которые приходится постоянно выполнять в процессе разработки проекта. Такие задачи включают в себя, к примеру, запуск модульных тестов, конкатенацию файлов, минификацию, препроцессинг CSS.


Пакетный менеджер


CSS фреймворки


JavaScript фреймворки

Существуют разные фреймворки, не нужно изучать всё сразу, необходимо взять несколько фреймворков за основу.

Список фреймворков:


Одностраничное приложение

Одностраничное приложение или SPA (single page application) - сайт или веб-приложение, использующий единственный HTML-документ как оболочку для всех веб-страниц и организующий взаимодействие с пользователем через динамически подгружаемые HTML, CSS, JavaScript, обычно посредством AJAX.