Курс для разработчиков бэкенда с использованием PostgreSQL 9.6
Для прохождения курса нужно понимать основы SQL и Unix. А в курсе речь пойдёт об общем устройстве PostgreSQL, использовании основных типов данных и объектов, программировании на стороне сервера и взаимодействии с клиенсткой частью приложения.
19 уроков и ссылки на все необходимые к ним материалы: https://postgrespro.ru/education/courses/DEV1
В дополнение к этому курсу есть ещё один небольшой текстовый курс. Про поиск проблемных запросов и их оптимизацию: https://postgrespro.ru/education/courses/QPT
А ещё есть видеолекции по администрированию PostgreSQL 10: https://t.me/tproger_web/59
#бэкенд #базыданных #postgresql
Для прохождения курса нужно понимать основы SQL и Unix. А в курсе речь пойдёт об общем устройстве PostgreSQL, использовании основных типов данных и объектов, программировании на стороне сервера и взаимодействии с клиенсткой частью приложения.
19 уроков и ссылки на все необходимые к ним материалы: https://postgrespro.ru/education/courses/DEV1
В дополнение к этому курсу есть ещё один небольшой текстовый курс. Про поиск проблемных запросов и их оптимизацию: https://postgrespro.ru/education/courses/QPT
А ещё есть видеолекции по администрированию PostgreSQL 10: https://t.me/tproger_web/59
#бэкенд #базыданных #postgresql
This media is not supported in your browser
VIEW IN TELEGRAM
С помощью Docker можно создавать микросервисы, которые позволят разрабатывать облачные приложения и системы. Чтобы выжать из него максимум через терминал, вам пригодятся эти 10 команд: https://tproger.ru/translations/top-10-docker-commands
Ещё больше команд для Docker вы можете найти в официальной документации: https://tprg.ru/docker-commands
#бэкенд #docker
Ещё больше команд для Docker вы можете найти в официальной документации: https://tprg.ru/docker-commands
#бэкенд #docker
JavaScript — динамически типизированный язык программирования, поэтому ситуация, когда переменная, содержащая значение типа string, в ходе выполнения программы становится ссылкой на значение типа object — это норма.
Для написания предсказуемых JavaScript-программ существует проверка типов. Для этого используется простой оператор typeof. Однако и он может вводить в заблуждение неопытных разработчиков.
В статье читайте про несколько способов реализации предсказуемой проверки типов для некоторых типов данных: https://tprg.ru/sgFV
#javascript
Для написания предсказуемых JavaScript-программ существует проверка типов. Для этого используется простой оператор typeof. Однако и он может вводить в заблуждение неопытных разработчиков.
В статье читайте про несколько способов реализации предсказуемой проверки типов для некоторых типов данных: https://tprg.ru/sgFV
#javascript
«Дизайн в основном создаётся с сеткой базовых блоков. Если отступ между элементами не делится на базовую единицу сетки, то это, скорее всего, ошибка. Например, если шаг сетки — 8px, и вы видите отступ в 199px, скорее всего, подразумевалось 200px».
В статье вы найдёте ещё 9 советов, которые помогут вам стремиться к pixel perfect дизайну: https://tprg.ru/0wWu
#фронтенд #дизайн
В статье вы найдёте ещё 9 советов, которые помогут вам стремиться к pixel perfect дизайну: https://tprg.ru/0wWu
#фронтенд #дизайн
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)
Приглашаем на крупнейшую профессиональную конференцию для разработчиков высоконагруженных систем Saint HighLoad++ 2026
Подробнее: https://clck.ru/3QZHTb
Июнь, 2026
Санкт-Петербург, DESIGN DISTRICT DAA in SPb
---------
HighLoad++ Moscow 2018
Тезисы и…
Подробнее: https://clck.ru/3QZHTb
Июнь, 2026
Санкт-Петербург, DESIGN DISTRICT DAA in SPb
---------
HighLoad++ Moscow 2018
Тезисы и…
Рекомендуем вам интересное интерактивное руководство «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, позволяющим создать сайты различного типа.