13 хитростей для работы с npm
Многие бэкендеры пользуются менеджером пакетов npm ежедневно. Это значит, что в долгосрочной перспективе оптимизировать работу с ним может даже небольшая экономия времени.
Краткие записи основных команд, значения по умолчанию, упрощение работы со скриптами и репозиторием — 13 хитростей, которые позволят повысить эффективность работы с npm, в этой статье: https://tprg.ru/uYlJ
Также рекомендуем эту шпаргалку по npm.
#бэкенд #nodejs #npm
Многие бэкендеры пользуются менеджером пакетов npm ежедневно. Это значит, что в долгосрочной перспективе оптимизировать работу с ним может даже небольшая экономия времени.
Краткие записи основных команд, значения по умолчанию, упрощение работы со скриптами и репозиторием — 13 хитростей, которые позволят повысить эффективность работы с npm, в этой статье: https://tprg.ru/uYlJ
Также рекомендуем эту шпаргалку по npm.
#бэкенд #nodejs #npm
Посмотрите, какой крутой фреймворк на базе Vue.js: https://quasar.dev/introduction-to-quasar
На нём можно написать одностраничник, PWA, приложения для Android и iOS, даже мультиплатформенные десктопные приложения. И для всех приложений можно использовать одну кодовую базу.
Он довольно простой и большую функциональность предоставляет «из коробки», в том числе много UI-компонентов в стиле Material Design 2.0.
На гитхабе у фреймворка уже 11k звёзд: https://github.com/quasarframework/quasar
А посмотреть около 100 примеров приложений, уже использующих этот фреймворк, можно здесь: https://github.com/quasarframework/quasar-awesome
#фронтенд #vuejs
На нём можно написать одностраничник, PWA, приложения для Android и iOS, даже мультиплатформенные десктопные приложения. И для всех приложений можно использовать одну кодовую базу.
Он довольно простой и большую функциональность предоставляет «из коробки», в том числе много UI-компонентов в стиле Material Design 2.0.
На гитхабе у фреймворка уже 11k звёзд: https://github.com/quasarframework/quasar
А посмотреть около 100 примеров приложений, уже использующих этот фреймворк, можно здесь: https://github.com/quasarframework/quasar-awesome
#фронтенд #vuejs
Visual Studio Code — редактор кода для кроссплатформенной разработки. Его особенностью является то, что он очень кастомизируемый. Например, сейчас на официальном сайте есть 2 655 расширений в категории «языки программирования».
Держите подборку из 27 плагинов, которые могут вам понравиться. Например, там есть плагин для тестирования HTTP-запросов прямо из VS Code или Material-тема, у которой почти 5 миллионов скачиваний: https://tprg.ru/Lj1P
#инструменты #vscode
Держите подборку из 27 плагинов, которые могут вам понравиться. Например, там есть плагин для тестирования HTTP-запросов прямо из VS Code или Material-тема, у которой почти 5 миллионов скачиваний: https://tprg.ru/Lj1P
#инструменты #vscode
Руководство по выживанию с MongoDB
MongoDB — это NoSQL-решение для хранения данных. С ним легко стартовать, и для многих проблем есть решения «из коробки». Но по мере увеличения нагрузки вылезают грабли, о которых заранее никто не предупреждает.
В этом докладе спикер моделирует стартап, в который запускаются фичи и неожиданно приходят пользователи. В итоге на MongoDB-сервер сваливается огромная нагрузка. Сергей Загурский, который отвечает за бэкенд в Joom, рассказывает, как в таком случае улучшить перфоманс и подготовить приложение к масштабированию.
Текстовая версия доклада: https://tprg.ru/vdDc
#бэкенд #базыданных #mongodb
MongoDB — это NoSQL-решение для хранения данных. С ним легко стартовать, и для многих проблем есть решения «из коробки». Но по мере увеличения нагрузки вылезают грабли, о которых заранее никто не предупреждает.
В этом докладе спикер моделирует стартап, в который запускаются фичи и неожиданно приходят пользователи. В итоге на MongoDB-сервер сваливается огромная нагрузка. Сергей Загурский, который отвечает за бэкенд в Joom, рассказывает, как в таком случае улучшить перфоманс и подготовить приложение к масштабированию.
Текстовая версия доклада: https://tprg.ru/vdDc
#бэкенд #базыданных #mongodb
YouTube
Руководство по выживанию с MongoDB / Сергей Загурский (Joom)
Приглашаем на конференцию HighLoad++ 2025, которая пройдет 6 и 7 ноября в Москве!
Программа, подробности и билеты по ссылке: https://highload.ru/moscow/2025
________
HighLoad++ Moscow 2018
Тезисы и презентация:
http://www.highload.ru/moscow/2018/abstracts/4171…
Программа, подробности и билеты по ссылке: https://highload.ru/moscow/2025
________
HighLoad++ Moscow 2018
Тезисы и презентация:
http://www.highload.ru/moscow/2018/abstracts/4171…
Рекомендуем вам интересное интерактивное руководство «JavaScript за 14 минут»: https://jgthms.com/javascript-in-14-minutes (русскоязычная версия: https://js14min.github.io/)
В нём вы шаг за шагом будете узнавать новые особенности языка и сразу же применять знания на практике прямо в браузере.
Конечно, весь JavaScript за 14 минут вы не выучите, но это отличный способ, чтобы заинтересоваться обучением или просто вспомнить что-то уже знакомое.
От того же автора есть похожий интерактив по веб-дизайну: https://jgthms.com/web-design-in-4-minutes
#javascript #дизайн
В нём вы шаг за шагом будете узнавать новые особенности языка и сразу же применять знания на практике прямо в браузере.
Конечно, весь JavaScript за 14 минут вы не выучите, но это отличный способ, чтобы заинтересоваться обучением или просто вспомнить что-то уже знакомое.
От того же автора есть похожий интерактив по веб-дизайну: https://jgthms.com/web-design-in-4-minutes
#javascript #дизайн
This media is not supported in your browser
VIEW IN TELEGRAM
Смотрите, какой забавный прототип десктопного интерфейса в вебе. Написан на VanillaJS: https://codepen.io/yuvalsaraf/full/XLOOQO
Этот прототип, конечно, очень далёк от чего-то полноценного, но есть пара более серьёзных примеров операционных систем в вебе:
— OS.js: https://demo.os-js.org
— MSOS: https://msos.midspike.com
#фронтенд #дизайн #vanillajs
Этот прототип, конечно, очень далёк от чего-то полноценного, но есть пара более серьёзных примеров операционных систем в вебе:
— OS.js: https://demo.os-js.org
— MSOS: https://msos.midspike.com
#фронтенд #дизайн #vanillajs
Перебор массива в PHP
С помощью чего быстрее всего можно перебрать массив в PHP? С помощью ключевых слов языка for, foreach, while? Или с помощью функций стандартной библиотеки array_*?
Автор этой статьи взял массив из 70k элементов, прошёлся по нему по 10 раз каждым из способов и ответил на этот вопрос: https://tprg.ru/XaG0
Не открывая статью, как думаете, какой результат он получил?
#php
С помощью чего быстрее всего можно перебрать массив в PHP? С помощью ключевых слов языка for, foreach, while? Или с помощью функций стандартной библиотеки array_*?
Автор этой статьи взял массив из 70k элементов, прошёлся по нему по 10 раз каждым из способов и ответил на этот вопрос: https://tprg.ru/XaG0
Не открывая статью, как думаете, какой результат он получил?
#php
GitHub и американские санкции
Пользователям из стран и регионов, в отношении которых действуют торговые санкции США (Крым, Иран, Куба, Северная Корея и Сирия), закрыли доступ к GitHub Marketplace и их приватным репозиториям: https://tproger.ru/news/github-usa-restrictions
Открыт остался лишь ряд сервисов для некоммерческого использования. Например, публичные репозитории, связанные с Open Source проектами, и GitHub Pages.
Причём ограничения могут коснуться и тех, кто отправится в эти регионы в качестве туриста. Судя по всему, из этих стран и регионов лучше не коммитать.
#github
Пользователям из стран и регионов, в отношении которых действуют торговые санкции США (Крым, Иран, Куба, Северная Корея и Сирия), закрыли доступ к GitHub Marketplace и их приватным репозиториям: https://tproger.ru/news/github-usa-restrictions
Открыт остался лишь ряд сервисов для некоммерческого использования. Например, публичные репозитории, связанные с Open Source проектами, и GitHub Pages.
Причём ограничения могут коснуться и тех, кто отправится в эти регионы в качестве туриста. Судя по всему, из этих стран и регионов лучше не коммитать.
#github
This media is not supported in your browser
VIEW IN TELEGRAM
Один из действенных способов уменьшить начальный размер страницы — ленивая загрузка картинок. Изображения будут запрашиваться только тогда, когда они понадобятся пользователю.
Рекомендуем перевод статьи, автор которой рассказывает про:
— определение момента, когда нужно загружать изображения;
— поддержку адаптивных изображений;
— создание красивого начального состояния.
Читать: https://tprg.ru/Wksc
#фронтенд #html #css #javascript
Рекомендуем перевод статьи, автор которой рассказывает про:
— определение момента, когда нужно загружать изображения;
— поддержку адаптивных изображений;
— создание красивого начального состояния.
Читать: https://tprg.ru/Wksc
#фронтенд #html #css #javascript
В этом посте хотим удивить вас чатом. Вряд ли бы у нас это получилось, если бы это был какой-нибудь обычный чат. Мы хотим показать вам чат в браузерной консоли: https://console.chat
Просто открывайте сайт, заходите в JS-консоль браузера, пишите в неё cc() и вы попадёте чат, в который попадают все, кто проделал то же самое на этом же сайте.
Команды:
— username("имя") — взять себе имя в рамках чата;
— send("сообщение") — отправить сообщение в чат;
— send("сообщение", "254cf5") — отправить сообщение в чат и при этом выделить текст указанным цветом.
P.S. И лучше не писать туда никаких плохих слов, а то получите автоматический бан и без смены айпишника не сможете больше ничего писать.
#кек #javascript
Просто открывайте сайт, заходите в JS-консоль браузера, пишите в неё cc() и вы попадёте чат, в который попадают все, кто проделал то же самое на этом же сайте.
Команды:
— username("имя") — взять себе имя в рамках чата;
— send("сообщение") — отправить сообщение в чат;
— send("сообщение", "254cf5") — отправить сообщение в чат и при этом выделить текст указанным цветом.
P.S. И лучше не писать туда никаких плохих слов, а то получите автоматический бан и без смены айпишника не сможете больше ничего писать.
#кек #javascript
Все паттерны
В этом репозитории собраны все паттерны проектирования, которые только придумало человечество за время своего существования. Всего получилось 111 паттернов: https://github.com/iluwatar/java-design-patterns
Для каждого паттерна есть подробное описание и пример реализации на Java.
#паттерны #java
В этом репозитории собраны все паттерны проектирования, которые только придумало человечество за время своего существования. Всего получилось 111 паттернов: https://github.com/iluwatar/java-design-patterns
Для каждого паттерна есть подробное описание и пример реализации на Java.
#паттерны #java
Тестирование ClickHouse
ClickHouse — это поколоночная СУБД, которую разрабатывают в Яндексе. В неделю в проекте создаётся около 40 пул-реквестов, что требует хорошей автоматизированной инфраструктуры тестирования кода на всех уровнях.
Один из разработчиков ClickHouse рассказывает, как устроен CI проекта и из каких компонентов состоит pipeline тестирования.
Также в докладе:
— особенности покоммитных сборок с разными конфигурациями в различных OS;
— все этапы тестирования: статический анализ кода, интеграционные тесты и тесты производительности;
— преимущества, которые даёт CI: удобство в обнаружении багов, организация двухнедельного релизного цикла и улучшение работы с контрибьюторами.
Презентация доклада: https://tprg.ru/FpRV
#бэкенд #ci #тестирование
ClickHouse — это поколоночная СУБД, которую разрабатывают в Яндексе. В неделю в проекте создаётся около 40 пул-реквестов, что требует хорошей автоматизированной инфраструктуры тестирования кода на всех уровнях.
Один из разработчиков ClickHouse рассказывает, как устроен CI проекта и из каких компонентов состоит pipeline тестирования.
Также в докладе:
— особенности покоммитных сборок с разными конфигурациями в различных OS;
— все этапы тестирования: статический анализ кода, интеграционные тесты и тесты производительности;
— преимущества, которые даёт CI: удобство в обнаружении багов, организация двухнедельного релизного цикла и улучшение работы с контрибьюторами.
Презентация доклада: https://tprg.ru/FpRV
#бэкенд #ci #тестирование
YouTube
Тестирование ClickHouse, которого мы заслуживаем / Александр Сапин (Яндекс)
Приглашаем на конференцию Saint HighLoad++ 2025, которая пройдет 23 и 24 июня в Санкт-Петербурге!
Программа, подробности и билеты по ссылке: https://highload.ru/spb/2025
________
РИТ++ 2019, Backend Conf
Тезисы и презентация:
http://backendconf.ru/moscow…
Программа, подробности и билеты по ссылке: https://highload.ru/spb/2025
________
РИТ++ 2019, Backend Conf
Тезисы и презентация:
http://backendconf.ru/moscow…
Как работает PageSpeed Insights
Один из самых популярных инструментов для анализа веб-страницы — PageSpeed Insights от Google. Вы ему — страницу, он вам — оценку. Знаете, как он работает?
Около года назад Google полностью обновил его. Теперь на оценку сайта в первую очередь влияет реальная скорость загрузки страницы, а не какие-то технические пункты. Также теперь в приоритете при оценке сайта — его мобильная версия. Наиболее важные характеристики — через сколько времени после начала загрузки уже что-то видно, когда уже можно кликать, когда загрузится всё.
Как и раньше, есть рекомендации по улучшению. Но теперь они не связаны напрямую с оценкой, и не факт, что их воплощение улучшит ситуацию. А при бездумной реализации может и ухудшить (скорость превыше всего, помните?).
В этой статье автор разбирается, как PageSpeed Insights рассчитывает показатели скорости. Эти знания помогут более осознанно относиться к оценке и эффективно дорабатывать сайт: https://tprg.ru/how-google-pagespeed-works
#инструменты
Один из самых популярных инструментов для анализа веб-страницы — PageSpeed Insights от Google. Вы ему — страницу, он вам — оценку. Знаете, как он работает?
Около года назад Google полностью обновил его. Теперь на оценку сайта в первую очередь влияет реальная скорость загрузки страницы, а не какие-то технические пункты. Также теперь в приоритете при оценке сайта — его мобильная версия. Наиболее важные характеристики — через сколько времени после начала загрузки уже что-то видно, когда уже можно кликать, когда загрузится всё.
Как и раньше, есть рекомендации по улучшению. Но теперь они не связаны напрямую с оценкой, и не факт, что их воплощение улучшит ситуацию. А при бездумной реализации может и ухудшить (скорость превыше всего, помните?).
В этой статье автор разбирается, как PageSpeed Insights рассчитывает показатели скорости. Эти знания помогут более осознанно относиться к оценке и эффективно дорабатывать сайт: https://tprg.ru/how-google-pagespeed-works
#инструменты
This media is not supported in your browser
VIEW IN TELEGRAM
Зачем изобретать велосипед, когда он уже и так изобретён? Так можно сказать про многие вещи из области разработки. В этом посте речь про интерфейс поиска.
С помощью этой библиотеки на React можно быстро реализовать простой и кастомизируемый поиск: https://github.com/elastic/search-ui
В репозитории подробно расписано, как библиотеку запустить и использовать.
#фронтенд #react
С помощью этой библиотеки на React можно быстро реализовать простой и кастомизируемый поиск: https://github.com/elastic/search-ui
В репозитории подробно расписано, как библиотеку запустить и использовать.
#фронтенд #react
Давайте разбираться. Есть 3 варианта:
— На старте запустить N процессов, которые будут жить всегда.
Плюсы: процессы всегда готовы обработать запрос, их не надо запускать.
Минусы: постоянно используются ресурсы, нет масштабируемости.
— Запускать на каждый запрос новый процесс.
Плюсы: всегда используется ровно столько ресурсов, сколько нужно.
Минусы: на запуск процессов и их убийство тоже нужны ресурсы, задержки возрастают.
— Динамически запускать процессы, когда количество свободных процессов уменьшается. И наоборот, убивать процессы тогда, когда свободных становится очень много. Нечто среднее между первыми двумя вариантами.
Очевидного лидера среди трёх вариантов нет, всё зависит от конкретного кейса. Рекомендуем статью, которая поможет определить, что подойдёт для вашего случая: https://tprg.ru/php-fpm-configuration
#бэкенд #php
— На старте запустить N процессов, которые будут жить всегда.
Плюсы: процессы всегда готовы обработать запрос, их не надо запускать.
Минусы: постоянно используются ресурсы, нет масштабируемости.
— Запускать на каждый запрос новый процесс.
Плюсы: всегда используется ровно столько ресурсов, сколько нужно.
Минусы: на запуск процессов и их убийство тоже нужны ресурсы, задержки возрастают.
— Динамически запускать процессы, когда количество свободных процессов уменьшается. И наоборот, убивать процессы тогда, когда свободных становится очень много. Нечто среднее между первыми двумя вариантами.
Очевидного лидера среди трёх вариантов нет, всё зависит от конкретного кейса. Рекомендуем статью, которая поможет определить, что подойдёт для вашего случая: https://tprg.ru/php-fpm-configuration
#бэкенд #php
Признак простого в поддержке кода — когда разработчики могут легко и быстро изменять любую его часть, не затрагивая других его фрагментов. К CSS это также относится.
Рекомендуем перевод статьи из двух частей. Сначала автор приводит примеры плохих CSS-практик, от которых лучше избавиться. А затем рассказывает, как писать хороший CSS.
Читайте и применяйте: https://tprg.ru/l918
#фронтенд #css #лучшиепрактики
Рекомендуем перевод статьи из двух частей. Сначала автор приводит примеры плохих CSS-практик, от которых лучше избавиться. А затем рассказывает, как писать хороший CSS.
Читайте и применяйте: https://tprg.ru/l918
#фронтенд #css #лучшиепрактики
Видеокурсы по лучшим бесплатным движкам для сайта
Если нужно быстро написать полноценный сайт, то можно воспользоваться готовыми CMS. За короткое время они позволяет развернуть, например, лэндинг компании или сайт со своим портфолио.
В этой статье мы собрали видеокурсы на русском языке по популярным бесплатным движкам для сайта — Joomla, WordPress, MODX и Drupal: https://tproger.ru/video/free-cms-educational-videos/
#фронтенд
Если нужно быстро написать полноценный сайт, то можно воспользоваться готовыми CMS. За короткое время они позволяет развернуть, например, лэндинг компании или сайт со своим портфолио.
В этой статье мы собрали видеокурсы на русском языке по популярным бесплатным движкам для сайта — Joomla, WordPress, MODX и Drupal: https://tproger.ru/video/free-cms-educational-videos/
#фронтенд
Tproger
Видеокурсы по лучшим бесплатным движкам для сайта
В подборку вошли видеокурсы по бесплатным системам управления содержимым (CMS) WordPress, Drupal, Joomla! и MODX, позволяющим создать сайты различного типа.
Аварии помогают учиться
Даже самый хороший разработчик вряд ли сможет избежать факапов при разработке. Но хороший разработчик сделает из этого правильные выводы, чтобы этого больше не произошло.
В этом докладе девопс-инженер из Контура рассказывает, какие практики используют в компании, чтобы анализировать причины аварий при релизах. И ещё разбирает несколько примеров настоящих факапов. Все же любят слушать истории о том, как кто-то облажался.
Вот текстовая версия доклада: https://habr.com/ru/company/oleg-bunin/blog/458924/
#devops
Даже самый хороший разработчик вряд ли сможет избежать факапов при разработке. Но хороший разработчик сделает из этого правильные выводы, чтобы этого больше не произошло.
В этом докладе девопс-инженер из Контура рассказывает, какие практики используют в компании, чтобы анализировать причины аварий при релизах. И ещё разбирает несколько примеров настоящих факапов. Все же любят слушать истории о том, как кто-то облажался.
Вот текстовая версия доклада: https://habr.com/ru/company/oleg-bunin/blog/458924/
#devops
YouTube
Аварии помогают учиться / Алексей Кирпичников (Контур)
Приглашаем на DevOpsConf 2025, которая пройдет 7 и 8 апреля 2025 в Сколково в Москве.
Программа, подробности и билеты по ссылке: https://devopsconf.io/moscow/2025
---------
РИТ++ 2019, DevOps Conf
Тезисы и презентация:
http://devopsconf.io/moscow-rit…
Программа, подробности и билеты по ссылке: https://devopsconf.io/moscow/2025
---------
РИТ++ 2019, DevOps Conf
Тезисы и презентация:
http://devopsconf.io/moscow-rit…
Amazon открыл исходный код языка запросов PartiQL
Он позволяет работать с данными, независимо от того, где и в каком формате они хранятся. Можно запрашивать данные из реляционных БД, из NoSQL БД, из различных файловых систем. Подробности релиза: https://tprg.ru/J4oL
Спецификация языка: https://partiql.org/assets/PartiQL-Specification.pdf
Руководство по началу работы: https://partiql.org/tutorial.html
Исходники на гитхабе: https://github.com/partiql/partiql-lang-kotlin
#бэкенд #базыданных
Он позволяет работать с данными, независимо от того, где и в каком формате они хранятся. Можно запрашивать данные из реляционных БД, из NoSQL БД, из различных файловых систем. Подробности релиза: https://tprg.ru/J4oL
Спецификация языка: https://partiql.org/assets/PartiQL-Specification.pdf
Руководство по началу работы: https://partiql.org/tutorial.html
Исходники на гитхабе: https://github.com/partiql/partiql-lang-kotlin
#бэкенд #базыданных
Мы тут в соседнем канале присылаем самые важные IT новости в виде забавной подборки. Пишем простым языком. 1 раз в сутки по будням.
Ждём вас: @tprogerdaily
Ждём вас: @tprogerdaily
Программист из Нью-Йорка за пару лет накопил более 80 различных инструментов и ресурсов для веб-разработки и дизайна, которыми и поделился с сообществом: https://webdevresources.info/
Есть и прикладные инструменты для CSS, HTML, JS, а есть и ресурсы, на которые можно просто заглянуть за вдохновением.
#фронтенд #инструменты
Есть и прикладные инструменты для CSS, HTML, JS, а есть и ресурсы, на которые можно просто заглянуть за вдохновением.
#фронтенд #инструменты