<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  <channel>
    <language>ru</language>
    <title>Ruby on Rails</title>
    <description/>
    <link>https://tproger.ru/tag/ruby-on-rails</link>
    <atom:link href="https://tproger.ru/tag/ruby-on-rails/feed" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Sat, 24 Oct 2026 15:52:23 GMT</lastBuildDate>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>12</sy:updateFrequency>
    <image>
      <title>Ruby on Rails</title>
      <link>https://tproger.ru</link>
      <url>https://tproger.ru/apple-touch-icon.png</url>
    </image>
    <item>
      <title>Сканеры атакуют открытые Langflow и Rails: у первого нет патча, у второго есть</title>
      <link>https://tproger.ru/news/dve-kriticheskie-uyazvimosti-ekspluatiruyut-pryamo-sejchas-langflow</link>
      <comments>https://tproger.ru/news/dve-kriticheskie-uyazvimosti-ekspluatiruyut-pryamo-sejchas-langflow?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/dve-kriticheskie-uyazvimosti-ekspluatiruyut-pryamo-sejchas-langflow</guid>
      <description><![CDATA[<p>VulnCheck зафиксировала сотни попыток эксплуатации CVE-2026-0768 в Langflow (CVSS 9.8, выполнение Python от root без аутентификации) и CVE-2026-66066 в Rails Active Storage (CVSS 9.5, чтение файлов и секретов). Условия, версии с исправлением, что проверить.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/dve-kriticheskie-uyazvimosti-ekspluatiruyut-pryamo-sejchas-langflow">Сканеры атакуют открытые Langflow и Rails: у первого нет патча, у второго есть</a>»</p>]]></description>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 01 Sep 2026 17:26:48 GMT</pubDate>
      <content:encoded><![CDATA[<p>Компания VulnCheck, по <a href="https://thehackernews.com/2026/09/attackers-exploit-critical-langflow-and.html">сообщению The Hacker News</a> от 1 сентября, зафиксировала сотни попыток эксплуатации двух критических уязвимостей на своих ловушках: <b>CVE-2026-0768</b> в Langflow, визуальном конструкторе ИИ-приложений на Python, и <b>CVE-2026-66066</b> в Ruby on Rails. Первая позволяет без пароля выполнить произвольный Python-код от имени root, вторая — прочитать любые файлы сервера, включая ключи и пароли к базе, отправив специально собранную картинку.</p><p>Обе дыры не новые: <a href="https://github.com/advisories/GHSA-x5pr-rvjj-j6qm">advisory по Langflow</a> опубликован в GitHub Advisory Database ещё 23 января, но исправленная версия в нём не указана, а ZDI в бюллетене <a href="https://www.zerodayinitiative.com/advisories/ZDI-26-034/">ZDI-26-034</a> называет единственной мерой ограничение доступа к сервису. Для Rails исправления есть. Если у вас в проде или на тестовом сервере стоит Langflow либо Rails-приложение принимает файлы от пользователей, проверять нужно сегодня.</p><ul><li>CVE-2026-0768, Langflow: CVSS 9.8, CWE-94, инъекция кода через параметр code в эндпоинте /api/v1/validate/code, аутентификация не нужна, код выполняется от root; исправленная версия в advisory не указана.</li><li>CVE-2026-66066, Rails Active Storage: CVSS 9.5, чтение произвольных файлов при обработке изображений через libvips; уязвимы activestorage до 7.2.3.2, 8.0.x до 8.0.5.1 и 8.1.x до 8.1.3.1.</li><li>VulnCheck насчитала 360 срабатываний на ловушках в нескольких странах; в запросах ищут ключи OpenAI и AWS, файл secret_key Langflow, папку .ssh и историю shell.</li><li>Rails закрывается обновлением activestorage вместе с libvips не ниже 8.13; для Langflow единственная подтверждённая мера — ограничить доступ к сервису доверенными пользователями и сетями.</li><li>При признаках эксплуатации считайте доступные секреты скомпрометированными и меняйте их.</li></ul><h2>Langflow: код в параметре code и никакого патча</h2><p>Langflow — популярный инструмент, где ИИ-пайплайны собираются мышкой из блоков, а под капотом это Python-приложение. У него есть служебный эндпоинт /api/v1/validate/code, который проверяет пользовательский код компонента. Проверка входа там оказалась недостаточной: код из параметра выполняется, а эндпоинт не требует аутентификации. Langflow часто разворачивают в Docker от root, поэтому атакующий получает полный контроль над контейнером и всем, что в нём лежит: ключами моделей, токенами, доступами к базам.</p><blockquote>Authentication is not required to exploit this vulnerability.</blockquote><p>Это уже второй раз, когда тот же эндпоинт подводит: в 2025 году в нём же нашли CVE-2025-3248. По данным VulnCheck, в запросах атакующие целятся в переменные окружения LANGFLOW_SUPERUSER, OPENAI_API*, AWS_ACCESS*, AWS_SECRET*, файл /root/.cache/langflow/secret_key, каталог .ssh и .bash_history. Цель — не сам Langflow, а всё, к чему у него есть ключи. По данным VulnCheck, основной источник трафика на ловушки Langflow находился в России, а попадания фиксировались на canary-системе в Великобритании; атаки на Rails приходили на ловушки в Сингапуре, Израиле и Великобритании.</p><h2>Rails: картинка, которая читает файлы</h2><p>В Rails уязвим Active Storage, стандартный механизм загрузки файлов. Когда приложение обрабатывает изображение, оно передаёт файл в библиотеку libvips. Специально собранный файл заставляет libvips прочитать произвольный путь на сервере и вернуть содержимое в результирующем изображении. Так утекают secret_key_base, master key Rails, пароли БД и облачные учётные данные, а с ними в ряде конфигураций возможно и выполнение кода. Исследователи назвали уязвимость KindaRails2Shell.</p><p>Условия эксплуатации по <a href="https://github.com/advisories/GHSA-xr9x-r78c-5hrm">advisory</a>: libvips как бэкенд обработки и возможность для недоверенного пользователя загрузить файл. Если у вас ImageMagick или файлы грузят только администраторы, риск ниже, но обновиться всё равно стоит. Исправленные версии gem activestorage: 7.2.3.2, 8.0.5.1 и 8.1.3.1; advisory требует также libvips не ниже 8.13 и рекомендует заменить секреты.</p><h2>Что сделать сегодня</h2><ul><li>Langflow: ограничьте доступ ко всему сервису доверенными пользователями и сетями (VPN, reverse proxy с аутентификацией); это единственная мера, которую называет ZDI, потому что исправленной версии в advisory нет. Следите за релизами проекта.</li><li>Проверьте логи на запросы к /api/v1/validate/code с чужих адресов; нашли — считайте все ключи в окружении скомпрометированными и ротируйте их.</li><li>Rails: bundle update activestorage rails до 7.2.3.2, 8.0.5.1 или 8.1.3.1 и выше, обновите libvips до 8.13 или новее; проверьте Gemfile.lock.</li><li>Пока не обновились: на libvips 8.13 и новее включите блокировку недоверенных операций (переменная VIPS_BLOCK_UNTRUSTED или Vips.block_untrusted(true)), для более старых версий обхода advisory не даёт, остаётся отключить обработку файлов от пользователей.</li><li>После инцидента меняйте secret_key_base и master key: с их утечкой атакующий подделывает сессии и расшифровывает credentials.</li></ul><h2>Контекст</h2><p>Обе уязвимости известны с зимы, но волна эксплуатации началась, когда появился рабочий эксплойт и его добавили в автоматические сканеры. VulnCheck отдельно отмечает, что запросы приходили на ловушки в разных странах, то есть кампания не целевая, а ковровая: сканеры ищут любой доступный снаружи экземпляр. Langflow особенно распространён во внутренних ИИ-экспериментах, которые поднимают «на минутку» с публичным IP и забывают, и именно такие установки первыми находят сканеры.</p><p>Источники: <a href="https://thehackernews.com/2026/09/attackers-exploit-critical-langflow-and.html">Attackers exploit critical Langflow and Rails flaws (The Hacker News)</a>, <a href="https://github.com/advisories/GHSA-x5pr-rvjj-j6qm">GHSA-x5pr-rvjj-j6qm: Langflow code injection</a>, <a href="https://github.com/advisories/GHSA-xr9x-r78c-5hrm">GHSA-xr9x-r78c-5hrm: Active Storage arbitrary file read</a>, <a href="https://www.zerodayinitiative.com/advisories/ZDI-26-034/">ZDI-26-034</a></p><p>Изображение на обложке: Langflow, Ruby on Rails</p>]]></content:encoded>
    </item>
    <item>
      <title>Создатель Ruby on Rails: ИИ не готов заменить даже джунов</title>
      <link>https://tproger.ru/news/sozdatel-ruby-on-rails--ii-ne-gotov-zamenit-dazhe-dzhunov</link>
      <comments>https://tproger.ru/news/sozdatel-ruby-on-rails--ii-ne-gotov-zamenit-dazhe-dzhunov?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/sozdatel-ruby-on-rails--ii-ne-gotov-zamenit-dazhe-dzhunov</guid>
      <description><![CDATA[<p>Создатель Ruby on Rails заявил о том, что ИИ пишет рабочий, но нестабильный код и не готов заменить джуниоров в командах</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/sozdatel-ruby-on-rails--ii-ne-gotov-zamenit-dazhe-dzhunov">Создатель Ruby on Rails: ИИ не готов заменить даже джунов</a>»</p>]]></description>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Разработка]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 19 Jan 2026 14:24:40 GMT</pubDate>
      <content:encoded><![CDATA[<p>Создатель <b>Ruby on Rails</b> Давид Хейнемейер Ханссон <a href="https://www.finalroundai.com/blog/ai-can-not-replace-junior-programmers">скептически относится</a> к идее, что ИИ уже способен заменить младших разработчиков.</p><p>По его словам, современные инструменты генерации кода выглядят эффектно во демонстраций, но в реальной работе ведут себя слишком нестабильно.</p><p>В подкасте <b>Next Token</b>, Ханссон сравнил ИИ с мерцающей лампочкой: иногда она ярко освещает всю комнату и кажется почти магической, а через секунду снова погружает все в темноту.</p><p>Да, ИИ может внезапно выдать отличное решение. Но затем так же легко нейросеть может предложить код, который неудобно поддерживать и страшно развивать.</p><h2>Проблема не в том, что код «не работает»</h2><p>По опыту Ханссона, ИИ чаще всего пишет рабочий код. Но проблема не в компиляции или тестах, а в качестве.</p><p>Такой код плохо структурирован, его сложно читать, а главное — рискованно поддерживать в долгую. В реальных командах это критично: код должен быть понятен не только автору, но и тем, кто придет через полгода или год.</p><p>Именно здесь, по мнению Ханссона, ИИ уступает даже джуниорам. Младшие разработчики тоже ошибаются, но они понимают контекст системы, причины архитектурных решений и учатся думать о будущем продукта.</p><h2>Иллюзия замены людей</h2><p>На фоне массовых разговоров о сокращении команд, Ханссон прямо спорит с идеей «уволим джунов и ускоримся».</p><p>Его точку зрения разделяет и глава AWS Мэтт Гарман, который называл отказ от найма младших разработчиков одной из самых глупых стратегий. Без джунов компании лишаются кадрового резерва и будущих сеньоров.</p><p>Ханссон подчеркивает: разработка — это не набор строк кода. Это постоянное понимание требований, компромиссов, технического долга и изменений. Именно с этим ИИ сегодня справляется хуже всего.</p>]]></content:encoded>
    </item>
    <item>
      <title>Выбираем российский хостинг в 2025: подборка на любой запрос</title>
      <link>https://tproger.ru/articles/vybiraem-rossijskij-hosting-v-2025--podborka-na-lyuboj-zapros</link>
      <comments>https://tproger.ru/articles/vybiraem-rossijskij-hosting-v-2025--podborka-na-lyuboj-zapros?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Денис Кудерин]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/vybiraem-rossijskij-hosting-v-2025--podborka-na-lyuboj-zapros</guid>
      <description><![CDATA[<p>В этом материале — семь проверенных российских хостингов для разных задач: от стартапа до корпоративного проекта. Каждый прошел тестирование на аптайм (время бесперебойной работы), безопасность и доступность поддержки.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/vybiraem-rossijskij-hosting-v-2025--podborka-na-lyuboj-zapros">Выбираем российский хостинг в 2025: подборка на любой запрос</a>»</p>]]></description>
      <category><![CDATA[Интернет]]></category>
      <category><![CDATA[API]]></category>
      <category><![CDATA[Тестирование]]></category>
      <category><![CDATA[Linux]]></category>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Git]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Производительность]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Ruby]]></category>
      <category><![CDATA[MySQL]]></category>
      <category><![CDATA[PHP]]></category>
      <category><![CDATA[Windows]]></category>
      <category><![CDATA[DevOps]]></category>
      <category><![CDATA[Работа]]></category>
      <category><![CDATA[Tor]]></category>
      <category><![CDATA[SQL]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Боты]]></category>
      <category><![CDATA[Node.js]]></category>
      <category><![CDATA[GitLab]]></category>
      <category><![CDATA[Docker]]></category>
      <category><![CDATA[Windows Server]]></category>
      <category><![CDATA[Intel]]></category>
      <category><![CDATA[Техподдержка]]></category>
      <category><![CDATA[Россия]]></category>
      <category><![CDATA[Сервер]]></category>
      <category><![CDATA[Дата-центр]]></category>
      <category><![CDATA[CMS]]></category>
      <category><![CDATA[Бизнес]]></category>
      <category><![CDATA[Разработка]]></category>
      <category><![CDATA[VPS]]></category>
      <category><![CDATA[CI/CD]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 22 Jul 2025 12:00:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>В 2025 году российский хостинг переживает новый виток развития. После того как законодательство изменилось и добавились новые технологии, локальные провайдеры усилили инфраструктуру.</p><p>Теперь они предлагают решения, которые не хуже, а где-то даже и лучше международных аналогов и по надёжности, и по цене.</p><p>Посмотрим, кто из них есть в этом списке, и определим особенности хостингов для сайта.</p><h2>1. FirstVDS: профессиональные решения для любых проектов</h2><p><a href="https://firstvds.ru/">FirstVDS</a><a href="https://firstvds.ru/" rel="noopener noreferrer nofollow"></a> — хостинг-провайдер с опытом на рынке более 20 лет. Предлагают VPS и VDS с виртуализацией KVM для проектов любого размера. Все серверы работают на современном оборудовании. Трижды победитель в номинации «Хостер года» Национальной премии «ЦОДы.РФ».</p><p>Хостинг подойдет бизнесу любого масштаба: для любых сайтов — от визиток до высоконагруженных интернет-магазинов, для разработки и тестирования, для сервисов и других проектов. Отдельные решения для Битрикс, установка ОС семейства Linux и Windows Server.</p><h3>Особенности хостинга</h3><h4>Надёжность</h4><p>FirstVDS обеспечивает аптайм 99,97–99,99% в 2025 году, подтверждённый замерами (например, отклик из Москвы — 27 мс в апреле 2025). Серверы размещены в трёх дата-центрах уровня Tier III: два в Москве (IXcellerate и Web DC) и один в Амстердаме (euNetworks). Отказоустойчивый кластер Ceph гарантирует работу даже при сбоях точки или канала.</p><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-07-16/80547603-f63a-4f2e-9bc1-332c9e061bf9.png" alt="" /></figure><h4>Инфраструктура</h4><p>Серверы работают на процессорах Intel Xeon и AMD EPYC (до 5,7 ГГц в линейке CPU.Турбо), с быстрыми NVMe-дисками объёмом до 8 ТБ и оперативной памятью DDR5 (до 768 ГБ в VDS Атлант). Это обеспечивает высокую производительность для ресурсоёмких задач, таких как Битрикс или высоконагруженные приложения.</p><h4>Гибкость</h4><p>Тарифы масштабируются: от базовых конфигураций (1 CPU, 1 ГБ RAM, 40 ГБ SSD) до мощных серверов (192 ядра, 768 ГБ RAM, 8 ТБ NVMe). Линейки:</p><ul><li>VDS Форсаж: AMD EPYC, до 128 ядер, 512 ГБ RAM, 4 ТБ NVMe, от 749 ₽/мес (Москва/Амстердам).</li><li>CPU.Турбо: AMD Ryzen до 5,7 ГГц, DDR5, от 624 ₽/мес (Москва).</li><li>VDS Атлант: отказоустойчивый, до 192 ядер, 8 ТБ NVMe, от 1619 ₽/мес (Москва).</li><li>VDS Storage: хранилище, от 704 ₽/мес (Москва).Горячее масштабирование (hot-resize) позволяет добавлять CPU, RAM или диск без перезагрузки.</li></ul><h4>Автоматизация</h4><p>Шаблоны для быстрого развёртывания: Django, Redmine, Tomcat, Teamspeak, Nextcloud, LAMP, LEMP, Forgejo Git, GitLab, Битрикс. Поддерживаются ОС Linux (Ubuntu, Alma, Debian, Rocky, CentOS, Oracle), FreeBSD, Windows Server. API и панель ispmanager 6 lite (бесплатно на месяц) упрощают управление.</p><h4>Безопасность</h4><p>Включена защита от DDoS-атак на сетевом уровне, BitNinja для защиты сервера и сайта, SSL-сертификаты GlobalSign. Доступны автобэкапы, снапшоты, Кибер-бэкап и объектное хранилище S3 для больших данных.</p><h4>Поддержка</h4><p>Круглосуточная поддержка 24/7 без чат-ботов, ответ до 15 минут через чат, личный кабинет или телефон. Бесплатно: помощь с активацией и первичной настройкой. Платно: установка ПО, администрирование. Экспертная линия для мониторинга и устранения сбоев.</p><h4>Бонусы</h4><ul><li>Тестовый период 3 дня.</li><li>Бесплатный перенос до 10 сайтов с другого хостера.</li><li>Скидки: 40% на первый месяц при оплате на 1/3/6 месяцев или 3 месяца бесплатно при оплате за год.</li><li>Лояльность: скидка 5–20% для клиентов от 5 лет.</li><li>Реферальная программа: 10% от расходов привлечённых клиентов для партнёра, 25% скидка для нового пользователя на первый месяц.</li><li>Домены: продление по цене регистрации.</li></ul><h3>Тарифы и условия</h3><p>Тестовый период 3 дня, после него подключаете один из основных тарифов:</p><ul><li>Линейка готовых конфигураций от 1 CPU, 1 Гб RAM, 40 Гб SSD-накопителя и от 219 руб/мес. до сервера с 8 CPU, 12 Гб RAM, 150 Гб NVMe-накопителя. Локация в РФ и Нидерландах.</li><li>VDS Форсаж: на AMD Epyc от 749 ₽/мес. Локации: РФ и Нидерланды.</li><li>CPU.Турбо: гибкая конфигурация на базе высокочастотных AMD Ryzen 9 от 624 ₽/мес. При покупке лицензии Битрикс дополнительная скидка 30% на 3 месяца аренды CPU.Турбо. Локация в РФ.</li><li>VDS Атлант: отказоустойчивый с автобэкапами от 1 619 ₽/мес. Локация: РФ.</li><li>VDS Storage: сервис как хранилище с гибкой конфигурацией от 704 ₽/мес. Локация: РФ</li></ul><p>Все тарифы доступны для тестирования по согласованию с отделом продаж. Для точного подбора конфигурации используйте гибкую настройку.</p><h2>2. UltraVDS: для малого бизнеса и стартапов</h2><p>Компания <a href="https://ultravds.com/">UltraVDS</a>, провайдер услуг виртуальных серверов (VPS/VDS), работает на рынке с 2014 года — предлагает решения для разных операционных потребностей. Сервисы UltraVDS можно использовать для развертывания торговых роботов, запуска чат-ботов, хостинга веб-сайтов, а также для создания FTP-хранилищ данных. Есть предложения для фрилансеров, цифровых агентств, корпоративных пользователей и стартапов, которым требуются функциональные инфраструктурные решения.</p><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-07-16/edef3abb-6f77-4c69-be56-e22d90f379db.png" alt="" /></figure><h3>Технические особенности</h3><p>Серверы UltraVDS размещены в современном дата-центре, расположенном в Москве. Доступность сервиса (аптайм) составляет 99,98%, что обеспечивает высокую стабильность работы. Сетевая пропускная способность превышает 200 Мбит/с, при этом трафик предоставляется без ограничений.</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2025-07-17/56ccb605-b64b-44f3-94b7-10e960541dda.png" alt="" /></figure><p>Система защиты от DDoS-атак способна обрабатывать трафик до 1,5 Тбит/с и поддерживает стабильность работы сервера даже при интенсивном внешнем воздействии. Лицензия на Windows Server входит в стоимость обслуживания в данном предложении. Это упрощает развертывание сервера: вам не нужно отдельно покупать и устанавливать лицензию. Плюс снижает общие операционные расходы для пользователей этой операционной системы.</p><h3>Тарифные планы</h3><p>Для новых пользователей UltraVDS предусмотрена возможность 3-дневного тестового периода, позволяющего оценить функциональность и производительность сервиса.</p><p>После тестового периода стоимость тарифов начинается от 119 рублей в месяц. На сайте доступен онлайн-калькулятор, позволяющий подобрать конфигурацию сервера и рассчитать итоговую стоимость.</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2025-07-17/932d0cca-9f20-4723-8ae9-8d9c3218a08a.png" alt="" /></figure><p>Клиентам доступны различные варианты оплаты, включая ежемесячную систему без предоплаты. При авансовой оплате на период от 3 до 12 месяцев предоставляются скидки до 20%, размер которых зависит от выбранного срока. В случае досрочного прекращения использования сервиса, неиспользованный остаток средств возвращается на баланс пользователя.</p><h3>Поддержка и обслуживание</h3><p>Техническая поддержка UltraVDS работает круглосуточно, 7 дней в неделю. Среднее время ответа на запросы составляет до 15 минут. Связь со службой поддержки возможна по электронной почте и телефону, указанным на официальном сайте.</p><h2>3. RUVDS: 10 лет на рынке облачных решений</h2><p><a href="https://ruvds.com/ru-rub">RUVDS</a> — облачный провайдер, имеющий десятилетний опыт работы на рынке услуг виртуальных серверов (VPS/VDS). Является официальным партнером Huawei в России, работает по SLA. Компания предоставляет инфраструктурные решения, которые могут быть применены для широкого спектра задач, включая хостинг высоконагруженных интернет-магазинов, корпоративных порталов, игровых серверов, сложных backend-систем и чат-ботов.</p><p>Платформа RUVDS спроектирована для оптимизации процесса развертывания ресурсов. Одной из ее особенностей является маркетплейс, который позволяет быстро запускать серверы с предустановленным программным обеспечением. Это способствует ускорению старта проектов, снижая потребность в ручной настройке распространенных CMS, игровых серверов и сред разработки.</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2025-07-17/aed25b96-b39b-4be9-b875-dc695645ef24.png" alt="" /></figure><h3>Тарифная политика и варианты оплаты</h3><p>RUVDS предлагает различные тарифные планы. Например, стоимость конфигурации Linux-сервера (1 CPU, 512 МБ RAM, 10 ГБ HDD, 1 IPv4) начинается от 139 ₽/месяц. Это может быть рассмотрено как экономичное решение для запуска небольших проектов и проведения тестирования.</p><p>Клиентам доступны разные опции оплаты:</p><ol><li>Ежемесячные платежи или предоплата на срок от 3 до 12 месяцев, при которой предоставляются скидки до 20%, зависящие от продолжительности периода.</li><li>Для проектов с динамической нагрузкой предусмотрена посекундная тарификация, оплата по которой взимается только за фактически использованные ресурсы. Неиспользованный остаток средств в рамках этой модели возвращается на баланс пользователя</li></ol><p>Дополнительно, до конца 2025 года панель управления ISP Manager для сервера и сайта предоставляется без дополнительной платы при создании любого VPS.</p><h3>Глобальная инфраструктура и стабильность</h3><p>Инфраструктура включает 17 дата-центров уровня Tier III, расположенных по всему миру. Это один из самых больших показателей по количеству геолокаций среди российских провайдеров. Для работы используются корпоративное оборудование и накопители (HDD, SSD, NVMe), чтобы обеспечить стабильную работу и производительность размещенных проектов.</p><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-07-16/3f3c970e-820f-4f0e-9b53-f227950e298b.png" alt="" /></figure><h3>Поддержка клиентов и доступные ресурсы</h3><p>Техническая поддержка RUVDS доступна круглосуточно, 7 дней в неделю. Среднее время ответа на запросы через тикет-систему или онлайн-чат составляет 15 минут. Клиентам предоставляются полные административные права и консультации по вопросам запуска и настройки серверов. Для самостоятельного изучения доступна база знаний, включающая инструкции и руководства.</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2025-07-17/c086a963-2d51-4ada-86c8-0c1704cf8230.png" alt="" /></figure><h3>Безопасность и масштабирования</h3><p>В контексте безопасности данных, RUVDS предлагает несколько решений:</p><p>- Встроенная защита от DDoS-атак, способствующая поддержанию бесперебойной работы серверов при внешнем воздействии.</p><p>- Стандартный IPv4-адрес включен в стоимость каждой виртуальной машины, с опцией аренды дополнительных IP-адресов.</p><p>- API, соответствующий OpenAPI 3.0.0, предоставляет возможности для интеграции и автоматического масштабирования серверных ресурсов в зависимости от нагрузки.</p><p>- Компания официально подтверждает соответствие требованиям ФСТЭК и ФЗ-152 по защите персональных данных, что обеспечивает соблюдение соответствующих законодательных норм.</p><h2>4. McHost: решения для бизнеса разного масштаба</h2><p><a href="https://mchost.ru/"> McHost</a> предоставляет комплексные хостинговые решения, включая виртуальный хостинг и VPS/VDS с NVMe-накопителями. Сервис поддерживает популярные CMS (WordPress, Joomla, 1С-Битрикс) с оптимизированными настройками и автоматической установкой через панель управления.</p><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-07-16/2ccc459a-8df5-41b6-bbf9-b751bed2e757.png" alt="" /></figure><p>McHost ориентирован на широкий круг клиентов:</p><ul><li>владельцы сайтов-визиток, блогов и лендингов — благодаря низким тарифам и полному набору опций;</li><li>интернет-магазины с небольшой нагрузкой — тарифы с SSD-накопителями и автоматическим резервным копированием обеспечивают стабильную работу;</li><li>разработчики, которым нужны<br />VPS/VDS с root-доступом — работают серверы на KVM-виртуализации с ОС Linux и Windows;</li><li>госучреждения и компании,<br />работающие с персональными данными — соответствие 152-ФЗ и размещение в дата-центрах Tier III в Москве.</li></ul><h3>Особенности сервиса</h3><p>McHost поддерживает стабильную работу с аптаймом 99.9% за счет размещения оборудования в дата-центрах уровня Tier III — в Москве и Нидерландах.</p><p>Сервис предоставляет защиту от DDoS-атак, автоматическое резервное копирование раз в два дня с хранением данных в течение 30 дней для виртуального хостинга и 14 дней для VPS, а также поддержку российских криптографических стандартов. Клиентам доступны различные варианты размещения: от виртуального хостинга с SSD (от 157.5 ₽/мес) до выделенных серверов с NVMe-накопителями.</p><h3>Технические параметры и условия</h3><p>Инфраструктура McHost базируется на серверах Dell с NVMe-накопителями и процессорами Intel Xeon (частота ядер от 2.35 ГГц). Для виртуального хостинга используется CloudLinux с технологией CageFS, обеспечивающей изоляцию аккаунтов. Поддержка российских ОС («Альт») подтверждена для VPS-тарифов.</p><p>В техподдержку можно обратиться по телефону, через тикет или в Telegram-боте. Время ответа — до 10 минут.</p><p>Текущие тарифы:</p><ul><li>Виртуальный хостинг: от 157 ₽/мес<br />(3 ГБ SSD, 1 сайт).</li><li>VPS: от 396 ₽/мес (15 ГБ SSD, 1<br />ядро CPU).</li><li>Выделенные серверы: от 3 000 ₽/мес<br />(32 ГБ RAM, 2×1 ТБ HDD).</li></ul><h2>5. UFO Hosting: VPS/VDS и выделенные серверы с портом до 10 Гбит/с и безлимитным трафиком</h2><p><a href="https://ufo.hosting/">UFO Hosting </a>предлагает VPS/VDS и выделенные серверы на партнёрской инфраструктуре IXcellerate (Tier III). В портфолио — недорогие виртуальные машины и серверы с портом 10 Gbps для проектов, которым нужна стабильность без завышенных цен.</p><p>Сервис подходит для пользователей разных масштабов: от фрилансеров и веб‑студий до средних и крупных компаний. Для DevOps‑специалистов доступны API и инструменты автоматизации.</p><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-08-19/3cfc6e79-bab0-48ab-862b-f523c0ad24e8.png" alt="" /></figure><h3>Основные сценарии использования</h3><ul><li>корпоративные сайты, CRM‑системы и веб‑приложения;</li><li>аналитические сервисы и SaaS‑продукты;</li><li>инфраструктура для разработки и тестирования;</li><li>задачи фрилансеров, агентств и digital‑команд.</li></ul><h3>Формат работы, особенности и интеграции</h3><p>Серверы установлены в российском дата‑центре Tier III (IXcellerate), что означает резервирование по питанию и каналам связи. Заявленный аптайм — 99,98 %. Поддержка работает круглосуточно в тикетах, чате и по телефону; среднее время ответа 5–10 минут.</p><p>Сервис UFO Hosting делает акцент на безопасности и гибкости. Есть сеть с защитой от DDoS, возможность горячего расширения ресурсов, автоматическое развёртывание из шаблонов и API для интеграции. Поддерживаются популярные фреймворки и CMS, есть интеграции с GitLab, Telegram и DockerHub. Бэкапы, снапшоты и резервирование входят в стандартный набор, так что восстанавливать тестовую среду не придётся вручную.</p><p>В панели управления можно автоматически установить популярные CMS, панели управления, хранилища и DevOps‑инструменты. Это экономит время на настройку и подходит тем, кто не хочет поднимать всё с нуля.</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2025-08-06/e4433ae3-898b-4c14-90c1-2a4bbb8b13a1.png" alt="" /></figure><h3>Условия использования и тарифы</h3><p>Базовые конфигурации начинаются от 577 руб./месяц. Заявленная скорость порта — до 10 Gbps, что подходит для проектов, где много трафика.</p><p>Есть возможность бесплатно попробовать сервис присутствует, но предоставляется по запросу в поддержку, а при оплате на срок от трёх месяцев действуют скидки, а также регулярно проводятся акции: это поможет оптимизировать бюджет.</p><figure><img src="https://media.tproger.ru/user-uploads/99854/2025-08-06/1e2e0191-1194-4a60-a612-fcac5d8cf76d.png" alt="" /></figure><p>В целом, UFO Hosting выглядит как практичное решение для тех, кому нужны производительные VPS/VDS и выделенные серверы в России. При выборе стоит оценить, насколько конфигурации подходят под конкретные нагрузки и есть ли необходимость в интеграциях из коробки.</p><h2>6. Timeweb: хостинг для веб-проектов</h2><p><a href="https://timeweb.com/">Timeweb </a>предоставляет услуги хостинга для различных типов веб-проектов. Сервис поддерживает популярные CMS, включая WordPress, 1C-Битрикс и Joomla, что делает его подходящим как для личных блогов, так и для корпоративных сайтов.</p><p>Платформа использует собственную панель управления с инструментами для работы с сайтами, базами данных и резервными копиями. Ежедневное автоматическое резервное копирование с хранением данных до 30 дней включено во все тарифные планы. Базовая защита от DDoS-атак доступна для всех клиентов без дополнительной платы.</p><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-07-16/b443bfef-bccb-4672-bd55-cb67a1146bc3.png" alt="" /></figure><p>Инфраструктура Timeweb размещена в дата-центрах уровня Tier III в России (Санкт-Петербург) и Казахстане (Алматы). Гарантированный показатель uptime составляет 99.98%. Поддерживаются современные технологии: PHP версий от 5.3 до 8.4, MySQL от 5.6 до 8.0, а также Perl, Python, SSH, FTP и Cron.</p><p>Тарифные планы:</p><ul><li>Year+: от 164 ₽/мес (2 сайта, 15<br />ГБ NVMe, 2 БД);</li><li>Optimo+: от 248 ₽/мес (15 сайтов,<br />40 ГБ NVMe, безлимитные БД);</li><li>Century+: от 347 ₽/мес (35 сайтов,<br />50 ГБ NVMe, безлимитные БД);</li><li>Millennium+: от 482 ₽/мес (60<br />сайтов, 60 ГБ NVMe, безлимитные БД).</li></ul><p>Все тарифы включают бесплатный SSL-сертификат, 10 ГБ почтовой квоты с неограниченным количеством ящиков и DNS-хостинг. При оплате годового тарифа предоставляется домен в зонах .RU/.РФ в подарок.</p><p>Техническая поддержка доступна круглосуточно через онлайн-чат, тикет-систему и по телефону. Среднее время ответа не превышает 15 минут. Новые клиенты могут протестировать сервис бесплатно в течение пробного периода.</p><h2>7. Reg.ru: комплексные решения для сайтов и доменов</h2><p><a href="https://www.reg.ru/">Reg.ru </a>сочетает услуги хостинга и регистрации доменов, что упрощает управление веб-проектами. Компания работает с 2005 года, имеет статус аккредитованного регистратора доменных имён в зонах .RU и .РФ.</p><h3>Функциональные возможности</h3><p>Платформа предоставляет доступ к трём панелям управления: ISPmanager, cPanel и Plesk. Это позволяет выбрать наиболее удобный интерфейс для работы с сайтами. Все тарифы включают бесплатный SSL-сертификат от Let’s Encrypt, который автоматически устанавливается при создании сайта.</p><p>Начинающим пользователям доступен конструктор сайтов с готовыми шаблонами. Поддерживаются популярные CMS, включая WordPress, Joomla и 1С-Битрикс. Ежедневное резервное копирование данных с хранением копий в течение 30 дней входит в стандартный набор услуг.</p><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-07-16/c1ac0c6a-51ae-4ae5-8875-f18a01ffdc2c.png" alt="" /></figure><h3>Техническая инфраструктура</h3><p>Серверы размещены в дата-центрах уровня Tier III в Москве. Средний показатель uptime составляет 99.9%, что подтверждается ежемесячной статистикой. Подключение к сети осуществляется по выделенным каналам со скоростью до 1 Гбит/с на выделенных серверах.</p><h3>Поддержка и тарифы</h3><p>Техническая поддержка доступна 24/7 через онлайн-чат и тикет-систему. Среднее время ответа составляет 15-20 минут. Для срочных вопросов можно обратиться по телефону.</p><p>Тарифы — от 151 ₽/мес (7 ГБ SSD, 15 сайтов). При регистрации домена в зонах .RU или .РФ предоставляется скидка на другие доменные имена.</p><h2>8. Спринтхост: хостинг с персональным подходом</h2><p><a href="https://sprinthost.ru/">Sprinthost</a> предлагает услуги хостинга с акцентом на индивидуальную поддержку клиентов. Сервис работает с 2011 года и специализируется на VPS-решениях для различных веб-проектов.</p><h2>Особенности сервиса</h2><p>Компания предоставляет персонального менеджера для каждого клиента, который помогает с настройкой сервера и решением технических вопросов. А если вы остались недовольны услугами, то в течение 30 дней сервис вернёт деньги. Sprinthost проводит бесплатные обучающие вебинары по DevOps и администрированию серверов.</p><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-07-16/7acc90d0-655a-4cda-906f-a7e5ad4f9a8e.png" alt="" /></figure><h3>Технические характеристики и тарифы</h3><p>Инфраструктура размещена в дата-центрах Москвы и Санкт-Петербурга с аптаймом 99.9%. Поддерживаются современные технологии разработки, включая Ruby on Rails, Node.js, Python и Docker. Все серверы используют SSD-накопители с гарантированной скоростью чтения/записи.</p><p>Тарифные планы:</p><ul><li>Start: 290 ₽/мес (1 ядро, 1 ГБ<br />RAM, 15 ГБ SSD);</li><li>Turbo: 1 900 ₽/мес (4 ядра, 8 ГБ<br />RAM, 100 ГБ NVMe).</li></ul><h3>Поддержка</h3><p>Техническая помощь доступна 24/7 через тикет-систему и онлайн-чат. Среднее время ответа составляет 10-15 минут. Для корпоративных клиентов предусмотрена приоритетная поддержка по телефону.</p><h2>Как выбрать хостинг в 2025 году</h2><p>Выбор хостинга зависит от типа проекта и его требований. Для небольших сайтов и блогов подойдет виртуальный хостинг с поддержкой популярных CMS — важно проверить наличие автоматических бэкапов и базовой защиты от DDoS. Если проект связан с обработкой персональных данных, убедитесь, что провайдер соответствует 152-ФЗ и использует сертифицированное оборудование.</p><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-08-20/3a0b1d01-c4e0-424d-86b2-8988d43bcdb1.png" alt="" /></figure><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-08-20/b3c26558-3a50-4eb3-a9f3-89c899fd9e59.png" alt="" /></figure><figure><img src="https://media.tproger.ru/user-uploads/102593/2025-08-20/3408c453-b5db-44ce-b6ab-f1b3bcb5abd1.png" alt="" /></figure><p>Для высоконагруженных сервисов и интернет-магазинов лучше рассматривать VPS или выделенные серверы. Обратите внимание на тип накопителей (SSD/NVMe), возможность масштабирования ресурсов и аптайм дата-центров (рекомендуется от 99.9%).</p><p>Перед покупкой протестируйте сервис — большинство провайдеров предлагают пробный период. Проверьте скорость работы панели управления и отзывчивость поддержки. Не забывайте о резервном копировании: даже если хостинг предоставляет эту услугу, дублируйте критически важные данные самостоятельно.</p><p>Главное правило — выбирайте решение, которое покрывает текущие потребности проекта. Важно, чтобы конфигурацию можно было оперативно менять по мере роста запросов и масштабирования бизнеса. Технологии меняются быстро, и гибкость конфигурации часто важнее сиюминутной экономии.</p><h2>FAQ</h2><h3>Что такое виртуальный хостинг и когда его выбирать?</h3><p>Виртуальный хостинг — это экономичное решение, где один физический сервер делит ресурсы между множеством сайтов. Подходит для небольших проектов с низкой нагрузкой: личных блогов, лендингов или стартовых страниц.</p><p>Преимущества: низкая стоимость, простота управления через панели, автоматические обновления и базовая защита. Минусы: ограниченные ресурсы; производительность зависит от соседних сайтов; минимальный контроль над настройками.</p><h3>Что такое VPS/VDS и для каких проектов он подходит?</h3><p>VPS (Virtual Private Server) или VDS — это виртуальный сервер с выделенными ресурсами (процессор, память, диск), предоставляющий доступ для полной настройки. Идеален для проектов среднего масштаба: интернет-магазинов, API, SaaS, чат-ботов, корпоративных порталов или приложений с умеренным трафиком.</p><p>Преимущества: гибкость конфигураций, выбор ОС, изоляция ресурсов. Минусы: требует базовых навыков администрирования, стоимость выше, чем у виртуального хостинга.</p><h3>Что такое выделенный сервер и когда его использовать?</h3><p>Выделенный сервер — это физический сервер, полностью зарезервированный под ваш проект. Подходит для высоконагруженных систем: крупных интернет-магазинов, игровых платформ, корпоративных ERP или аналитических сервисов с большим трафиком.</p><p>Преимущества: максимальная производительность, полный контроль, высокая отказоустойчивость. Минусы: высокая цена, сложность настройки и обслуживания.</p><h3>В чём основные различия между виртуальным хостингом, VPS и выделенным сервером?</h3><p>Виртуальный хостинг — самый дешёвый и простой, но ресурсы делятся между пользователями, что ограничивает производительность (до 1000–2000 посетителей в сутки).</p><p>VPS обеспечивает выделенные ресурсы и гибкость, справляясь с нагрузкой до 5000–10 000 пользователей в сутки.</p><p>Выделенный сервер — максимум мощности для пиков свыше 10 000 пользователей, но требует значительных затрат и технических знаний.</p><p>Выбор зависит от масштаба: виртуальный для старта, VPS для роста, выделенный для enterprise.</p><h3>Нужны ли навыки администрирования для хостинга?</h3><p>Для виртуального хостинга навыки не нужны — управление идёт через интуитивные панели, а провайдеры обеспечивают обновления и базовую поддержку. Для VPS желательны базовые знания (настройка ОС, установка ПО), хотя многие провайдеры предлагают помощь. Для выделенного сервера навыки администрирования необходимы, так как вы полностью отвечаете за сервер, хотя провайдеры могут предлагать платное администрирование.</p>]]></content:encoded>
    </item>
    <item>
      <title>5 инструментов, которые используют айтишные команды</title>
      <link>https://tproger.ru/articles/5-instrumentov--kotorye-ispolzuyut-ajtiwnye-komandy</link>
      <comments>https://tproger.ru/articles/5-instrumentov--kotorye-ispolzuyut-ajtiwnye-komandy?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Анна Ельцова]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/5-instrumentov--kotorye-ispolzuyut-ajtiwnye-komandy</guid>
      <description><![CDATA[<p>Показываем, какими инструментами пользуются внутри айтишных команд и какие можно использовать для себя здесь и сейчас или внедрить в свою команду.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/5-instrumentov--kotorye-ispolzuyut-ajtiwnye-komandy">5 инструментов, которые используют айтишные команды</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[C++]]></category>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Git]]></category>
      <category><![CDATA[Статистика]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Микросервисы]]></category>
      <category><![CDATA[Ruby]]></category>
      <category><![CDATA[Отладка]]></category>
      <category><![CDATA[IDE]]></category>
      <category><![CDATA[SQL]]></category>
      <category><![CDATA[Windows]]></category>
      <category><![CDATA[DevOps]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[GitHub]]></category>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[Сервисы]]></category>
      <category><![CDATA[Docker]]></category>
      <category><![CDATA[React]]></category>
      <category><![CDATA[Adobe]]></category>
      <category><![CDATA[Redis]]></category>
      <category><![CDATA[Маркетинг]]></category>
      <category><![CDATA[QA]]></category>
      <category><![CDATA[Аналитика]]></category>
      <category><![CDATA[Приложение]]></category>
      <category><![CDATA[Kubernetes]]></category>
      <category><![CDATA[PostgreSQL]]></category>
      <category><![CDATA[Бизнес]]></category>
      <category><![CDATA[Grafana]]></category>
      <category><![CDATA[CI/CD]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 26 Jun 2025 14:00:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>В статье собрали 5 решений — от трекеров задач и онлайн-досок до комплексных платформ для управления проектами. Инструменты помогут закрывать горящие дедлайны, ускорять разработку и четко распределять задачи — все то, что используют в больших командах. Рассказываем, что делать с этими фичами и как их использовать.</p><h2>1. МояДоска</h2><p><a href="https://moyadoska.com/">«МояДоска»</a> — это российский SaaS-сервис для совместной работы и визуализации идей. У онлайн-доски бесконечный размер: это значит, что вы можете размещать сколько угодно элементов и никогда не упретесь в границу. Так, команды, преподаватели и креативные специалисты могут проводить брейнштормы, планирования, презентации и обучение в одном пространстве.</p><figure><img src="https://media.tproger.ru/user-uploads/101078/2025-06-26/4fe2215f-6b29-4d0c-a490-281b2d045ddc.jpeg" alt="" /></figure><h3>Что под капотом</h3><p>Фронт написан на React + PixiJS, а бэк — Node.js + PostgreSQL. Это обеспечивает быстрый и понятный интерфейс и стабильную работу даже при большом объёме объектов на доске. Команда выпускает обновления несколько раз в месяц, а о новинках можно узнать в <a href="https://t.me/moyadoska">Telegram-канале</a> сервиса. Например, в недавнем апдейте появилась возможность превратить фрейм в таблицу или тетрадь за пару кликов, а еще задать нужное число столбцов, колонок, толщину границ и цвет.</p><figure><img src="https://media.tproger.ru/user-uploads/101078/2025-06-26/0f1a8489-ffe3-4003-8ecc-09d25bbba3b3.png" alt="" /></figure><p><b>Из главных функций:</b></p><ul><li>Понятный интерфейс</li><li>Совместная работа в реальном времени</li><li>Привычные инструменты: фигуры, стрелки, стикеры, текст, загрузка файлов, маркер, карандаш</li><li>Обрезка фото прямо на доске, воспроизведение аудио, поддержка PDF</li><li>Гибкое управление доступом</li><li>Возможность повторного использования шаблонов</li><li>Поддержка фреймов и создание логичных пространств для разных задач</li></ul><figure><img src="https://media.tproger.ru/user-uploads/101078/2025-06-26/21a6ecbd-a6b5-40c9-ae19-71a85b919c46.png" alt="" /></figure><h3>Переезд на сервис</h3><p>«МояДоска» интегрируется в процессы на разных этапах, упрощая жизнь команде. Например, сама команда сервиса перешла с Miro на свою доску для стратегического планирования. С помощью стикеров и стрелок они построили дерево решений, чтобы лучше расставить приоритеты. А одно маркетинговое агентство перевело все документы и сессии планирования на доску, отказавшись от Google Docs и таблиц. Это ускорило принятие решений: сотрудники работали с данными в одном формате, точно собрались в одном кабинете перед маркерной доской.</p><h2>2. METEOR</h2><p><a href="https://u-meteor.ru">METEOR</a> — инструмент управления проектами. Это трекер задач с дашбордами, досками канбан, диаграммами Ганта и API, который работает в виде веб-приложения как в облаке, так и на своих серверах. Продукт создавался как универсальный центр управления задачами: он объединяет в себе все — от разработки и тестирования до маркетинга и поддержки. Сейчас его используют более 250 команд и свыше 2000 пользователей ежедневно.</p><h3>Что под капотом</h3><p>В основе — стек Ruby on Rails, React и TypeScript, PostgreSQL и Redis, плюс современная инфраструктура на Docker и Kubernetes.</p><p>Система разбита на микросервисы — за фоновую обработку, нотификации и работу с файлами отвечает отдельный функционал. Авторизация построена через OAuth 2.0 (Google, Yandex), а для аналитики используется Posthog и ELK-стек. Мониторинг реализован на Prometheus + Grafana. Обновления выходят каждую неделю, а обратная связь приходит разработчикам METEOR через Telegram-бот.</p><p><b>Вот главные функции:</b></p><ul><li>Гибкие доски задач (Kanban, Scrum) — 6 видов.</li><li>Списки задач с группировками и иерархией.</li><li>Автоматические отчеты (ежедневные/еженедельные сводки).</li><li>Умные напоминания (Telegram-бот, email).</li><li>Глубокая аналитика (время выполнения задач, загрузка команды).</li><li>Потоковая автоматизация процессов</li></ul><figure><img src="https://media.tproger.ru/user-uploads/101078/2025-06-26/60e0eb0a-c1b1-473b-b343-1c4fb1b3fbd6.png" alt="" /><figcaption>Упрощенная схема сущностей системы</figcaption></figure><p>METEOR — мощный инструмент для автоматизации процессов, с триггерами, серверными функциями и ИИ-аналитикой. Он позволяет гибко настраивать сложные операции.</p><p>Все данные анализируются, и внутри самого сервиса можно понять, как работает команда: кто загружен, сколько времени уходит на задачи, где стопперы в процессе.</p><p>Разработчики используют METEOR для линковки задач с pull-requests и контроля бэклога. Менеджеры получают отчеты автоматически и не тратят часы, чтобы собрать всю информацию вручную. QA ведут тест-кейсы и баги в удобных досках, а DevOps отслеживают инциденты и шаги деплоя. Даже HR подключаются — через систему проходят кандидаты и стажеры.</p><h3>Переезд на сервис</h3><p>После внедрения METEOR команды замечают, что продуктивность их работы сильно повышается:</p><ul><li>скорость выполнения задач увеличивается в среднем на 25% — благодаря автоматическим напоминаниям и чётким процессам;</li><li>количество потерянных задач снижается на 70% — исчезают хаотичные чаты и забытые письма;</li><li>на составление отчетов и сбор метрик уходит не 5 часов, а всего 30 минут в неделю;</li><li>а экономия времени — около 75 часов в месяц на команду из 10 человек.</li></ul><figure><img src="https://media.tproger.ru/user-uploads/101078/2025-06-26/f3f086f0-5846-4a35-adba-dc4fbe17f1c0.png" alt="" /><figcaption>Карточка задачи</figcaption></figure><p>METEOR не просто помогает контролировать задачи — он становится частью операционного «ядра» команды, избавляя от хаоса, ускоряя работу и делая все немного спокойнее.</p><h2>3. Gitlife</h2><p><a href="https://gitlife.ru">GitLife</a> — это универсальная платформа для хостинга репозиториев и построения полного DevOps-процесса внутри компании. Разработана с прицелом на закрытые контуры, импортозамещение и гибкость — подходит как для современных Git-проектов, так и для инфраструктур, где все еще используется SVN.</p><p>Помимо самого Gitlife, разработчики делают Gitlife AI, в котором есть доступ к топовым ИИ-моделям и инструментам, чтобы разрабатывать ИИ-решения.</p><h3>Что под капотом</h3><p>Внутри Gitlife собраны модули для:</p><ul><li>Кода — репозитории, ветвление.</li><li>Задач — бэклоги, спринты, дашборды.</li><li>Документации — совместное редактирование документов, управление правами.</li><li>Аналитики — карты потока ценности, качество кода, метрики по инженерам.</li><li>Пайплайны — модуль «Конвейер» управляет сборками и CI/CD.</li></ul><p>Gitlife используется ИТ-отделами и R&amp;D-подразделениями в компаниях с высокими требованиями к информационной безопасности. Подходит как для небольших команд, так и для распределённых корпораций с десятками проектов.</p><p>Что решает:</p><ul><li>Безопасный и полностью локальный хостинг исходного кода (Git + SVN)</li><li>Управление задачами и CI/CD в одном месте</li><li>Централизованный доступ, права, аудиты и история изменений</li><li>Полная поддержка DevOps-процессов на российском ПО</li><li>Альтернатива GitHub, GitLab и Bitbucket в условиях ограниченного доступа и санкционных рисков</li></ul><figure><img src="https://media.tproger.ru/user-uploads/101078/2025-06-26/bb3f815f-ce07-4c9d-9243-7ace4b14d5ba.png" alt="" /><figcaption>Создание пайплайна</figcaption></figure><h3>Переезд на сервис</h3><p>Инструмент подходит практически всем командам — от инди-разработчиков до крупных проектов с множеством ролей. Например, гейм-девелопер может разрабатывать персональный проект и хранить код бесплатно, стартап — разрабатывать MVP, а крупный бизнес — управлять большими командами и проектами максимально безопасно.</p><h2>4. Cerebro</h2><p><a href="https://cerebrohq.com/ru/">Cerebro</a> — профессиональная система для совместной работы и управления проектами. Она помогает ставить задачи, планировать этапы, следить за выполнением, обмениваться файлами и комментировать их прямо в системе. Особенно полезна для команд, которые делают VFX, 3D, анимацию или дизайн — но при этом легко адаптируется и под другие команды.</p><p>Платформа охватывает полный цикл — от первых идей и планирования до комментирования финальных шотов (отдельных сцен или кадров в видео/анимации) и соблюдения дедлайнов. Такой подход помогает команде ускорить работу на 20%, сократить время на правки и держать весь процесс под контролем — от начала до сдачи проекта.</p><p>Cerebro подходит для команд от 1 до 1000+ человек с задачами на проекте от 1 до 10000+. Сервис работает с 2009 года, сейчас им пользуются более 400 команд в России и СНГ.</p><h3>Что под капотом</h3><p>Cerebro поддерживает десктоп (Windows, Mac и Linux), веб-версию и мобильное приложение, локальное, облачное и гибридное развертывание. Инструмент построен на клиент-серверной архитектуре — она гибкая, поэтому можно настраивать конфиги исходя из потребностей бизнеса.</p><p>Из технологий:</p><ul><li><b>Backend:</b> C, C++, Python, SQL</li><li><b>Frontend:</b> JS, TypeScript, ReactJS, Qt, PyQt</li><li><b>Мобильные клиенты:</b> React Native</li><li><b>БД: </b>PostgreSQL с проприетарными расширениями + SQLite</li><li><b>Файловое хранилище:</b> Cargador</li><li><b>Плагины: </b>Tentaculo (встраивается в производственные программы)</li></ul><figure><img src="https://media.tproger.ru/user-uploads/101078/2025-06-26/d51c709f-2b9c-4e0b-95c0-2b78d61f5c1e.png" alt="" /></figure><p>Cerebro покрывает весь пайплайн — от идеи до финала. Вот основные возможности сервиса:</p><ul><li>Множественные уровни вложенности задач — подходит для сложных иерархий продакшена</li><li>Планирование с помощью диаграммы Ганта и специального инструмента «План»</li><li>Канбан-доска для визуального контроля задач</li><li>Инструмент «Моё пространство» — для персонализированной фильтрации и отбора задач</li><li>Уровни доступа и ролевое управление</li><li>Расширенная статистика по проектам, командам, сотрудникам</li><li>Совместная работа над большими файлами (видео, изображения, 3D) — Mirada позволяет комментировать, делать подрисовки, оставлять голосовые заметки</li><li>Интеграция с пакетами Adobe, Autodesk и мессенджерами, возможность встраивать в любые пайплайны</li><li>Удобное подключение фрилансеров</li></ul><figure><img src="https://media.tproger.ru/user-uploads/101078/2025-06-26/5411ad9d-a74b-46ed-9774-61d60ff69885.png" alt="" /><figcaption>Навигатор и форум</figcaption></figure><h3>Переезд на сервис</h3><p>Обычно внедрение начинается еще на этапе препродакшена — во время разработки концепции и четкого плана действий. Затем система сопровождает проект на всех стадиях, вплоть до постпродакшена (финального тестирования и релиза), где она закрывает 80-100% задач. Cerebro позволяет собирать всё в одном месте: задачи, правки, сроки, бюджеты, загрузку сотрудников и статус проекта в целом.</p><p>После переезда снимается много рутинных задач: больше не нужно вручную назначать исполнителей, комментировать медиаконтент, передавать файлы между программами и так далее. В среднем проекты выполняются на 20% быстрее, без потери качества. В больших студиях объем выпускаемых шотов может вырасти до 20+ тысяч — это уже работает у других клиентов, среди которых СберМаркетинг, Sinners, Black Point и другие. Cerebro также помогает переехать с других такс-трекеров и систем для управления проектами.</p><h2>5. Replit Teams</h2><p><a href="https://replit.com/teams">Replit Teams</a> — это платформа для совместной разработки в реальном времени. По сути, это интегрированная IDE + git-репозиторий + система управления задачами — и все доступно через браузер. Подходит как для командной работы в стартапах, так и для образовательных проектов, хакатонов и небольших продуктовых команд.</p><p>А главная фишка — встроенный ИИ, к которому можно обращаться прямо во время написания кода. Инструмент разработан с акцентом на простоту входа, командную работу и быстрое прототипирование. Поддерживает более 50 языков программирования и позволяет запускать полноценные веб-приложения в облаке.</p><figure><img src="https://media.tproger.ru/user-uploads/101078/2025-06-26/70b00e25-9ec7-4858-911c-b2d7a181104e.png" alt="" /></figure><h3>Что под капотом</h3><p>Внутри Replit Teams есть интерфейсы для:</p><ul><li>Кода — редактор с автокомплитом, подсветкой синтаксиса, терминалом и интеграцией с Git.</li><li>Задач — встроенный таск-менеджер с распределением задач по участникам.</li><li>Общения — встроенные комментарии в коде, возможность ревью и обсуждений.</li><li>CI/DevOps — запуск и отладка приложений без настройки окружения.</li><li>Доступа — гибкие роли, приглашения по ссылке, настройки приватности.</li></ul><h3>Переезд на сервис</h3><p>Replit Teams позволяет моментально начать работу: не нужно ставить зависимости, конфигурировать CI или закупать сервера. Подходит как для быстрой прокачки навыков, так и для реальных командных проектов в продакшене.</p><p>Сейчас инструмент активно используют в стартапах — для быстрого MVP, парного программирования, хакатонов и удаленных командах — как замена локальным IDE и конфигурациям.</p><p>Рассказывайте в комментариях, какими сервисами пользуетесь вы.</p>]]></content:encoded>
    </item>
    <item>
      <title>Эволюция программиста 2005–2025: от CRT-мониторов до квантовых алгоритмов</title>
      <link>https://tproger.ru/articles/evolyuciya-programmista-2005-2025--ot-crt-monitorov-do-kvantovyh-algoritmov</link>
      <comments>https://tproger.ru/articles/evolyuciya-programmista-2005-2025--ot-crt-monitorov-do-kvantovyh-algoritmov?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Денис Кудерин]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/evolyuciya-programmista-2005-2025--ot-crt-monitorov-do-kvantovyh-algoritmov</guid>
      <description><![CDATA[<p>Эпохи развития программирования в России и в мире. Какие стадии прошли разработчики и к чему пришли в настоящий момент. Прогнозы на будущее. </p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/evolyuciya-programmista-2005-2025--ot-crt-monitorov-do-kvantovyh-algoritmov">Эволюция программиста 2005–2025: от CRT-мониторов до квантовых алгоритмов</a>»</p>]]></description>
      <category><![CDATA[Интернет]]></category>
      <category><![CDATA[API]]></category>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Java]]></category>
      <category><![CDATA[Linux]]></category>
      <category><![CDATA[Обучение программированию]]></category>
      <category><![CDATA[Android]]></category>
      <category><![CDATA[C++]]></category>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Stack Overflow]]></category>
      <category><![CDATA[Git]]></category>
      <category><![CDATA[Производительность]]></category>
      <category><![CDATA[C#]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Ruby]]></category>
      <category><![CDATA[MySQL]]></category>
      <category><![CDATA[Apple]]></category>
      <category><![CDATA[Google]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[SQL]]></category>
      <category><![CDATA[Windows]]></category>
      <category><![CDATA[DevOps]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[Работа]]></category>
      <category><![CDATA[jQuery]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[HTML]]></category>
      <category><![CDATA[GitHub]]></category>
      <category><![CDATA[Боты]]></category>
      <category><![CDATA[Базы данных]]></category>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[Node.js]]></category>
      <category><![CDATA[Rust]]></category>
      <category><![CDATA[Навыки]]></category>
      <category><![CDATA[Обучающие курсы]]></category>
      <category><![CDATA[Сервисы]]></category>
      <category><![CDATA[Docker]]></category>
      <category><![CDATA[macOS]]></category>
      <category><![CDATA[Облачные технологии]]></category>
      <category><![CDATA[React]]></category>
      <category><![CDATA[WebAssembly]]></category>
      <category><![CDATA[Образование]]></category>
      <category><![CDATA[Mozilla]]></category>
      <category><![CDATA[Intel]]></category>
      <category><![CDATA[OpenAI]]></category>
      <category><![CDATA[Фронтенд]]></category>
      <category><![CDATA[Soft Skills]]></category>
      <category><![CDATA[Бэкенд]]></category>
      <category><![CDATA[Сервер]]></category>
      <category><![CDATA[Дата-центр]]></category>
      <category><![CDATA[Kubernetes]]></category>
      <category><![CDATA[Библиотеки]]></category>
      <category><![CDATA[Машин]]></category>
      <category><![CDATA[микро]]></category>
      <category><![CDATA[Бизнес]]></category>
      <category><![CDATA[Fullstack]]></category>
      <category><![CDATA[Vue]]></category>
      <category><![CDATA[Разработка]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 25 Jun 2025 10:00:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>За последние 20 лет программирование изменилось до неузнаваемости. Если в 2005 году разработчики писали код на PHP 4.0 под мерцание CRT-экранов, то в 2025-м нейросети помогают им генерировать целые модули, а квантовые компьютеры становятся частью исследовательских проектов.</p><p>Эта статья — подробная хроника эволюции программистов: какие языки и технологии они осваивали, как менялись их рабочие места, методы обучения и даже само восприятие профессии. Мы разберем ключевые этапы, от первых веб-гигантов до эпохи совместного программирования с ИИ, и попробуем представить, что ждет нас дальше.</p><h2>2005-2009: Эпоха авторских решений и первых веб-фреймворков</h2><p>В середине 2000-х типичный рабочий инструмент программиста — это громоздкий системный блок с процессором Intel Pentium 4 или новеньким Core 2 Duo. Мониторы с ЭЛТ-трубкой постепенно уступали место LCD-экранам с разрешением 1024×768 — именно на таких дисплеях создавались первые версии Wikipedia и набирающих популярность соцсетей. Оперативная память в 1-2 ГБ считалась нормой, а жесткие диски на 80-160 ГБ часто заполнялись до отказа — проекты редко весили меньше нескольких гигабайт.</p><p>Серьезная разработка велась преимущественно на стационарных компьютерах. Ноутбуки только начинали входить в обиход — их брали в офис, но для реальной работы предпочитали мощные десктопы. Операционная система Windows XP доминировала на рабочих станциях, в то время как серверы чаще всего крутили на Linux — Red Hat Enterprise или Debian.</p><figure><img src="https://media.tproger.ru/user-uploads/113565/2025-06-13/d5fca723-5450-4b72-8e8d-4cd57627fb99.jpg" alt="" /></figure><p>Среды разработки того времени сегодня кажутся архаичными. Eclipse и NetBeans потребляли гигабайты памяти, Visual Studio 2005 требовала серьезных ресурсов. Многие разработчики предпочитали простые текстовые редакторы вроде Notepad++, а для отладки использовали примитивные методы вроде вывода значений переменных через print. Контроль версий только начинал входить в практику — Git появился в 2005 году, но большинство команд продолжали использовать SVN или вообще заливали файлы по FTP напрямую на продакшен.</p><p>Языковая экосистема этого периода вращалась вокруг трех основных технологий. PHP версий 4 и 4.3 доминировал в веб-разработке — на нем работало около 80% всех сайтов в интернете. Однако его объектно-ориентированные возможности были крайне ограничены до выхода PHP 5 в 2004 году.</p><p>Java в лице J2EE оставалась стандартом для корпоративных решений — банковских систем, крупных порталов и ERP-комплексов. Spring Framework только начинал набирать популярность, а Hibernate упрощал работу с реляционными базами данных. C++ сохранял свои позиции в разработке игр (особенно с использованием Unreal Engine), драйверов и высоконагруженных сервисов.</p><p>Фронтенд-разработка в те годы была невероятно простой по современным меркам. Верстали преимущественно таблицами, а всю динамику реализовывали через jQuery, который появился в 2006 году и быстро вытеснил нативный JavaScript из повседневной практики. AJAX-запросы казались революционной технологией, позволяющей обновлять части страницы без ее полной перезагрузки.</p><p>Обучение программированию в этот период кардинально отличалось от современных подходов. Онлайн-курсы практически отсутствовали. Основными источниками знаний служили бумажные книги:</p><ul><li>«Философия Java» Брюса Эккеля;</li><li>«Совершенный код» Стива Макконнелла;</li><li>«PHP и MySQL. Разработка веб-приложений» Люка Веллинга.</li></ul><p>Русскоязычное сообщество активно обсуждало вопросы разработки на форумах RSDN.ru и CyberForum.ru. В 2008 году появился Stack Overflow, который постепенно стал главной площадкой для профессиональных обсуждений.</p><p>Университетское образование давало хорошую теоретическую базу — алгоритмы, структуры данных, принципы ООП. Однако практическим навыкам приходилось учиться самостоятельно, методом проб и ошибок. Документацию часто скачивали в формате CHM-файлов или читали непосредственно на сайтах вроде php.net и MSDN.</p><p>Типичный стек начинающего разработчика в 2009 году:</p><ul><li>HTML/CSS с jQuery для фронтенда;</li><li>PHP или Ruby on Rails для бэкенда;</li><li>MySQL в качестве базы данных.</li></ul><p>ORM-технологии еще не получили широкого распространения, поэтому SQL-запросы писали вручную. Многие проекты представляли собой монолитные приложения, где весь код хранился в единой кодовой базе без четкого разделения на модули.</p><p><b>Показательный кейс</b>:</p><p>В 2007 году разработчик PHP-приложений из МЭСИ (Москва) столкнулся с типичной для того времени проблемой — SQL-инъекциями. Вместо стандартных решений он создал DLAC (Data Logic Access Component) — обертку для работы с базой данных, которая автоматически экранировала параметры запросов. Это выглядело революционно на фоне типичного кода того периода, где строки запросов часто собирали через конкатенацию с пользовательским вводом.</p><p>Компонент использовал новую для 2005 года технологию Generics в C#. Он генерировал параметризованные запросы, что резко снижало риски взлома.</p><p><i>Разработчики в университетской среде тогда редко задумывались о безопасности — многие проекты содержали уязвимости вроде  </i>SELECT * FROM users WHERE name = ‘.$_POST[‘name’]<i>. </i></p><p><i>DLAC стал локальным спасением для внутренних систем МЭСИ, пока в 2009 году не появился NHibernate — порт популярного Java-фреймворка Hibernate.</i></p><p>Этот кейс хорошо иллюстрирует дух эпохи: отсутствие готовых безопасных решений заставляло программистов изобретать велосипеды. Многие подобные наработки позже легли в основу ORM-библиотек, но тогда они рождались в муках — через пробелы в безопасности и километры самописного кода.</p><h2>2010-2014: Мобильная революция и рассвет JavaScript</h2><p>Начало нового десятилетия ознаменовалось стремительным ростом мобильных технологий. Выход iPhone 4 в 2010 году и Android 2.3 Gingerbread задал новые стандарты мобильной разработки.</p><figure><img src="https://media.tproger.ru/user-uploads/113565/2025-06-13/7b640694-b2cd-4f03-a68f-51ed138557b2.jpg" alt="" /></figure><p>Программисты массово переходили на MacBook Pro — не столько из-за преимуществ macOS, сколько благодаря появлению Retina-дисплеев в 2012 году, которые кардинально улучшили качество отображения кода.</p><p>Железо продолжало стремительно эволюционировать. Твердотельные накопители (SSD) начали вытеснять традиционные жесткие диски в рабочих станциях. Облачные платформы вроде AWS и Heroku стали реальной альтернативой локальным серверам, которые раньше часто стояли прямо под рабочими столами в офисах. Оперативная память в 8 ГБ стала стандартом для комфортной разработки, а четырехъядерные процессоры ускорили сборку крупных проектов.</p><p>Языковая палитра этого периода значительно расширилась. Objective-C стал основным языком для iOS-разработки и оставался таковым до появления Swift в 2014 году. Python 3 начал набирать популярность благодаря веб-фреймворку Django и научным библиотекам NumPy и Pandas, которые открыли дорогу для анализа данных в массовом сегменте.</p><p>JavaScript пережил настоящий ренессанс — после выхода AngularJS в 2010 и Node.js в 2009 году он перестал быть просто «языком для анимаций на сайте», превратившись в полноценную платформу для fullstack-разработки.</p><p><b>Важный факт</b>. В 2011 году разработчик из Сан-Франциско Райан Даль представил Node.js — среду выполнения JavaScript на стороне сервера. За первые 24 часа после релиза проект собрал 10 000 звезд на GitHub, что для того времени стало рекордом. Многие скептически относились к идее использовать JavaScript вне браузера, но уже через год такие компании как LinkedIn и Walmart перевели части своего бэкенда на Node.js, получив прирост производительности в 2-3 раза по сравнению с традиционными решениями на Java и Ruby.</p><p>Образовательная сфера претерпела значительные изменения. В 2011 году запустилась Coursera с первым массовым курсом по программированию — Machine Learning от Эндрю Ына. В 2012 году в Кремниевой долине открылся Hack Reactor, ставший прототипом современных coding bootcamps (интенсивов по программированию). Эти форматы предложили альтернативу традиционному университетскому образованию, сделав акцент на практических навыках.</p><p>Параллельно в России:</p><ul><li>В 2012 году появился Hexlet — одна из первых русскоязычных платформ с практико-ориентированными курсами по программированию. Особенность: выполнение заданий в реальной среде разработки через браузер. Платформа до сих пор работает: на текущий момент 80% выпускников трудоустраиваются в IT, <a href="https://ru.hexlet.io/blog/posts/hse-research">согласно исследованию ВШЭ</a>. В 2012 этот показатель был еще выше.</li><li>«Нетология» (основана в 2011) к 2013 году запустила курсы по веб-разработке с акцентом на JavaScript и Python, сотрудничая с российскими tech-компаниями. Их модель включала менторство и проектные работы.</li><li>В 2013 году стартовал Stepik — платформа с открытыми курсами от ведущих вузов (ИТМО, МФТИ). Особенность: интерактивные задачи с автоматической проверкой кода, что было прорывом для местного рынка.</li></ul><p>Курс «Введение в Linux» от Stepik (2014) за полгода собрал 50 тыс. студентов — рекорд для Рунета. Задания включали настройку виртуальных серверов, что сразу применялось в работе.</p><p>Эти проекты заложили основу для бума EdTech в России после 2015 года, доказав, что онлайн-формат может давать актуальные навыки быстрее вузов.</p><p>Типичный разработчик среднего уровня в 2014 году:</p><ul><li>понимал принципы REST API;</li><li>начинал осваивать основы DevOps с появлением Docker в 2013;</li><li>экспериментировал с микроконтроллерами вроде Arduino или Raspberry Pi, создавая собственные IoT-устройства.</li></ul><p>В профессиональной среде начал формироваться консенсус о том, что PHP устаревает для сложных коммерческих проектов.</p><h2>2015-2019: Эра больших данных и облачных технологий</h2><p>Аппаратные возможности сделали очередной рывок вперед. Многоядерные процессоры Intel i7 и AMD Ryzen стали стандартом для рабочих станций. 16 ГБ оперативной памяти перестали быть роскошью, а мониторы с разрешением 4К стали доступны широкому кругу разработчиков. В 2015 году появился Visual Studio Code, который быстро обогнал по популярности Sublime Text и Atom благодаря удачному сочетанию функциональности и производительности.</p><figure><img src="https://media.tproger.ru/user-uploads/113565/2025-06-13/c92b70be-b3eb-4924-a40a-587ed3d43592.png" alt="" /></figure><p>Языковая экосистема продолжила развитие. TypeScript, представленный в 2014 году, предложил решение проблемы масштабируемости JavaScript-кода в крупных проектах. Go от Google, созданный еще в 2009, нашел свою нишу в разработке микросервисов и инструментов оркестрации вроде Kubernetes (2015). Rust от Mozilla начал завоевывать доверие системных программистов благодаря уникальной системе владения памятью.</p><p>JavaScript-сообщество столкнулось с первыми серьезными проблемами. В 2016 году инцидент с пакетом left-pad показал уязвимость экосистемы npm — удаление одного небольшого модуля привело к сбоям в работе тысяч проектов по всему миру. Это заставило разработчиков задуматься о зависимости от сторонних библиотек.</p><p>Типичный senior-разработчик в 2019:</p><ul><li>разбирался в микросервисной архитектуре и понимал, как избежать vendor lock-in (привязки к поставщику) при работе с облачными провайдерами;</li><li>имел опыт работы с React или <a href="http://vue.js">Vue.js</a>;</li><li>знал, что понимание принципов работы алгоритмов становится менее важным, чем развитие soft skills для работы в команде.</li></ul><p>Ключевые технологии этого периода включали Kubernetes, который стал стандартом де-факто для оркестрации контейнеров, а также TensorFlow (2015) и PyTorch (2016), открывшие эру машинного обучения для широкого круга разработчиков. Появились первые серьезные инструменты для работы с большими данными — Apache Spark, Hadoop.</p><p><i>Ключевой момент. В 2016 году Netflix раскрыл детали своего перехода на облачную инфраструктуру AWS. Компания полностью перенесла все сервисы — от рекомендательной системы до биллинга — в облако за семь лет. Главным триггером стала катастрофа 2008 года, когда три дня простоя дата-центра оставили 8,4 млн подписчиков без доступа к сервису. Миграция потребовала перепроектирования архитектуры: инженеры разбили монолит на 500 микросервисов и внедрили Chaos Monkey — инструмент для тестирования отказоустойчивости, который случайно отключал серверы в продакшене.</i></p><p>Этот кейс стал хрестоматийным примером cloud-native подхода. Облачные технологии стали активно использоваться в разработке, а обращение с ними — обязательным навыком для прогеров.</p><h2>2020-2024: AI-assisted разработка и новые парадигмы</h2><p>Пандемия COVID-19 ускорила переход на удаленную работу. Программисты по достоинству оценили макбуки на чипах M1 (2020) за их энергоэффективность и производительность. Домашние офисы оснащались 32-дюймовыми 4К-мониторами и механическими клавиатурами, ставшими своеобразным профессиональным стандартом.</p><figure><img src="https://media.tproger.ru/user-uploads/113565/2025-06-13/65ba41e0-844c-419f-8656-e78905e93540.jpg" alt="" /></figure><p>Языковая палитра продолжала обогащаться. Rust официально вошел в ядро Linux в 2022 году, подтвердив свой статус системного языка нового поколения. Zig появился как современная альтернатива «C» с акцентом на безопасность. WebAssembly (Wasm) позволил запускать ресурсоемкие приложения прямо в браузере, открыв новые возможности для веб-разработки.</p><p>Искусственный интеллект начал проникать в повседневную работу программистов. GitHub Copilot на базе GPT-3, представленный в 2021, изменил сам процесс написания кода, предлагая контекстные подсказки. Low-code платформы вроде Retool упростили создание внутренних инструментов для бизнеса.</p><p>Типичный lead-разработчик в 2024 году:</p><ul><li>умел эффективно работать в гибридных командах (офис + удаленка);</li><li>автоматизировал рутинные задачи через ChatGPT API;</li><li>следил за развитием квантовых вычислений, хотя практическое применение пока оставалось ограниченным.</li></ul><p><i>Ключевой момент. В 2023 году GitHub Copilot, разработанный совместно с OpenAI, стал катализатором перемен в индустрии. За первый год после релиза инструмент использовали более 1,3 млн разработчиков — каждый десятый подписчик GitHub. Система анализировала контекст кода и предлагала целые функции: например, при написании SQL-запроса она автоматически генерировала соответствующую модель данных на Python. Amazon внедрил аналогичный инструмент Amazon Q Developer для внутренних команд — по заявлению CEO Энди Джесси, это сэкономило компании 4,500 человеко-лет работы и $260 млн ежегодно.</i></p><p><i>Но были и курьезы. В 2024 году разработчик из Берлина случайно отправил в продакшен код, полностью сгенерированный Copilot. Система использовала фрагмент из GPL-лицензированной библиотеки, что нарушило политику компании по открытому ПО. Инцидент заставил пересмотреть процессы ревью: теперь 78% команд требуют ручной проверки AI-кода перед мержем (слиянием).</i></p><p><i>Параллельно выяснилось, что Copilot в 40% случаев предлагает уязвимый код при работе с СУБД — это привело к взлому API стартапа через SQL-инъекцию. Такие кейсы показали, что ИИ пока не заменяет программистов, а требует от них новых навыков — критического анализа машинных предложений и понимания юридических аспектов кода.</i></p><h2>2025: Современное состояние профессии</h2><p>Современные рабочие станции программистов оснащены ноутбуками с процессорами Apple M4 (3 нм) или Windows-машинами на Snapdragon X Elite. Мониторы с разрешением 8К используются для разработки AR-приложений, а OLED-экраны с HDR стали стандартом для работы с графикой. Появляются первые экспериментальные IDE с нейроинтерфейсами, способные предсказывать код на основе анализа мозговой активности.</p><p>Среди языков программирования выделяется Mojo (2023) — «Python для GPU», набирающий популярность в сфере машинного обучения. Carbon как потенциальный наследник C++ пока остается в тени Rust. Квантовые языки вроде Q# и Cirq интересуют в основном энтузиастов и исследователей.</p><p>Профессия претерпела значительные изменения. ИИ стал не конкурентом, а помощником — по некоторым оценкам, около 60% рутинного кода в 2025 году (тесты, документация) генерируется автоматически. Знание английского языка стало важнее знания сложных алгоритмов — без него невозможно эффективно работать с современными AI-инструментами. Понятие «fullstack-разработчик» трансформировалось — теперь оно подразумевает владение фронтендом, одним бэкенд-языком и основами машинного обучения.</p><p>За два десятилетия программисты прошли путь от одиночек за CRT-мониторами до участников глобальных распределенных команд. Если в 2005 ключевым навыком было умение написать работающий код, то в 2025 главное — способность эффективно взаимодействовать с ИИ-ассистентами. Однако основы профессии остались неизменными — логическое мышление, способность к абстракции и желание автоматизировать рутинные задачи.</p><p>Будущее обещает новые трансформации. К 2030 году нейроинтерфейсы смогут заменить традиционные устройства ввода, а квантовые компьютеры — перевернуть основы криптографии. Но пока актуальными остаются проверенные временем принципы: изучать перспективные технологии (вроде Rust и Mojo), осваивать работу с ИИ и, конечно, совершенствовать главный навык любого программиста — умение быстро и грамотно гуглить.</p><p>Ты уже программист, если читаешь это! Больше о кодинге <a href="https://t.me/+ezugB7gnIEsxNGMy">тут</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Фреймворки, меняющие игру: выбираем идеальный инструмент для ваших веб-проектов</title>
      <link>https://tproger.ru/articles/obzor-populyarnyh-frejmvorkov-dlya-veb-razrabotki</link>
      <comments>https://tproger.ru/articles/obzor-populyarnyh-frejmvorkov-dlya-veb-razrabotki?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Вадим Егорцев]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/obzor-populyarnyh-frejmvorkov-dlya-veb-razrabotki</guid>
      <description><![CDATA[<p>Популярные фреймворки для веб-разработки. Показываем основные виды фреймворков. Рассматриваем пошаговую инструкцию по использованию ✔ Tproger</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/obzor-populyarnyh-frejmvorkov-dlya-veb-razrabotki">Фреймворки, меняющие игру: выбираем идеальный инструмент для ваших веб-проектов</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Java]]></category>
      <category><![CDATA[Производительность]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Ruby]]></category>
      <category><![CDATA[MySQL]]></category>
      <category><![CDATA[PHP]]></category>
      <category><![CDATA[SQL]]></category>
      <category><![CDATA[Рефакторинг]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[HTML]]></category>
      <category><![CDATA[Базы данных]]></category>
      <category><![CDATA[Node.js]]></category>
      <category><![CDATA[React]]></category>
      <category><![CDATA[Фронтенд]]></category>
      <category><![CDATA[Бэкенд]]></category>
      <category><![CDATA[Приложение]]></category>
      <category><![CDATA[Angular]]></category>
      <category><![CDATA[Vue]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Fri, 10 Jan 2025 09:00:02 GMT</pubDate>
      <content:encoded><![CDATA[<p>Выбор фреймворка влияет на скорость, удобство разработки, производительность, масштабируемость и поддержку приложения. Рассмотрим популярные варианты для веб-разработки фронтенда, бэкенда и фулстека и сравним их между собой.</p><h2>Frontend фреймворки</h2><h3>React</h3><p>Это самый популярный фреймворк для создания веб-приложений. React используется в лендингах, динамических веб-приложениях и даже мобильных приложениях (<a href="https://tproger.ru/articles/your-first-app-in-react-native">React Native</a>).</p><p>UI здесь разбивается на независимые и переиспользуемые блоки. Такие компоненты легко интегрировать, комбинировать в разных частях приложения или между проектами. Фреймворк ускоряет разработку и рефакторинг.</p><p>React обращается к DOM только для обновления изменившихся компонентов. За счет этого повышается производительность приложения.</p><p>Пример простого React компонента:</p><h4>Преимущества фреймворка:</h4><ul><li>Облегчает повторное использование кода и поддержку приложений;</li><li>Имеет множество дополнительных библиотек и инструментов;</li><li>Виртуальный DOM снижает прямые манипуляции с DOM и повышает производительность приложения;</li><li>Фреймворк пользуется популярностью в сообществе. Как результат  —  множество учебников, разборов документации и сторонних библиотек.</li></ul><h4>Недостатки фреймворка:</h4><ul><li>Концепции JSX и управления состоянием могут быть сложны для новичков;</li><li>Плохая кроссбраузерная поддержка;</li><li>Требует дополнительных библиотек для маршрутизации и управления состоянием.</li></ul><h3>Vue.js</h3><p>Vue используется для разработки простых лендингов и комплексных веб-приложений. Это гибкое решение, которое можно интегрировать в проекты постепенно.</p><p>Преимущество Vue в его простоте и низком пороге входа. При этом фреймворк сохраняет статус мощного инструмента для разработки сложных веб-приложений.</p><p>Vue автоматически отслеживает зависимости между блоками и обновляет DOM при их изменении, как React.</p><p>Компонентная архитектура Vue позволяет разбивать UI на переиспользуемые части. Разметка, стили и логика разделяются «оболочкой», а это облегчает поддержку и масштабирование приложения.</p><p>Пример простого компонента Vue:</p><p>Экосистема Vue включает множество библиотек и плагинов, расширяющих возможности фреймворка. Например, Vuex для управления состоянием, Vue Router, Nuxt.js и другие.</p><h4>Преимущества фреймворка:</h4><ul><li>Понятный синтаксис и подробная документация;</li><li>Может использоваться как библиотека или цельный фреймворк в зависимости от проекта;</li><li>Есть поддержка серверного рендера;</li><li>Автоматически обновляет интерфейс при изменении данных;</li><li>Имеет небольшой вес файлов.</li></ul><h4>Недостатки фреймворка:</h4><ul><li>Меньше ресурсов и сторонних библиотек по сравнению с React и Angular;</li><li>Неполная документация на русском языке.</li></ul><h3>Angular</h3><p>С помощью Angular разрабатывают клиентские части веб-приложений. Этот фреймворк сложнее Vue и React.</p><p>Angular чаще используют для крупных веб-приложений. Например, панели администрирования, системы управления контентом и т. д.</p><p>По аналогии с Vue и React, фреймворк разбивает приложение на независимые, переиспользуемые блоки кода. Компоненты: шаблон; класс, описывающий поведение; стили.</p><p>Освоение Angular требует больше времени и усилий по сравнению с Vue и React из-за архитектуры и специфических концепций. Нужны углубленные знания по внедрению зависимостей, декораторам и модулям.</p><p>Пример простого Angular-компонента:</p><h4>Преимущества фреймворка:</h4><ul><li>Богатый выбор инструментов, шаблонов, которые сокращают сроки реализации сложных приложений;</li><li>Angular CLI расширяется за счет shematics, поэтому его легко доработать под конкретные задачи;</li><li>Есть поддержка TypeScript: статическая типизация улучшает качество кода;</li><li>Встроенная утилита для обновления проекта при переходе на новую версию Angular.</li></ul><h4>Недостатки фреймворка:</h4><ul><li>Ангуляр сложнее, чем Вью и Реакт. Его изучение занимает больше времени, если это первый фреймворк в карьере разработчика.</li></ul><h2>Backend фреймворки</h2><h3>Django (Python)</h3><p>Django подходит для широкого спектра приложений — от блогов до высоконагруженных веб-сервисов. Админ-панель фреймворка упрощает управление контентом и пользователями. Django часто используют для разработки новостных сайтов, интернет-магазинов, социальных сетей и образовательных платформ.</p><p>Фреймворк содержит множество инструментов для решения общих задач веб-разработки. «В комплекте» готовые библиотеки для аутентификации пользователей, администрирования контента, работы с формами, маршрутизации URL.</p><p>Django следует архитектурному шаблону Model-View-Controller (MVC). Модели определяют структуру данных, представления обрабатывают логику и взаимодействие с моделями, а шаблоны отвечают за представление данных пользователю.</p><p>Сильная сторона Django — его ORM (Object-Relational Mapping). Интерфейс для работы с базой данных на Python используется для написания сырых SQL-запросов. Django поддерживает PostgreSQL, MySQL, SQLite, Oracle.</p><p>Если ищете универсальный фреймворк для бэкенд-разработки на Python, Django определенно заслуживает вашего внимания.</p><p>Пример модели Django:</p><p>В примере определяем модель Article с полями title, content и published_at. Метод __str__ возвращает строковое представление объекта:</p><p>Представление article_list получает объекты Article из базы данных и передает их в шаблон для отображения.</p><h4>Преимущества фреймворка:</h4><ul><li>Широкий набор инструментов: включает ORM, аутентификацию и админ-панель;</li><li>Фреймворк задаёт структуру проекта — помогает разработчикам понимать, как и где добавлять новую функцию;</li><li>Защищен от SQL-инъекции и подделки межсайтовых запросов;</li><li>Подходит для высоконагруженных приложений.</li></ul><h4>Недостатки фреймворка:</h4><ul><li>Django ORM уступает последней SQLAlchemy.</li></ul><h3>Ruby on Rails (Ruby)</h3><p>Rails подходит для быстрого прототипирования и проектов, ориентированных на работу с базами данных. Его используют для SaaS-платформ, CRM-систем, CMS, маркетплейсов и многого другого.</p><p>Rails применяет архитектурный паттерн MVC (Model-View-Controller). Фреймворк хорош с точки зрения бизнес-логики и взаимодействует с базой данных с помощью ActiveRecord ORM.</p><p>Rails поставляется со встроенными инструментами и библиотеками. Например, ActiveRecord для работы с базами данных, ActiveStorage для управления файлами, ActionMailer для отправки email.</p><p>В сообществе Rails огромное количество гемов (библиотек), расширяющих функциональность фреймворка.</p><p>Пример модели Rails (с использованием ActiveRecord):</p><p>Пример контроллера Rails:</p><p>В примере определяем модель Article с валидациями и связями. Контроллер ArticlesController содержит экшены для списка статей, отображения отдельной статьи, создания новой статьи.  Приватный метод article_params используется для фильтрации параметров.</p><h4>Преимущества фреймворка:</h4><ul><li>Продуманная структура, которая продвигает стандарты качества и лучшие практики веб-разработки;</li><li>Active Record ORM упрощает взаимодействие с базой данных;</li><li>Vue, Angular.js и React легко интегрируются с Ruby on Rails.</li></ul><h4>Недостатки фреймворка:</h4><ul><li>Ruby on Rails js медленнее Django и Node.js.</li></ul><h3>Node.js с Express (JavaScript)</h3><p>Express — фреймворк Node.js с набором функций для разработки веб-приложений и API. В нем реализован простой интерфейс для HTTP-запросов и маршрутизации.</p><p>Node.js + Express используется для сервисов, серверных приложений (например, чатов или игр).</p><p>Преимущество Node.js и Express состоит в возможности писать на JavaScript как клиентскую, так и серверную сторону. Можно вести разработку на одном языке и делиться кодом с фронтендом и бэкендом.</p><p>Пример простого приложения на Express:</p><h4>Преимущества фреймворка:</h4><ul><li>JavaScript на всем стеке — один язык для фронтенда и бэкенда;</li><li>Имеет минимальные ограничения, можно строить архитектуру как удобно.</li></ul><h4>Недостатки фреймворка:</h4><ul><li>Отсутствуют встроенные компоненты, требуются дополнительные настройки для безопасности и работы с базами данных;</li><li>Управление обратными вызовами усложняет код и его поддержку.</li></ul><h2>Full-Stack фреймворки</h2><h3>Laravel (PHP)</h3><p>Laravel — фреймворк для веб-разработки на PHP. Он использует архитектуру MVC: разделяет логику приложения и улучшает организацию кода.</p><p>Laravel выбирают для разработки CMS, SaaS-платформ, электронной коммерции и др. Встроенные библиотеки ускоряют работу.</p><p>В фреймворке реализована:</p><ul><li>Система миграций для управления структурой базы данных;</li><li>Eloquent ORM для работы с данными;</li><li>Система шаблонизации Blade;</li><li>Встроенная поддержка аутентификации и авторизации;</li><li>Очередь заданий и планировщик для выполнения асинхронных задач.</li></ul><p>Пример определения маршрута в Laravel:</p><p>Пример контроллера Laravel:</p><p>Пример модели Eloquent:</p><p>В примерах выше определяем маршрут, который принимает id и возвращает строку с идентификатором. Контроллер UserController методом show получает пользователя из базы данных по id и передает его в представление user.profile. Модель User представляет таблицу пользователей в базе данных и определяет заполняемые атрибуты.</p><h4>Преимущества фреймворка:</h4><ul><li>Шаблонизатор Blade упрощает создание представлений;</li><li>ORM Eloquent облегчает работу с базами данных;</li><li>Есть автоматизация задач с помощью встроенных инструментов и командной строки.</li></ul><h4>Недостатки:</h4><ul><li>Сложности с долгосрочной поддержкой версий.</li></ul><h3>Spring Boot (Java)</h3><p>Spring Boot применяется для разработки микросервисов и облачных приложений. Модульная архитектура используется в независимых сервисах, которые легко масштабировать.</p><p>Фреймворк имеет встроенный контейнер сервлетов (Tomcat, Jetty), чтобы запускать приложение как автономный JAR-файл без развертывания на внешнем сервере.</p><p>Фреймворк также предлагает:</p><ul><li>Автоконфигурацию библиотек (JPA, JDBC);</li><li>Встроенные метрики мониторинга;</li><li>Поддержку внешней конфигурации;</li><li>Интеграцию с базами данных.</li></ul><h4>Преимущества фреймворка:</h4><ul><li>Есть встроенные серверы Tomcat, Jetty и Undertow;</li><li>Облегчает управление зависимостями с помощью стартовых пакетов;</li><li>Оснащен встроенным контейнером сервлетов;</li><li>Автоматическая конфигурация экономит время на старте проекта.</li></ul><h4>Недостатки:</h4><ul><li>Spring Boot создает множество неиспользуемых зависимостей и  увеличивает размер файла развертывания.</li></ul><h3>Meteor (JavaScript)</h3><p>Особенность Meteor в том, что он синхронизирует данные в реальном времени. Фреймворк автоматически обновляет пользовательский интерфейс при изменении данных на сервере. Это возможно благодаря протоколу DDP (Distributed Data Protocol) и реактивным источникам данных, таких как MongoDB.</p><p>На JS + Meteor можно писать код, который работает как на клиенте, так и на сервере. Фреймворк также предоставляет интегрированную систему сборки, которая автоматически объединяет ресурсы приложения.</p><p>Meteor выбирают для разработки приложений, требующих обновления данных в реальном времени (чаты, приложения для совместной работы, панели мониторинга,  игровые проекты). Его реактивная архитектура и синхронизация данных облегчают создание интерактивных и отзывчивых пользовательских интерфейсов.</p><h4>Преимущества фреймворка:</h4><ul><li>Архитектура и синтаксис с понятным кодом упрощают обучение новичков и повышают производительность команды;</li><li>Есть мгновенная синхронизация данных между клиентом и сервером;</li><li>Возможна интеграция базы данных MongoDB.</li></ul><h4>Недостатки фреймворка:</h4><ul><li>Не предлагает широкого функционала для масштабирования и разделения логики на модули;</li><li>Сложности с масштабированием при увеличении числа пользователей из-за обработки данных в реальном времени.</li></ul><p>При выборе фреймворка важно учитывать долгосрочные перспективы проекта. Также следует принимать во внимание доступность обучающих ресурсов и поддержки. Помните, нет идеального решения. Выбор фреймворка зависит от конкретных требований, ресурсов и предпочтений команды.</p>]]></content:encoded>
    </item>
    <item>
      <title>Оптимизация Linux для начинающих разработчиков: Ruby on Rails</title>
      <link>https://tproger.ru/articles/optimizaciya-linux-dlya-nachinayushhihrazrabotchikov-ruby-on-rails</link>
      <comments>https://tproger.ru/articles/optimizaciya-linux-dlya-nachinayushhihrazrabotchikov-ruby-on-rails?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Андрей Милюхин]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/optimizaciya-linux-dlya-nachinayushhihrazrabotchikov-ruby-on-rails</guid>
      <description><![CDATA[<p>Рассказали, как начинающему программисту подготовить рабочее место в Linux для разработки на Ruby on Rails.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/optimizaciya-linux-dlya-nachinayushhihrazrabotchikov-ruby-on-rails">Оптимизация Linux для начинающих разработчиков: Ruby on Rails</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Ruby]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 26 Dec 2023 12:03:01 GMT</pubDate>
      <content:encoded><![CDATA[<p>В мире программирования Linux занимает особое место благодаря своей гибкости, безопасности и мощности. Для начинающих разработчиков настройка Linux может быть как захватывающим, так и немного сложным процессом.</p><p>В этой статье мы рассмотрим как начинающему программисту подготовить себе рабочее место для разработки на фреймворке Ruby on Rails, который предназначен для создания веб-приложений.</p><h2>Выбор подходящего дистрибутива</h2><p>Первый шаг – выбор правильного дистрибутива. Для новичков идеально подходят такие дистрибутивы, как Ubuntu, Fedora и Mint. За основу возьмем ОС Ubuntu 22.04. Стоит отметить, что в Ubuntu уже есть предустановленные языки, такие как Perl, Python, а также Ruby, который и будем использовать</p><h2>Установка необходимого программного обеспечения</h2><p>Ключевым элементом является установка инструментов разработки. Для начала проверим какая версия Ruby установлена у тебя по умолчанию.</p><p>Откроем консоль через комбинацию клавиш Alt+Tab и напишем команду ruby -v. В консоли ты увидишь что-то вроде «ruby 2.4.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]».</p><p>Версия, которая предустановлена в системе обычно устаревшая, поэтому имеет смысл ее обновить. Обновлять надо через RVM — Ruby Version Manager.</p><p>Для этого опять потребуется консоль, в которой нужно ввести следующие команды:</p><p>Разберем, что здесь написано.</p><ol><li>$ – показывает, что в консоли ты работаешь под правами текущего пользователя. Печатать его перед командой не нужно, его итак видно в консоли перед курсором.</li><li>sudo — команда указывает, что команда после нее будет выполняться под правами суперпользователя (root).</li><li>apt update (или apt-get update, как устаревший вариант) — выполняет обновление доступных пакетов программного обеспечения из репозиториев, другими словами актуализирует список доступных версий программ для установки.</li></ol><p>Выполняем обновление всех установленных программ и библиотек в системе</p><p>apt install — выполняет установку необходимых тебе приложений или библиотек. В данном случае ты выполняешь установку необходимых зависимостей, то есть программ и библиотек, которые потребуются для выполнения дальнейших действий.</p><p>Команда выполняет импорт ключей стороннего репозитория, которые подтверждают надежность этого репозитория и безопасность его использования. Это необходимо, так как на следующем шаге ты установишь в систему новый внешний репозиторий.</p><ol><li>Команда curl c указанными ключами выкачивает скрипт, который находится по адресу https://get.rvm.io;</li><li>Команда bash -s stable запускает этот скрипт в системе. Скрипт установит в систему репозиторий RVM и установит сам RVM версии stable в систему.</li></ol><p>После установки RVM необходимо указать системе, где находится RVM – для этого прописываешь командой место нахождения скриптов RVM в переменные окружения.</p><p>Команда покажет список всех возможных версий языка Ruby, доступных для установки. Тебя интересует версия ruby-3.0.0</p><p>Устанавливаем посредством RVM Ruby версии 3.0.0</p><p>Ты должен убедиться, что все прошло успешно, проверив установленную версию (если увидишь версию 3.0.0, то ты справился).</p><p>Выполнив шаги выше ты обновил версию языка Ruby в системе и готов перейти к следующему этапу — установке фреймворка Ruby on Rails для разработки веб-приложений.</p><h2>Рассмотрим термины, которые будут встречаться дальше</h2><p>Gem — сторонняя библиотека, которая содержит в себе необходимый набор классов и методов, которая позволяет ускорить процесс разработки. Например, тебе нужно написать Телеграм-бота. А для этого что необходимо? Правильно, ознакомиться с официальной документацией, разобраться с http запросами, написать километры кода…</p><p>Но можно пойти по другому пути, а именно — установить gem telegram-bot-ruby и использовать в своем коде методы этого джема, потому как всю логику работы с Телеграм и все километры кода о которых говорили выше, кто-то уже написал.</p><p>Другими словами, ты можешь строить свой дом из кирпича, а можешь из готовых блоков, что будет быстрее и понятнее. В будущем ты сможешь создавать свои джемы, которые облегчат работу тебе и другим разработчикам по всему миру.</p><p>Ruby on Rails (RoR) — фреймворк, написанный на языке ruby, предназначенный для разработки веб-приложений и реализующий архитектуру MVC (model, view, controller).</p><h2>Приступим к установке Ruby on Rails</h2><p>Для этого необходимо выполнить всего одну команду:</p><p>Команда установит джем rails в систему. Как видишь, ничего сложного:</p><p>Проверь версию установленного фреймворка (по умолчанию установится последняя версия RoR)</p><h2>Создадим наше первое веб-приложение</h2><p>После выполнения этой команды фреймворк RoR создаст папку с названием твоего приложения, в которой будет реализована вся шаблонная архитектура приложения, необходимая для дальнейшей разработки.</p><h2>Перейдем в папку с приложением</h2><p>И запустим наше шаблонное приложение:</p><p>Теперь ты можешь перейти в браузере по адресу http://localhost:3000 и увидеть графическую заглушку, которая свидетельствует, что наше приложение запустилось.</p><p>Linux предлагает множество возможностей для разработчиков всех уровней. Вот так, за 14 коротких шагов ты смог создать и запустить свое первое веб-приложение. Успехов в дальнейшей разработке, изучению языка Ruby и фреймворка Ruby on Rails.</p>]]></content:encoded>
    </item>
    <item>
      <title>Ruby on Rails: жив и будет жить</title>
      <link>https://tproger.ru/articles/ruby-on-rails-zhiv-i-budet-zhit-241856</link>
      <comments>https://tproger.ru/articles/ruby-on-rails-zhiv-i-budet-zhit-241856?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Юрий Гизатуллин]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/ruby-on-rails-zhiv-i-budet-zhit-241856</guid>
      <description><![CDATA[<p>Рассуждаем, почему и язык Ruby, и фреймворк Ruby on Rails до сих пор актуальны, почему они до сих пор живы и будут жить.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/ruby-on-rails-zhiv-i-budet-zhit-241856">Ruby on Rails: жив и будет жить</a>»</p>]]></description>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Языки программирования]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 05 Jun 2023 13:34:33 GMT</pubDate>
      <content:encoded><![CDATA[<p>Языки программирования и фреймворки, как люди, рождаются и рано или поздно умирают. И, как и в случае с людьми, сведения о смерти некоторых бывают сильно преувеличены. Яркий пример – Ruby. Вопросы о его смерти возникают настолько часто, что энтузиасты даже создали сайт<a href="https://isrubydead.com/"> isrubydead</a>, где можно найти ответ на соответствующий вопрос. Мы в Tiqum делаем проекты на и на Ruby on Rails в том числе: мы уверены, что и язык, и фреймворк живы и будут жить. И вот почему.</p><h2>Сильные конкуренты</h2><p>Начнем с простого и попробуем разобраться в ситуации, в которой сегодня приходится выбирать, использовать Ruby on Rails или делать ставку на другой фреймворк.</p><p>У  Ruby безусловно, много конкурентов. Основные это Django на Python и многочисленные фреймворки на Node.js. самыми популярными из которых можно назвать Express.js и Nest.js. Их позиции достаточно сильны как в мире в целом, так и в России. Если говорить честно, они более популярны, чем Ruby on Rails, а это означает, что на них больше заказчиков, больше денег, и как результат, большее число вакансий и большее комьюнити для развития.</p><p>Не улучшает положение Ruby on Rails и экономическая ситуация. Основная сфера использования Rails – стартапы и требующие быстрого запуска проекты для которых, увы, сейчас не лучшее время. Проблемы в экономике, наблюдающиеся последние несколько лет привели к тому, что часть стартапов свернула свой бизнес, крупные компании, которые ранее охотно вкладывались в развитие новых идей, замораживают это направление, а те, кто мог бы запустить стартап, просто не готовы рискнуть и ждут нормализации обстановки.</p><p>В России ситуация для Ruby on Rails еще более сложная. К уже названному комплексу проблем добавим тот факт, что у нас всегда было меньшее комьюнити и количество предложений, чем на Западе. Многие Ruby-разработчики стремились найти работу на Западе или хотя бы на западные компании. А так как в последнее время многие западные компании ушли, то, соответственно, количество заказов еще уменьшилось и появились проблемы с оплатой.</p><p>И все же это не значит, что пора готовить молоток, чтобы в скором времени забить гвозди в крышку гроба Ruby on Rails.</p><h2>Плюсы</h2><p>У Ruby on Rails есть большое количество плюсов, которые сохранят его востребованность.</p><ul><li>Вокруг Ruby on Rails сформировано большое комьюнити. И поверьте: оно классное.</li><li>Для Ruby on Rails актуален принцип Convention over configuration. Т.е. в основе всего лежит стандартизация по структуре, наименованиям и разработке проекта в целом, принятым на уровне всего сообщества. А следовательно, даже если один Ruby-разработчик покидает проект, другой сможет легко в него погрузиться и продолжить поддерживать его и развивать. Похвастаться этим может далеко не каждый фреймворк.</li><li>Фреймворк очень удобен для команд, которые работают по Agile, так как позволяет легко контролировать процесс внесения изменений как на уровне кода, так и на уровне базы данных.</li><li>В отличие от многих других языков для реализации проекта на Ruby on Rails достаточно одного программиста, который закрывает многие задачи, помимо написания кода: деплой приложения, работа с базой данных и прочее. Т.е. на этом поле и один – воин. Это сказывается на затратах, причем, весьма существенно.</li><li>Для Ruby on Rails есть множество готовых плагинов и модулей, которые легко интегрировать в свой проект и не тратить время на написание собственного кода. Так что реализация проекта на Ruby on Rails идет быстро.</li><li>Есть эффективные и интуитивно понятные инструменты тестирования.</li><li>При необходимости масштабировать приложение на Ruby on Rails легко.</li><li>Важный плюс – безопасность: проблемы с уязвимостями решаются на уровне фреймворка.</li><li>Как результат всего вышеперечисленного – возможность вести разработку примерно на 30-40 % быстрее, чем на других языках.</li></ul><h2>Минусы</h2><p>В бочке меда, конечно, всегда есть ложка дегтя: у Ruby on Rails, разумеется, есть минусы.</p><ul><li>Для приложений с большим количеством вычислений или большой обработкой данных медленный.</li><li>Невысокий уровень гибкости, что может быть критичным, если необходимо реализовывать специфический функционал, который не укладывается в концепцию и структуру фреймворка.</li><li>Популярность этого фреймворка в России небольшая в сравнении с другими языками и фреймворками. Причина этого, на мой взгляд, в том, что все считают, что разработчиков на Ruby on Rails очень мало, а значит, лучше избежать проблем уже на старте и сделать выбор в пользу альтернативных вариантов.</li><li>Молодые программисты не часто выбирают Ruby on Rails, так как не видят перспектив на рынке труда. К примеру, к концу мая 2023 года на HH.ru вакансий разработчиков Ruby on Rails в России было всего 330, тогда как на node.js – почти в три раза больше. Да и по уровню зарплат node.js выигрывает у Ruby on Rails. Правда, надо учитывать, что хантинг рубистов чаще всего ведется точечно, поэтому и вакансии на работных сайтах размещаются редко.</li></ul><h2>Почему выбирают Ruby on Rails?</h2><p>В каждом конкретном случае нужно просто оценить, что перевешивает – плюсы или минусы. Это актуально и для разработчиков, и для заказчиков. При этом надо понимать, что некоторые минусы, скорее, надуманные, чем реальные.</p><p>Возьмем, к примеру, проблемы с производительностью. Нас они не пугают, так как с большим объемом вычислений в работе приходится сталкиваться достаточно редко: такие задачи очень специфичны и к 80 % проектов не относятся. Да и в оставшихся 20 % проблема, как правило, легко решается написанием нужной логики на другом языке. Как показывает практика, основное время тратится не на вычисления, а на взаимодействие между  сервисами, ожидание ответов от базы данных и тд — это от языка уже не зависит. Т.е. надо в первую очередь реально смотреть на задачу: в большинстве случаев it is not rocket science для Ruby on Rails, да и реальные ракеты мало кто запускает.</p><p>В ряде случаев Ruby on Rails идеально решает поставленные задачи. Например, для онлайн-магазина ювелирных украшений надо было создать ERP-систему, которая охватывала бы все процессы, в том числе взаимодействие с партнерами и покупателями. Запустить решение надо было всего за 2 месяца, обеспечив постоянное взаимодействие между разными сервисами, включая 1С, RetailCRM и т.д.</p><p>Со стороны фронтенда проект работал на React , а бэк вел ,закрывая множество ролей, всего один разработчик. В основе было готовое опенсорсное решение – e-com-платформа Spree Commerce. Эта платформа – яркий пример и живого комьюнити, и готового решения под наши нужды. В числе ее важных особенностей – возможность легко и быстро настраивать систему под существующие нужды и масштабировать. Благодаря возможностям Ruby on Rails удалось зарелизить проект в срок с дальнейшей поддержкой – и это при том, что компания получила инструменты для сплитирования, функционал сборных заказов, автозаказа курьеров, омниканальные кабинеты для покупателей и т.д. Так что выбор оказался оправдан.</p><h2>Есть ли будущее у Ruby on Rails?</h2><p>Сейчас для разработки в целом не самое лучшее время: некоторые эксперты даже говорят о стагнации. А быстрое развитие ИИ может серьезно изменить рынок – пусть и не завтра, а в чуть более отдаленной перспективе. Так что с уверенностью говорить о том, что будет через десятилетие или через два, сложно. Но на более короткой перспективе будущее у Ruby on Rails есть.</p><p>Во-первых, многие тренды разработки идут с Запада, а там комьюнити Ruby on Rails весьма активно, а это очень важный фактор. Во-вторых, (и это последствие первого фактора) постоянно публикуются улучшения и исправления, т.е. фреймворк живой.</p><p>Ну и в-третьих, стартапы и малый бизнес всегда стараются брать пример с крупных компаний. И если, конечно, этому сегменту позволит развиваться экономическая ситуация, спрос на решения на Ruby on Rails будет расти за счет скорости разработки и гибкости. А будет спрос – будут и вакансии. Так что Ruby on Rails жив и будет жить. По крайней мере еще какое-то время.</p>]]></content:encoded>
    </item>
    <item>
      <title>Ruby on Rails: жив и будет жить</title>
      <link>https://tproger.ru/articles/ruby-on-rails-zhiv-i-budet-zhit-241602</link>
      <comments>https://tproger.ru/articles/ruby-on-rails-zhiv-i-budet-zhit-241602?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Юрий Гизатуллин]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/ruby-on-rails-zhiv-i-budet-zhit-241602</guid>
      <description><![CDATA[<p>Рассказываем, почему Ruby on Rails до сих пор актуален. Мы уверены, что и язык, и фреймворк живы и будут жить. Все аргументы — внутри статьи.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/ruby-on-rails-zhiv-i-budet-zhit-241602">Ruby on Rails: жив и будет жить</a>»</p>]]></description>
      <category><![CDATA[Языки программирования]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 01 Jun 2023 10:58:21 GMT</pubDate>
      <content:encoded><![CDATA[<p>Языки программирования и фреймворки, как люди, рождаются и рано или поздно умирают. И, как и в случае с людьми, сведения о смерти некоторых бывают сильно преувеличены.</p><p>Яркий пример – Ruby. Вопросы о его смерти возникают настолько часто, что энтузиасты даже создали сайт<a href="https://isrubydead.com/"> isrubydead</a>, где можно найти ответ на соответствующий вопрос.</p><p>Мы в Tiqum делаем проекты на Ruby on Rails: мы уверены, что и язык, и фреймворк живы и будут жить. И вот почему.   <b> </b></p><h2>Сильные конкуренты</h2><p>Начнем с простого и попробуем разобраться в ситуации, в которой сегодня приходится выбирать, использовать Ruby on Rails или делать ставку на другой фреймворк.</p><p>У  Ruby безусловно, много конкурентов. Основные это Django на Python и многочисленные фреймворки на Node.js. самыми популярными из которых можно назвать Express.js и Nest.js. Их позиции достаточно сильны как в мире в целом, так и в России. Если говорить честно, они более популярны, чем Ruby on Rails, а это означает, что на них больше заказчиков, больше денег, и как результат, большее число вакансий и большее комьюнити для развития.</p><p>Не улучшает положение Ruby on Rails и экономическая ситуация. Основная сфера использования Rails – стартапы и требующие быстрого запуска проекты для которых, увы, сейчас не лучшее время. Проблемы в экономике, наблюдающиеся последние несколько лет привели к тому, что часть стартапов свернула свой бизнес, крупные компании, которые ранее охотно вкладывались в развитие новых идей, замораживают это направление, а те, кто мог бы запустить стартап, просто не готовы рискнуть и ждут нормализации обстановки.</p><p>В России ситуация для Ruby on Rails еще более сложная. К уже названному комплексу проблем добавим тот факт, что у нас всегда было меньшее комьюнити и количество предложений, чем на Западе. Многие Ruby-разработчики стремились найти работу на Западе или хотя бы на западные компании. А так как в последнее время многие западные компании ушли, то, соответственно, количество заказов еще уменьшилось и появились проблемы с оплатой.</p><p>И все же это не значит, что пора готовить молоток, чтобы в скором времени забить гвозди в крышку гроба Ruby on Rails.</p><h2>Плюсы</h2><p>У Ruby on Rails есть большое количество плюсов, которые сохранят его востребованность.</p><ul><li>Вокруг Ruby on Rails сформировано большое комьюнити. И поверьте: оно классное.</li><li>Для Ruby on Rails актуален принцип Convention over configuration. Т.е. в основе всего лежит стандартизация по структуре, наименованиям и разработке проекта в целом, принятым на уровне всего сообщества. А следовательно, даже если один Ruby-разработчик покидает проект, другой сможет легко в него погрузиться и продолжить поддерживать его и развивать. Похвастаться этим может далеко не каждый фреймворк.</li><li>Фреймворк очень удобен для команд, которые работают по Agile, так как позволяет легко контролировать процесс внесения изменений как на уровне кода, так и на уровне базы данных.</li><li>В отличие от многих других языков для реализации проекта на Ruby on Rails достаточно одного программиста, который закрывает многие задачи, помимо написания кода: деплой приложения, работа с базой данных и прочее. Т.е. на этом поле и один – воин. Это сказывается на затратах, причем, весьма существенно.</li><li>Для Ruby on Rails есть множество готовых плагинов и модулей, которые легко интегрировать в свой проект и не тратить время на написание собственного кода. Так что реализация проекта на Ruby on Rails идет быстро.</li><li>Есть эффективные и интуитивно понятные инструменты тестирования.</li><li>При необходимости масштабировать приложение на Ruby on Rails легко.</li><li>Важный плюс – безопасность: проблемы с уязвимостями решаются на уровне фреймворка.</li><li>Как результат всего вышеперечисленного – возможность вести разработку примерно на 30-40 % быстрее, чем на других языках.</li></ul><h2>Минусы</h2><p>В бочке меда, конечно, всегда есть ложка дегтя: у Ruby on Rails, разумеется, есть минусы.</p><ul><li>Для приложений с большим количеством вычислений или большой обработкой данных медленный.</li><li>Невысокий уровень гибкости, что может быть критичным, если необходимо реализовывать специфический функционал, который не укладывается в концепцию и структуру фреймворка.</li><li>Популярность этого фреймворка в России небольшая в сравнении с другими языками и фреймворками. Причина этого, на мой взгляд, в том, что все считают, что разработчиков на Ruby on Rails очень мало, а значит, лучше избежать проблем уже на старте и сделать выбор в пользу альтернативных вариантов.</li><li>Молодые программисты не часто выбирают Ruby on Rails, так как не видят перспектив на рынке труда. К примеру, к концу мая 2023 года на HH.ru вакансий разработчиков Ruby on Rails в России было всего 330, тогда как на node.js – почти в три раза больше. Да и по уровню зарплат node.js выигрывает у Ruby on Rails. Правда, надо учитывать, что хантинг рубистов чаще всего ведется точечно, поэтому и вакансии на работных сайтах размещаются редко.</li></ul><h2>Почему выбирают Ruby on Rails?</h2><p>В каждом конкретном случае нужно просто оценить, что перевешивает – плюсы или минусы. Это актуально и для разработчиков, и для заказчиков. При этом надо понимать, что некоторые минусы, скорее, надуманные, чем реальные.</p><p>Возьмем, к примеру, проблемы с производительностью. Нас они не пугают, так как с большим объемом вычислений в работе приходится сталкиваться достаточно редко: такие задачи очень специфичны и к 80 % проектов не относятся. Да и в оставшихся 20 % проблема, как правило, легко решается написанием нужной логики на другом языке. Как показывает практика, основное время тратится не на вычисления, а на взаимодействие между  сервисами, ожидание ответов от базы данных и тд — это от языка уже не зависит. Т.е. надо в первую очередь реально смотреть на задачу: в большинстве случаев it is not rocket science для Ruby on Rails, да и реальные ракеты мало кто запускает.</p><p>В ряде случаев Ruby on Rails идеально решает поставленные задачи. Например, для онлайн-магазина ювелирных украшений надо было создать ERP-систему, которая охватывала бы все процессы, в том числе взаимодействие с партнерами и покупателями. Запустить решение надо было всего за 2 месяца, обеспечив постоянное взаимодействие между разными сервисами, включая 1С, RetailCRM и т.д.</p><p>Со стороны фронтенда проект работал на React , а бэк вел ,закрывая множество ролей, всего один разработчик. В основе было готовое опенсорсное решение – e-com-платформа <a href="https://github.com/spree/spree">Spree Commerce</a>. Эта платформа – яркий пример и живого комьюнити, и готового решения под наши нужды. В числе ее важных особенностей – возможность легко и быстро настраивать систему под существующие нужды и масштабировать. Благодаря возможностям Ruby on Rails удалось зарелизить проект в срок с дальнейшей поддержкой – и это при том, что компания получила инструменты для сплитирования, функционал сборных заказов, автозаказа курьеров, омниканальные кабинеты для покупателей и т.д. Так что выбор оказался оправдан.</p><h2>Есть ли будущее у Ruby on Rails?</h2><p>Сейчас для разработки в целом не самое лучшее время: некоторые эксперты даже говорят о стагнации. А быстрое развитие ИИ может серьезно изменить рынок – пусть и не завтра, а в чуть более отдаленной перспективе. Так что с уверенностью говорить о том, что будет через десятилетие или через два, сложно. Но на более короткой перспективе будущее у Ruby on Rails есть.</p><p>Во-первых, многие тренды разработки идут с Запада, а там комьюнити Ruby on Rails весьма активно, а это очень важный фактор. Во-вторых, (и это последствие первого фактора) постоянно публикуются улучшения и исправления, т.е. фреймворк живой.</p><p>Ну и в-третьих, стартапы и малый бизнес всегда стараются брать пример с крупных компаний. И если, конечно, этому сегменту позволит развиваться экономическая ситуация, спрос на решения на Ruby on Rails будет расти за счет скорости разработки и гибкости. А будет спрос – будут и вакансии. Так что Ruby on Rails жив и будет жить. По крайней мере еще какое-то время.</p>]]></content:encoded>
    </item>
    <item>
      <title>Подборка мемов от Tproger — кранчи, Stack Overflow и зарплаты джунов ☕</title>
      <link>https://tproger.ru/articles/podborka-memov-ot-tproger-kranchi-stack-overflow-i-zarplaty-dzhunov</link>
      <comments>https://tproger.ru/articles/podborka-memov-ot-tproger-kranchi-stack-overflow-i-zarplaty-dzhunov?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Рафаил Агазода]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/podborka-memov-ot-tproger-kranchi-stack-overflow-i-zarplaty-dzhunov</guid>
      <description><![CDATA[<p>Собрали подборку лучших мемов за прошлую неделю из наших юмористических каналов — IT Юмора в Телеграме и /dev/null в VK.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/podborka-memov-ot-tproger-kranchi-stack-overflow-i-zarplaty-dzhunov">Подборка мемов от Tproger — кранчи, Stack Overflow и зарплаты джунов ☕</a>»</p>]]></description>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Stack Overflow]]></category>
      <category><![CDATA[IDE]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Баги и ошибки]]></category>
      <category><![CDATA[Юмор]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 12 Dec 2022 13:21:30 GMT</pubDate>
      <content:encoded><![CDATA[<p>Собрали подборку лучших мемов за прошлую неделю из наших юмористических каналов — <a href="https://t.me/+ANwhTyPVDARhNzAy">IT Юмора</a> в Телеграме и <a href="https://vk.com/tnull">/dev/null</a> в VK.</p><p>Налейте любимый напиток в огромную кружку и украсьте понедельник мемами!</p><h2>Ищем сотрудника. Кранчей (не) будет</h2><p>«Если это календарь вам о чём-нибудь говорит, то просканируйте QR-код»</p><p>В комментариях обратили внимание на работу в выходные:</p><figure><img src="https://media.tproger.ru/uploads/2022/12/Snimok-jekrana-ot-2022-12-12-15-25-47.png" alt="" /></figure><h2>Немного о синдроме самозванца</h2><p>«Не знаю, спроси у челов на Stack Overflow»</p><p>Эй, а в чём проблема с веб-разработкой?..</p><figure><img src="https://media.tproger.ru/uploads/2022/12/Snimok-jekrana-ot-2022-12-12-15-26-47.png" alt="" /></figure><h2>В погоне за KPI</h2><p>Хорошо ведь, вышел в плюс получается</p><p>Постарайтесь не выгореть, любимые читатели!..</p><figure><img src="https://media.tproger.ru/uploads/2022/12/Snimok-jekrana-ot-2022-12-12-15-27-52.png" alt="" /></figure><h2>Хорошо, когда у джуна есть зарплата</h2><p>Редкое фото, на котором джуниор получает свою первую зарплату:</p><p>Однажды Эрнест Хемингуэй поспорил, что сможет написать самый короткий рассказ, способный растрогать любого. Он выиграл спор, написав рассказ из трёх строк:</p><figure><img src="https://media.tproger.ru/uploads/2022/12/Snimok-jekrana-ot-2022-12-12-15-29-31.png" alt="" /></figure><h2>Блокнот — тоже IDE?</h2><p>Дорогая IDE, не лети впереди паровоза.</p><p>Вспомнил известный рассказ про <a href="https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B8%D0%B7%D0%B0_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0)">Элизу</a>. В рассказе код писали в тетрадке:</p><figure><img src="https://media.tproger.ru/uploads/2022/12/Snimok-jekrana-ot-2022-12-12-15-30-34.png" alt="" /></figure><h2>Опыт разработки — 71 год</h2><p>Очень быстрый набор опыта</p><p>Но есть способ и похитрее:</p><figure><img src="https://media.tproger.ru/uploads/2022/12/Snimok-jekrana-ot-2022-12-12-15-31-32.png" alt="" /></figure><p>Делитесь своими мемами под этой записью, и пусть ваш понедельник будет задорным. ?</p>]]></content:encoded>
    </item>
    <item>
      <title>Docker и Visual Studio Code Remote-Containers — как сэкономить время при развёртывании проектов</title>
      <link>https://tproger.ru/articles/docker-i-visual-studio-code-remote-containers-kak-sjekonomit-vremja-pri-razvjortke-proektov</link>
      <comments>https://tproger.ru/articles/docker-i-visual-studio-code-remote-containers-kak-sjekonomit-vremja-pri-razvjortke-proektov?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Александр Бунтов]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/docker-i-visual-studio-code-remote-containers-kak-sjekonomit-vremja-pri-razvjortke-proektov</guid>
      <description><![CDATA[<p>Попробуем использовать инструмент для контейнеризации проекта со всем его окружением. Это позволит автоматизировать развёртывание.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/docker-i-visual-studio-code-remote-containers-kak-sjekonomit-vremja-pri-razvjortke-proektov">Docker и Visual Studio Code Remote-Containers — как сэкономить время при развёртывании проектов</a>»</p>]]></description>
      <category><![CDATA[Ruby]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Пост пользователя]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 02 Aug 2021 12:12:05 GMT</pubDate>
      <content:encoded><![CDATA[<p>Начало проекта на Ruby on Rails — это время на развёртывание: установка нужной версии, гемов и их зависимостей, а также различных баз данных. Иногда процесс идёт не идеально, и приходится тратить время на поиск решения в Stackoverflow. Чтобы упростить жизнь, можно использовать инструмент для контейнеризации проекта со всем его окружением. Это позволит автоматизировать развёртывание и добавит бонусов вашему резюме.</p><p>В качестве полнофункциональной среды разработки мы будем использовать Docker-контейнеры и Visual Studio Code. По тому, как установить и пользоваться Docker есть масса статей и видео, поэтому этот увлекательный путь вы без труда пройдёте сами. А вот для Visual Studio Code нам потребуется установить специальное приложение <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers">Remote-Containers plugin</a>, которое позволит работать внутри контейнера и использовать весь набор функций.</p><p>Шаг первый: завернуть весь проект с помощью Docker и Docker-Compose. Создать докер файл легко: вам достаточно нажать в VS Code F1, выбрать Docker: Add Docker Files to Workspace и следовать подсказкам. Также можно создать Dockerfile в корневой папке. Пример файла для Ruby on Rails приложения:</p><p>Далее создаем файл со скриптами entrypoint.sh, который так же добавим в корневую папку:</p><p>Чтобы магия сработала, создадим docker-compose.yml:</p><p>После этого устанавливаем <a href="https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers">Remote-Containers plugin</a> в VS Code — плагин позволит работать внутри контейнера. Затем создаем файл конфигурации: F1 &gt;&gt; Remote-Containers: Add Development Container Configuration Files</p><figure><img src="https://media.tproger.ru/uploads/2021/07/Screen-Shot-2021-07-15-at-03.22.06.png" alt="" /></figure><p>В папке .devcontainer вы найдете файл devcontainer.json</p><p>Внесём новые настройки и уберем лишние комментарии. Добавим все сервисы из docker-compose.yml в "runServices": ["workspace", "db", "redis"], чтобы запустить их на старте.</p><p>Для того, чтобы VS Code останавливал контейнеры, когда окно закроется, добавим строчку "shutdownAction": "stopCompose", а также добавим список портов внутрь контейнера, которые будут доступны локально "forwardPorts": [3000]</p><p>Пример итогового содержания файла:</p><p>Теперь подготовим базу для нашего приложения и запустим в терминале: docker-compose run workspace rake db:create. Запускаем F1 &gt;&gt; Remote-Containers: Rebuild and Reopen in Container и с помощью команды в терминале rails s открываем готовое приложение.</p><figure><img src="https://media.tproger.ru/uploads/2021/07/Screen-Shot-2021-07-15-at-03.11.16.png" alt="" /></figure><p>После запуска, вам понадобятся все плагины, которыми вы пользуетесь в ежедневной работе. Их легко перенести в среду разработки нажав на кнопку, указанную на скриншоте:</p><figure><img src="https://media.tproger.ru/uploads/2021/07/Screen-Shot-2021-07-15-at-03.13.28.png" alt="" /></figure><p>Поздравляю! Теперь не нужно устанавливать никакие зависимости и лишние библиотеки — вы работаете внутри контейнера.</p>]]></content:encoded>
    </item>
    <item>
      <title>Создатели Ruby on Rails выпустили инструмент для отказа от JavaScript при разработке веб-приложений</title>
      <link>https://tproger.ru/news/sozdateli-ruby-on-rails-vypustili-instrument-dlja-otkaza-ot-javascript-pri-razrabotke-veb-prilozhenij</link>
      <comments>https://tproger.ru/news/sozdateli-ruby-on-rails-vypustili-instrument-dlja-otkaza-ot-javascript-pri-razrabotke-veb-prilozhenij?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/sozdateli-ruby-on-rails-vypustili-instrument-dlja-otkaza-ot-javascript-pri-razrabotke-veb-prilozhenij</guid>
      <description><![CDATA[<p>Компания Basecamp предлагает альтернативный подход к современным веб-приложениям. В основе — фреймворк Turbo, передающий части страниц через WebSocket.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/sozdateli-ruby-on-rails-vypustili-instrument-dlja-otkaza-ot-javascript-pri-razrabotke-veb-prilozhenij">Создатели Ruby on Rails выпустили инструмент для отказа от JavaScript при разработке веб-приложений</a>»</p>]]></description>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 23 Dec 2020 12:58:38 GMT</pubDate>
      <content:encoded><![CDATA[<p>Компания Basecamp уже успела создать одноимённый менеджер проектов и разработать Ruby on Rails. А сейчас она решила посягнуть на святое и выпустить Hotwire. На <a href="https://hotwire.dev/">сайте</a> проекта говорится, что это «альтернативный подход к созданию современных веб-приложений без использования JavaScript».</p><figure><img src="https://media.tproger.ru/uploads/2020/12/Screen-Shot-2020-12-23-at-15.56.13.png" alt="" /></figure><p>В основу инструмента лёг фреймворк <a href="https://turbo.hotwire.dev/">Turbo</a>. Он представляет из себя набор дополнительных методов для ускорения изменений страниц. Также он используется для отправки форм. Достигается высокая скорость благодаря разделению веб-страницы на компоненты и передачи этих кусков через WebSocket.</p><p>На сайте проекта заявляется, что Hotwire позволяет достигнуть «скорости одностраничного веб-приложения без написания JavaScript-кода». В том числе за счёт отправки «по проводам» HTML вместо JSON.</p><p>Помимо Turbo, в состав Hotwire также входят Stimulus и Strada. Дополнительную информацию о первом можно <a href="https://stimulus.hotwire.dev/">почитать</a> на странице фреймворка, а вот информация о Strada (как и сам инструмент) появится чуть позже, в 2021 году.</p><p>Источник: <a href="https://hotwire.dev/">Hotwire</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Состоялся релиз IDE RubyMine 2017.3 от JetBrains</title>
      <link>https://tproger.ru/news/rubymine-2017-3</link>
      <comments>https://tproger.ru/news/rubymine-2017-3?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Арсений Шамов]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/rubymine-2017-3</guid>
      <description><![CDATA[<p>RubyMine стала производительнее, поддерживает вложенные проекты и WSL, получила настройку RuboCop и извлечение методов в private и protected.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/rubymine-2017-3">Состоялся релиз IDE RubyMine 2017.3 от JetBrains</a>»</p>]]></description>
      <category><![CDATA[Ruby]]></category>
      <category><![CDATA[IDE]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sun, 03 Dec 2017 09:48:13 GMT</pubDate>
      <content:encoded><![CDATA[<p>В первую очередь следует отметить <a href="https://blog.jetbrains.com/ruby/2017/09/rubymine-2017-3-eap1-is-open-2/#performance">возросшую производительность</a>. Это особенно заметно при выполнении объёмных задач — например, тестировании работы всего приложения. Улучшена ориентация во встроенных ключевых словах Rails, таких как колбэки before_action. <a href="https://blog.jetbrains.com/ruby/2017/10/rubymine-2017-3-eap4-code-intelligence-improved/#intelligence">Усовершенствованный анализатор кода</a> лучше справляется с маппингом указанных и заданных аргументов методов. Кроме того, новая RubyMine теперь поддерживает приложения с вложенными проектами: она обнаруживает расположенные в приложении проекты и их gem-файлы, и позволяет просто вставлять их в код и настраивать их параметры.</p><h3>WSL</h3><p>В новой версии появилась поддержка Windows Bash, а также есть возможность <a href="https://confluence.jetbrains.com/display/RUBYDEV/How+to+add+WSL+SDK+on+Windows+to+RubyMine">установки WSL</a>.</p><h3>Рефакторинг</h3><p>Изменения затронули также рефакторинг. В новой версии IDE можно <a href="https://blog.jetbrains.com/ruby/2017/09/rubymine-2017-3-eap1-is-open-2/#refactoring">извлекать методы</a> прямо в разделы private или protected.</p><h3>RuboCop</h3><p><a href="https://blog.jetbrains.com/ruby/2017/09/rubymine-2017-3-eap1-is-open-2/#rubocop">Претерпел изменения</a> RuboCop. Теперь пользователь может не только произвести автокоррекцию всего файла, но и создать особый cop department или offence class. Более того, RubyMine 2017.3 поддерживает пользовательские конфигурации rubocop.yml, что делает редактирование кода ещё удобнее.</p><h3>Стиль кода</h3><p><a href="https://blog.jetbrains.com/ruby/2017/09/rubymine-2017-3-eap1-is-open-2/#code-style">Доработано</a> управление стилем кода — добавили возможность индентировать частные и защищённые методы, а также выбирать, вокруг каких операторов нужно добавлять пробелы, а какие оставлять без изменений.</p><h3>Puppet</h3><p>Новая версия RubyMine <a href="https://blog.jetbrains.com/ruby/2017/09/rubymine-2017-3-eap1-is-open-2/#epp">поддерживает синтаксисы шаблона EPP</a>. IDE производит автодополнение шаблонов и манифестов и переключаться между ними. Функция Refactor Rename позволяет переименовывать переменные и параметры, а инструмент Find Usages — определять, в каких местах проекта применены пользовательские шаблоны.</p><h3>Отладчик</h3><p>Отладчик обзавёлся <a href="https://blog.jetbrains.com/ruby/2017/09/rubymine-2017-2-3-rc-docker-on-windows-and-debugger/#better-performing-debugger">функцией оценки</a> Trace to_s, ограничивающей время выполнения особенно ресурсоёмких операций, экономя время пользователя во время отладки программы.</p><h3>REST-клиент</h3><p>Ещё одним нововведением RubyMine 2017.3 стала возможность <a href="https://blog.jetbrains.com/phpstorm/2017/09/editor-based-rest-client/">тестировать API в IDE</a>. Для этого нужно написать HTTP-запросы в файле .http и запустить их иконками на боковой колонке.</p><h3>JavaScript</h3><p>Были доработаны <a href="https://blog.jetbrains.com/webstorm/2017/10/webstorm-2017-3-eap-173-3188/">функции</a> автозавершения кода и выведения информации для стандартных объектов, методов и Web API JavaScript.</p><p><a href="https://blog.jetbrains.com/webstorm/2017/09/webstorm-2017-3-eap/#vue">Поддержка </a><a href="https://blog.jetbrains.com/webstorm/2017/09/webstorm-2017-3-eap/#vue">Vue.js и</a><a href="https://blog.jetbrains.com/webstorm/2017/09/webstorm-2017-3-eap/#vue"> </a><a href="https://blog.jetbrains.com/webstorm/2017/09/webstorm-2017-3-eap/#vue">функции </a>завершения и перехода к определению <a href="https://blog.jetbrains.com/webstorm/2017/09/webstorm-2017-3-eap/#vue">теперь работают</a> со входными параметрами Vue, свойствами в объектах данных, вычисляемыми свойствами, а также методами.</p><p>Улучшена <a href="https://blog.jetbrains.com/webstorm/2017/09/webstorm-2017-3-eap-173-2463/#css-impovements">работа с CSS</a>: благодаря новым вариантам окончаний кода для значений со свойствами transform, transition и pointer-events повысилась точность работы функции автозавершения кода для свойств и значений CSS.</p><h3>Контроль версий</h3><p>Усовершенствована <a href="https://www.jetbrains.com/ruby/whatsnew/#v2017-3-version-control">система контроля версий</a>: так, в функцию просмотра событий добавлено действие Interactively Rebase from Here, позволяющее подбирать, редактировать, пропускать, сжимать, переформулировать код и фиксировать его изменения. Сохраняются настройки каждой области рабочего пространства: открытые файлы, текущую конфигурацию и все контрольные точки. Также IDE показывает файлы, которые были изменены коммитом слияния, даже если они отличаются от общего родителя.</p><h3>Инструменты баз данных</h3><p>Доработке подверглись базы данных: узлы схем в древе базы данных были заменены <a href="https://blog.jetbrains.com/datagrip/2017/09/29/we-open-datagrip-2017-3-eap/">функцией в контекстном меню</a>, показывающей количество схем, отображаемых на древе в определённый момент времени. Для создания DDL-скриптов теперь можно использовать <a href="https://blog.jetbrains.com/datagrip/2017/11/02/datagrip-2017-3-eap-3/">SQL-генератор</a>. Кроме того, были улучшены <a href="https://blog.jetbrains.com/datagrip/2017/11/02/datagrip-2017-3-eap-3/">инструменты работы с SSH</a>.</p><h3>Прочие нововведения RubyMine 2017.3</h3><p>Среди других изменений можно отметить поддержку <a href="https://youtrack.jetbrains.com/issue/RUBY-20259">Ruby 2.5</a>, <a href="https://youtrack.jetbrains.com/issue/RUBY-20093">Gems.rb</a>, <a href="https://youtrack.jetbrains.com/issue/RUBY-20256">Docker Compose v3</a>, Cucumber Expressions, улучшенный Markdown, возможности <a href="https://youtrack.jetbrains.com/issue/RUBY-19336">переименования файлов из вкладок</a>, <a href="https://youtrack.jetbrains.com/issue/RUBY-19831">свёртывания многострочных контейнеров</a>, предложения <a href="https://youtrack.jetbrains.com/issue/RUBY-8936">установки gem’ов</a> в сообщениях трассировки стека, а также встроенную функцию установки Bundler через меню «Инструменты».</p>]]></content:encoded>
    </item>
    <item>
      <title>Врубись в Ruby: подборка книг по Ruby и Ruby on Rails</title>
      <link>https://tproger.ru/books/ruby-ror-books</link>
      <comments>https://tproger.ru/books/ruby-ror-books?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/books/ruby-ror-books</guid>
      <description><![CDATA[<p>Подборка книг помогает изучать Ruby и Ruby on Rails: от основ языка до проектирования API, функционального программирования и версии Ruby 2.1.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/books/ruby-ror-books">Врубись в Ruby: подборка книг по Ruby и Ruby on Rails</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Ruby]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Для продолжающих]]></category>
      <category><![CDATA[Книги]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 28 Aug 2017 06:19:45 GMT</pubDate>
      <content:encoded><![CDATA[<p>Ruby начал разрабатываться 23 февраля 1993 года и вышел в свет в 1995 году. Название навеяно языком Perl, многие особенности синтаксиса и семантики из которого заимствованы в Ruby (pearl — «жемчужина», ruby — «рубин»). Целью разработки было создание «настоящего объектно-ориентированного», лёгкого в разработке, интерпретируемого языка программирования.</p><p>Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора и многими другими возможностями. Кроссплатформенная реализация интерпретатора языка является полностью свободной.</p><p>Ruby on Rails (RoR) — фреймворк, написанный на языке программирования Ruby. Он реализует архитектурный шаблон Model-View-Controller для веб-приложений, а также обеспечивает их интеграцию с веб-сервером и сервером баз данных. Является открытым программным обеспечением и распространяется под лицензией MIT.</p><p>Чтобы помочь вам в изучении этих технологий, мы собрали подборку книг. Как всегда, если вы знаете книгу, которая не попала в этот материал, делитесь ей в комментариях.</p><p>Эта книга предназначена для тех, кто хочет писать на Ruby как профи. В ней рассказывается, как проектировать красивые API и работать с приёмами функционального программирования. Новичкам книга не подойдёт, а вот тем, кто уже разбирается в Ruby, она точно пригодится.</p><p>Цель данной книги — научить читателей эффективно использовать язык Ruby. В книге рассматривается версия Ruby 2.1. Издание содержит около 400 различных примеров, сопровождающихся четкой постановкой задачи и ее решением с подробными комментариями.</p><p>Книга отличается достаточно низким входным порогом. Для ее изучения необязательно знать основы веб-разработки. В книге материал о Ruby on Rails, популярного фреймворка для разработки веб-приложений, дается с нуля. Автор Майкл Хартл, помимо Ruby on Rails, знакомит читателя с основами самого языка Ruby, языка запросов SQL, CSS, HTML. В книге много внимания уделено практическому использованию возможностей фреймворка. Также можно ознакомиться с <a href="https://dmkpress.com/files/PDF/978-5-97060-429-8.pdf">фрагментом</a> книги.</p><p>А эта книга пригодится именно начинающим. Её сложность увеличивается по нарастающей, и в каждом следующем разделе используются навыки, полученные в предыдущих.</p><p>С «Изучаем Ruby» вы в легкой и увлекательной форме на практике освоите все возможности этого языка, который сначала стремительно захватил сердца программистов Калифорнии, а затем и России.</p><p>Прочитав эту книгу, вы научитесь писать элегантный код с применением всех его уникальных особенностей.</p><p>В этой книге подробное разбирается внутреннее устройство языка Ruby. Знать сам Ruby читателю не обязательно, но вот знание C и, в особенности, принципов ООП будет огромным плюсом.</p><p>Эта книга отлично подойдёт для знакомства с Ruby. В ней разбираются все необходимые основы: от установки языка до обработки файлов и ООП. Каждая тема снабжена понятными примерами.</p><p>В этой книге рассказывается об одной из самых интересных фич Ruby — блоках. Они похожи на замыкания и лямбды и используются как в простых структурах языка вроде блоков, так и в сложных приёмах.</p><p>Эта книга разбита на несколько секций, различающихся по сложности. Сперва рассказывается о настройке и основных возможностях Ruby, а затем речь идёт о стандартной библиотеке и темах для продвинутых.</p><p>В этой книге рассказывается об основах веб-разработки на популярном фреймворке Ruby on Rails. Чтобы дать читателю представление о работе с реальными проектами, в книгу включены примеры использования Git, GitHub и Heroku.</p><p>Эта книга посвящена использованию принципов ООП в веб-проектах на Ruby on Rails. Фокус смещён в сторону практических решений, которые берут наилучшее от «пути Rails» и объектно-ориентированного подхода.</p><p>Также советуем ознакомиться с <a href="https://github.com/arbox/ruby-style-guide/blob/master/README-ruRU.md">этим руководством по стилю оформления</a> Ruby-кода и <a href="http://guides.rubyonrails.org">официальными гайдами</a> по Ruby on Rails.</p>]]></content:encoded>
    </item>
    <item>
      <title>Django или Ruby on Rails: какой фреймворк выбрать?</title>
      <link>https://tproger.ru/translations/django-or-ruby-on-rails</link>
      <comments>https://tproger.ru/translations/django-or-ruby-on-rails?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Дмитрий Юрченко]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/translations/django-or-ruby-on-rails</guid>
      <description><![CDATA[<p>Django и Ruby on Rails отличаются подходом к языку, философией и используемыми языками программирования, что влияет на выбор веб-фреймворка.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/translations/django-or-ruby-on-rails">Django или Ruby on Rails: какой фреймворк выбрать?</a>»</p>]]></description>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Ruby]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Django]]></category>
      <category><![CDATA[Переводы]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 16 May 2017 09:31:01 GMT</pubDate>
      <content:encoded><![CDATA[<p>Вопрос выбора фреймворка часто встаёт перед стартаперами или программистами. Первые хотят, чтобы проект был основан на наиболее подходящем, трендовом фреймворке. Вторые хотят развивать свои навыки и применять знания в реальных проектах. Обе цели могут быть достигнуты путём ознакомления с веб-фреймворком. Мы перевели для вас <a href="http://djangostars.com/blog/django-or-rails/?utm_source=tproger.ru&amp;utm_medium=translate&amp;utm_campaign=article&amp;utm_content=">материал о правильном выборе из этих двух альтернатив</a>.</p><h2>Змея или драгоценный камень</h2><p>Основные различия между фреймворками заключаются в подходе к языку, философии и языках программирования, которые они используют. Философия Python «Есть только один очевидный способ решения задачи» противоречит гибкости, свободе и силе выбора Ruby.</p><p>Большинство новичков начинают программировать на Python. Самый первый взгляд на код Python заманивает тех, кто не знаком с языком. Его синтаксис просто идеален: нет точек с запятой, странных специальных символов или ключевых слов. Если вы еще не программировали на Python — попробуйте, вы не разочаруетесь. Код на Python будет выглядеть следующим образом:</p><p>Синтаксис Python делает его подходящим для большинства проектов. Читаемость кода также упрощает присоединение новичков в команду разработчиков.</p><p>Python также хорош для прототипирования. Вы можете реализовать новую идею, используя Python. Если идея осуществима и ваше приложение требует высокой производительности, идея может быть повторно реализована на высокопроизводительном языке программирования вроде C++.</p><p>Прим. перев.  Если вы захотите начать изучение Python, советуем обратить внимание на наши <a href="https://tproger.ru/tag/python/">обучающие материалы</a> по этому языку.</p><p>Ruby особенный. Его можно назвать экзотическим и изящным. Не удивительно, что этот язык был изобретен японцами. В его строках есть что-то исключительное, что вызывает интерес. И хотя код не так читаем, как на Python, синтаксис по-прежнему очень прост для понимания и изучения. Код на этом уникальном языке будет выглядеть так:</p><p>В Ruby всё является объектами. Каждый тип данных относится к определенному классу со встроенными методами. То же самое относится к Python. Другой популярной особенностью Ruby являются «блоки». Используя их, вы можете изменить любой метод (даже встроенный).</p><h2>Особенности фреймворков</h2><p>Ruby on Rails и Django — это веб-фреймворки для реализации <a href="https://tproger.ru/articles/mvc/">схемы Model-View-Controller</a>. Этот шаблон разделяет проблемы разработки на три блока. Вот как это работает:</p><figure><img src="https://media.tproger.ru/uploads/2017/05/model_2.png" alt="" /></figure><p>В двух словах, все три компонента шаблона MVC — это просто классы с методами. Представим ,что мы создали простой блог:</p><ul><li>Model представляет базы данных: профили пользователей, комментарии, сообщения и т.д.</li><li>View переносит данные в шаблон HTML и отправляет их в Controller.</li><li>Controller соединяет Model и View, обрабатывает пользовательские запросы и отправляет ответы обратно в веб-браузер.</li></ul><p>В Django имя шаблона немного отличается и может смутить сначала. Это тот же MVC, но View называется Template, а Controller называется View. Таким образом, мы получаем MTV.</p><h2>Расположение файлов</h2><p>Ruby on Rails и Django по-разному упорядочивают файлы внутри проекта . Представьте, что у нас есть веб-приложение Rails с именем my_taxi. Когда разработчик добавляет новый компонент, например «счета» или «платежи», он должен перейти в специальное место:</p><figure><img src="https://media.tproger.ru/uploads/2017/05/11.png" alt="" /></figure><p>Django использует отдельные приложения для каждого компонента. Каждое приложение содержит собственные классы моделей, представлений и шаблонов. Это очень удобно, если ваш проект быстро развивается:</p><figure><img src="https://media.tproger.ru/uploads/2017/05/111.png" alt="" /></figure><h2>Продуктивность</h2><p>И Ruby on Rails, и Django имеют так называемые «волшебные», готовые решения. Однако магия RoR намного превосходит всё остальное.</p><p>Когда разработчик Rails создает контроллер, его методы могут автоматически обращаться к переменным и наследовать методы другого класса. Ни эти классы, ни переменные не определены явно. Ruby on Rails просто добавляет их автоматически. Он также автоматически устанавливает маршруты внутри MVC.</p><p>Разработчик Django, напротив, должен явно определять переменные и классы импорта. Они должны использовать <a href="https://tproger.ru/translations/regular-expression-python/">регулярные выражения</a> (что-то вроде ^[A-Z]+[a-z\g]$) для определения маршрутов и URL-адресов. Разработчики Django должны полностью понять, как все работает внутри, чтобы настроить код.</p><p>Приятно полагаться на волшебство, когда вы хотите как можно быстрее запустить веб-приложение. Для новичков-программистов это самый простой способ понять, как работают веб-фреймворки. С другой стороны, это покажет только картинку в целом. Развертывание веб-приложения на Django поможет понять, как все это работает в деталях.</p><h2>Производительность</h2><p>Оба фреймворка основаны на интерпретируемых скриптовых языках. Это приводит к почти одинаковой производительности. Ранние версии Ruby, такие как 1.8 или 1.9.x, были низко производительными. В те дни Twitter перешел с Ruby on Rails на Scala, заявив, что «Twitter Search теперь стал в 3 раза быстрее». Но имейте в виду, что большинство компаний вряд ли достигнут такого же объема трафика, как Twitter.</p><p>Обычно Python считается немного быстрее Ruby. Некоторые люди могут спорить и ссылаться на сравнительное сравнение времени выполнения. Тесты показывают идентичные результаты с точки зрения производительности. Однако даже эксперты Ruby признают, что язык медленный. Хорошей новостью является то, что каждая новая версия языков программирования повышает производительность.</p><h2>Документация и сообщества</h2><p>Документация является личным предпочтением. Оба фреймворка хорошо документированы и организованы. Команды разработчиков Django Software Foundation и Rails проделали большую работу, чтобы документации были структурированными и удобными. Они похожи на простые книги, которые приятно читать.</p><p><a href="https://docs.djangoproject.com/en/1.11/"></a></p><p><a href="http://guides.rubyonrails.org/"></a></p><p>Благодаря сообществам на StackOverflow и GitHub мы можем открыть Google и просто найти нужный код. Идея, которая придет вам на ум завтра, уже сегодня имеет готовое решение. Существует много программ, разработанных сообществом. Плагины могут помочь справиться с большинством задач.</p><p>Однако сообщества разные. Первоначально Ruby — это язык программирования общего назначения. Хотя существуют другие Ruby-структуры, такие как Sinatra или Lotus, большая часть Ruby относится к Rails. И Rails — это среда веб-разработки.</p><p>Python, напротив, выходит далеко за рамки веб-разработки. Есть много людей, которые используют Python для создания географических информационных систем, научно-ориентированных проектов, систем автоматизации тестирования и многого другого.</p><h2>Что выбрать?</h2><h3>Django и Python</h3><ul><li>Если вы знаете, что делать.</li><li>Если вы привыкли все делать в срок.</li><li>Если вы считаете, что документация — лучший друг программиста.</li></ul><h3>Ruby on Rails</h3><ul><li>Если вы ожидаете поддержку от веб-сообщества.</li><li>Если вы довольны большим количеством плагинов.</li><li>Если вы ищете фреймворк, который будет работать за вас.</li></ul><h2>Заключение</h2><p>Django и Ruby on Rails выглядят как близнецы от разных родителей: у каждого своя философия и свои особенности. Но когда дело доходит до работы, они действуют одинаково: они оба являются превосходными фреймворками, которые могут справляться с похожими задачами, используя свои уникальные подходы.</p><p>Чтобы сделать выбор было проще, посмотрите другой материал. Он рассказывает, <a href="https://tproger.ru/articles/which-technology-to-choose/">как выбрать технологию для большого и не очень большого веб-проекта</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Стали доступны бета-версия Ruby on Rails 5.1 и релиз-кандидат 5.0.2</title>
      <link>https://tproger.ru/news/rails-5-1-beta-released</link>
      <comments>https://tproger.ru/news/rails-5-1-beta-released?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Никита Мингалеев]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/rails-5-1-beta-released</guid>
      <description><![CDATA[<p>Бета Rails 5.1 приносит шифрование, системные тесты и работу с JavaScript-зависимостями через Yarn, а финальный релиз ожидается 1 марта 2017 года.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/rails-5-1-beta-released">Стали доступны бета-версия Ruby on Rails 5.1 и релиз-кандидат 5.0.2</a>»</p>]]></description>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 27 Feb 2017 15:32:30 GMT</pubDate>
      <content:encoded><![CDATA[<p>Бета-версия Ruby on Rails 5.1 принесет с собой множество улучшений, таких как шифрование, системные тесты и работу с JavaScript-зависимостями из NPM благодаря новому <a href="http://www.infoworld.com/article/3172725/javascript/npm-or-yarn-nodejs-devs-pick-their-package-manager.html">менеджеру пакетов Yarn</a> от Facebook.</p><p>Что нас ждет в этом обновлении:</p><ul><li>Благодаря поддержке JavaScript-зависимостей станут доступны многие библиотеки, например, React.</li><li>jQuery больше не используется; вместо этого разработчики смогут компилировать JS-код, используя бандлер модулей Webpack через gem <a href="https://github.com/rails/webpacker">Webpacker</a>.</li><li>Отныне зашифрованный файл с секретными ключами подготавливается с использованием bin/rails secrets:setup, который генерирует мастер-ключ, необходимый для хранения вне репозитория, что позволяет разработчикам заливать код на продакшн даже с секретными ключами.</li><li>Для тестирования приложений в Rails 5.1 будет встроена библиотека <a href="https://teamcapybara.github.io/capybara/">Capybara</a>.</li><li>Упрощен процесс создания форм благодаря объединению двух иерархий: form_for и form_with .</li></ul><p>С полным <a href="http://weblog.rubyonrails.org/2017/2/23/Rails-5-1-beta1/">списком изменений</a> вы можете ознакомиться на официальном сайте фреймворка.</p><p>Релиз-кандидат Ruby on Rails 5.0.2 <a href="https://web.archive.org/web/20170303211824/http://weblog.rubyonrails.org:80/2017/2/25/Rails-5-0-2-rc1-has-been-released/">был выпущен</a> сразу после выхода беты 5.1. Финальный релиз ожидается 1 марта 2017 года.</p>]]></content:encoded>
    </item>
    <item>
      <title>В MIT разработали новую отладочную систему для поиска ошибок безопасности в Web-приложениях</title>
      <link>https://tproger.ru/news/mit-new-security-flaws-debugger</link>
      <comments>https://tproger.ru/news/mit-new-security-flaws-debugger?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/mit-new-security-flaws-debugger</guid>
      <description><![CDATA[<p>Инструмент опирается на особенности Ruby on Rails: на 50 популярных приложениях он нашёл 23 неизвестные ранее уязвимости, тратя не более 64 секунд.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/mit-new-security-flaws-debugger">В MIT разработали новую отладочную систему для поиска ошибок безопасности в Web-приложениях</a>»</p>]]></description>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Ruby on Rails]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sat, 16 Apr 2016 09:53:39 GMT</pubDate>
      <content:encoded><![CDATA[<p>Поиск ошибок в Web-приложениях — непрекращающееся испытание, и новый инструмент, созданный Массачусетским технологическим институтом, призван помочь нам в этом.</p><p>Он использует некоторые особенности фреймворка Ruby on Rails для обнаружения новых уязвимостей. В тестах использовались 50 популярных веб-приложений, написанных на RoR, и система обнаружила 23 ранее неизвестных ошибки безопасности. Время анализа любого приложения не превысило 64 секунд.</p><p>От других фреймворков Ruby on Rails отличает тот факт, что даже самые простые операции определены в его библиотеках. Исследователи из MIT воспользовались этим и переписали библиотеки так, что определённые в них операции стали описывать своё поведение на языке логики.</p><p>Это превратило интерпретатор Rails, преобразующий высокоуровневый код программ в машинный, в инструмент для <a href="https://ru.wikipedia.org/wiki/Статический_анализ_кода">статического анализа кода</a>, описывающий процесс обработки данных в программе. В итоге выполнение программы на Rails в этом интерпретаторе сопровождалось формальным построчным описанием процессов обработки данных.</p><p>Dubbed Space — новый дебаггер — фокусируется на процедурах доступа к данным, выполняемых в программе, используя простую логическую модель, описывающую, выполнение каких операций и при каких обстоятельствах разрешено пользователю. Благодаря описаниям, сгенерированным «хакнутыми» библиотеками, Space может автоматически определять, следует ли программа этой модели; если не следует, то вероятно наличие уязвимости.</p><p>Исследователи представят свои результаты на <a href="http://www.icse-conferences.org">ICSE 2016</a> в мае.</p>]]></content:encoded>
    </item>
  </channel>
</rss>