5 технологий, которые нужно использовать во время карантина и улучшить свои навыки разработки программного обеспечения

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

Хотя совершенно новый язык может показаться устрашающим (всем нам нужно выделять достаточно свободного времени для заботы о себе и своем уме), я составил список из 5 вещей:

  1. Нетрудно научиться (хотя в этом отношении они различаются),
  2. Стоит изучить (на мой взгляд), и
  3. Темы, о которых вы наверняка много слышали, но, возможно, не задумывались над ними, если работа не дала повода для этого.

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

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, который предоставляет цельные, согласованные и надежные решения для всего, от аутентификации (включая социальные сети и вход без пароля) до аналитики, баз данных, хранилища корзин, хостинга, управления пользователями и многого другого. Ко всему этому можно легко получить доступ и управлять с помощью единой удобной панели инструментов, и все это сопровождается подробной документацией для реализации. По сути, он предоставляет все необходимое для создания безопасного и готового к работе приложения.

Ресурсы

Аппаратное обеспечение

Я обнаружил, что по мере того, как сложность моей разработки росла, у меня возникала потребность в понимании оборудования, на котором она работает. Это особенно актуально при обсуждении эффективности, размера и оптимизации.

При изучении новых технологий для меня всегда был невероятно важен контекст. Это может быть не для всех, но мне нравится иметь возможность полностью осознать проблему, которую я решаю, а не просто выполнять решение. Время, потраченное на более глубокое понимание вычислительной мощности (ЦП), оперативной памяти (ОЗУ), операционных систем, серверов и других ключевых компонентов оборудования, дало мне понимание, которое обеспечило основу для более глубокого понимания качественного кода.

Ресурсы

SQL

SQL (язык структурированных запросов) - это язык, используемый для запросов к реляционным базам данных, как следует из названия. Это необработанные операторы, которые точно определяют, какие данные возвращать из базы данных, позволяют вставлять данные в базу данных и многое другое.

Однако писать необработанные операторы SQL не всегда необходимо. Например, популярные фреймворки, такие как Ruby on Rails и Python Django, преобразуют необработанные SQL-запросы в методы, которые проще писать и чище читать.

Во многих отношениях эта абстракция является фантастической при создании серверной части, но я твердо убежден, что она наносит ущерб пониманию инженером и, следовательно, способности использовать посредством абстракции или иным образом запросы SQL. Большая часть моей профессиональной работы включала в себя серверные части Express с базами данных PostgreSQL, сочетание которых требует от меня написания необработанных операторов SQL. Этот опыт разработки сложных реальных приложений дал мне возможность глубоко изучить язык SQL. Я научился писать сложные пользовательские запросы, которые не мог предоставить ни один фреймворк. Теперь при запросе к реляционным базам данных я могу принять решение о том, являются ли абстрактные методы с настраиваемой логикой для возвращаемых значений лучшим выбором или оптимальным является настраиваемый запрос.

Ресурсы

Докер

Поскольку все признаки указывают на контейнеры как на будущее разработки и развертывания, Docker не составляет труда составить этот список. Я буду откровенен с вами - настройка Docker может оказаться сложной задачей. Но я обещаю, что оно того стоит. Если вы когда-либо работали над своим последним приложением, настраивая каждую деталь и функцию так, чтобы они выполнялись только для развертывания и сбоя сборки, тогда контейнеры для вас.

Красота контейнеров сводится к двум вещам - согласованности и масштабируемости - и Docker является в них лидером. При использовании контейнера Docker вместо разработки в одной среде (на вашем компьютере) и последующего развертывания в другой среде (Heroku и т. Д.) контейнер всегда является средой. Контейнеры изолированы от своих хостов. контейнер запускается на вашем компьютере, а контейнер развертывается в производственной среде.

Учитывая характер контейнеров, они невероятно легко масштабируются. Контейнеры можно раскручивать и демонтировать по мере необходимости в процессе производства, чтобы справиться с колебаниями использования. Приложения становятся все больше и больше с каждым днем, и Docker является для этого фактическим выбором.

Ресурсы