
А ищо таким макаром йа немного поразвлекалась с байтойобством в языке, слабо для этого предназначенном. Но для меня в этом и веселье. Гы.
~ 75 - 80 % вакансий достаточно однообразны, унылы и включают в себя набор из клиентского фреймворка (В порядке убывания популярности React, Vue, Angular, Svelte) с его архитектурой управления данными (Redux/ Vuex). Верстка - CSS Grid/ Flexbox, препроцессор не важен, обычно это Less, SASS, чуть реже - Stylus.
Решаемые задачи безблагодатны чуть более, чем совсем и состоят в сотворении web-приложений для управления корпоративной инфой (назначалки заданий и поручений, выдача списков с клиентами/ товарами/скриптами для продажников/ просмотр и редактирование разной отчетности, документов и прочей макулатуры онлайн или в интранете). Кровавый enterprise, хуле.
А теперь самое веселое, отчасти неприятное, но отчасти мотивирующее. Чем задача более уныла, тем скорее ее автоматизируют. Собсна, отчасти этот процесс уже идет, и на выходе мы видим Magento, Shopify и прочие приблуды, позволяющие разрабатывать однотипные платформы для е-скаммерсии посредством спецыально обученных пионэров. + Tilda, Wix и прочие конструкторы для zero-code написания совсем уж простеньких лендингов и визиток
И сейчас йа думаю, чем парировать эту угрозу.
Ближе всего по личному опыту/ предпочтениям. Создание компьютерной графики на базе веб-платформ, потенциально - также standalone-приложения на электроне (тож занятное направление, но об этом - в следующем выпуске).
Требования - понимание принципов 3D-графики. Из чего состоит модель, как описать в коде примитивы, формирущие собой модель (прямые, плоскости, точки, пересечения и проекцыи)?
Собсно, йа приступила к изучению Blender-а и радуюсь, что располагаю инженерным опытом SolidWorks/ Compas.
Математика - здесь нужно повторить азы линейной алгебры. Геометрический смысл скалярных и векторных произведений, понятие базиса и переходы между разными базисами, матрицы вращений и переносов.
Визуализация на клиенте - Canvas, более продвинутый уровень - webGL. Я начала изучение, но сейчас пришла к выводу, что для начала нужно погрузицо в 3D-моделирование. Патамушта надо понимать, ЧТО ты выводишь на экран (а еще есть анимация, и там все совсем дивно)
Отсюда косвенно выходят еще два направления.
Направление два - это C/C++. Поскольку они лежат в основе GLSL, которым мы в shaderProgram-ах webGL позиционируем точки и красим фрагменты. + получи технология web assembly (написание отдельных функций на "быстрых" языках с импортом в виде "черных ящиков" в js-ный код)
При всем моральном уродстве Этана Ката его Crystal Castles прекрасны и по общему отбито-диссоциативному настроению, и по визуалам с атмосферой натуралистичного (и от того малость бредового) сна.
ДжС хотя и высокоуровневый скриптовый язык с очень вольной типизацией (ну если только вы не воткнули TypeScript), однако в нем есть возможность упасть на уровень манипуляций байтами и начать гонять биты направо и налево (а еще XORuть и творить прочие непотребства), словно мы в старом-добром C или Pascal. А самое главное - получать из этого преимущества по скорости (закроем глаза, что код становицо не таким читаемым).
Контрольный пример - запись, в которой есть поля "текущее значение" и "ожыдаемое значение" и процесс, в ходе которого ожидаемое значение становится текущим, а новое ожидаемое значение приезжает извне.