5 технологий, которые нужно использовать во время карантина и улучшить свои навыки разработки программного обеспечения
Последние несколько месяцев были, мягко говоря, сложными. Если вам повезет, понесенные потери будут управляемыми. Тем не менее было страшно наблюдать, как разворачивается эта пандемия, и наличие достаточного количества свободного времени, чтобы посидеть и подумать о ней, не облегчило ее. Лично я считаю полезным тратить немного лишнего свободного времени на исследования.
Хотя совершенно новый язык может показаться устрашающим (всем нам нужно выделять достаточно свободного времени для заботы о себе и своем уме), я составил список из 5 вещей:
- Нетрудно научиться (хотя в этом отношении они различаются),
- Стоит изучить (на мой взгляд), и
- Темы, о которых вы наверняка много слышали, но, возможно, не задумывались над ними, если работа не дала повода для этого.
Так что сейчас, кажется, идеальное время, чтобы выбрать одну или несколько и погрузиться в нее. По каждой теме я перечислю несколько ресурсов, которые помогут начать работу.
Sass: синтаксически отличные таблицы стилей
Открытие Sass полностью изменило мой взгляд на CSS. Я перешел от мысли, что это была полная боль, к абсолютной любви к творческому процессу.
Обычный CSS, вероятно, подходит для небольшого веб-приложения, но приходили ли вы когда-нибудь к тому моменту, когда он начинал чувствовать себя немного неконтролируемым? Когда вы не совсем уверены, какие блоки div относятся к классу, который вы собираетесь изменить? Sass устраняет эту головную боль.
Стиль, записанный в таблице стилей Sass (файл module.scss) , имеет отношение только к коду в файле, импортирующем таблицу стилей. Это означает, что вы можете повторять имена классов с одного листа на другой. меняя стиль для каждого. Например, когда я создаю приложение React, полезно сохранять согласованность от файла к файлу. С помощью Sass вместо того, чтобы записывать имена классов как homeContainer, aboutContainer, profileContainer, и т. Д., Я могу иметь div верхнего уровня на каждой странице только с классом контейнер, но при необходимости настройте каждый их стиль. Когда вы просматриваете стили HTML в браузере с помощью Sass, вы можете видеть, что каждая таблица стилей добавляет отличительную строку, так что контейнер на домашней странице отличается от контейнера в профиле. страница.
Sass также делает управление переменными невероятно простым. Вы можете создать файл переменных, определить все переменные в нем с помощью «$ variableName», а затем использовать @import для импорта этого файла в таблицы стилей Sass. Используя этот метод, если на 11-м часу вы решите, что выбранный вами оттенок зеленого не совсем правильный, возможность поиграть с различными вариантами станет намного проще.
Функция @import, о которой я упоминал выше, является At-Rule - еще одной невероятной функцией, которую предоставляет Sass. Другие At-Rules включают инструменты для отладки, правила управления потоком, возможность повторного использования и многое другое.
Ресурсы
Firebase
Этот набор инструментов просто потрясающий. Я написал сообщение, ранее представляя платформу и конкретно обсуждая ее возможности аутентификации, и я рекомендую прочитать его, если вы хотите узнать о ней больше.
Firebase - это продукт Google, который предоставляет цельные, согласованные и надежные решения для всего, от аутентификации (включая социальные сети и вход без пароля) до аналитики, баз данных, хранилища корзин, хостинга, управления пользователями и многого другого. Ко всему этому можно легко получить доступ и управлять с помощью единой удобной панели инструментов, и все это сопровождается подробной документацией для реализации. По сути, он предоставляет все необходимое для создания безопасного и готового к работе приложения.
Ресурсы
- Документация Firebase
- Firebase 101: аутентификация
- Официальный канал Firebase на YouTube
- Мастер-класс по Firebase и Firestore
Аппаратное обеспечение
Я обнаружил, что по мере того, как сложность моей разработки росла, у меня возникала потребность в понимании оборудования, на котором она работает. Это особенно актуально при обсуждении эффективности, размера и оптимизации.
При изучении новых технологий для меня всегда был невероятно важен контекст. Это может быть не для всех, но мне нравится иметь возможность полностью осознать проблему, которую я решаю, а не просто выполнять решение. Время, потраченное на более глубокое понимание вычислительной мощности (ЦП), оперативной памяти (ОЗУ), операционных систем, серверов и других ключевых компонентов оборудования, дало мне понимание, которое обеспечило основу для более глубокого понимания качественного кода.
Ресурсы
SQL
SQL (язык структурированных запросов) - это язык, используемый для запросов к реляционным базам данных, как следует из названия. Это необработанные операторы, которые точно определяют, какие данные возвращать из базы данных, позволяют вставлять данные в базу данных и многое другое.
Однако писать необработанные операторы SQL не всегда необходимо. Например, популярные фреймворки, такие как Ruby on Rails и Python Django, преобразуют необработанные SQL-запросы в методы, которые проще писать и чище читать.
Во многих отношениях эта абстракция является фантастической при создании серверной части, но я твердо убежден, что она наносит ущерб пониманию инженером и, следовательно, способности использовать посредством абстракции или иным образом запросы SQL. Большая часть моей профессиональной работы включала в себя серверные части Express с базами данных PostgreSQL, сочетание которых требует от меня написания необработанных операторов SQL. Этот опыт разработки сложных реальных приложений дал мне возможность глубоко изучить язык SQL. Я научился писать сложные пользовательские запросы, которые не мог предоставить ни один фреймворк. Теперь при запросе к реляционным базам данных я могу принять решение о том, являются ли абстрактные методы с настраиваемой логикой для возвращаемых значений лучшим выбором или оптимальным является настраиваемый запрос.
Ресурсы
- PostgreSQL: язык SQL
- Интерактивное руководство по SQLBolt
- Учебник по SQL: Полный курс по базам данных для начинающих
Докер
Поскольку все признаки указывают на контейнеры как на будущее разработки и развертывания, Docker не составляет труда составить этот список. Я буду откровенен с вами - настройка Docker может оказаться сложной задачей. Но я обещаю, что оно того стоит. Если вы когда-либо работали над своим последним приложением, настраивая каждую деталь и функцию так, чтобы они выполнялись только для развертывания и сбоя сборки, тогда контейнеры для вас.
Красота контейнеров сводится к двум вещам - согласованности и масштабируемости - и Docker является в них лидером. При использовании контейнера Docker вместо разработки в одной среде (на вашем компьютере) и последующего развертывания в другой среде (Heroku и т. Д.) контейнер всегда является средой. Контейнеры изолированы от своих хостов. контейнер запускается на вашем компьютере, а контейнер развертывается в производственной среде.
Учитывая характер контейнеров, они невероятно легко масштабируются. Контейнеры можно раскручивать и демонтировать по мере необходимости в процессе производства, чтобы справиться с колебаниями использования. Приложения становятся все больше и больше с каждым днем, и Docker является для этого фактическим выбором.
Ресурсы
- Документация Docker
- Katacoda: изучите Docker и контейнеры с помощью интерактивных сценариев на основе браузера
- Мастерство докеров с Kubernetes + Swarm от капитана докеров