Обновить
128K+

JavaScript *

Прототипно-ориентированный язык программирования

173,35
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

От Prototype Pollution к RCE на ZeroNights X

Время на прочтение4 мин
Охват и читатели3.5K

В рамках данной статьи мы рассмотрим уязвимость Prototype Pollution на клиенте и AST-injection на сервере и то, к чему может привести их совместная эксплуатация, а также, как они были встроены для обучения в конкурс “Hack To Be Hired” на ZeroNights X от Академии Digital Security. 

Всем желающим познакомиться с подробными механизмами уязвимостей и как их взаимодействие может привести к RCE на сервере — приветствуем!

Читать далее

Дайджест свежих материалов из мира фронтенда за последнюю неделю №491 (25 — 31 октября 2021)

Время на прочтение3 мин
Охват и читатели8.3K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →

Развёртывание в Kubernetes из GitLab

Время на прочтение31 мин
Охват и читатели50K

Развёртывание в Kubernetes из GitLab


Развёртывание в Kubernetes из GitLab


Это продолжение предыдущего туториала про командную разработку с использованием GitLab. Фокус предыдущей статьи был на организации непрерывной поставки в работе команды. В этой статье мы уделим основное внимание именно практическим действиям необходимым для развёртывания из GitLab в Kubernetes.


А именно мы возьмём максимально простое но достаточно содержательное приложение на React.js, докеризуем его, затем развернём в Kubernetes локально при помощи Docker Desktop. После этого развернём его уже на Google Cloud Platform (GCP), и завершим разработкой CI/CD конвейера в GitLab для публикации нашего приложения в Google Kubernetes Engine.


Желательны но необязательны базовые знания


  • Docker;
  • Kubernetes;
  • Git;
  • Node.js;
  • React;
  • Bash.

В дальнейшем мы сделаем следующее.


  • ? Познакомимся c нашим приложением, обсудим из чего оно состоит.
  • ? Докеризуем наше приложение.
  • ☸️ Развернём наше приложение в Kubernetes локально на Docker Desktop.
  • ☁️ Обсудим особенности GCP и как нужно изменить наше приложение, а затем ещё раз развернём наше приложение в Kubernetes но уже в GCP.
  • ? Завершим наш туториал созданием конвейера для развертывания приложения в GCP при помощи GitLab.

Разные этапы от докеризации до Kubernetes на Google Cloud Platform

Читать дальше →

Как сделать что-то вечное, или как построить Зиккурат

Время на прочтение6 мин
Охват и читатели3.5K

Всем доброго времени суток.

В данной статье я решил поделиться опытом, накопленным за многие годы работы во front-end`е. Как и все вы, я был молод и мечтал создать что-то бессмертное. Ах, как я был молод, и как же я был глуп. Ничего вечного не существует и всё рано или поздно умирает. Однако, можно создать то, что протянет гораздо дольше обычного и даже будет адаптироваться к изменениям какое-то время. Поэтому сегодня предлагаю поговорить о паттернах проектирования для front-end приложений, выборе технологий и о том, чего делать не стоит. В этой статье буду проводить много аналогий со строительной тематикой и причиной тому небезызвестная история: «Если бы программисты строили дома».

Из чего строить? 

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

Посмотрим и на обратную сторону медали: беря сверхнадежное решение, которому много лет, вы обрекаете проект на скорый апдейт или умирание. Знавал я одну крупную компанию, которая использовала java 8. Мотивация звучала так: она надежна как швейцарский нож.  На минуточку, на дворе 2021 год и она устарела не только морально, но и технически (на момент написания, актуальной версией является java 17). 

Читать далее

Расширения Chrome для программистов и сочувствующих

Время на прочтение6 мин
Охват и читатели36K

На Хабре уже есть посты в духе «10 браузерных расширений, которые нужны КАЖДОМУ УВАЖАЮЩЕМУ СЕБЯ РАЗРАБОТЧИКУ». Но в них меня смущает то, что там вперемешку совсем разные вещи для разных людей. От React Developer Tools до съёмки полностраничных скриншотов — и всё это просто списком через запятую.

Поэтому захотелось сделать более структурированный пост с разделением на тематические категории. По которому можно и получить представление «что вообще бывает», и найти что-то конкретно для себя.

Разумеется, в комментариях приветствуются дополнения, мне знакомо далеко не всё.

Читать далее

Blazor: SPA без джаваскрипта для SaaS на практике

Время на прочтение12 мин
Охват и читатели9.9K

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

Всё это случилось когда мир фронтенда спас Он.

Ну ладно, сбавим обороты у нашей машины пафоса.

Сегодня я предлагаю вам взглянуть на возможности Blazor в версии .Net 6. Внезапно, под катом не будет очередного ПриветМир, а окажется полноценное SaaS веб-приложение, написанное на Блейзоре, пощупав которое вы сможете гораздо лучше оценить.

убийца или чижика съел?

Хочу поиск как у MDN

Время на прочтение25 мин
Охват и читатели15K


Привет, друзья!


Недавно (где-то в конце августа) у MDN появился новый (крутой, по заявлению разработчиков) поиск.


Речь идет об этом виджете на главной странице:







Основной код виджета находится здесь, а все остальное, кроме данных для поиска, можно найти здесь.


Данные для поиска также найти не сложно — для этого достаточно добавить к https://developer.mozilla.org локаль, например, /ru и /search-index.json:




Код поиска написан на React и TypeScript. Что это означает? Это означает, что мы с вами можем провести его обратную разработку.


Если вам это интересно, прошу следовать за мной.

Читать дальше →

Почему джуны никому не нужны и как это изменить?

Время на прочтение7 мин
Охват и читатели63K

Всем привет, это Макс Кравец из Holyweb. Знаю много историй, когда начинающего специалиста с первого дня бросают на задачи, за которые никто не берётся, и ждут, пока новый сотрудник сам «выплывет». А перегорит и уйдёт — значит, просто слабак, который не хочет работать.

С другой стороны такое отношение имеет определенные основания. У джунов часто завышены представление об идеальном проекте, зарплате и собственной ценности для работодателя. Из-за этого происходит разочарование даже в классных проектах и постоянная смена работы.

Если вы — тот самый джуниор, хотите расти как IT-специалист и зарабатывать больше, но считаете, что вас постоянно недооценивают и держат на неинтересных задачах, ​​этот материал для вас.

Читать далее

Text-to-Speech для YouTube. Озвучивание субтитров в видеороликах на JS

Время на прочтение6 мин
Охват и читатели14K

Всем привет.

Хочу рассказать о такой удивительной технологии как Tts и, возможно, неожиданном её применении для озвучки субтитров на YouTube с использованием JavaScript. Реализовано в виде расширения для браузера Chrome (для Yandex и Atom тоже подойдет).

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

Читать далее

Решение задач по JavaScript на bigfrontend (BFE): throttle и debounce

Время на прочтение3 мин
Охват и читатели13K

В этой серии статей я хочу решать BFE задачи (https://bigfrontend.dev) и разбирать решения. BFE - это сайт с задачками, которые позволяют подготовиться к фронтовому интервью и прокачать свои знания в JavaScript.

Сегодня я хочу рассмотреть 2 задачи, это throttle и debounce.

Читать далее

Как устроена Дока — опенсорсный справочник с документацией, который сообщество пишет для сообщества

Время на прочтение9 мин
Охват и читатели9K
Дока — это справочник, который помогает начинающим разработчикам разобраться с нюансами веба, а более опытным даёт возможность делиться и обмениваться знаниями. Его особенность в том, что наполнением сайта занимается сообщество, а редакция Доки в этом помогает.

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

Яндекс.Практикум поддерживает работу редакции Доки.



Читать дальше →

Множественный выбор кнопок в боте

Время на прочтение6 мин
Охват и читатели19K

Пишем бота для телеграм, позволяющий осуществить множественный выбор с помощью кнопок инлайн-клавиатуры. Продолжаю начатый цикл постов о связке инструментов гугл таблиц и телеграм. В этом посте предлагаю способ реализации множественного выбора с помощью инструментов гугл таблиц и javaScript. Много кода и скриншотов, что способствует повторить те же действия дома. Все комментарии и обратная связь приветствуются.

 

Читать далее

Ленивая подгрузка библиотек из CDN в Angular

Время на прочтение4 мин
Охват и читатели5.5K

Когда я интегрировал свое Angular-караоке с YouTube, мне попался официальный YouTube-компонент из Angular Material. В README прилагалась инструкция для подключения. Почти каждая строка в ней примере сомнительна. Давайте разберемся, как сделать лучше и применить имеющиеся инструменты для ленивой подгрузки библиотеки.

Давайте

Ближайшие события

Рецепты nginx: виджет Государственного Адресного Реестра

Время на прочтение9 мин
Охват и читатели3.2K

Для приготовления виджета Государственного Адресного Реестра, кроме базы, нам также понадобится nginx и его плагины postgres и json. Можно воспользоваться готовым образом.

В базе была определена большая функция gar_select от json и возвращающая json. Вот как раз она и нужна для использования через nginx.

Итак

Подключение телеграм бота к гугл таблицам

Время на прочтение4 мин
Охват и читатели124K

Пишем бота в гугл скриптах на JavaScript. Этот пост - проба пера и статья для начинающих свой путь в гугл скриптах или телеграм ботах. Есть много идей для будущих постов и интересных примеров использования инструментов гугла, в том числе реальных кейсов от заказчиков. Цель поста: получить обратную связь для понимания интересно ли читателю погрузиться в тему глубже.

Читать далее

Async/await в TypeScript

Время на прочтение8 мин
Охват и читатели51K

Если вас заинтересовала эта статья, то вы, наверное, несколько разбираетесь в асинхронном программировании на JavaScript и, возможно, интересуетесь, как оно работает в TypeScript.

Поскольку TypeScript – это надмножество JavaScript, async/await там работает точно также, но с некоторыми дополнительными бонусами и безопасностью типов. TypeScript позволяет запрограммировать безопасность типа ожидаемого результата и даже проверить, нет ли ошибок, связанных с типом. Поэтому баги отлавливаются на ранних стадиях разработки программы.

Читать далее

Дайджест свежих материалов из мира фронтенда за последнюю неделю №490 (18 — 24 октября 2021)

Время на прочтение3 мин
Охват и читатели8.5K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →

Chorda 3.0. Осенний релиз

Время на прочтение6 мин
Охват и читатели2.7K

Пришла осень и созрела очередная версия фреймворка Chorda 3.0. Можно наконец устроиться поудобнее за чашечкой кофе и подвести некоторые итоги

Про сам фреймворк можно почитать здесь, посмотреть там и пощупать тут

В прошлый раз я рассказывал о дизайн-функции, чертежах и построении API компонентов, а в этот раз попробую заинтересовать вас некоторыми очевидными решениями и не очень очевидными следствиями, которые появились во время работы с Chorda.

Читать далее

Как стать web-разработчиком на Python за полгода: конкретный план действий

Время на прочтение9 мин
Охват и читатели87K

Всем привет! Меня зовут Евгений Степанов, и я Python Full Stack-Developer в компании PVS-Studio. В этой статье вы узнаете, что нужно сделать, чтобы за полгода стать Python backend-разработчиком. После прочтения данной публикации у вас будет чёткий план, который останется только реализовать. Поехали!

Читать далее

Одна задача с собеса

Время на прочтение8 мин
Охват и читатели24K

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

Читать далее