Веб-страница
22.1K subscribers
2.17K photos
561 videos
2 files
4.45K links
Всё по фронтенду, бэкенду и девопсу в одном месте

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/64ai
Download Telegram
​Задачи по JavaScript

Вчера мы опубликовали задачу, а вот и один из вариантов её решения.

Если у вас есть более лаконичный ответ, то предлагаем вам поделиться им в комментариях👇

#задачи
Подборка актуальных вакансий

— Python-разработчик в Kokoc Group
Где: удалённо
Опыт: от 3 лет

— Разработчик PHP Middle+ / Senior в Kokoc Group
Где: удалённо
Опыт: от 3 лет

— Middle / Senior Python-разработчик [SmartDocs] в МТС
Где: удалённо
Опыт: от 3 лет

— Middle / Senior Backend Developer (Python) в команду Атом.Око в Гринатом
Где: удалённо
Опыт: от 3 лет

— Middle+ Senior Java-разработчик Сфера в Иннотех
Где: удалённо
Опыт: от 3 лет

— Java IT Lead / Руководитель группы разработки Сфера в Иннотех
Где: удалённо
Опыт: от 3 лет

— Ведущий Java-разработчик [SmartDocs] в МТС
Где: удалённо
Опыт: от 3 лет

— Senior Frontend Developer в Kokoc Group
Где: удалённо
Опыт: от 4 лет

— Senior Java Developer на продукт МТС Аналитика (Big Data) в МТС
Где: удалённо
Опыт: от 4 лет

— Senior / Lead Backend Java Developer HR TECH (Проект Атомкор) в Гринатом
Где: удалённо
Опыт: не указан

#вакансии #работа
👍2🤣1
​Паттерны реактивности в JavaScript

«Реактивность» — это то, как системы реагируют на обновление данных. Cовременный JavaScript позволяет достигать реактивности множеством различных способов. Мы можем комбинировать паттерны для реактивного рендеринга, логгирования, анимирования, обработки пользовательских событий и других вещей, происходящих в браузере.

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

В этой статье автор собрал и объяснил функционал 17 паттернов:

https://habr.com/ru/articles/757770/

#javascript
👍6
​В чём разница между объектами Map и WeakMap?

Эти объекты ведут себя по-разному в том случае, если переменная, содержащая ссылку на объект, являющийся ключом одной из пар ключ/значение, оказывается недоступной. Пример на картинке ниже.

После того, как завершается выполнение IIFE, у нас уже не будет доступа к объектам a и b. Поэтому сборщик мусора удаляет ключ b из weakmap и очищает память. А вот содержимое map остаётся при этом неизменным.

В результате оказывается, что объекты WeakMap позволяют сборщику мусора избавляться от тех своих записей, на ключи которых нет ссылок во внешних переменных. Объекты map хранят пары ключ/значение вне зависимости от наличия или отсутствия внешних ссылок на ключи. То же самое можно сказать и о реализации структуры данных Map с использованием обычных массивов. В WeakMap используются «слабые» ссылки на ключи. Они не препятствуют работе сборщика мусора в том случае, если на объект, используемый в роли ключа, нет других ссылок.

#основы
👍22
​Ликбез по распространённым Client-Side уязвимостям

Client Side-уязвимости — это слабые места или ошибки в ПО, работающем на стороне пользователя (обычно в контексте веб-браузера или мобильного приложения), которые можно использовать для хакерских атак или несанкционированного доступа к системе.

Для того чтобы этого не допустить, предлагаем вам изучить самые распространённые виды уязвимости на стороне клиента и некоторые методы Client-Side защиты:

https://habr.com/ru/companies/bastion/articles/757590/

#безопасность
🔥7👍2
​Ускорение в 30 раз — requestIdleCallback

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

Эта статья может быть полезна для понимания использования и влияния requestIdleCallback:

https://habr.com/ru/articles/759150/

#оптимизация
🔥6👍4🍓1
🤣39🔥5🌚4🤔3💩2
This media is not supported in your browser
VIEW IN TELEGRAM
Управляемая игральная кость на CSS

Проект написан без применения JavaScript, хоть здесь и предусмотрено управление её положением. Вся работа выполнена с помощью препроцессоров Pug и SCSS.

Посмотреть как это реализовано можно здесь:

https://codepen.io/HunorMarton/pen/mdERrLy

#codepen
👍17
​Ключевое слово debugger

Выражение debugger — это инструмент отладки кода. Он останавливает выполнение скрипта JavaScript и вызывает (если есть) функцию отладки.

У этого ключевого слова то же действие, что и у точек останова в окне отладчика.

Если отладка не доступна, то выражение debugger ничего не делает.

В следующем примере, если отладчик включен, то выполнение кода будет остановлено перед выполнением третьей строки:

#основы
🔥8👍3🌚2
This media is not supported in your browser
VIEW IN TELEGRAM
Лоадер-акробат

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

Посмотреть код можно тут:

https://codepen.io/jkantner/pen/VwrYggy

#codepen
🔥37👍8❤2👎1
Коротко о том, как довести фронтенд-разработчика
😁50🤬19👍13🤣1
​Задачи по JavaScript

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

Пример:

"CodEWaRs" --> [0,3,4,6]

Поделитесь своими результатами в комментариях👇

#задачи
🔥2😁1
​Задачи по JavaScript

Вчера мы опубликовали задачу, а вот и один из вариантов её решения.

Если у вас есть более лаконичный ответ, то предлагаем вам поделиться им в комментариях👇

#задачи
🤡17👍9🤨5❤1
Подборка актуальных вакансий

— Младший Python-разработчик в Kokoc Group
Где: удалённо
Опыт: можно без опыта

— QA Automation Java (web, UI) в Открытие
Где: удалённо
Опыт: от 2 лет

— Python-разработчик в Kokoc Group
Где: удалённо
Опыт: от 3 лет

— Разработчик PHP Middle+ / Senior в Kokoc Group
Где: удалённо
Опыт: от 3 лет

— Middle/Senior Backend Node.js Developer в МТС
Где: удалённо
Опыт: от 3 лет

— Senior QA Automation Java / Kotlin в Иннотех
Где: удалённо
Опыт: от 3 лет

— Senior Frontend Developer в Kokoc Group
Где: удалённо
Опыт: от 4 лет

— Senior Fullstack Developer / Фулстек разработчик (.net/react) в Иннотех
Где: удалённо
Опыт: от 5 лет

#вакансии #работа
❤1
​Поздравляем с Днем программиста!

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

В честь этого дня, нашли для вас интересную статью о том, как зарождался этот праздник.

А вы знали, что раньше программисты праздновали свой профессиональный день 14 февраля и почему, в итоге, выбрали именно 13 сентября? Подробнее об этом в статье:

https://habr.com/ru/companies/timeweb/articles/687362/

#деньпрограммиста
👏26🎉12👍6💩1
​В чем разница между __proto__ и prototype?

Свойство __proto__ (внутреннее скрытое свойство [[Prototype]]) — это объект, от которого экземпляр наследует поля и методы. А prototype — это объект, который используется для создания __proto__ при создании экземпляра с помощью ключевого слова new.

#основы
🍓14👍6🐳2❤1
​Релиз Bun 1.0 (новый runtime для JavaScript )

Bun — это быстрый универсальный набор инструментов для запуска, сборки, тестирования и отладки JavaScript и TypeScript кода (от одного файла до fullstack-приложения).

Автор статьи подробно рассказал о способе установки новинки, о её преимуществах перед Node.js, о том, как Bun поможет ускорить ваши проекты, а также о возможностях, которые предоставляет новая версия:

https://habr.com/ru/articles/760002/

#javascript
🔥20👍5💩4
​Как устроиться в крутую компанию, когда тебе 18 лет

Если вы молодой специалист и задаётесь тем же вопросом, то эта статья может быть полезна для вас.

Александр, 18-летний разработчик, поделился своей историей о том, как осваивал программирование и, как ему удалось, в столь юном возрасте, попасть на работу в крупную компанию, не имея за плечами многолетнего опыта работы. Секрет до боли простой. Нужно лишь немного упорства и настойчивости: https://tprg.ru/17mt
🤣7👎3👍2💩2🔥1
Любой проект на JavaScript be like:
🤣83🥰6💩1🥱1