<?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>Спонсорское</title>
    <description>Статьи, которые присылают наши спонсоры. Мы получаем от них поддержку, а для читателей отбираем только интересный и полезный материал — в итоге в выигрыше все стороны.</description>
    <link>https://tproger.ru/sponsored</link>
    <atom:link href="https://tproger.ru/sponsored/feed" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Fri, 23 Oct 2026 16:29:47 GMT</lastBuildDate>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>12</sy:updateFrequency>
    <image>
      <title>Спонсорское</title>
      <link>https://tproger.ru</link>
      <url>https://tproger.ru/apple-touch-icon.png</url>
    </image>
    <item>
      <title>Как стать успешным программистом и найти работу — доклад в рамках недели кода</title>
      <link>https://tproger.ru/sponsored/how-to-become-a-successful-programmer</link>
      <comments>https://tproger.ru/sponsored/how-to-become-a-successful-programmer?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Типичный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/how-to-become-a-successful-programmer</guid>
      <description><![CDATA[<p>Доклад международной недели кода посвящён пути к профессии программиста и поиску работы, а также содержит тезисы и важные ссылки.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/how-to-become-a-successful-programmer">Как стать успешным программистом и найти работу — доклад в рамках недели кода</a>»</p>]]></description>
      <category><![CDATA[Работа]]></category>
      <category><![CDATA[Карьера]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 19 Oct 2017 14:06:06 GMT</pubDate>
      <content:encoded><![CDATA[<p>Запись доклада в рамках международной недели кода codeweek.eu: «Как стать успешным программистом и найти работу».</p><p>Важные ссылки:</p><ul><li><a href="https://vk.cc/7f35pw">GeekUniversity</a>.</li><li><a href="https://vk.cc/7f520O">Скидка на все профессии до уровня Junior</a>.</li></ul><p>Тезисы доклада:</p><ul><li>Что надо знать и уметь программисту, чтобы понравиться работодателю?</li><li>Я сейчас изучаю необходимый минимум, или оставить тему «на потом»?</li><li>Какие программисты сейчас востребованы? Обзор языков и направлений.</li><li>Как учиться на программиста? Самообучение, традиционный университет, обучение в онлайн-университете GeekUniversity.</li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Гайдлайны для новичков в Android-разработке: что прямо сейчас намотать на ус</title>
      <link>https://tproger.ru/sponsored/android-newbies-best-practices</link>
      <comments>https://tproger.ru/sponsored/android-newbies-best-practices?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Типичный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/android-newbies-best-practices</guid>
      <description><![CDATA[<p>Начинающим Android-разработчикам советуют следить за производительностью, расходовать память и батарею, не допускать утечек и выносить работу в побочные треды.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/android-newbies-best-practices">Гайдлайны для новичков в Android-разработке: что прямо сейчас намотать на ус</a>»</p>]]></description>
      <category><![CDATA[Лучшая практика]]></category>
      <category><![CDATA[Android]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 25 Sep 2017 15:18:36 GMT</pubDate>
      <content:encoded><![CDATA[<p>Мы маленькие, а разработка под Android большая и непонятная. Собрали для начинающих несколько гайдлайнов, которые стоит принять во внимание как можно раньше.</p><h2>С первых шагов уделяйте внимание производительности</h2><p>Приведем короткий пример. Допустим, написанное вами приложение в процессе работы внезапно запрашивает больше памяти. Если памяти на устройстве не хватает, система закрывает другие работающие программы для обеспечения корректной работы вашего приложения.</p><p>Другой пример: вы скачали фильм и решили глянуть его в дороге. По вашим расчетам, зарядки должно хватить часа на 4, но в кульминационный момент телефон вырубается, потому что видеопроигрыватель съел все имеющиеся ресурсы устройства.</p><p>Вывод: не заставляйте пользователя и другие программы страдать, грамотно расходуйте оперативную память, CPU, GPU и батарею.</p><h2>Не допускайте утечек памяти</h2><p>Грубо говоря, утечка памяти — это когда вы выделили под нужный вам объект оперативную память, а после того, как он стал не актуальным, не обозначаете это. В итоге происходит переполнение стека и как результат — вылет приложения.</p><p>Это очень серьезная проблема, значимость которой увеличивается прямо пропорционально времени и интенсивности работы пользователя с приложением.</p><p>Несколько полезных рекомендаций:</p><ul><li>никогда не сохраняйте ссылки на Context, Activity, View, Fragment, Service в статических переменных;</li><li>будьте аккуратны при передаче ссылки на Activity, View, Fragment, Service в другие объекты;</li><li>никогда не сохраняйте ссылки на Fragment в Activity.</li></ul><p>Чтобы понять, о чем тут вообще речь, и углубиться в исследование темы, почитайте <a href="https://habrahabr.ru/company/sebbia/blog/243537/">разъясняющий материал</a>.</p><h2>Создавайте побочные треды</h2><p>Для того чтобы улучшить производительность приложения, обеспечить хороший отклик и избежать распространенную ошибку ANP («приложение не отвечает»), стоит разделять внутреннюю архитектуру выполнения приложения на потоки (треды). Это позволяет не перегружать главный поток, настроенный по умолчанию. Подробнее про процессы и потоки почитайте на официальном сайте.</p><h2>Используйте strings.xml</h2><p>Разработчики обычно не сразу понимают, что с текстом полезно работать как со строковым ресурсом. Но при таком подходе, например, очень просто перевести все приложение целиком на другой язык. strings.xml позволяет хранить все необходимые приложению строки в одном месте и вызывать их по id. Изучите эту технологию как можно раньше — на первых этапах может показаться, что это трата времени и проще хардкодить, но на самом деле это сильно оптимизирует процесс разработки, особенно в долгосрочной перспективе.</p><h2>Настройте Gradle по умолчанию</h2><p>Для автоматизации сборки отдайте предпочтение Gradle — инструменту, который активно разрабатывается командой Google и официально считается в этом контексте основной системой. С его помощью удобно управлять зависимостями, он позволяет использовать структуру каталогов и поддерживает инкрементальные сборки.</p><h2>Садитесь учить паттерны проектирования</h2><p>Вместо того чтобы изобретать велосипеды, быстро и элегантно катайтесь на проверенных моделях. Для этого как можно раньше <a href="http://www.javenue.info/themes/ood">начните разбирать</a> шаблоны проектирования — они описывают типичные способы решения распространенных проблем при проектировании программ.</p><h2>И учите Kotlin</h2><p>В этом году Kotlin объявили официальным языком для разработки под Android, что обеспечивает всестороннюю поддержку, рост сообщества и подспорье для быстрого развития языка. Пока не советуем хайповать и учить его вместо Java, но точно имеет смысл учить его вместе с Java. А еще лучше — когда чувствуете себя в Java хоть немного уверенно. Почитайте <a href="https://tproger.ru/translations/kotlin-vs-java-android/">сравнительный обзор</a> двух языков.</p><h2>Да и вообще, подходите к обучению комплексно</h2><p>Хватать отрывочные знания — это нормально, но без хорошей структуры и проработанного плана далеко не уедешь. Изучайте книжки, смотрите видеоуроки, общайтесь на StackOverflow, читайте статьи, но в первую очередь реализуйте «скелет», на котором все ваши знания будут жить.</p><p>Для этого лучше довериться профессионалам и <a href="https://geekbrains.ru/geek_university/android?/utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=25.09.17|geek_university_android"> записаться на программу в онлайн-университете</a>. В отличие от обычных курсов, у вас будет персональный помощник-куратор — он поможет быстро разобраться с вопросами, на которые у новичков часто уходят недели. Помимо этого обучение построено проектно-ориентировано — это значит, что вы будете создавать реальные приложения в процессе прохождения программы. Аналогичный подход используется в ведущих учебных центрах США. Год обучения = год опыта разработки.</p>]]></content:encoded>
    </item>
    <item>
      <title>Подписываюсь: подборка интересных каналов в Telegram про околоdigital</title>
      <link>https://tproger.ru/sponsored/telegram-channels-digital</link>
      <comments>https://tproger.ru/sponsored/telegram-channels-digital?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Саша Ушатинская]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/telegram-channels-digital</guid>
      <description><![CDATA[<p>Подборка включает Telegram-каналы об обучении, рекламных кампаниях, интернет-продуктах, инвестициях в криптовалюту и новостях рынка.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/telegram-channels-digital">Подписываюсь: подборка интересных каналов в Telegram про околоdigital</a>»</p>]]></description>
      <category><![CDATA[Telegram]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 20 Sep 2017 17:01:17 GMT</pubDate>
      <content:encoded><![CDATA[<p>10 каналов в Telegram, на которые советуем подписаться. Нет, не про программирование. Да, про современные технологии. Да, реально интересно.</p><h2>Снова в школу</h2><h2>Рыночные отношения</h2><h2>Крипта</h2><h2>Другое</h2>]]></content:encoded>
    </item>
    <item>
      <title>Python и R в анализе данных: основные различия и сценарии использования</title>
      <link>https://tproger.ru/sponsored/python-vs-r-data-science</link>
      <comments>https://tproger.ru/sponsored/python-vs-r-data-science?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Vladimir Gabrinevski]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/python-vs-r-data-science</guid>
      <description><![CDATA[<p>Python применяют в веб-разработке, играх и анализе данных, а R создан для наукоёмких задач; выбор зависит от рабочих задач и способа вывода данных.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/python-vs-r-data-science">Python и R в анализе данных: основные различия и сценарии использования</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Язык R]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Fri, 25 Aug 2017 15:15:37 GMT</pubDate>
      <content:encoded><![CDATA[<p>Python и R — наиболее популярные и удобные языки программирования в области анализа данных. В этой статье рассмотрим различия между R и Python и расскажем, какое они занимают место в анализе данных и статистике.</p><h2>R и Python: общая информация</h2><p>Python и R используются по-разному. У Python широкая область применения: его можно в веб-разработке, создании игр, анализе данных и многом другом. R — это язык, разработанный для наукоемких задач и анализа данных.</p><h2>Когда использовать R?</h2><p>R раньше использовался прежде всего в научных исследованиях, однако сейчас он быстро распространяется на корпоративный рынок ввиду растущей популярности BigData.</p><p>Плюсы языка:</p><ul><li>R позволяет работать с большими объемами данных.</li><li>Статистические модели пишутся в несколько строк.</li><li>Работа со сложными вычислениями значительно упрощена.</li></ul><h2>Когда использовать Python?</h2><p>Python используют программисты, которые:</p><ul><li>Хотят быстро вникнуть в анализ данных.</li><li>При этом являются новичками в анализе данных.</li><li>Работают со статистическими методами.</li></ul><p>Простой синтаксис позволяет без затруднений писать и отлаживать код. Разработчику на Python проще вывести информацию или визуализировать данные на сайте или в веб-приложении.</p><p>Сейчас R остается самым популярным языком программирования для задачи анализа данных, но часть специалистов переключаются на Python, так как с его помощью удобнее выводить данные или аналитику на веб-страницы и в приложениях.</p><p>По данным superjob.ru, спрос на специалистов по анализу данных сейчас растет — заработная плата начинается от 70 000 рублей.</p><h2>R или Python?</h2><p>Ваша задача — выбрать язык, который будет эффективно решать рабочие задачи. Вопросы, которые могут вам помочь:</p><ul><li>Какие задачи вы хотите решать?</li><li>Каковы чистые затраты на изучение языка?</li><li>Какие инструменты используются в вашей области?</li></ul><h2>Как сделать выбор новичку?</h2><p>Если ранее вы не занимались анализом данных, рекомендуем вам начать с Python, начав изучать его на <a href="https://geekbrains.ru/geek_university/python?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=23.08.17|geek_university_python">факультете Python-разработки</a>, где вы можете обучиться языку Python до продвинутого уровня. Вы научитесь:</p><ul><li>Уверенно использовать различные возможности Python.</li><li>Применять принципы объектно-ориентированного программирования при разработке приложений.</li><li>Обеспечивать взаимодействие приложений Python с базами данных.</li></ul><p><a href="https://geekbrains.ru/geek_university/python?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=23.08.17|geek_university_python">Начните свой путь в анализе данных с обучения языку Python в онлайн-университете от Mail.Ru Group!</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Full-stack разработчик: необходимые навыки и преимущества при трудоустройстве</title>
      <link>https://tproger.ru/sponsored/fullstack-dev-pros</link>
      <comments>https://tproger.ru/sponsored/fullstack-dev-pros?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Стас Воробьев]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/fullstack-dev-pros</guid>
      <description><![CDATA[<p>Full-stack специалист создаёт клиентскую и серверную части веб-приложения, работает с серверами, данными, API, интерфейсами и UX.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/fullstack-dev-pros">Full-stack разработчик: необходимые навыки и преимущества при трудоустройстве</a>»</p>]]></description>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Навыки]]></category>
      <category><![CDATA[Фронтенд]]></category>
      <category><![CDATA[Бэкенд]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Fri, 18 Aug 2017 11:07:48 GMT</pubDate>
      <content:encoded><![CDATA[<p>Fullstack-разработчик — это специалист, способный создать с нуля веб-приложение: и клиентскую, и серверную части. Ответить на вопросы, с какими технологиями должен работать такой специалист, какими обладать навыками и какие иметь знания, сможет не каждый. Рассказываем, кто такой full-stack разработчик и в чем его преимущества в вопросах трудоустройства.</p><h2>Необходимые навыки fullstack-разработчика</h2><p>На дворе давно не нулевые, так что стандартного LAMP (Linux, Apache, MySQL, PHP), который тогда применялся чуть ли не каждым вторым разработчиком, недостаточно, чтобы считать себя full-stack разработчиком. Сейчас у full-stack разработчика в портфолио должны быть совершенно другие навыки и умения.</p><h3>Сервер и хостинг</h3><p>Понимание работы сервера и хостинга. Знания об использовании файловой системы, размещении в облачном хранилище. А также работа с управлением доступом к данным и сетевыми ресурсами.</p><h3>Работа с данными</h3><p>Full-stack разработчик должен уметь создать сбалансированную модель данных, быть знаком с реляционными и нереляционными базами данных, а также уметь работать с форматами XML / JSON.</p><h3>Бэкенд-технологии</h3><p>Сюда относятся знание языков PHP, Python или Ruby, умение выстраивать клиент-серверное взаимодействие, разработка API, работа с аналитикой и сопутствующими фреймворками.</p><h3>Пользовательский интерфейс</h3><p>Full-stack разработчик должен уметь работать с макетами, владеть версткой и знать языки разметки. Знание JavaScript также необходимо для создания визуально привлекательного интерфейса.</p><h3>Проектирование UX</h3><p>Умение проработать UX — это обязательный пункт, с которым хотя бы на базовом уровне должен быть знаком любой full-stack разработчик. Необходимо понимать, как пользователь будет взаимодействовать с интерфейсом — это важная часть успеха проекта.</p><h2>В чем преимущества full-stack разработчика?</h2><p>Важная характеристика full-stack разработчика для работодателя: такой специалист может закрыть должности и фронтенд-, и бэкенд-специалистов. Бытует миф, что компания Facebook в нулевых набирала исключительно full-stack разработчиков.</p><p>На хедхантинговых сайтах каждый день появляется 7-10 новых вакансий для full-stack разработчика, а зарплата на уровне 119000 рублей в месяц доступна при наличии опыта разработки от года.</p><h2>Получение необходимых навыков</h2><p>Чтобы получить все вышеперечисленные навыки, можно обучаться самостоятельно, но этот подход не будет гарантировать вам успех. Более правильный путь — поступить в онлайн-университет <a href="https://geekbrains.ru/geek_university/web?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=18.08.17&amp;utm_term=fullstack&amp;utm_content=geek_university_web">GeekUniversity</a> от Mail.Ru Group, где вы получите все необходимые знания для уровня Middle. GeekUniversity гарантирует выпускникам трудоустройство у партнеров после обучения. <a href="https://geekbrains.ru/geek_university/web?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=18.08.17&amp;utm_term=fullstack&amp;utm_content=geek_university_web">Начните обучение и станьте на шаг ближе к работе мечты.</a></p>]]></content:encoded>
    </item>
    <item>
      <title>В чем разница между веб-разработчиком и веб-дизайнером</title>
      <link>https://tproger.ru/sponsored/web-dev-vs-web-designer</link>
      <comments>https://tproger.ru/sponsored/web-dev-vs-web-designer?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Vladimir Gabrinevski]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/web-dev-vs-web-designer</guid>
      <description><![CDATA[<p>Веб-дизайнер создаёт макеты и интерфейсы, а разработчик превращает их в рабочий веб-сайт: фронтенд, бэкенд или full-stack.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/web-dev-vs-web-designer">В чем разница между веб-разработчиком и веб-дизайнером</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Веб-дизайн]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 19 Jul 2017 17:21:09 GMT</pubDate>
      <content:encoded><![CDATA[<p>Зачастую работодатель ждет, что исполнитель как разработает дизайн сайта, так и реализует его, однако каждую из этих задач правильнее доверять соответствующему специалисту. Не все имеют ясное представление о том, чем отличается веб-дизайнер от веб-разработчика и почему один не может делать работу другого. Внесем ясность в этот вопрос.</p><h2>Чем занимается веб-дизайнер?</h2><p>Создает макеты, строит интерфейсы и продумывает взаимодействие клиента с веб-сайтом — превращает идею или историю в визуально привлекательный дизайн. Как архитектор создает план дома, так и веб-дизайнер создает макет сайта для дальнейшей реализации.</p><h2>Какова роль веб-разработчика?</h2><p>Веб-разработчик реализует идею веб-дизайнера, превращая макет в рабочий продукт. Его задача — разработать клиентскую (фронтенд) или серверную (бэкенд) части будущего ресурса. Также есть full-stack разработчики — они способны полностью создать рабочее приложение: и бэкенд, и фронтенд.</p><h2>Так веб-разработчик может создать дизайн сайта?</h2><p>Может, но не стоит доверять создание дизайна инженеру 🙂 Речь в предыдущем разделе шла именно о реализации самого сайта, а проектированием дизайна должен заниматься соответствующий специалист.</p><h2>Кто такой фронтенд-разработчик?</h2><p>Фронтенд-разработчик обеспечивает разработку внешнего вида сайта — из макета, подготовленного дизайнером, создает рабочий интерфейс, с которым сможет взаимодействовать пользователь. Обычно для реализации используют языки HTML, CSS, JavaScript и разнообразные фреймворки.</p><h2>А бэкенд-разработчик?</h2><p>Бэкенд-разработчик занимается серверной частью ресурса — тем, что обычно скрыто от пользователя. Человек, занимающийся бэкендом — это тот, кто разрабатывает серверную логику и осознает, в каком контексте она будет исполняться. Большинство веб-приложений используют базы данных. Поэтому бэкенд-разработчик должен иметь навыки работы с популярными СУБД.</p><h2>Кто такой full-stack разработчик?</h2><p>Full-stack разработчики обладают всеми знаниями и умениями веб-разработчика: как в области фронтенда, так и бэкенда. Сейчас стандартом для full-stack разработчика считается знание верстки, клиентской и серверной частей ресурса, а также баз данных и различных фреймворков.</p><h2>Как много можно на этом заработать?</h2><p>Труд веб-дизайнера и веб-разработчика по данным портала trud.com оценивается в среднем 35 000–60 000 рублей в месяц, что выше или совпадает со средним показателем по России — 35 000 рублей в месяц, согласно данным banki-v.ru. У этих профессий нет ограничения зарплат сверху, и на заработную плату влияют в большей степени навыки и знания, чем стаж работы.</p><h2>С чего мне начать?</h2><p>Чтобы получить все необходимые в профессии навыки, начните с обучающих курсов:</p><ul><li>По окончании <a href="https://geekbrains.ru/professions/web_designer?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=19.07.17&amp;utm_term=web_designer_vs_web_developer&amp;utm_content=professions_web_designer">курса для веб-дизайнера</a> вы будете уметь профессионально работать в редакторе Adobe Photoshop, представлять, что такое дизайн, проектирование веб-интерфейсов и построение интерфейсов мобильных приложений.</li><li><a href="https://geekbrains.ru/professions/web_developer?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=19.07.17&amp;utm_term=web_designer_vs_web_developer&amp;utm_content=professions_web_developer">Курс для веб-разработчика</a> сделает из вас полноценного full-stack специалиста, способного создать клиентскую сторону ресурса при помощи HTML5, CSS3, JavaScript, а также умеющего работать с базами данных и имеющего практический работы с PHP и фреймворком Yii2.</li></ul><p>В дальнейшем продолжайте развиваться самостоятельно, осваивая новые технологии и развивая профессиональные навыки.</p>]]></content:encoded>
    </item>
    <item>
      <title>Зачем программисту нужен ментор и где его найти</title>
      <link>https://tproger.ru/sponsored/how-to-find-a-mentor</link>
      <comments>https://tproger.ru/sponsored/how-to-find-a-mentor?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Типичный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/how-to-find-a-mentor</guid>
      <description><![CDATA[<p>Онлайн-курсы не заменяют опыт: ментор помогает новичку разобраться с реальным проектом, кодом, портфолио и вопросами по разработке.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/how-to-find-a-mentor">Зачем программисту нужен ментор и где его найти</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Обучение программированию]]></category>
      <category><![CDATA[Советы]]></category>
      <category><![CDATA[Карьера]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 04 Jul 2017 12:11:52 GMT</pubDate>
      <content:encoded><![CDATA[<p>За последние годы появилось множество онлайн-курсов, которые обещают научить программированию даже мартышку. Некоторые компании создают целые обучающие платформы с интерактивными заданиями, проверкой результатов в реальном времени и ачивками. Геймификация идеально ложится на продукты в сфере онлайн-образования: это весело, удобно, быстро. Уже через пару недель в вашем профиле значится, что вы закончили «Путь Ruby/Python/Java» и кажется, что всё готово к поиску работы.</p><p>Не считая одной маленькой детали: у вас совершенно нет опыта. Как и портфолио, в котором значится хотя бы один мало-мальски достойный проект, на который можно дать ссылку потенциальному работодателю. Нет и списка вкладов в Open Source. Всё, что у вас есть — это опыт решения примитивных задач внутри чужой интерактивной оболочки, слабо применимый к реальной жизни. Вы в тупике, и в вашей голове один за другим всплывают десятки вопросов:</p><ul><li>Как работает X? Нужно ли сейчас узнавать в деталях, как работает Х?</li><li>Как начать писать в open source? В какие проекты?</li><li>Как писать тесты и с помощью какой библиотеки?</li><li>Что покрывать тестами, а что — нет?</li><li>Какие книжки читать? И читать ли?</li></ul><p><i></i></p><p>Долгие часы перекапывания Интернета, чтения статей и ответов на Stack Overflow, нередко противоречащих друг другу, не дают эффективных результатов. И пока вы с трудом пробираетесь через эти дебри, выдавливая из себя строчки кода своего первого настоящего приложения, один, самый главный вопрос не покидает вашу голову:</p><p>— А не пишу ли я полное говно?</p><p>Пишете. Как и любой новичок до и после вас. Это нормально. Через это проходит не только каждый разработчик, но и вообще любой специалист в какой бы то ни было области. Просто вам не хватает совета и помощи старшего разработчика, без которых самостоятельно возиться можно очень долго, пока не изобретёшь велосипед.</p><h2>Вам нужен ментор</h2><p>У каждого из нас есть менторы (или наставники), причем с самого раннего возраста. Это могут быть и родители, и учителя в школе, и тренеры в спортивной секции. Арнольд Шварценеггер в <a href="http://tim.blog/2016/11/07/tools-of-titans-foreword-arnold-schwarzenegger-i-am-not-a-self-made-man/">предисловии к книге «Tools of Titans»</a> написал:</p><blockquote>…it is not true that I am self-made. Like everyone, to get to where I am, I stood on the shoulders of giants. My life was built on a foundation of parents, coaches, and teachers; of kind souls who lent couches or gym back rooms where I could sleep; of mentors who shared wisdom and advice; of idols who motivated me from the pages of magazines (and, as my life grew, from personal interaction).</blockquote><p>Наша карьера, наши успехи, да и жизнь в целом зависят от менторов, которых нам посчастливилось встретить. Мир IT не исключение. Мне повезло: на протяжении всей моей карьеры у меня были менторы. Если не самой карьерой, то как минимум темпами её развития я обязан именно им.</p><p>Чем же ментор может помочь преодолеть сложный начальный этап?</p><h2>Ответы на тонну вопросов</h2><p>Пожалуй, одна из самых важных составляющих — это ответы на вопросы. Чем меньше у человека опыта, тем больше у него вопросов? и тем сложнее эти вопросы оформить в правильный поисковый запрос.</p><p>Google с каждым годом становится всё умнее. Если спросить его: «Сколько лет Тому Хэнксу?», то ответ получишь сразу, не переходя на страницу Википедии.</p><figure><img src="https://media.tproger.ru/uploads/2017/06/skolko-let-tomu-hehnksu-300x177.png" alt="" /></figure><p>Пройдут годы, прежде чем он так же ловко сможет ответить на вопрос: «Какую библиотеку лучше выбрать для авторизации в приложении Ruby on Rails?».</p><figure><img src="https://media.tproger.ru/uploads/2017/06/kakuyu-biblioteku-luchshe-vybrat-dlya-avtorizacii-v-ruby-on-rails-prilozhenii-300x180.png" alt="" /></figure><p>Ментор может ответить на подобный вопрос мгновенно, основываясь на своём многолетнем опыте и знаниях, и это будет развёрнутый ответ со всеми «за» и «против».</p><p>Кроме того, когда мы чему-то учимся, для достижения эффективного результата нам важно получать положительное подкрепление. Ученик должен иметь возможность задавать любые вопросы: от чисто технических до чего-нибудь в духе «как думаешь, у меня есть шансы найти работу программистом в моём возрасте?». Попробуйте задать такой вопрос на публичном форуме — едва ли в ответ вам придёт положительное подкрепление. А это может не только травмировать, но и вообще отбить желание развиваться. Ментор же не допустит этого. Помимо сухих фактов он может ещё и интересную историю из своей практики рассказать, и мотивационную речь толкнуть. Beat that, Google!</p><h2>Проверка кода</h2><p>Другая немаловажная задача хорошего ментора — это проверка кода ученика, code review. Ответственный опытный программист знает, что сделать ревью кода — это не менее сложная задача, чем написать этот код. Ведь нужно не только вникнуть в написанное решение, но и подумать, нет ли другого решения. А ещё предложить все возможные улучшения для кода, не считая тех, с которыми справляются автоматические анализаторы типа Rubocop.</p><p>Вместо предложения готового решения ментор может подталкивать в нужном направлении и отказываться принимать код до тех пор, пока он не будет идеален. Такой подход очень эффективен, и хорошо готовит к самостоятельной работе в будущем.</p><h2>Корректировка цели и программы обучения</h2><p>Ответы на вопросы и проверка кода — это, скорее, рутина менторской деятельности и далеко не то, что нужно вам в первую очередь. Вам нужна индивидуальная программа обучения, подходящая только вам. Что, и в каком порядке учить, почему именно это, а не другое и т.д. И здесь преимущества менторства раскрываются на 100%.</p><p>Единственное, что потребуется от вас — это понимание своей цели, а задача ментора — сделать всё, чтобы вы её достигли. Цель может быть такая: «Хочу получить работу Java Junior Developer к концу этого года». Ментор сделает всё, чтобы у вас это получилось: научит, проверит, расскажет о нюансах, поможет составить резюме и наполнить портфолио, подготовит к собеседованию. Вы не занимаетесь ерундой вроде поиска правильных Java-курсов, не мучаетесь вопросом, правильно ли всё делаете, не мечетесь по бордам в поисках доброго самаритянина, который возьмёт вас попрактиковаться на чужом коде за опыт, — всё это в одном окне для вас делает ментор.</p><p>Но, к сожалению, появление ментора в жизни программиста — это явление в основном случайное и сильно зависит от удачи. Вам может повезти с умными коллегами, у которых до отвала опыта, мудрости и, самое главное, желания тратить своё время на ваше обучение. А может и не повезти.</p><h2>Так как же найти для себя подходящего ментора?</h2><p>Есть два варианта, которые зависят от текущего опыта:</p><h3>Среди коллег</h3><p>Если вы уже работаете программистом, то самый очевидный путь — это искать менторов среди более опытных коллег. Как минимум, если в вашей компании адекватно настроены процессы разработки, вы точно получите ревью вашего кода, которое само по себе уже является бесценным источником информации (если его правильно делают).</p><p>Во многих хороших компаниях трепетно относятся к развитию сотрудников. Каждому выделяют прямого менеджера, с которым иногда проводятся беседы тет-а-тет, чтобы убедиться, что человек не погрузился в стагнацию и всё ещё получает удовольствие от работы.</p><p>Учиться можно и у коллег вашего уровня, ведь набор навыков и знаний всегда разный. Внутрикорпоративный обмен опытом может оказаться весьма полезным.</p><p>Правда, с большей вероятностью может оказаться, что к ревью кода у вас относятся небрежно, статус ваших коллег обоснован не знаниями, а временем нахождения в компании, а на обмен опытом всем плевать. То есть если вам не повезёт с компанией и коллегами, то извлечь пользы в плане менторства у вас не получится.</p><p>При этом не забываем, что с этими людьми вам работать каждый день и окружение сильно влияет на вас самих. Нужно вовремя заметить, что коллеги скорее тянут вас на дно, а не помогают вырасти. В таком случае нужно либо вовремя уйти, либо искать менторов в другом месте, и уже с помощью внешних менторов стать круче всех своих коллег. Отсюда подходим ко второму месту поиска менторов: Интернет.</p><h3>В Интернете</h3><p>Это, пожалуй, самый сложный вариант. Его преимущество в том, что у вас больше контроля. Всё-таки коллег у вас раз, два и обчёлся, а людей в Интернете неограниченный запас. Да что там, во многом ментора заменит тот самый переполненный информацией Интернет. Но тут мы вспоминаем, что умение правильно задавать вопросы и фильтровать полученную информацию приходят с опытом, которого у вас ещё нет. Поэтому нужны способы получше.</p><p>В первую очередь, конечно, можно залезть на всякие тематические форумы: Quora, Stack Overflow. Там уже полно вопросов в духе «с чего начать», «что учить». И вы можете (сюрприз) задать свой вопрос и даже получить ответ. А потом, вооружившись полученной инструкцией, попытаться научиться всему самостоятельно, периодически заглядывая с новым наборов вопросов на упомянутые выше ресурсы.</p><p>Но это, конечно, не сравнить с наличием ментора. Ведь ментор, как мы знаем, не только задаёт направление, но и постоянно корректирует курс. Кто, как не ментор, скажет вам, что вы занимаетесь полной фигнёй?</p><p>Поэтому для достижения максимального эффекта от обучения нужно искать в Интернете более заинтересованного и постоянного наставника, нежели случайного советчика на форумах. Где же такого взять?</p><p>Нередко опытные разработчики имеют на стороне свой небольшой проект, который они, возможно, надеются однажды превратить в хороший источник дохода, но на который у них совершенно не хватает времени. Можно ориентироваться на поиск именно такого разработчика, создавая соответствующие темы на форумах и ресурсах, озвученных выше. А затем напроситься работать над его проектом за опыт — с условием, что в обмен на труд вы получите менторство.</p><p>Часто менторы сами ищут себе учеников или помощников. Хороший разработчик понимает, что через обучение менее опытного программиста он улучшает свои навыки. Кроме того, самостоятельно вырастить себе помощника — намного эффективней в долгосрочной перспективе, чем искать уже готового, которого неизвестно кто и чему учил. Этим стоит воспользоваться. Обращайте внимание на публичные профили разработчиков в сообществах, форумах, социальных сетях. Часто в них значится, что они являются менторами. Если вы не следите за жизнью сообщества, то самое время начать. Подписывайтесь на блоги, рассылки, личные страницы разработчиков из вашей сферы.</p><p>Ничего сложного в этом нет — идём в те самые группы ВКонтакте, тематические чаты в Slack и Telegram, Google Groups, Issues на Github и пишем: «Я маленький и глупый. Прошу, умоляю, возьмите меня в помощники, я буду бесплатно круглые сутки вам помогать взамен на ваш бесценный опыт, наставления и контроль моих навыков». Утрированно, конечно. Чем подробнее вы о себе расскажете, тем больше шансов, что на вас обратят внимание. Поэтому не ограничивайтесь сухими «ищу ментора по Ruby». Менторы ведь тоже люди, и основа менторства — это прежде всего человеческое общение.</p><h2>Итого</h2><p>Подобные поиски ментора могут занять время, и, скорее всего, у вас будет несколько неудачных попыток. Задача непростая, с большим количеством переменных и вообще во многом зависящая от удачи, даже если задаться целенаправленным поиском. Но не исключено, что в результате вы найдёте себе ментора на долгие месяцы или даже годы вперёд.</p><p>Наличие ментора во многих ситуациях не просто крайне желательно, но и необходимо. Увидев несколько лет назад, что курсов в интернете предлагается полно, а вот настоящего личного общения с ментором нет нигде, мы создали <a href="https://mkdev.me/?utm_source=tproger&amp;utm_medium=article&amp;utm_campaign=tproger">mkdev.me</a>. Место, где менторы могут найти себе учеников, а ученики менторов. Этот способ подходит и для тех, кто уже работает, и для тех, кто только начинает учиться.</p><p>Главное, не путать менторство с курсами. Курсов, статей и книг в Интернете уже полно. Я бы даже сказал, с избытком. А вот ментора, который поможет найти между всеми ними связь и проложить в этом лабиринте чёткий маршрут до конечной цели, найти не так просто.</p><p>Кирилл Ширинкин, специально для Tproger</p>]]></content:encoded>
    </item>
    <item>
      <title>Стоит ли становиться Java-разработчиком в 2017 году: статистика по зарплатам и необходимые навыки</title>
      <link>https://tproger.ru/sponsored/java-development-viability</link>
      <comments>https://tproger.ru/sponsored/java-development-viability?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/java-development-viability</guid>
      <description><![CDATA[<p>В Москве Java-разработчик с опытом от 1 года получает 120–170 тысяч рублей, а новичок может рассчитывать на 45–60 тысяч.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/java-development-viability">Стоит ли становиться Java-разработчиком в 2017 году: статистика по зарплатам и необходимые навыки</a>»</p>]]></description>
      <category><![CDATA[Java]]></category>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Статистика]]></category>
      <category><![CDATA[Карьера]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 29 Jun 2017 18:19:48 GMT</pubDate>
      <content:encoded><![CDATA[<p>Java — это популярный, проверенный временем язык. Но в этом преимуществе кроется и ловушка для начинающего программиста — опытных Java-разработчиков уже много, и возникает вопрос: «Если ли смысл выбирать Java как основной язык для дальнейшего заработка?» Мы отвечаем, что… — впрочем, давайте по порядку.</p><h2>Сколько получают Java-разработчики?</h2><p>По данным <a href="https://www.superjob.ru/paymentindex/it/">Superjob</a> и <a href="https://vc.ru/p/it-rating-2017">vc.ru</a>, самые высокие зарплаты у Java-разработчиков. Например, в Москве разработчик с опытом работы от 1 года получает от 120 до 170 тысяч рублей, а зарплатный максимум — неприличные 300 тысяч.</p><figure><img src="https://media.tproger.ru/uploads/2017/06/javasalary.png" alt="" /></figure><p>Начинающие программисты без опыта работы могут рассчитывать на 45–60 тысяч рублей — это всё равно выше среднего «по больнице».</p><h2>Какие навыки и знания влияют на рост заработной платы?</h2><ul><li>Знание шаблонов проектирования Java и J2EE;</li><li>Опыт использования специальных инструментальных средств Hibernate, Spring, Struts и пр.;</li><li>Опыт работы с MS SQL Server или Oracle;</li><li>Опыт рефакторинга чужого кода;</li><li>Опыт работы с интеграционными решениями IBM WebSphere, Oracle Fusion Middleware;</li><li>Опыт разработки многоуровневых, многопоточных приложений;</li><li>Опыт проектирования информационных систем и подготовки проектной документации.</li></ul><h2>Как получить необходимые знания?</h2><p>В этом вам поможет <a href="https://geekbrains.ru/geek_university/java?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=29.06.17&amp;utm_term=java_development_viability&amp;utm_content=geek_university_java">факультет Java-разработки</a> GeekUniversity — онлайн-университета Mail.Ru Group. GeekUniversity готовит веб-, Android-, Java- и iOS-разработчиков уровня Middle. Программу обучения и спецкурсы разрабатывают Mail.Ru, Avito, Альфа-банк, МТС, Тинькофф, DeliveryClub. Факультет откроет набор 13 июля.</p><p>За время обучения вы создадите 4 проекта: 2 самостоятельно и 2 в команде. Ваше портфолио пополнят сетевой чат, игра для мобильных устройств на Android, облачное хранилище данных и сайт электронной коммерции. Прогресс будет курировать наставник. К концу обучения вы пройдёте полный цикл разработки, научитесь писать чистый код и подготовитесь к техническому собеседованию на должность Java-разработчика.</p>]]></content:encoded>
    </item>
    <item>
      <title>Узнайте, кем во вселенной программистов являетесь вы — пройдите опрос разработчиков Developer Economics Survey Q3 2017</title>
      <link>https://tproger.ru/sponsored/developer-economics-survey-q3-2017</link>
      <comments>https://tproger.ru/sponsored/developer-economics-survey-q3-2017?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Типичный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/developer-economics-survey-q3-2017</guid>
      <description><![CDATA[<p>Опрос VisionMobile Developer Economics Survey Q3 2017 сравнивает ответы разработчиков, формирует профиль участника и занимает приблизительно 15 минут.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/developer-economics-survey-q3-2017">Узнайте, кем во вселенной программистов являетесь вы — пройдите опрос разработчиков Developer Economics Survey Q3 2017</a>»</p>]]></description>
      <category><![CDATA[Опрос]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 19 Jun 2017 12:32:12 GMT</pubDate>
      <content:encoded><![CDATA[<h3>Что за опрос?</h3><p>Глобальный <a href="http://vmob.me/DE4Q17Tproger">опрос разработчиков</a>, регулярно проводимый нашими друзьями из VisionMobile по всему миру. Вопросы посвящены инструментам, обучению и профессиональному развитию и помогают компаниям и самим разработчикам лучше ориентироваться в трендах. Опрос также позволит сравнить себя с другими.</p><h3>Зачем мне его проходить?</h3><p>В конце опроса VisionMobile покажет, как ваши ответы соотносятся с ответами других разработчиков, живущих в вашей стране, так что вы получите представление о соотношении своих сил. Кроме того, предусмотрены призы, включая iPhone 7, Pixel Phone, Oculus Rift, комплекты Arduino, курсы от Udemy и Coursera и многое другое. А ещё есть специальный приз для читателей Tproger — $100 на курсы или софт для программистов (нужно пройти опрос <a href="http://vmob.me/DE4Q17Tproger">по ссылке</a> из этой страницы, чтобы получить возможность выиграть).</p><p>Вы также будете первым, кто получит бесплатный отчет Developer Economics Q3 2017 (будет опубликован в августе 2017 года) с основными результатами опроса.</p><h3>Наверняка там глупые вопросы, составленные маркетологами?</h3><p>Нет, опрос составляли разработчики, и он актуален на 100%. Основные темы вопросов: ресурсы разработки и где их найти, пособия и курсы, каналы распространения, инструменты и пакеты программ для разработчиков, а также языки, платформы, категории приложений, новые технологии и модели получения дохода.</p><h3>Это скучно и долго, у меня нет времени!</h3><p>Опрос занимает приблизительно 15 минут, а ваши ответы при прохождении опроса помогут постепенно сформировать профиль и узнать, кем из персонажей вы могли бы стать, если бы жили в фантастической вселенной. По завершении опроса вы сможете изучить свой профиль. Кем из персонажей вы станете? Киборгом-десантником, техномансером или контрабандистом?</p><p>А ещё там есть реферальная программа, после опроса вам дадут ссылку и будут выплачивать денежные призы за других разработчиков, прошедших опрос по вашему приглашению 😉</p>]]></content:encoded>
    </item>
    <item>
      <title>IT-конференция GeekDay: разбуди в себе программиста!</title>
      <link>https://tproger.ru/sponsored/geekday-3</link>
      <comments>https://tproger.ru/sponsored/geekday-3?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Geek Brains]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/geekday-3</guid>
      <description><![CDATA[<p>Третья IT-конференция GeekDay пройдёт онлайн 22, 23 и 24 июня: участников ждут 15 бесплатных тренингов и мастер-классов по программированию.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/geekday-3">IT-конференция GeekDay: разбуди в себе программиста!</a>»</p>]]></description>
      <category><![CDATA[Конференции]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 13 Jun 2017 13:01:01 GMT</pubDate>
      <content:encoded><![CDATA[<p>Третья IT-конференция GeekDay — это 3 дня кода и 15 бесплатных онлайн-тренингов и мастер-классов по программированию.</p><figure><img src="https://media.tproger.ru/uploads/2017/06/content_habrahabrgd.png" alt="" /></figure><h2>Что ждет вас на третьем GeekDay?</h2><ol><li>Новые знания. Вы узнаете, как разработать Android-приложение и кастомизировать его, создадите несколько приложений под iOS и 2D-игру, поймете, как сделать код лаконичным и красивым.</li><li>Новые знакомства. На мастер-классах вы сможете пообщаться с профессиональными практикующими программистами уровня Senior. У каждого спикера профильное образование, солидный стаж работы по специальности и большой опыт разработки сервисов и приложений для крупных компаний (Mail.Ru Group, МегаФон, Билайн).</li><li>Новые идеи. Обмен опытом и мнениями с гуру — отличная среда для появления новых идей! Вы сможете сформулировать идею и реализовать свой проект.</li></ol><p>В этом году GeekDay пройдет онлайн, мастер-классы начинаются в 12:00 22, 23 и 24 июня.</p><h2>Хотите участвовать? Все просто как раз-два-три</h2><h3>Шаг первый</h3><p>Чтобы получить инструкции участника и ознакомиться с подробной программой нового GeekDay, <a href="https://geekbrains.ru/geekday?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=14.06.17&amp;utm_term=geekday_3&amp;utm_content=geekday">зарегистрируйтесь и оставьте нам свой e-mail</a>.</p><h3>Шаг второй</h3><p>Чтобы чувствовать себя на GeekDay как рыба в воде, <a href="https://geekbrains.ru/geekday?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=14.06.17&amp;utm_term=geekday_3&amp;utm_content=geekday">пройдите бесплатные подготовительные мастер-классы</a>.</p><h3>Шаг третий</h3><p><a href="https://geekbrains.ru/geekday?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=14.06.17&amp;utm_term=geekday_3&amp;utm_content=geekday">Переходите по ссылке с 22 по 24 июня</a> и смотрите выступления экспертов онлайн.</p><h4>Обязательно запишитесь в программисты!</h4>]]></content:encoded>
    </item>
    <item>
      <title>Как быстро научиться разрабатывать под Android, чтобы получать за это деньги</title>
      <link>https://tproger.ru/sponsored/android-development-courses</link>
      <comments>https://tproger.ru/sponsored/android-development-courses?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Geek Brains]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/android-development-courses</guid>
      <description><![CDATA[<p>GeekUniversity предлагает годовой курс Android-разработки с наставником, командными проектами и гарантией трудоустройства для тех, кто знает Java и ООП.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/android-development-courses">Как быстро научиться разрабатывать под Android, чтобы получать за это деньги</a>»</p>]]></description>
      <category><![CDATA[Android]]></category>
      <category><![CDATA[Мобильная разработка]]></category>
      <category><![CDATA[Обучающие курсы]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 30 May 2017 12:59:19 GMT</pubDate>
      <content:encoded><![CDATA[<p>Учиться самостоятельно в Интернете практично и дешево: большинство материалов находятся в общем доступе бесплатно, а заниматься можно в любое удобное время дня и ночи. Но возникают вопросы: как не потеряться в обилии информации и выбрать правильное направление? Масса всевозможных стеков, паттернов, фреймворков… Научился синтаксису, поработал с библиотеками, “на-monkey-кодил” велосипед, а дальше-то что?</p><p>Как правильно выстроить ход мыслей и излагать их в коде так, чтобы другие члены команды сразу же понимали, почему было сделано именно так, а еще лучше — чтобы такого вопроса ни у кого не возникало?</p><h3>Как и где научиться программировать правильно?</h3><p>Не обязательно поступать в вуз или судорожно перелистывать обучающие видео индусов на YouTube. Есть множество обучающих онлайн-курсов. Но дадут ли они достаточно знаний, чтобы не выглядеть глупо на собеседовании, и научат ли писать код так, чтобы коллеги “по цеху”, глядя на него, испытывали зависть, а не недоумение?</p><p>Для желающих стать разработчиком под Android есть хороший вариант — это <a href="https://geekbrains.ru/geek_university/android?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=30.05.2017&amp;utm_term=android_razrabotka&amp;utm_content=geek_university_android">GeekUniversity</a>. В рамках курса предлагается освоить разработку под Android за год, при наличии базовых знаний Java и ООП. Вам предоставят наставника, дадут практический опыт написания проектов, в том числе в команде, и даже гарантируют трудоустройство. К тому же, преподаватели — действующие сотрудники IT-отдела компании, а не какие-нибудь философы-теоретики.</p><h3>Что нужно знать?</h3><p>Обучают всё-таки Android-разработке, а не синтаксису языка, поэтому следует обладать начальными знаниями Java. При поступлении необходимо сдать тест, который состоит из теоретических вопросов и практических задач.</p><p>Если с этим проблема — предлагают <a href="https://geekbrains.ru/courses/48?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=30.05.2017&amp;utm_term=android_razrabotka&amp;utm_content=courses_48">подготовительные курсы</a>, на них за месяц обучат основам языка Java и дадут основы ООП.</p><p>Процесс обучения делится на 4 четверти. Каждая представлена рядом предметов, уровень сложности которых постепенно увеличивается. Напоминает школу, но в результате вы получите полезные для трудоустройства знания и навыки.</p><h3>Какие навыки будут приобретены?</h3><p>Для начала вы освоите Java на хорошем уровне, изучите основы компьютерных сетей, получите опыт в разработке игр. Через 3 месяца после начала обучения вы уже создадите сетевой чат и игру на Android. Не дурно!</p><p>Во второй четверти будут разобраны такие темы, как OC Android и основы разработки под неё, алгоритмы и структуры данных. В результате вы создадите два проекта под Android: приложение для фитнеса и приложение для работы с блогом.</p><p>Через полгода осуществляется переход на профессиональный уровень разработки. Здесь расскажут и покажут современные библиотеки, базы данных, принципы Material Design и более подробно про операционные системы.</p><p>В финале самое интересное — командная разработка. Предстоит принять участие в разработке open source проекта с нуля в команде, поработать с чужим кодом, познакомиться с архитектурами и шаблонами проектирования. К концу обучения вам предложат пройти тренинг по подготовке к техническому собеседованию на позицию Middle-разработчика.</p><h3>Гарантированное трудоустройство?</h3><p>Онлайн-университет с гарантированным трудоустройством <a href="https://geekbrains.ru/geek_university/android?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=30.05.2017&amp;utm_term=android_razrabotka&amp;utm_content=geek_university_android">Geek University</a> — это что-то новенькое. Подобные обучающие проекты — отличная возможность поработать среди профессионалов и даже пробиться в штат крупной IT-компании. Иначе есть фриланс, где сейчас Android-разработчики пользуются хорошим спросом.</p><p>В любом случае, полученных компетенций действительно должно быть достаточно, чтобы работать в профессиональной среде разработчиков под Android, а это может быть та самая “своя стезя” для какого-нибудь новичка в этом запутанном мире современных технологий. Так что <a href="https://geekbrains.ru/geek_university/android?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=30.05.2017&amp;utm_term=android_razrabotka&amp;utm_content=geek_university_android">рекомендуем попробовать</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Центр сертификации — проект, который подтвердит ваш профессионализм в создании сайтов</title>
      <link>https://tproger.ru/sponsored/templatemonster-sertification</link>
      <comments>https://tproger.ru/sponsored/templatemonster-sertification?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/templatemonster-sertification</guid>
      <description><![CDATA[<p>Бесплатный Центр сертификации TemplateMonster сочетает обучение и тестирование по WordPress, Joomla, MotoCMS, OpenCart и PrestaShop.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/templatemonster-sertification">Центр сертификации — проект, который подтвердит ваш профессионализм в создании сайтов</a>»</p>]]></description>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 23 May 2017 15:10:49 GMT</pubDate>
      <content:encoded><![CDATA[<p>Компания TemplateMonster, специализирующаяся на разработке и продаже шаблонов, также обучает аудиторию и сертифицирует своих партнеров. В этой статье мы расскажем вам об уникальном проекте от TemplateMonster, и о том, какую выгоду можно получить, приняв в нем участие.</p><p>Вы уже давно работаете веб-разработчиком, создаете сайты на удаленке, владеете веб-студией и хотели бы идти в ногу с обновлениями и просто поддерживать свою квалификацию? Тогда <a href="http://sertificat.templatemonster.ru/?utm_source=tproger&amp;utm_campaign=tproger">Центр сертификации</a> — это именно то, что вам нужно.</p><p><a href="http://sertificat.templatemonster.ru/?utm_source=tproger&amp;utm_campaign=tproger">Центр сертификации</a> — бесплатный образовательный проект для веб-разработчиков, который дает возможность улучшить знания и навыки по работе с самыми популярными CMS или же просто подчеркнуть то, что вы профессионал своего дела.</p><p>Проект проходит в два этапа — обучение и тестирование. На выбор предоставляются учебные материалы по пяти основным системам управления контентом сайтов, а именно: WordPress, Joomla, MotoCMS, OpenCart и PrestaShop. Успешно пройдя тестирования, участник получает сертификат, подтверждающие знания и навыки в работе с той или иной платформой. Конечно же, вы можете пройти курс по каждой из них, а сертификаты можно получить как в электронном, так и в бумажном виде.</p><h2>Сертификат — что он даст?</h2><p>Во-первых, он никогда не будет лишним в вашем портфолио. А вдруг вы захотите сменить место работы? На любых собеседованиях такие вещи только вам в плюс. К тому же, он будет неплохо смотреться на вашем рабочем месте. Во-вторых, сертификат прибавит заказчику доверия к вам. Клиент с большей вероятностью отдаст свое предпочтение вам, а не вашим конкурентам.</p><p>Свой электронный сертификат вы можете найти в поиске, просто введя свою фамилию, номер сертификата или название вашей веб-студии. Его можно не только скачать и разместить у себя на сайте, но и расшарить на свои страницы в соцсетях.</p><p><a href="https://media.tproger.ru/uploads/2017/05/222222.png"></a></p><p>И наконец, самое главное его преимущество — наличие сертификата дает право разместить свою веб-студию в Каталоге веб-студий на сайте TemplateMonster. Это является главным условием для размещения в каталоге. С помощью такой рекомендации вы сможете увеличить продажи и сотрудничать непосредственно с клиентами TemplateMonster. Более того, попав в Каталог веб-студий, вам предоставляется возможность участвовать в партнерской программе и покупать продукты TemplateMonster со скидками.</p><p>Как мы уже упоминали, Центр состоит из двух частей: база знаний и тестирование. Теоретический курс охватывает базовые знания о WordPress, Joomla, MotoCMS, OpenCart и PrestaShop. Отдельные лекции для каждой из платформ. Кроме того, вы получите инструкции о том, как:</p><ul><li>работать с готовым шаблоном;</li><li>установить и настроить его;</li><li>расширить его функциональность с помощью модулей и многое другое.</li></ul><p>Часть тестирования: за 2 часа вам нужно будет ответить на 20 вопросов разных типов — теория, практика, вопросы с вариантами ответов и развернутые. Например, по WordPress вам могут попасться такие вопросы:</p><figure><img src="https://media.tproger.ru/uploads/2017/05/a.png" alt="" /></figure><figure><img src="https://media.tproger.ru/uploads/2017/05/b.png" alt="" /></figure><p>Если вы веб-эксперт и в туториалах не найдете для себя ничего нового, то <a href="http://sertificat.templatemonster.ru/?utm_source=tproger&amp;utm_campaign=tproger">тестирование можно пройти сразу</a>.</p><p>Развивайте свой бизнес, учитесь новому и стремитесь к большему с бесплатными образовательными проектами от TemplateMonster.</p>]]></content:encoded>
    </item>
    <item>
      <title>5 причин научиться разрабатывать на PHP</title>
      <link>https://tproger.ru/sponsored/php-5-reasons</link>
      <comments>https://tproger.ru/sponsored/php-5-reasons?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Geek Brains]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/php-5-reasons</guid>
      <description><![CDATA[<p>PHP подходит для веб-разработки, имеет низкий порог входа, активное сообщество и фреймворки Symfony, Yii и Laravel для разных задач.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/php-5-reasons">5 причин научиться разрабатывать на PHP</a>»</p>]]></description>
      <category><![CDATA[Обучение программированию]]></category>
      <category><![CDATA[PHP]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Fri, 19 May 2017 12:56:02 GMT</pubDate>
      <content:encoded><![CDATA[<p>В наши дни для веб-разработки существует бесчисленное множество инструментов и при этом сфера не перестает расти. В этой статье мы рассмотрим, как сегодня обстоят дела у PHP — языка, который уже много лет на рынке. Обсудим главные вопросы и выясним, осталось ли для него ещё место.</p><h3>Сложно ли выучить PHP?</h3><p>Не труднее, чем многие другие языки. PHP широко известен своим низким порогом вхождения. Достаточно легко написать простой код на нем, но чтобы стать настоящим профессионалом, потребуется время. Если вы серьезно настроены стать PHP-разработчиком и гарантированно трудоустроиться, то вам поможет <a href="https://geekbrains.ru/geek_university/web?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=22.05.17&amp;utm_term=zarabativat_na_php&amp;utm_content=geek_university_web">программа обучения GeekUniversity от Mail.Ru Group</a>.</p><h3>Насколько язык эффективен для решения различных задач?</h3><p>Если мы говорим о задачах, связанных с веб-разработкой, то весьма эффективен. Тем более, что развитие языка не прекращается до сих пор и он постоянно адаптируется под новые нужды разработчиков. Большим плюсом является активное сообщество, которое привносит много полезного для PHP. Существует множество удобных фреймворков, например, Symfony, Yii, Laravel, которые не перестают улучшаться и отвечают высоким стандартам рынка. Есть различные CMS, такие как Drupal, WordPress, Magento, и многие сайты используют их. Наш сайт, например, держится на WordPress.</p><h3>Насколько интересно писать на PHP?</h3><p>Скучать не придется. Перед профессиональными PHP-разработчиками ставят множество разнообразных задач: начиная от разработки простых сайтов с небольшим количеством логики и заканчивая созданием крупных интернет-магазинов и систем аналитики. Заметим, кстати, что и Facebook, и ВКонтакте написаны на PHP.</p><h3>Востребованы ли PHP-разработчики?</h3><p>Недостатка в вакансиях на рынке нет. Множество компаний предлагают трудоустройство, как для младших PHP-разработчиков, так и для опытных Senior’ов и тимлидов. Согласно индексу TIOBE, язык PHP всегда находится в первой десятке, что также говорит о том, что его часто выбирают для написания кода. Большинство сайтов написаны на PHP в виду его эффективности и простоты.</p><h3>Как мне начать? Где изучить PHP?</h3><p>Существует огромное количество обучающих материалов по PHP, начиная книгами и видео, и заканчивая курсами от настоящих профессионалов своего дела. Мы рекомендуем изучать веб-технологии, и PHP в частности, в рамках <a href="https://geekbrains.ru/geek_university/web?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=22.05.17&amp;utm_term=zarabativat_na_php&amp;utm_content=geek_university_web">обучающей программы GeekUniversity</a>, по окончанию которой гарантируется трудоустройство. Также вы приобритете знания, которые точно пригодятся вам в будущем для вашей карьеры квалифицированного специалиста.</p>]]></content:encoded>
    </item>
    <item>
      <title>Марафон «Создай свою веб-студию за 7 недель» — проект, который подтолкнет вас открыть свой онлайн-бизнес</title>
      <link>https://tproger.ru/sponsored/template-monster-marathon</link>
      <comments>https://tproger.ru/sponsored/template-monster-marathon?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/template-monster-marathon</guid>
      <description><![CDATA[<p>Закрытый марафон TemplateMonster помогает развивать навыки создания сайтов, управления командой и запуска собственной веб-студии за 7 недель.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/template-monster-marathon">Марафон «Создай свою веб-студию за 7 недель» — проект, который подтолкнет вас открыть свой онлайн-бизнес</a>»</p>]]></description>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Бизнес]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 16 May 2017 13:04:15 GMT</pubDate>
      <content:encoded><![CDATA[<p>В профессиональной жизни каждого веб-разработчика и дизайнера наступает тот момент, когда он задумывается над самостоятельной работой. Над своей веб-студией. Ведь намного интересней и выгодней заниматься проектом от и до, напрямую общаться с клиентом и оттачивать свое мастерство, а не просто стабильно выполнять свою часть работы для разных проектов. Работа в веб-студии имеет множество преимуществ, о чем мы и расскажем в этой статье.</p><p>Проект нацелен на тех, кто уже имеет какие-либо навыки в сфере создания сайтов, кто уже давно хотел создать свою веб-студию, но кому не хватало систематизированных знаний по управлению бизнесом и работе с клиентами. Многим знакома такая ситуация, когда вы уже набрались достаточно опыта, готовы вложить капитал и начать работать на себя, так как оставаться на месте бесперспективно. Долгое время задумываетесь о своем проекте? Казалось бы, нужен лишь толчок и мотивация. Так вот, этот проект можно считать первым большим шагом к успеху.</p><p>Давайте представим ситуацию, где вы владелец своей собственной веб-студии. Уже неплохо, да? Но если задуматься глубже, просто быть владельцем — мало. Кроме знаний в веб-разработке/веб-дизайне, нужно найти хороших сотрудников, определиться с услугами, которые вы будете предлагать, уметь организовать работу в коллективе и с внештатными работниками, находить заказы, правильно предлагать свои услуги и общаться с клиентами. Об этом и многом вы сможете узнать, приняв участие в проекте «Создай свою веб-студию за 7 недель».</p><p>В наше время стать владельцем собственного бизнеса не так сложно, особенно если речь идет об интернет-рынке. Преимущества очевидны:</p><ul><li>не нужно вкладывать огромный капитал;</li><li>вам не понадобится сразу набирать штат, так как на первых этапах вы сможете выполнять работу самостоятельно;</li><li>вам также не нужно сразу искать офис и платить за него аренду, ибо работать можно из дому;</li><li>вообще можно работать из любой точки мира! А вот здесь уже вырисовывается перспектива выйти на международный уровень.</li></ul><p>О том, как это работает — в закрытом марафоне от TemplateMonster «<a href="http://marathon61.templatemonster.ru/?utm_source=tproger&amp;utm_campaign=tproger">Создай свою веб-студию за 7 недель</a>».</p><p>7 недель — 7 теоретических уроков + практические задания к каждому из них. Обратите внимание, что это не простой гид «Как сделать что-то…», которых уйма в сети. Суть закрытого марафона в том, чтобы выполнять практические задания, иначе участник не получает пароль к следующему уровню. Основное правило — придерживаться дедлайна. Марафон «Создай свою веб-студию за 7 недель» — это большая пошаговая инструкция по управлению онлайн-бизнесом. Самый большой плюс проекта в том, что во время участия вы не только получаете знания о том, как руководить рабочим процессом, составлять технические задания и т.д., но и в том, что вы можете получить реальные заказы во время выполнения практических заданий. Это является одной из целей проекта, а также и критерием по отбору победителя.</p><figure><img src="https://media.tproger.ru/uploads/2017/05/jjjjj-1024x374.png" alt="" /></figure><p>К концу марафона участники улучшат свои навыки по созданию сайтов, смогут создать свою команду и правильно ей руководить, планировать бюджет и составлять выгодное расписание заданий, предлагать дополнительные услуги и продавать свой продукт.</p><p>Повторимся: информация, предоставленная в марафоне, не несет чего-то сверхнового. Всё, что вы уже знаете, распределено по блокам и подкреплено практическими вопросами и заданиями. Например, как составить техническое задание, или же отправить коммерческое предложение своим потенциальным клиентам, или ответить на предлагаемые каверзные вопросы клиентов. Всё это менеджеры проекта тщательно проверяют и раз в неделю отправляют ключ с доступом к следующему уровню. Если участник столкнулся с какими-либо сложностями, конечно же, он может обратиться за помощью, написав на почту.</p><p>На финальном этапе участники представляют свой персональный проект. Все, кто <a href="http://marathon61.templatemonster.ru/?utm_source=tproger&amp;utm_campaign=tproger">дойдёт до финала</a>, не останутся в стороне — их ждет специальное предложение по сотрудничеству с TemplateMonster и ценные призы.</p>]]></content:encoded>
    </item>
    <item>
      <title>Почему вам пригодятся знания HTML и CSS, даже если вы думаете, что это не так</title>
      <link>https://tproger.ru/sponsored/why-need-html</link>
      <comments>https://tproger.ru/sponsored/why-need-html?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Пётр Соковых]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/why-need-html</guid>
      <description><![CDATA[<p>Основу интернета по-прежнему составляют сайты на HTML, и собственные навыки вёрстки выручают там, где держать дизайнера ради мелких правок дорого.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/why-need-html">Почему вам пригодятся знания HTML и CSS, даже если вы думаете, что это не так</a>»</p>]]></description>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[HTML]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 19 Apr 2017 09:46:45 GMT</pubDate>
      <content:encoded><![CDATA[<p>Сегодня интернет пронизывает все области нашей жизни — в интернете мы общаемся, наша домашняя техника образует интернет вещей, через него же работают наши приложения, в нем мы ищем информацию. Однако основу интернета по-прежнему составляют веб-сайты и язык, на котором они написаны, — HTML.</p><h3>Если для моего проекта нужен будет сайт, то я найму дизайнера и всё будет хорошо. Так?</h3><p>Не совсем. Конечно, если у вас достаточно средств, чтобы нанять на постоянную работу верстальщика, то это решит все ваши проблемы. Но часто после разработки дизайна крупная работа, связанная с вёрсткой сайта, на этом и заканчивается. Дальше содержать дизайнера ради мелких правок по сайту одного из десятка ваших проектов — не слишком практичное решение.</p><h3>Разве всё остальное не сделает за меня CMS?</h3><p>Не всегда. Для какой-нибудь из ваших потребностей вы можете не найти пункта в панели управления CMS. Невозможно реализовать настройки абсолютно для всего через «админку» — туда обычно выводят только самые необходимые и часто используемые настройки.</p><p>Часто решить проблему проще не теми средствами, которые даны разработчиком движка, а напрямую — внося исправления в базу данных, содержимое движка или таблицы стилей.</p><h3>Но ведь для этого придётся много всего выучить?</h3><p>Да, для этого придётся потратить какое-то время на изучение основ языка разметки HTML и язык описания таблицы стилей CSS. Это можно сделать эффективно, например, пройдя <a href="https://vk.cc/6x3tbc">курс «Веб-мастер»</a>, который предлагает 5 месяцев обучения и 2 месяца командной стажировки в крупных IT-компаниях и проектах.</p><p>Причем учить можно и эффективно, и бесплатно — например, с <a href="https://vk.cc/6x3vqy">интенсивом «Основы веб-разработки»</a>.</p><h3>Хорошо. Но ведь если мне не нужен сайт, то не нужен и HTML?</h3><p>Это не совсем так. Веб-интерфейс — самый универсальный способ взаимодействия с пользователем. Благодаря развитию современных браузеров, он одинаково хорошо отображается и на Android, и на компьютере, и на iPad. Поэтому зачастую для приложений, которым требуется поддержка на многих платформах, выбирается именно веб-интерфейс — на десктопе он может отображаться в виде обособленного приложения, а на других платформах — в виде браузерного приложения. Так, например, модуль Qt WebKit позволяет создавать интерфейс клиентского приложения с использованием техники разработки веб-интерфейсов.</p><h3>Мой проект не связан с веб-технологиями. Мне всё ещё нужно уметь верстать?</h3><p>Не обязательно. Но, например, с помощью фреймворка Electron для Node.js можно разрабатывать и обычные десктоп-приложения, используя только веб-технологии. Это очень удобно: одни и те же навыки подойдут для любых целей.</p><h3>А эти знания будут востребованы на рынке труда? Стоит ли тратить время?</h3><p>Да, веб сейчас — достаточно перспективная область. Если вы пройдёте <a href="https://vk.cc/6x3tbc">курс «Веб-мастер»</a>, то после стажировки в крупных компаниях вполне сможете сразу начать успешную карьеру в веб-индустрии. В качестве подтверждения того, что вы обладаете необходимыми знаниями, вам будет выдан специальный сертификат. Если вы пока хотите просто познакомиться с областью, попробуйте пройти <a href="https://vk.cc/6x3vqy">интенсив «Основы веб-разработки»</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Что ловить программисту в финтехе: карьерные ожидания vs реальные возможности</title>
      <link>https://tproger.ru/sponsored/fintech-for-programmers</link>
      <comments>https://tproger.ru/sponsored/fintech-for-programmers?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/fintech-for-programmers</guid>
      <description><![CDATA[<p>Начинающему разработчику сложно пробиться в крупные компании, поэтому стоит следить за новыми нишами, стартапами и развитием технологий.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/fintech-for-programmers">Что ловить программисту в финтехе: карьерные ожидания vs реальные возможности</a>»</p>]]></description>
      <category><![CDATA[Карьера]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 12 Apr 2017 09:59:13 GMT</pubDate>
      <content:encoded><![CDATA[<p>Вроде бы и диплом есть, и немного знаний с последнего экзамена по «Архитектуре сетей» осталось, а резюме на сайте с вакансиями так и не получило просмотров. Ну и куда теперь податься начинающему программисту? После университета хочется сразу в Гугл или Яндекс, чего уж там. Высокие технологии, большие данные, машинное обучение и куча крутых специалистов так и манят. Но берут не всех.</p><h2>Почему в закрытые двери не стоит стучаться</h2><p>В большие компании и типичные отрасли начинающему разработчику пробиться сложно. Там работают чемпионы по парному программированию, гении алгоритмов и просто классные парни, которые попали в эту тусовку, когда многие ещё пешком под стол ходили.</p><p>Вы закончили университет и сталкиваетесь с реальностью: гейм-дизайн, разработка ПО, web-разработка и прочие классические ниши уже давно заняты опытными ребятами, которые мечтают далеко не о том, чтобы научить вас всему и отдать свое место. Поэтому положиться можно только на себя.</p><p>Классно, когда есть знания и небольшой опыт — есть фундамент под ногами и проще карабкаться в крупные компании. А если нет опыта? Да и в какой отрасли развиваться, тоже не совсем понятно. И не успеваете познать основы, как они уже устаревают и сменяются другими. Для начинающего специалиста это замкнутый круг, боль и уныние.</p><figure><img src="https://media.tproger.ru/uploads/2017/04/1-1024x509.jpg" alt="" /></figure><h2>Внимание на тренды!</h2><p>Иногда следовать трендам очень даже полезно. Когда ниша только начинает развиваться, в нее легче влиться, и вы буквально растёте вместе с технологиями в конкретной сфере.</p><p>Посмотрите по сторонам, сфокусируйте взгляд и… обратите внимание на стартапы. Билл Гейтс, Стив Джобс, Евгений Касперский — все они начали своё дело в эпоху зарождения искусственного интеллекта и оказались успешны, потому что шли в ногу с развитием технологий. Лидеры мнений, инноваторы, а медиа сделали их самыми влиятельными людьми планеты.</p><p>Так что гораздо легче начать развиваться в чем-то новом и неизведанном (даже если страшно). Тут вам и дороги открыты, поле для развития свободно и рынок еще можно завоевать.</p><figure><img src="https://media.tproger.ru/uploads/2017/04/2-1024x509.jpg" alt="" /></figure><h2>Через тернии к финтеху</h2><p>Окей, развиваться в новом — это понятно, а в чем конкретно? Пришло время поговорить об отрасли.</p><p>Финтех! Банки и финансовые компании уже давно превращаются в IT-гигантов: блокчейн, мобильный банкинг, кредитный скоринг. В этой сфере перестали говорить о больших данных и начали их применять.</p><p>Доверие к технологиям со стороны людей разного статуса растет — банковский мир жаждет новых финансовых продуктов. И рынок открыт: обратите внимание на отношение поколений Y и Z к финансам, к мобильности, на их интерес к любому новому продукту, который упрощает их жизнь. Приложить смартфон к терминалу и заплатить за кофе, оплатить услуги ЖКХ бабушки, не выходя из дома — всё становится вопросом пары свайпов.</p><p>На этой волне интереса и возможностей банки создают собственные финтех-лаборатории и фокусируются на технологиях, которые способны привлечь новых клиентов. Сфера развивается со скоростью второй космической — самое время влиться в неё и начать делать что-то свое.</p><figure><img src="https://media.tproger.ru/uploads/2017/04/3-1024x509.jpg" alt="" /></figure><h2>Инструменты и возможности</h2><p>Python активно используют в банковской сфере при ценообразовании, управлении рисками и торговыми платформами. Большинство банков применяют Python вместе с Java, так что и тут есть куда расти. Моделирование, кванты и анализ данных.</p><p>C# не умер и пользуется популярностью среди инвестиционных банков.</p><p>С++ переживает судьбоносные перемены: на него появляется спрос из неочевидных сфер, а квалифицированные разработчики всё ещё в дефиците. Плюсы пользуются популярностью там, где скорость решает, ими пользуются не только в банках, но и в высокочастотном трейдинге и небольших торговых домах.</p><p>Java продолжительное время был «золотым ребенком» инвестбанков, но проблема в том, что и джавистов на рынке довольно много. Быть java-разработчиком в банке довольно престижно, но еще круче при этом разбираться в финансах. Ворваться на эту площадку будет гораздо легче, если знать Scala и, что важно в мире Биг Даты, Oracle Coherence.</p><p>R используют для разработки программ анализа инвестиционных данных и управления рисками. С помощью этого языка строят финансовые модели, по которым создают стратегию инвестирования. Можно автоматизировать оценку платежеспособности клиента, что ускоряет процесс выдачи кредитов. При помощи R прогнозируют инвестиционные показатели и уменьшают риски за счет инвестирования в наиболее выгодные по прогнозу отрасли.</p><figure><img src="https://media.tproger.ru/uploads/2017/04/4-1024x509.jpg" alt="" /></figure><h2>Как попасть в финтех?</h2><p>Окей, всё это выглядит действительно привлекательным и даже интересным.</p><p>Если решили попробовать себя в финтехе, у вас есть пара вариантов: пойти на стажировку в IT департамент крупного банка или попытаться запустить что-то свое. Оба варианта хороши, но везде есть свои особенности.</p><p>Со стажировкой все понятно: увидели анонс, отправили заявку, пришли и победили. Сидите себе в офисе, решаете задачки и спрашиваете совет у наставников — идеальный вариант для тех, кто точно знает, чего хочет. А если не знаете, чем хотите заниматься и в какой отдел податься? Идите в стартап!</p><p>Для стартапа нужна идея и команда крутых ребят, которые готовы работать лишь за эту идею (хотя бы первое время). Вам нужен инвестор, который поверит в востребованность этой идеи так же, как и вы, а еще и денег даст (чтобы ваша команда ела что-то, кроме бич-пакетов). Это лишь малая часть проблем, заставляющая 10 раз подумать перед тем, как запустить свой проект. Но тут можно попробовать себя во всем и точно определиться с дальнейшим развитием.</p><p>Короче, у нас тут есть классная стажировка от Банка «Открытие», и если вы вдруг решили попробовать себя в финтехе — подавайтесь! Подойдет тем, кто уже определился со сферой развития и тем, кто хочет замутить свой проект и найти свое призвание.</p><figure><img src="https://media.tproger.ru/uploads/2017/04/5-1024x509.jpg" alt="" /></figure>]]></content:encoded>
    </item>
    <item>
      <title>Почему научиться программировать не так трудно, как вы думаете, или Разрушители мифов об изучении программирования</title>
      <link>https://tproger.ru/sponsored/learn-programming-myths</link>
      <comments>https://tproger.ru/sponsored/learn-programming-myths?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/learn-programming-myths</guid>
      <description><![CDATA[<p>Распространённые мифы о сложности программирования разобраны по пунктам: чтобы начать писать код, хватит мотивации, интереса и дисциплины.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/learn-programming-myths">Почему научиться программировать не так трудно, как вы думаете, или Разрушители мифов об изучении программирования</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Обучение программированию]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 10 Apr 2017 20:10:54 GMT</pubDate>
      <content:encoded><![CDATA[<p>Профессии IT-индустрии считаются одними из самых сложных в освоении, поэтому часто новички, боясь сложностей, теряют интерес к изучению новых технологий. Мы решили развеять самые распространенные мифы о сложности программирования и помочь вам раз и навсегда уяснить, что научиться программировать — не трудно.</p><h2>Программирование — это сложно?</h2><p>Самый распространённый миф о программировании — программирование требует огромных интеллектуальных возможностей. Чтобы начать писать код, не нужно быть семи пядей во лбу: достаточно иметь мотивацию, интерес и дисциплину. Если вы открыты для нового и готовы применять приобретенные навыки на практике, то вы научитесь программировать. Поможет вам, например, <a href="https://geekbrains.ru/basics_intensive?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=26.04.17&amp;utm_term=mifu_o_programmirovanii&amp;utm_content=basics_intensive">интенсив «Основы программирования»</a>, который за 2 часа даст вам базовую теорию, необходимую для понимания основных современных языков программирования, и первый опыт написания программы. Но для сложных задач также может потребоваться знание из специфических отраслей.</p><h2>Но у меня не очень хорошо с математикой, а её во всех вузах полно…</h2><p>Следующее заблуждение заключается в том, что знание математики — предмет первой необходимости для программистов. На самом же деле для программирования достаточно знать базовые понятия из курса школьной математики. Но только на первых порах: дальнейшее усложнение задач может потребовать знания тонкостей в определенной предметной области. Например, для верстки сайтов или написания мобильных приложений вам хватит и тех простых знаний, которые вы получили в школе. Однако для Data Science и научного программирования требуются знания из статистики, теории вероятности и матанализа, которые постигнуть в одиночку уже сложнее — но и тут следует помнить, что большую часть сложных вещей уже реализовали, а вам понадобится только использовать их.</p><h2>Но мне ещё / уже X лет, наверно, рано / поздно начинать?</h2><p>Вопреки закоренелым стереотипам, нельзя быть слишком старым или слишком молодым для программирования. Все зависит от того, способны ли вы заставить себя учиться. Конечно, физиология будет влиять на ваши успехи, но усердие может скомпенсировать недостатки, как и тщательный подбор материалов для обучения.</p><h2>А ещё я девушка…</h2><p>Странно слышать, что женщинам не место в программировании, в то время, как первым программистом была женщина, Ада Лавлейс, которая составила набор инструкций для вычисления чисел Бернулли на машине Беббиджа. Конечно, женщина, желающая посвятить себя программированию, должна быть готова к усмешкам со стороны коллег-мужчин и общества в целом, мол, «не женское это дело». Но в то же время нет никаких объективных причин женщине не становиться программистом — все зависит только от ее желания.</p><h2>Видел я этих ваших программистов: сидят дома за компьютерами, раз в месяц за бичпакетами в магазин выходят…</h2><p>Вспомните программистов из фильмов прошлого: сутулый человек непонятного пола в очках, неопрятной одежде, ведет странный образ жизни, да еще и питается чем-попало. Это далеко от истины: программисты ничем не отличаются от специалистов в других технических отраслях в этом отношении. Сюда же можно отнести миф об асоциальности программистов: программисты часто работают в командах, а в команде навык общения с людьми необходим. А ещё в команде необходимо знание полезных инструментов, например, Git — познакомиться с ним можно, посмотрев <a href="https://geekbrains.ru/courses/66?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=26.04.17&amp;utm_term=mifu_o_programmirovanii&amp;utm_content=courses_66">бесплатный видеокурс «Git. Быстрый старт»</a>.</p><h2>Сидеть и писать код каждый день — жутко скучно, не так ли?</h2><p>Некоторые люди считают, что программирование — процесс, лишенный какого-либо творчества. Это величайшее заблуждение: код перестал быть просто набором математических операторов, и теперь к нему стали применимы понятия гибкости, надежности и простоты. Так что программирование — это не только техническая, но и творческая деятельность, для которой, однако, не нужно иметь дар свыше: программирование — такой же навык, как и занятия спортом. Чем больше занимаешься, тем выше шанс успеха.</p><h2>Ладно, убедили. Но как лучше учиться?</h2><p>Образовательные интернет-площадки сделали получение знаний значительно проще, но вместе с тем и исказили мировоззрения новичков. Начинающие часто думают, что после прохождения курсов по той или иной технологии они могут закончить свое обучение. Такие мысли очень опасны. При любых обстоятельствах нужно быть в курсе событий. Рынок не стоит на месте: сегодня ты востребован, завтра твои знания уже никому не нужны.</p><p>С другой стороны, убежденность в том, что университет решит все ваши проблемы, не менее ошибочна. Университет, конечно, даст вам и диплом, и базовые (часто только базовые) знания, но не факт, что после завершения обучения вы станете востребованным специалистом.</p><h2>И как же быть?</h2><p>К счастью, есть компромиссы. Многие университеты позволяют удалённо изучать программирование, математику и прочие необходимые программисту дисциплины на онлайн-площадках вроде Coursera и Udacity. Нельзя не отметить и <a href="https://geekbrains.ru/geek_university/web?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=26.04.17&amp;utm_term=mifu_o_programmirovanii&amp;utm_content=geek_university_web">Geek University</a>, платный онлайн-университет от Mail.Ru Group, за год обучения в котором вы изучите все тонкости Android- или веб-разработки на специальных факультетах и получите не только теоретические, но и практические навыки.</p><p>Вообще онлайн-курсы программирования — относительно новое веяние, но оно уже успело стать популярным. Теперь вы стоите перед выбором курса. Но какой выбрать? Не стоит полагаться только на рекламу и советы: выберите курс с тем преподавателем, который, на ваш взгляд, хорошо объясняет материал. Попробуйте несколько вариантов. Курсов много, все они разные, для разных аудиторий: вам остается только выбрать.</p><h2>Посоветуете что-то конкретное?</h2><p>Например, если вам ближе веб-разработка, то стоит обратить внимание на <a href="https://geekbrains.ru/webdev_intensive?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=26.04.17&amp;utm_term=mifu_o_programmirovanii&amp;utm_content=webdev_intensive">интенсив «Основы веб-разработки»</a>. Если то, что вы узнаете, вас затянет, то вы сможете продолжить изучение этой темы, благо в Интернете очень много различных руководств, книг и курсов.</p><p>Те, кто с детства хотел разрабатывать игры, тоже найдут себе курс по душе. Для разработки игр отлично подходит язык C#, на котором написан популярный движок Unity. Начать можно с C#, а потом перейти к более плотному изучению самого движка. Однако любой вопрос лучше изучать структурированно, поэтому мы советуем обратить внимание на <a href="https://geekbrains.ru/professions/game_developer?utm_medium=adv_post&amp;utm_source=tproger.ru&amp;utm_campaign=26.04.17&amp;utm_term=mifu_o_programmirovanii&amp;utm_content=professions_game_developer">курс «Разработчик игр»</a>, в рамках которого вы за 4 месяца изучите все тонкости этой профессии, а потом ещё и поучаствуете в командной стажировке.</p><p>Чтобы стать гитаристом, достаточно тратить 30 минут в день? Чтобы стать спортсменом, достаточно просто поотжиматься полчаса? Нет и нет. Забудьте о том, что C# можно выучить за 15 минут, JavaScript — за 3 минуты, а HTML — за наносекунду. Если у вас есть желание сделать программирование своей профессией, не думайте, что малая отдача даст вам большой результат. Знакомьтесь с разными направлениями разработки и не бойтесь изучать что-то новое.</p>]]></content:encoded>
    </item>
    <item>
      <title>В чём преимущества изучения HTML с наставником?</title>
      <link>https://tproger.ru/sponsored/html-need-coach</link>
      <comments>https://tproger.ru/sponsored/html-need-coach?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Пётр Соковых]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/html-need-coach</guid>
      <description><![CDATA[<p>Самостоятельное освоение HTML и CSS упирается в сложные задачи с несколькими решениями, и опытный разработчик-наставник помогает пройти этот путь быстрее.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/html-need-coach">В чём преимущества изучения HTML с наставником?</a>»</p>]]></description>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Обучение программированию]]></category>
      <category><![CDATA[HTML]]></category>
      <category><![CDATA[Обучающие курсы]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 05 Apr 2017 10:59:14 GMT</pubDate>
      <content:encoded><![CDATA[<p>Если вы решили стать веб-разработчиком, то начнёте с изучения HTML и CSS. Но как именно? Вооружиться учебниками и гуглом, придумать учебный план и планку качества, а ответы ждать на форуме неделями от таких же самоучек. Или попробовать найти опытного разработчика, который станет проводником в мир веб-разработки. Что быстрее и эффективнее?</p><h3>Самостоятельно разобраться быстрее</h3><p>С конкретной задачей, допустим, сверстать сайт-визитку — разобраться можно, действительно, самому, потратив несколько вечеров. Но это до тех пор, пока не появится задача сложнее, имеющая несколько решений. Опытный разработчик справился бы быстро, так как изучал основы структурно и уже решал похожие задачи, а новичок рискует застрять надолго и получить не самое корректное решение.</p><h3>Что мешает получать знания без чужой помощи?</h3><p>Ничего, но будьте готовы к тому, что на это уйдёт достаточно много времени — точно больше, чем хотелось бы.</p><p>К тому же индустрия развивается быстро, новые технологии появляются постоянно и сложно понять за что стоит хвататься, а на что время и силы тратить не нужно.</p><p>Человеческий фактор и мотивация также влияют на результаты. Не имея чёткого плана и поддержки со стороны, учёба и практика нередко забрасывается после первой трудности.</p><p>Наставник поможет справиться с этим: поделится опытом, поддержит, задаст наводящие вопросы там, где нужно и расскажет о лучших практиках.</p><h3>Зачем мне академические знания? Нужна же практика</h3><p>Опыт нужен, но на его приобретение нужно время, для новичка же важно иметь в голове структурированные знания и уметь ими пользоваться, чтобы не начать плавать на задачах посложнее.</p><p>Уверенное знание основ поможет выделиться на собеседовании, не тратить рабочее время на восполнение пробелов в базе и наращивать профессиональный уровень, продолжая развиваться.</p><h3>Нужно ещё больше времени?</h3><p>Это ценный ресурс, но далеко не всё время, потраченное на обучение, будет проведено с пользой.</p><p>Можно провести много бессонных ночей за материалами из разных источников, но велик риск усвоить противоречащие или устаревшие идеи и подходы, так как веб-технологии развиваются быстро.</p><p>Например, как правильно выделить фразу в тексте полужирным:</p><ul><li>&lt;strong&gt;так&lt;/strong&gt;;</li><li>&lt;b&gt;или так&lt;/b&gt;;</li><li>&lt;span style="font-weight: bold;"&gt;или даже так&lt;/span&gt;.</li></ul><p>Наставник бы объяснил, что зависит от того, какая перед нами цель. Так, тег &lt;strong&gt; определяет важность отмеченного текста, тег &lt;b&gt; предназначен для выделения текста визуально, без придания ему важности, а у текста внутри тега &lt;span&gt; меняется шрифт с помощью стилей CSS. Но последнее — смешение содержания и оформления, считается «дурным» тоном и подобного стоит избегать.</p><p>Все три способа выделяют текст полужирным, но имеют разные семантические значения. Отличия этих тегов будут заметны людям, которые используют специальные настройки ОС, в частности, слепым и слабовидящим. Когда они включают функцию чтения текста, то специальная программа будет интонацией выделять слова с тегом &lt;strong&gt;.</p><h3>Ерунда какая-то… я начал сам изучать HTML и уже почти всё знаю!</h3><p>А если на собеседовании спросят об одной из таких основных вещей, с которой вы ещё не сталкивались?</p><p>Продуманная программа обучения и опытный наставник помогли бы определить минимум того, что необходимо освоить начинающему верстальщику и подготовиться лучше.</p><p>Более того, в работе верстальщика вам понадобятся и другие смежные навыки: методологии для написания аккуратного и лёгкого в поддержке кода, слепой десятипальцевый метод печати, работа с фотошопом и системой контроля версий.</p><h3>Столько всего — за целую жизнь не выучить, да и где я найду наставника</h3><p>Не пугайтесь. Время, потраченное с толком, всегда приносит пользу. Да и тратить на основы целую жизнь — расточительство.</p><p>Например, на <a href="https://htmlacademy.ru/intensive/htmlcss?utm_source=article&amp;utm_medium=tproger&amp;utm_campaign=vk_intensive17">интенсиве</a> HTML Academy вы вместе с личным наставником изучите основы и сверстаете личный проект за 5 недель. В качестве подтверждения того, что вы обладаете необходимыми знаниями, вам будет выдан специальный сертификат, а в вашем портфолио уже будет первая серьёзная работа.</p>]]></content:encoded>
    </item>
    <item>
      <title>Что такое виртуальный выделенный сервер и зачем он вам нужен</title>
      <link>https://tproger.ru/sponsored/what-is-vds</link>
      <comments>https://tproger.ru/sponsored/what-is-vds?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Пётр Соковых]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/what-is-vds</guid>
      <description><![CDATA[<p>VDS выигрывает у хостинга по количеству возможностей — вы можете размещать там сколько угодно баз данных или сайтов и устанавливать любые приложения.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/what-is-vds">Что такое виртуальный выделенный сервер и зачем он вам нужен</a>»</p>]]></description>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 29 Mar 2017 11:08:21 GMT</pubDate>
      <content:encoded><![CDATA[<p>В двадцать первом веке всем управляют сетевые технологии. Разработка игр, веб-приложений, или разработка сайтов для интернет магазинов — чем бы вы ни занимались, ваша деятельность рано или поздно может потребовать наличия VDS (Virtual Dedicated Server) — виртуального выделенного сервера.</p><h3>Виртуальный? Это как?</h3><p>Это когда клиенту предоставляется не физическая машина целиком, а только её часть, но со своей операционной системой и фиксированными ресурсами. Работа с ней ничем не отличается от работы с физическим сервером: клиент получает root права в операционной системе (или права администратора, если вдруг вам нужен сервер под Windows) и отсутствие ограничений по количеству баз данных, доменных зон, пользователей и прочего.</p><h3>Получается, я буду с кем-то делить машину?</h3><p>Да. Однако в этом нет ничего страшного — виртуальный сервер работает независимо от своих «соседей». Сбой одного виртуального сервера никак не повлияет на работу компьютера в целом, VDS изолированы друг от друга. Изолированы и ресурсы, которые используют виртуальные сервера — пользователи одной хост-машины не «перетягивают» их друг у друга, каждый получает фиксированный размер памяти и дискового пространства.</p><h3>И чем же это лучше обычного хостинга? Там тоже на одном сервере по много сайтов размещено</h3><p>VDS выигрывает у хостинга по количеству возможностей — с root правами вы можете устанавливать на данную вам ОС любые приложения, размещать там сколько угодно баз данных или сайтов. На обычном виртуальном хостинге несколько сайтов нередко используют один IP-адрес, в то время как каждому виртуальному серверу назначается свой.</p><p>На хостинге у вас не получится, например, поднять сервер для своей игры или настроить управление роботом на Arduino с телефона. VDS же даёт в этом плане полную свободу действий.</p><h3>Наверное, это сложно — нужно установить ПО, настроить среду…</h3><p>Если вы хорошо знаете, как это делается, то это скорее плюс — вы точно сможете настроить систему лучше, чем это делается по умолчанию. А если не очень — всегда можно переложить эти проблемы на плечи технической поддержки, которая обязательно подскажет что и как нужно сделать, или вовсе сделает это за вас.</p><h3>И всё же преимущества перед хостингом не очевидны. Зачем мне VDS, если у меня простой сайт на PHP+MySQL?</h3><p>А вдруг случайно получится так, что ваш сайт обретёт популярность и будет активно развиваться? Гарантированные ресурсы, которые вы получаете на своём виртуальном сервере, возможность легко увеличить их количество, удобные возможности вроде резервного копирования — виртуальный хостинг лишён всего этого. Но для жизни серьёзного проекта эти функции просто необходимы. Если же уже сейчас ваш сайт тормозит, а места на жёстком диске не хватает, это верный знак, что пора переходить на VDS: у компании ABC Server вы можете арендовать сервера на выгодных условиях, а при оплате за год ещё и получить скидку в 25%.</p><h3>Почему бы тогда просто не купить физический сервер? Разве это не надёжнее?</h3><p>Надёжнее. Но нужно учитывать, что полноценный сервер стоит значительно дороже, причём дороговизна не всегда пропорциональна выигрышу в мощности. К тому же физическая машина не может так же легко масштабироваться — докупить 1 ГБ ОЗУ или полтерабайта дискового пространства в один клик здесь уже не получится. Если такой вариант вам подходит больше, то ABC Server предоставляет широкий выбор выделенных серверов для покупки или аренды.</p>]]></content:encoded>
    </item>
    <item>
      <title>Худшие способы обучения программированию</title>
      <link>https://tproger.ru/sponsored/wrong-learning</link>
      <comments>https://tproger.ru/sponsored/wrong-learning?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/wrong-learning</guid>
      <description><![CDATA[<p>Список самых неэффективных путей в профессию: перечитывание одной и той же информации почти бесполезно, а дробление материала работает лучше.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/wrong-learning">Худшие способы обучения программированию</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Обучение программированию]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 28 Mar 2017 15:12:36 GMT</pubDate>
      <content:encoded><![CDATA[<p>Начать следует с того, что любой способ образования полезен, ведь так или иначе вы приобретаете знания и хоть немного шевелите мозгами. Но мы хотим не просто размять мозг, а приобрести профессию и зарабатывать ей, верно?</p><p>Поэтому давайте обезопасим себя и попробуем составить список самых неэффективных способов стать программистом.</p><h3>Неверное распределение энергии</h3><p>В западном образовании существует классификация техник самообучения, каждой из которых приписывается одна из трёх степеней эффективности. Так, например, постоянное перечитывание одной и той же информации практически бесполезно, а вот дробление её на более мелкие куски, с конкретными вопросами и заданиями, позволяет усвоить материал значительно быстрее. Именно так построено обучение на качественных <a href="https://geekbrains.ru//?utm_medium=affiliate&amp;utm_source=tproger.ru&amp;utm_campaign=post_20.03.17&amp;utm_term=hudshie_sposobi_obucheniya&amp;utm_content=main">профессиональных курсах</a>: теория — выполнение практического задания — разбор возникших вопросов. Тут и на Запад смотреть не надо, эффективность очевидна.</p><figure><img src="https://media.tproger.ru/uploads/2017/03/content_learning-techniques-effectiveness.jpg" alt="" /></figure><h3>Легкое чтиво</h3><p>В блогах и на форумах можно встретить много интересного и даже захватывающего чтива на любую тему, в том числе и о программировании. Конечно, если вы хотите освоить профессиональный язык, такое чтение полезно. Но надеяться приобрести таким образом какие-то глубокие знания не стоит, поэтому следите за расходом времени и энергии.</p><h3>Отсутствие практики</h3><p>Знания без возможности их практического применения полезны лишь для расширения кругозора — если такой вопрос встретится в сканворде, вы блеснете умом. Вот, собственно, и вся польза. Стоит ли ради этого тратить время и силы? Вряд ли. Программирование — наука точная и требует максимальной практики. Поэтому, если вы решили учиться самостоятельно, то ищите любые возможности попробовать себя в деле.</p><h3>Обучение в изоляции</h3><p>Даже если вы успешно обучаетесь самостоятельно, рано или поздно наступит момент, когда станет необходимо показать свои навыки окружающим. Какая польза от того, что вы пишете, если этого никто не видит? Обучение в команде позволяет не только быстро получать ответы на вопросы, но и даёт возможность заявить о себе, когда вы почувствуете внутреннюю уверенность. Вспомните об этом, когда кто-нибудь посоветует вам учиться в одиночку.</p><h3>Наступление по одному фронту</h3><p>Каждый вид обучения имеет свои плюсы и минусы: в вузе можно получить фундаментальные знания, в книгах более подробные и конкретные, в интернете — актуальные и современные. Но не стоит надеяться, что кто-то или что-то вложит в вашу голову знания без труда с вашей стороны — подобных чудес пока не встречалось. Только активная жизненная позиция и наступление по всем фронтам может сделать из вас успешного программиста. Помните, что формула успеха выглядит так: теория + практика + профессиональный круг общения + несгибаемое упорство.</p><h3>Неправильный ментор</h3><p>Если вы решили найти ментора или записаться на курсы, узнайте о них как можно больше. Ведь от этих людей будет зависеть ваша карьера! Интересуйтесь не только успешностью преподавателя, но и успешностью тех, кого он обучал — многие ли из них работают по специальности? Ведь именно такого результата вы ожидаете, верно?</p><p>По этой причине курсы предпочтительнее ментора — доверять свою карьеру одному человеку слишком рискованно. На курсах всегда работает несколько преподавателей, есть одногруппники, с которыми можно советоваться и работать в команде. К тому же обучение на официально зарегистрированных курсах всегда даёт больше гарантий, чем личная договорённость с человеком, личные качества которого вам неизвестны.</p><p>А если выбирать среди курсов, то только такие, которые успели зарекомендовать себя на рынке. GeekBrains сотрудничает со многими успешными IT-компаниями, готовыми принять студентов на стажировку. Как результат, 7 из 10 студентов находят работу ещё во время обучения. Если до этого дня вы уже пытались изучать программирование, но не добились желаемого результата, не спешите констатировать у себя проф. непригодность — запишитесь на <a href="https://geekbrains.ru/courses/?utm_medium=affiliate&amp;utm_source=tproger.ru&amp;utm_campaign=post_28.03.17&amp;utm_term=hudshie_sposobi_obucheniya&amp;utm_content=courses">курс</a>, который вам интересен, и вы убедитесь, что способны на многое!</p><p>Теперь вы знаете, как не превратить свой путь к карьере в IT в хождение по мукам. А какие ошибки совершали вы?</p><p>Спасибо <a href="https://geekbrains.ru/?utm_medium=affiliate&amp;utm_source=tproger.ru&amp;utm_campaign=post_28.03.17&amp;utm_term=hudshie_sposobi_obucheniya&amp;utm_content=main">GeekBrains</a> за представленный материал.</p><figure><img src="https://media.tproger.ru/uploads/2017/03/logo_gb_text-35be1fbb34539e04e906739511a51a7179f0802d8bff4ef56336044cff201e70-300x91.png" alt="" /></figure>]]></content:encoded>
    </item>
    <item>
      <title>Идеи для своих проектов: какие игры должен уметь писать каждый программист и как начать зарабатывать на этом</title>
      <link>https://tproger.ru/sponsored/ideas-games</link>
      <comments>https://tproger.ru/sponsored/ideas-games?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/ideas-games</guid>
      <description><![CDATA[<p>Подборка игр вроде «Быков и коров» для тренировки: они помогают пройти путь от новичка до зрелого программиста и попробовать заработать на своих проектах.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/ideas-games">Идеи для своих проектов: какие игры должен уметь писать каждый программист и как начать зарабатывать на этом</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Разработка игр]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 16 Mar 2017 12:26:24 GMT</pubDate>
      <content:encoded><![CDATA[<p>Многих из нас в профессию программиста привела любовь к играм и головоломкам. Поэтому неудивительно, что как только у нас появляются хоть какие-то знания в IT, мы пытаемся применить их для написания игр. Ну, ведь не зря говорят, что лучше всего знания усваиваются через игру… вот мы и играем!</p><p>Есть игры, которые должен уметь писать каждый программист. И это отличная тренировка! Вот несколько игр, которые помогут вам пройти путь от новичка до зрелого программиста, а может быть, и будущего создателя игровых бестселлеров.</p><h3>Быки и коровы</h3><figure><img src="https://media.tproger.ru/uploads/2017/03/byk.png" alt="" /></figure><p>Суть игры: ваш соперник, будь то компьютер или друг, загадывает 4-значное число, состоящее из неповторяющихся цифр. Ваша задача — угадать его за ограниченное число ходов. В качестве подсказок выступают «коровы» (цифра угадана, но её позиция — нет) и «быки» (когда совпадает и цифра, и её позиция). То есть если загадано число «1234», а вы называете «6531», то результатом будет 1 корова (цифра «1») и 1 бык (цифра «3»).</p><p>Чем полезно: создание игры не потребует от вас углубленного знания языка, а сам язык может быть практически любой. При этом вам придётся отработать очень много базовых упражнений с циклами и операторами, да и на выходе получится весьма интересная игра.</p><p>Как усложнить: сохранение результатов, круговое соревнование на несколько игроков, режим турнира, игра по сети.</p><h3>Текстовый квест</h3><figure><img src="https://media.tproger.ru/uploads/2017/03/2-1-1024x576.jpg" alt="" /></figure><p>Суть игры: строгих принципов нет, это может быть как линейный сюжет, требующий минимальных действий от игрока, так и полностью интерактивная забава, где количество возможных исходов исчисляется десятками. Классический пример первого типа — телевизионное шоу «Кто хочет стать миллионером?», второго типа — настольная игра Dungeons &amp; Dragons.</p><p>Чем полезно: Текстовые квесты — отличная тренировка для начинающего программиста. В них есть всё, что нужно: просчёт вероятности, оперирование данными и прогнозирование дальнейших действий. Можно обойтись и без этого, но в любом случае придётся научиться работать с классами, объектами и модулями.</p><p>Как усложнить: импровизируйте!</p><h3>Крестики-нолики</h3><figure><img src="https://media.tproger.ru/uploads/2017/03/krestiki-noliki-1024x392.png" alt="" /></figure><p>Суть игры: перед вами игровое поле 3×3 клетки. Каждому игроку присваивается своя фигура (крестик или нолик), после чего они поочередно заполняют ими поле. Ну, вы поняли.</p><p>Чем полезно: Переход от текстовых приложений к графическому интерфейсу, хоть и на достаточно примитивном уровне. С точки зрения самого кода это отличный способ набить руку на описании всевозможных однотипных ситуаций. Но есть и более сложные пути создания функционального кода.</p><p>Как усложнить: увеличение размеров поля, регулировка сложности.</p><h3>Пятнашки и Змейка</h3><figure><img src="https://media.tproger.ru/uploads/2017/03/zmejka-1024x522.jpg" alt="" /></figure><p>Суть игры: Пятнашки — это головоломка, цель которой — за минимальное количество ходов упорядочить костяшки с нанесёнными числами от 1 до 15, расположенные на игровом поле 4×4 с одной свободной ячейкой. Упорядочение должно происходить перемещением костяшек на соседнюю пустую ячейку.</p><p>Змейка — игра, в которой игровой объект (собственно, змейка), перемещаясь по игровому полю в вертикальном и горизонтальном направлениях, увеличивает свою длину после столкновения с единичными объектами (едой). Суть игры заключается в необходимости избегать препятствий, границ игрового поля, а также собственного «хвоста».</p><p>Чем полезно: переход на новый уровень в графической составляющей, при этом алгоритмы действий и их анализ остаются относительно простыми.</p><p>Как усложнить: использовать манипуляции с игровым полем и временем.</p><h3>Арканоид (Бильярд)</h3><figure><img src="https://media.tproger.ru/uploads/2017/03/arkanoid.jpg" alt="" /></figure><p>Суть игры: взаимодействие большого числа объектов, каждый из которых обладает своими уникальными физическими и инерционными характеристиками.</p><p>Чем полезно: качественная работа с графическими объектами, которая должна учитывать точную форму, траекторию движения, скорость, массу и т. д. Главная проблема — расчётное значение редко бывает целым, в отличие от количества пикселов, поэтому необходимо оперировать погрешностями и создавать модели поведения, включающие несколько факторов.</p><p>Как усложнить: попробуйте сделать арканоид с классическими бонусами и изменением скорости полёта шарика. Бильярд можно сделать русским, а также учитывать взаимодействие шаров с покрытием.</p><h3>Угадай мелодию</h3><figure><img src="https://media.tproger.ru/uploads/2017/03/ugadaj_melodiju.png" alt="" /></figure><p>Если все описанное выше для вас — уже пройденный этап, и хочется более сложных задач, то попробуйте создать викторину <a href="https://geekbrains.ru/courses/72/?utm_medium=affiliate&amp;utm_source=tproger.ru&amp;utm_campaign=post_16.03.17&amp;utm_term=kakie_igri-pisat&amp;utm_content=courses/72">«Угадай мелодию»</a>.</p><p>Суть игры: в том, чтобы угадывать выбранные мелодии, вы же помните?</p><p>Чем полезно: в процессе обучения вы знакомитесь с большим количеством элементов Windows Forms. Учитесь использовать несколько форм и приобретаете важный навык передачи данных между ними. Узнаёте, как можно подключить дополнительные компоненты и использовать реестр Windows для хранения настроек программы. Учитесь добавлять музыкальное оформление к своей программе и подключать геймпад для управления игрой. А главное — у вас появляется заготовка для реализации многих других идей.</p><p>Как усложнить: ну… например, используйте в качестве заданий песни Вадима Казаченко — их точно никто не угадает.</p><p>А саму игру усложнять нет никакой необходимости — на работу с ней у вас и так уйдёт несколько дней. А вот облегчить задачу можно — вы уже заглядывали по <a href="https://geekbrains.ru/courses/72/?utm_medium=affiliate&amp;utm_source=tproger.ru&amp;utm_campaign=post_16.03.17&amp;utm_term=kakie_igri-pisat&amp;utm_content=courses/72">этой ссылке</a>? Если нет, то обязательно сделайте это.</p><p>И, наконец, если вы фанат игр, то почему бы не сделать их своей профессией? Вы знаете, сколько зарабатывает такой специалист? 100 000 руб. в месяц. Да-да, с такой профессией можно жить играючи и припеваючи.</p><h3>Какие основные требования предъявляются к разработчику игр?</h3><p>Во-первых, такой <a href="https://geekbrains.ru/professions/game_developer/?utm_medium=affiliate&amp;utm_source=tproger.ru&amp;utm_campaign=post_16.03.17&amp;utm_term=kakie_igri-pisat&amp;utm_content=professions/game_developer">специалист</a> должен любить игры. Если вы дочитали до этого места, то это точно про вас! Во-вторых, он должен в совершенстве владеть С#. И, в-третьих, знать Unity. Вот, кажется, и все основные требования. Главное — это много-много практики и страсти. Ну и портфолио с резюме будут не лишними. Думаете, это сложная задача? Вовсе нет! В GeekBrains для вас приготовили <a href="https://geekbrains.ru/professions/game_developer/?utm_medium=affiliate&amp;utm_source=tproger.ru&amp;utm_campaign=post_16.03.17&amp;utm_term=kakie_igri-pisat&amp;utm_content=professions/game_developer">курс</a> «all inclusive» — всё, что вам останется сделать, пройдя его — это выбрать лучшего работодателя. Сомневаетесь? А семь из десяти студентов GeekBrains именно так и поступают.</p><p>Ну что, вы готовы сыграть по-взрослому? На кону ваша карьера. Делайте ставки, господа!</p>]]></content:encoded>
    </item>
    <item>
      <title>Каталог веб-студий — проект, который помогает веб-разработчику и клиенту найти друг друга</title>
      <link>https://tproger.ru/sponsored/templatemonster-web-studios-catalogue</link>
      <comments>https://tproger.ru/sponsored/templatemonster-web-studios-catalogue?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/templatemonster-web-studios-catalogue</guid>
      <description><![CDATA[<p>Новый проект TemplateMonster сводит фрилансеров и владельцев веб-студий с заказчиками, которым нужна доработка купленного шаблона и запуск сайта.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/templatemonster-web-studios-catalogue">Каталог веб-студий — проект, который помогает веб-разработчику и клиенту найти друг друга</a>»</p>]]></description>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sun, 12 Mar 2017 15:29:12 GMT</pubDate>
      <content:encoded><![CDATA[<p>Цель этой статьи — рассказать фрилансерам и владельцам веб-студий о новом проекте TemplateMonster и, конечно же, о том, как можно на нем заработать. Речь пойдёт о Каталоге Веб-Студий.</p><figure><img src="https://media.tproger.ru/uploads/2017/03/catalogue-1024x523.jpg" alt="" /></figure><p>Этот проект отличается от многих других тем, что он может быть полезен как веб-разработчикам, так и их клиентам. Фактически каталог помогает им найти друг друга и начать плодотворно работать вместе.</p><p>Представьте себе обыденную ситуацию (для сферы веб-дизайна, разумеется).</p><p>Предположим, клиент купил премиум-шаблон для своего веб-ресурса, который он хочет развивать дальше. Он вполне доволен покупкой, но вот незадача — клиент совсем ничего не знает о том, как кастомизировать свой новенький шаблон и запустить проект. У покупателя совершенно нет времени или желания на изучение документации шаблона. Его не интересуют ни текстовые, ни видеотуториалы. Всё, чего он хочет — это чтобы кто-то сделал эту техническую и для многих скучную/сложную часть работы за него.</p><p>Что вы обычно делаете в первую очередь, если вам нужно срочно найти какую-то информацию? Именно. Начинаете искать её в Интернете.</p><p>На просторах паутины можно найти множество студий веб-дизайна, но каким из них можно доверять? На чём основывать свой выбор? Как найти ту самую студию или дизайнера, который выполнит ваш заказ идеально? До появления <b>каталога веб-студий TemplateMonster</b> это было сделать довольно проблематично.</p><p>Имидж любой студии мгновенно возрастет в глазах клиента, если её порекомендует лидер индустрии.</p><p>Скажите, а хотели бы вы увидеть свое имя или имя своей студии в <b>Каталоге Веб-Студий TemplateMonster</b>? Это можно устроить, и мы расскажем вам, как. Но для начала — немного о самом проекте.</p><p>Во-первых, чтобы попасть в заветный список веб-студий, рекомендованных TemplateMonster, необходимо пройти процесс <b>сертификации</b> и показать уровень своего профессионализма. Это обязательное условие.</p><p>Так как в список попадают только сертифицированные студии, клиенты могут полностью на них полагаться. Мы расскажем вам о процессе сертификации чуть позже.</p><p>Далее: каталог веб-студий также хорош тем, что помогает всем партнёрам TemplateMonster, фрилансерам и веб-дизайн студиям наладить производственный процесс и заполучить больше заказов от клиентов компании. Учитывая то, что в сфере веб-разработки «выжить» не так уж и просто, это достаточно жирный плюс.</p><p>В коллекции TemplateMonster имеется около <b>24 000 шаблонов</b>. Там вы найдёте тысячи шаблонов, созданных для таких популярных платформ, как WordPress, HTML5, Joomla, PrestaShop, Magento и не только.</p><p>Чтобы разобраться в таком разнообразии было легче, TemplateMonster расширили функционал списка веб-студий с помощью <b>дополнительных параметров поиска</b>. Клиенты могут искать студии, находящиеся в определенной местности.</p><p>Также различные студии работают с разными CMS, поэтому каталог также оснащён функцией сортировки студий по CMS.</p><figure><img src="https://media.tproger.ru/uploads/2017/03/filtr-1024x259.jpg" alt="" /></figure><p>Пользоваться этим поиском очень удобно. Например, владельцы WordPress шаблонов из Нью-Йорка увидят список компаний, работающих с данной платформой в этом городе.</p><p>Покупатели также увидят список всех CMS, с которыми работает агентство. Это важная опция для тех, кому необходимо «запустить» сразу несколько проектов.</p><figure><img src="https://media.tproger.ru/uploads/2017/03/cms-1024x450.jpg" alt="" /></figure><p>Например, клиенты могут связаться с одной студией, которая работает одновременно, скажем, с WordPress, Joomla и Magento платформами, либо отправить запросы в три разных студии.</p><p>Но это ещё не всё. Каждая студия в каталоге имеет свой рейтинг, который основывается на количестве удачно завершённых проектов, выполненных с помощью шаблонов TemplateMonster. То есть чем опытнее студия — тем выше ее рейтинг.</p><p>TemplateMonster.com дает веб-студиям хорошую возможность улучшить свой имидж, расширить базу клиентов и заработать больше денег.</p><p>Продолжим? Так вот, кроме того, что студия указана в списке, у каждого партнёра также имеется собственный профиль (страничка) на сайте. Там они могут указать более детальную информацию о своих услугах, сотрудниках, CMS, с которыми они работают, ценах, контактных данных и многом другом.</p><p>TemplateMonster также оставляет отзывы о деятельности и рейтинге агентства на его страничке профиля.</p><figure><img src="https://media.tproger.ru/uploads/2017/03/personalnaja-str-1024x478.jpg" alt="" /></figure><p>Эта информация поможет клиентам найти студию, идеально подходящую для их проектов.</p><p>Те, кто уже готовы разместить заказ, могут воспользоваться специальной формой. С её помощью можно связаться с агентством и рассказать, что именно вам нужно сделать, в какие сроки и в какую сумму вы хотели бы вложиться.</p><p>Это была основная информация о <b>Каталоге Сертифицированных Партнеров TemplateMonster</b>.</p><p>Посмотрите это видео, если у вас остались какие-либо вопросы:</p><p><b>совершенно бесплатно</b></p><p>Вы что-нибудь слышали о <a href="http://sertificat.templatemonster.ru/ ?utm_source=MonsterTrafficChallenge&amp;utm_campaign=Ads1&amp;utm_medium=gaz2110&amp;aff=gaz2110">Центре Сертификации TemplateMonster</a>?</p><figure><img src="https://media.tproger.ru/uploads/2017/03/centr-sertifikacii.jpg" alt="" /></figure><p><b>Только агентства, которые закончили курсы и успешно прошли тест, получают право попасть в Каталог Сертифицированных Веб-Студий.</b></p><p>TemplateMonster приготовили туториалы и тесты по самым популярным CMS: WordPress, Joomla, MotoCMS и другим.</p><h4>Кому это выгодно?</h4><ul><li>Веб-Студиям;</li><li>Фрилансерам;</li><li>Всем, кто хочет научиться создавать сайты.</li></ul><h4>Что вы получите после окончания курсов?</h4><p>Как только вы сдадите сертификационный тест, вы получите <b>официальный сертификат от ТemplateMonster</b>, который подтвердит ваши навыки работы с CMS.</p><p>Этот сертификат будет отлично смотреться на стене вашего офиса, в вашем портфолио, а также станет весомым аргументом при переговорах с потенциальными покупателями.</p><p>Если вы эксперт в области веб-разработки — можете сразу пройти тест, без прохождения курсов.</p><p>Учитесь, изучайте новые CMS и не забывайте, что команда TemplateMonster всегда с вами. Они готовы помогать вам во всём и обучать вас <b>совершенно бесплатно</b>.</p><h3>И в завершение…</h3><p>Если вы бизнесмен, пользуйтесь <b>Каталогом Веб-Дизайн Студий</b>, чтобы найти проверенное агентство, которое поможет вам начать работу со своим веб-ресурсом в кратчайшие сроки.</p><p>Если вы партнер TemplateMonster, пройдите процесс сертификации, и вас внесут в список. После этого вам будет намного легче найти новых клиентов и увеличить число постоянных.<br />Нам интересно ваше мнение о новом проекте TemplateMonster. Считаете ли вы, что он может помочь вашему бизнесу? Собираетесь ли вы учиться и пройти тест? Хотели бы вы попасть в список рекомендованных веб-студий? Мы будем рады любым отзывам.</p>]]></content:encoded>
    </item>
    <item>
      <title>Взвесил все «за» и «против» и стал программистом — история одного разработчика</title>
      <link>https://tproger.ru/sponsored/case-frontend-developer</link>
      <comments>https://tproger.ru/sponsored/case-frontend-developer?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/case-frontend-developer</guid>
      <description><![CDATA[<p>Александр Щеголь из «Газпром Комплектация» и выпускник курсов GeekBrains вспоминает, как пришёл от создания сайтов с 2006 года к профессии программиста.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/case-frontend-developer">Взвесил все «за» и «против» и стал программистом — история одного разработчика</a>»</p>]]></description>
      <category><![CDATA[История успеха]]></category>
      <category><![CDATA[Карьера]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 20 Dec 2016 10:13:21 GMT</pubDate>
      <content:encoded><![CDATA[<p>Рассказывает Александр Щеголь,сотрудник ООО «Газпром Комплектация», выпускник курсов GeekBrains.</p><figure><img src="https://media.tproger.ru/uploads/2016/12/122192.png" alt="" /></figure><p>Здравствуйте, уважаемые коллеги, меня зовут Александр.</p><p>Я хотел бы поделиться с вами своей историей. А успеха или нет, судите сами.</p><h3>Первый опыт</h3><p>Созданием сайтов я начал заниматься достаточно давно, примерно с 2006-ого года. Я всегда с большим уважением относился к программистам. Если разработка ПО казалась для меня чем-то заоблачным, то создавать сайты оказалось вовсе не сложно, особенно после прочтения простенькой книжки по основам вёрстки. На тот момент некоторые мои друзья уже баловались созданием страничек о себе. Кто постарше, наверное, ещё помнит эти заголовки в стиле: «Доброго времени суток, дорогой путник! Добро пожаловать на страничку…” Хорошие были времена. Так вот, мне тоже тогда хотелось создавать что-то подобное.</p><p>Как только я начал верстать, это занятие полностью захватило меня. Мне казалось, что это именно то, чем я хочу заниматься. Я разрабатывал сайт несколько дней практически без перерывов. Получилась вполне себе нормальная страничка (на тот момент). В последующие месяцы я всячески улучшал её, повышая своё мастерство и приобретая опыт. Хочу заметить, что про JavaScript тогда даже речи не шло — всё это выглядело как пара файлов .html и .css, связанных между собой, и кучка изображений.</p><p>Со временем я дошёл до того, что люди окружающие меня, стали обращаться за помощью — так я начал немного подрабатывать верстальщиком. Получалось это с переменным успехом, я старался угодить всем и каждому, за работу чаще всего денег не брал, мотивируя себя наработкой опыта. Этот период длился очень долго, около 8 лет. Кто-то сейчас скажет: «Что ты делал всё это время? За такое время тим-лидами становятся!».  Я полностью согласен с вами, но я не относился к этому занятию как к чему-то серьёзному: просто хобби, просто 1–3 сайта в год, никаких обязательств.</p><p>Примерно к 30-ти годам всё изменилось. Во-первых, у меня родилась дочь. Что ни говори, а отношение людей к жизни в большинстве случаев сильно меняется, когда у них появляются дети. Во-вторых, моя любимая работа перестала радовать после того, как меня повысили в должности. В один прекрасный момент я взвесил все «за» и «против» и решил, что изменю свою деятельность и буду заниматься программированием.</p><h3>Смена профессии</h3><figure><img src="https://media.tproger.ru/uploads/2016/12/content1.png" alt="" /></figure><p>Как раз в тот момент проходила очередная новогодняя акция от GeekBrains, мне удалось закупиться аж на 2 большие профессии <a href="https://geekbrains.ru/professions/web_developer/?utm_medium=affiliate&amp;utm_source=tproger.ru&amp;utm_campaign=post_20.12.16&amp;utm_term=vzvesil_za_i_protiv&amp;utm_content=professions_web_developer">«Веб-разработчик»</a> и <a href="https://geekbrains.ru/professions/mobile_developer/?utm_medium=affiliate&amp;utm_source=tproger.ru&amp;utm_campaign=post_20.12.16&amp;utm_term=vzvesil_za_i_protiv&amp;utm_content=professions_mobile_developer">«Mobile-разработчик»</a>. Потом все курсы по профессии «Mobile-разработчик» я перевёл в русло веб-разработки. Почему я выбрал именно GeekBrains, честно сказать не знаю, скорее всего, из-за бесплатного курса <a href="https://geekbrains.ru/basics_live/?utm_medium=affiliate&amp;utm_source=tproger.ru&amp;utm_campaign=post_20.12.16&amp;utm_term=vzvesil_za_i_protiv&amp;utm_content=basics_live">«Основы Программирования»</a>, который показал, как проходит учебный процесс, и заодно уже чему-то научил.</p><p>На первом же курсе началась «жара». Всё вскипело, вся моя жизнь превратилась в одну большую машину, направленную на изучение правильного создания сайтов. Дальше — больше: под наблюдением учителей из GeekBrains я написал свои первые программы на JavaScript и понял, что становлюсь на верный путь — курс за курсом, книга за книгой мой код становился всё лучше. Я ушёл со своей прежней работы и решил подработать на фриланс-биржах.</p><h3>Применение знаний</h3><figure><img src="https://media.tproger.ru/uploads/2016/12/content_bez_imeni-223412312.png" alt="" /></figure><p>Фриланс для новичка — это ужас. Нет планирования — первая и самая главная причина ужаса. Ты думаешь, что ты делаешь работу медленнее и хуже, чем остальная публика, поэтому занижаешь свою ставку, чтобы хоть кто-то дал тебе заказ. Сроки всегда очень сжатые, оценить объёмы ты ещё не в состоянии, иногда ты вообще не понимаешь, что нужно заказчику. Ты сделал работу, заказчик говорит, что ему нужно другое, и ты опять всё переделываешь. И совсем нет защищённости от недобросовестных клиентов. Нужно быть действительно крепким орешком или иметь какой-то пассивный заработок, чтобы выжить в этом “винегрете”. У меня такой возможности не было, поэтому я быстро понял, что необходимо срочно искать свою первую компанию и трудоустраиваться.</p><p>Поиски длились долго и жёстко. Сразу хочу сказать, что я устраивался на должность верстальщика в разгар кризиса, мой возраст на тот момент — 30 лет. Я понятия не имел, что такое собеседование, так как более 10 лет бессменно работал на государство. Работу я искал преимущественно на специализированных сайтах, а точнее на сайте, не буду его рекламировать, сами прекрасно знаете на каком.</p><p>Без опыта и тем более профильного образования вы в большинстве случаев никому не нужны. Даже за мизерную зарплату в условиях «рабства» придётся побороться. Первые мои собеседования быстро заканчивались, оставляя в душе «осадочек» и… 10-20 пунктов, которые надо разобрать. Весь «смак» заключается в том, что нет никакого стандарта собеседований, все компании их проводят в целом одинаково, но в деталях настолько по-разному, что подготовиться к очередному собеседованию становится намного сложнее. В большинстве случаев простого общения и примеров из портфолио недостаточно, и компании придумывают тестовые задания. Я и не знал, что если ты вплотную занялся трудоустройством, то ты просто физически не сможешь работать — будешь ходить на собеседования и выполнять тестовые задания. Так прошло 2 месяца…</p><h3>Первая работа</h3><figure><img src="https://media.tproger.ru/uploads/2016/12/content_bez_imeni-0.png" alt="" /></figure><p>Признаюсь, я уже хотел плюнуть на всё — на собеседования я приходил, как к себе домой, появилось некоторое безразличие в общении с принимающей стороной. И вот, прохожу прихожу в очередную фирму, выполняю тестовое задание прямо в офисе и получаю свою первую должность верстальщика! Ура!</p><p>Работать в компании оказалось в разы проще, чем на фрилансе. Ты не связан с заказчиками и не занимаешься организационными и другими вопросами — ты просто делаешь свою работу. В каждый новый проект я старался вносить какие-то новшества, которые не переставал черпать из статей, книг и интернета. Бывало, я освежал свою память и пересматривал некоторые уроки, которые я уже прошёл на GeekBrains. Постепенно я начал понимать, как верстать быстро и качественно, и все мои старания перешли в область программирования.</p><p>Замечу, что я не останавливал своё обучение ни на секунду. Когда ты работаешь, учиться ещё легче: огромный спектр задач расширяет твои возможности. Я успевал выкрадывать время на прохождение новых курсов GeekBrains по темам, которые мне были необходимы. Это помогло снизить порог вхождения в язык PHP и CMS Битрикс, широко используемую в России и СНГ.</p><p>Прошло полгода, и я снова начал брать заказы на фриланс-биржах и от знакомых, но теперь работать с заказчиками стало намного проще. Используя планирование, я мог оценить время, затраченное на проект, и работу делал намного качественнее, чем раньше. Стали появляться фирмы-заказчики, которые специализируются на разработке проектов удалённо, и фриланс перестал мне казаться таким “колючим”.</p><h3>Новый опыт</h3><p>Я сменил место работы и ушёл в один крупный проект в качестве фронтенд-разработчика. К сожалению, через полгода руководители распустили всю команду, не поделив что-то с заказчиками. Я снова искал работу, но уже избирательнее и осторожнее. И вот спустя несколько различных собеседований и тестовых заданий меня позвали в ООО «Газпром Комплектация». С октября 2016 года я являюсь сотрудником этой компании и успешно выполняю задачи, связанные с разработкой сайтов.</p><p>В заключении хотелось бы всем пожелать успехов в выбранном вами направлении. Не сдавайтесь, не унывайте, боритесь и побеждайте, учитесь, учитесь, учитесь — <a href="https://geekbrains.ru/?utm_medium=affiliate&amp;utm_source=tproger.ru&amp;utm_campaign=post_20.12.16&amp;utm_term=vzvesil_za_i_protiv&amp;utm_content=main">GeekBrains</a> поможет вам в этом.</p><p>Удачи!</p><p>Спасибо GeekBrains за представленный материал.</p><p><a href="https://geekbrains.ru/?utm_medium=affiliate&amp;utm_source=tproger.ru&amp;utm_campaign=post_20.12.16&amp;utm_term=vzvesil_za_i_protiv&amp;utm_content=main"></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Техностримы по разработке игр — как создать успешный проект. Краткий дайджест</title>
      <link>https://tproger.ru/sponsored/gamedev-tech-streams</link>
      <comments>https://tproger.ru/sponsored/gamedev-tech-streams?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Типичный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/gamedev-tech-streams</guid>
      <description><![CDATA[<p>Разработчики и руководители игровых проектов Mail.Ru Group обсудили создание успешной мобильной игры, продвижение, VR-платформы, UX и игровой баланс.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/gamedev-tech-streams">Техностримы по разработке игр — как создать успешный проект. Краткий дайджест</a>»</p>]]></description>
      <category><![CDATA[Разработка игр]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 19 Dec 2016 13:41:34 GMT</pubDate>
      <content:encoded><![CDATA[<p>В ноябре образовательный канал Технострим провел несколько трансляций. В студию приходили разработчики и руководители игровых проектов Mail.Ru Group и делились своим опытом.</p><p>За месяц стримов гости успели обсудить <a href="https://www.youtube.com/watch?v=pK8sp5duVa8&amp;index=5&amp;list=PLrCZzMib1e9ow_3l72bbuJKYcvdd0B07z">историю игр</a> и <a href="https://www.youtube.com/watch?v=CxPuLAi-wSQ&amp;index=3&amp;list=PLrCZzMib1e9ow_3l72bbuJKYcvdd0B07z">технические основы их разработки</a>. Поговорили о <a href="https://www.youtube.com/watch?v=CxPuLAi-wSQ&amp;list=PLrCZzMib1e9ow_3l72bbuJKYcvdd0B07z&amp;index=3">продвижении игр</a>, затронули проектирование под <a href="https://youtu.be/6BE--6FAPwo?list=PLrCZzMib1e9ow_3l72bbuJKYcvdd0B07z">мобильные</a> и <a href="https://www.youtube.com/watch?v=rBlKwogJx1E&amp;list=PLrCZzMib1e9ow_3l72bbuJKYcvdd0B07z&amp;index=6">VR-платформы</a>, коснулись тем <a href="https://www.youtube.com/watch?v=dcmVUIOfy-A&amp;index=7&amp;list=PLrCZzMib1e9ow_3l72bbuJKYcvdd0B07z">UX</a> и <a href="https://www.youtube.com/watch?v=8VAEdYqBV6A">игрового баланса</a>. Полную версию этих трансляций вы можете посмотреть <a href="https://www.youtube.com/channel/UCmqEpAsQMcsYaeef4qgECvQ">на канале.</a></p><p>А сейчас предлагаем вам краткий дайджест нескольких из них.</p><h3>Как создать успешную мобильную игру</h3><p>В студии Иван Федянин — руководитель студии Fast Forward, разрабатывающей новую мобильную MOBA Planet of Heroes! Иван работает в игровой индустрии уже более 15 лет — долгое время он работал в Nival и руководил работой над такими известными мобильными играми, как Prime World и Etherlords.</p><h4>Подготовка к разработке</h4><p>Как понять, что вам стоит заниматься разработкой игр?</p><p>Иван советует всем новичкам, которые хотят создавать игры, прочитать <a href="https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D1%8B">статью о шахматах</a> на wiki. Если вам интересно разбираться в нескольких сотнях вариаций и правил, описанных там, — из вас точно получится геймдизайнер. Если же вас это «не прет» — подумайте, действительно ли стоит заниматься играми.</p><p>Помните, что создание игр и программирование — не одно и то же. Команда хороших разработчиков не обязательно сделает крутую игру. Но и лучшие геймдизайнеры не всегда смогут написать качественный код. Все должно быть сбалансировано.</p><p><b>Определите, откуда пойдет трафик</b></p><figure><img src="https://media.tproger.ru/uploads/2016/12/1475335278_4_planet_of_heroes-300x169.jpg" alt="" /></figure><p>Не стоит оценивать востребованность игры, опираясь на субъективное ощущение. Перед разработкой четко поймите, откуда вы возьмете игроков и чем вы лучше других. Если вы не знаете, откуда к вам придет трафик, начинать бессмысленно. Разработка игр — дорогое удовольствие. Если вы «промахнетесь», второго шанса может не быть.</p><p>Игра Planet Of Heroes, которой занимается Иван, привлекает всех любителей MOBA. Она не конкурирует с LoL или Dota, поскольку позволяет играть в нее в то время, когда в компьютерную MOBA не сыграть. Например, в дороге или во время ожидания.</p><p><b>Не изобретайте велосипед</b></p><p>Скорее всего, для создания вашей игры подойдет один из уже известных движков. Воспользуйтесь SDK для любого (например, Unity) — и вы сэкономите себе много времени. Стандартных языков для разработки игр не существует. Под каждый проект придется подобрать что-то свое. Но все равно обратите внимание на традиционный C++.</p><h4>Разработка</h4><p><b>Мобильная игра должна быть мобильной</b></p><p>Ошибка многих мобильных разработчиков — желание перенести компьютер в телефон. Это плохое решение. На смартфон нельзя установить клиент в 10 ГБ! Игра должна загружаться быстро, весить мало, а графика должна быть достаточно простой, чтобы охватить максимум устройств и не бликовать на солнце.</p><p><b>Не бросайтесь в проект без априорной оценки</b></p><p>В самом начале сделайте прототип, который сможет отразить суть вашей игры. Протестируйте его с друзьями и фокус-группой из числа игроков. Оцените, насколько она хорошо «заходит», обозначьте основные проблемы, которые вы видите в процессе разработки, распишите, как именно и когда вы их будете решать. После этого приступайте к написанию игры.</p><p><b>Не работайте в проекте, если вы в него не верите</b></p><p>Показать всем, что вы были правы, когда все развалится, — слабое утешение. Разработка игр требует любви к своему делу. Если вы считаете проект безнадежным или не можете переубедить начальство в фатальности одного из решений — лучше сменить место работы.</p><p><b>Если вы начинающий геймдизайнер — идите в большую студию</b></p><p>Наибольший рост на старте вы получите именно там, ведь в крупных компаниях процесс разработки четко структурирован и поставлен на поток. У вас будет возможность разобраться во всех этапах на примере, а не копаться в том, как это надо делать в принципе.</p><p>Смотрите полную версию трансяции на канале Технострим:</p><h3>Игровой баланс: миф или реальность?</h3><p>В студии креативный директор проекта Skyforge и преподаватель геймдизайна в Scream School — Александр Паньков. А также креативный директор в игровом направлении Mail.Ru Group, в прошлом — геймдизайнер и креативный директор в Nival Александр Мишулин.</p><h4>Равенство и справедливость</h4><p><b>Математический баланс — не то, чего хочет пользователь</b></p><p>В играх, безусловно, существует математический баланс. Но равенство не означает справедливость. Более того, равенство не обязательно создает интерес к игре.</p><p>При разработке «Starcraft II» компания Blizzard сначала использовала алгоритм matchmaking, при котором в противники подбирался похожий по уровню игрок. В результате каждая игра получалась очень длинной и напряженной, а игроки теряли интерес.</p><p>Алгоритм, при котором ты иногда попадаешь на слабого противника, иногда — на такого же, а иногда — на бога стратегий, зарекомендовал себя гораздо лучше. В одних матчах игроки чувствовали свое превосходство, могли расслабиться и получить удовольствие от игры. В других же — видели, куда им еще расти.</p><p><b>Правильный баланс не описывается математикой</b></p><figure><img src="https://media.tproger.ru/uploads/2016/12/elf-226x300.jpg" alt="" /></figure><p>Часто на игровой баланс влияют совершенно нематематические вещи. Например, в игре «Аллоды Онлайн» расы «Лиги» оказались внешне более притягательными. Больше людей играли за «Лигу», что повлияло на игровой баланс фракций, хотя при равном количестве игроков они сбалансированы.</p><p>Не все эффекты в играх поддаются математическому подсчету. Конечно, можно посчитать урон и восстановление здоровья, а также броню. Но просчитать эффект от ошеломления, ускорения или другого бафа не всегда возможно. Это делается на основе субъективных ощущений. Математический баланс может отличаться от реального во много раз.</p><p><b>Как не нарушить баланс донатом</b></p><p>Равенство в вопросе покупки игровых товаров за реальные деньги точно также никому не нужно. Разные люди могут позволить себе вложить в игру разные суммы, опираясь на внешние ограничения. Ни у кого нет цели обидеть людей моделью монетизации.</p><p>Чаще всего игроками обсуждаются две модели монетизации: одна продает эффективность (шмотки, заклинания), другая позволяет отличаться от других (костюмы, скины). Первая модель наиболее эффективна. Но если вы продаете шмотку, которую нужно получить с какого-то моба, вы сокращаете игру. Плюс не всегда игрок будет с ней хорош в бою, ведь он не обучится в процессе ее получения. Вы можете расстроить покупателя, поскольку он будет думать, что купил ерунду, которая не работает. Вторая модель не позволяет эффективно получать прибыль, ведь слишком малый процент игроков готов платить за то, чтобы выделиться из толпы в вашей игре.</p><p>Идеально, когда донат повышает удобство достижения цели. Но не позволяет получить ее без участие в игре. Например, вы продаете маунта, который поможет быстрее перемещаться и добраться до босса, но не убить его.</p><h4>Как выглядит игра и с идеальным балансом</h4><p><b>Отсутствие единой стратегии </b></p><p>Если в игре существует одно заклинание, которое всех убивает — зачем учить другие? Игроки должны иметь возможность приходить к достижению своих целей разными способами.</p><p><b>Игра сбалансирована для разных групп пользователей</b></p><p>Существует несколько типов игроков: эксплореры, ачиверы, киллеры, сошиалайзеры. Каждому из них нравится играть, пока есть что-то неизвестное в их сфере. Первым интересно открывать новые локации или героев, вторым — достигать успеха в игре, третьим — убивать игроков а четвертым — просто общаться. Оказаться в топе — понятная мотивация, но она работает не для всех. И если игра не сбалансирована для всех типов игроков, они не задержатся в ней. Ведь как только ты узнал все, интерес к игре пропадает.</p><p>И главное правило:</p><p><b>Если в отзывах про каждый класс написали, что он слишком мощный — значит, все в порядке!</b></p><p>Смотрите полную версию трансяции на канале Технострим:</p><h3>Игрок и игра: Интерфейс как связующее звено</h3><p>В студии UX/UI-дизайнер студии ITTerritory Ольга Шуберт, которая обладает девятилетним опытом разработки интерфейсов и игровых механик и делится им на конференциях и в образовательных проектах компании Mail.Ru Group.</p><h4>Основы UX-проектирования</h4><p><b>Что такое UX?</b></p><p>UX сокращенно от User eXperience (пользовательский опыт) — реакция игрока на ваш продукт. Сравнивая несколько игр, вы подсознательно выбираете ту, которая больше всего нравится. Где-то она чуть удобнее, где-то информативнее, а где-то убрали лишнее. UX-проектирование — определение элементов, влияющих на восприятие игры пользователем, и их доработка, в соответствии с его интересами.</p><p><b>Зачем нужен UX?</b></p><p>Без него вы можете вложить в разработку игры много денег и времени: наймете лучших программистов и геймдизайнеров, придумаете гениальную концепцию, но вашим продуктом пользоваться не будут. Окажется, например, что игра сложная, а обучения нет — люди не поймут. Может быть, просто не будет понятно, куда нажимать на большом экране. В конце-концов, кто-то может не найти кнопку «включить». В итоге силы будут потрачены зря.</p><p><b>Почему нельзя украсть готовый интерфейс в другом проекте?</b></p><p>Можно. Более того, изобретать велосипед, по мнению Ольги Шуберт, вредно. Но стоит учесть, что у любого проекта есть хорошие и плохие решения. Перед тем, как их заимствовать, нужно во всем разобраться. Если бездумно позаимствовать интерфейс и встроить его в игру с другой аудиторией и жанром, можно наломать дров.</p><h4>Как происходит UX-проектирование</h4><p><b>Разобраться в техническом задании</b></p><p>После того, как дизайнер придумал новую фичу, UX-проектировщику нужно выяснить все детали. Какие проблемы она решает? Какой бизнес-задаче она соответствует? Что она даст пользователям? Нужна ли эта фича?</p><p>Часто разработчики думают совсем не так, как пользователь. Они предлагают то, что, по их мнению, необходимо, но для игрока это не всегда важно. Проектировщику нужно понять задачу лучше, чем сам геймдизайнер.</p><p><b>Создание прототипа</b></p><p>При создании прототипа раскладывается информационная архитектура: сколько окон пройдет пользователь, как они между собой связаны, куда он должен будет смотреть. Каждому окну присваиваются отдельные задачи, ведь дизайнер не может отрисовать одно окно в отрыве от окружающей информации.</p><p>С помощью простых графических редакторов UX-проектировщик создает прототип. Он тестирует его на фокус-группе и сверяется с геймдизайнером. UX-разработка — итерационный процесс, где ни одна задача не может считаться окончательно завершенной.</p><h4>UX-лаборатория и фокус группы</h4><p><b>Как выглядит UX-лаборатория</b></p><p>Это комната, куда можно привести тестировщика и дать ему поиграть. Там мы наблюдаем за поведением игрока. Мы можем общаться с ним, видеть, куда он нажимает, куда смотрит, как понимает поставленную перед ним задачу. Мы можем снимать некоторые биометрические показатели и оценивать его эмоции.</p><p>Тестирование в лаборатории — дорогой и медленный процесс. Большинство проверок происходит вне ее стен. В лаборатории можно тестировать только самые важные элементы проекта. Например, бой в онлайн игре, который должен быть идеальным, чтобы возвращать к себе пользователя снова и снова.</p><p><b>Разработчики — не лучшая аудитория для тестирования</b></p><p>Отвечая на некоторые вопросы, они пытаются задействовать знания, которыми не обладает обычный игрок. Результат получается совсем иным. С другой стороны, если даже программист не понимает какую-то деталь в вашем проекте, скорее всего, она будет сложна и для пользователя. Если вы тестируете на разработчиках, сформулируйте задачу максимально четко.</p><h4>Кейсы UX-разработки</h4><p>Если во время игры вы на несколько минут застряли в одном месте — вероятно, это не только ваша проблема, но и геймдизайнера.</p><p><b>Убрали затемнение экрана</b></p><p>В одном проекте в рамках обучения затемняли экран. Все элементы, кроме необходимого, гасли. У игрока не было возможности нажать неправильно. В какой-то момент затемнение решили убрать, посчитав, что это некрасиво. Оставили большие анимированные круги, которые работали в городе, где все объекты были большими и анимированными. В результате, конверсии упали на 50%!</p><p><b>Ввели сюжетную линию</b></p><p>В другом проекте пользователи пропускали все диалоги, но жаловались на отсутствие сюжетной линии. После того, как над ее подачей поработали, игрокам стало нравится наличие сюжета. Хотя диалоги все также пропускались, показатели значительно выросли.</p><p>Смотрите полную версию трансляции на канале Технострим:</p><p>Там вы сможете найти и другие стримы по разработке игр.</p>]]></content:encoded>
    </item>
    <item>
      <title>Как захантить первоклассного программиста</title>
      <link>https://tproger.ru/sponsored/how-to-hunt-top-programmer</link>
      <comments>https://tproger.ru/sponsored/how-to-hunt-top-programmer?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Типичный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/how-to-hunt-top-programmer</guid>
      <description><![CDATA[<p>Программа «Глобальное образование» работает с 2014 года при поддержке правительства, а расходы на учёбу студентов полностью оплачивает государство.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/how-to-hunt-top-programmer">Как захантить первоклассного программиста</a>»</p>]]></description>
      <category><![CDATA[Обучение программированию]]></category>
      <category><![CDATA[HR]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 15 Dec 2016 12:21:38 GMT</pubDate>
      <content:encoded><![CDATA[<p>Вам нужен специалист с отличным образованием? К счастью, сегодня такие ребята уже есть на рынке труда — специалисты в сфере разработки искусственного интеллекта, компьютерных коммуникаций и программирования, окончившие Стэнфорд, UCLA, Миланский Политех, и другие престижные университеты. Профессионалы со знанием языка и передовых западных технологий готовы поработать!</p><p>С 2014 года при поддержке Правительства России работает программа «Глобальное образование». Все расходы на учебу оплачивает государство. Выпускники — ценные кадры с уникальными знаниями и зарубежным опытом в сфере ИТ-технологий. Каждый вернувшийся домой специалист способен успешно влиться в инженерный или научный коллектив и усилить команду, работающую над проектом любой сложности.</p><p>Наблюдательным советом программы «Глобальное образование» утверждены наиболее востребованные специальности, которые нужны работодателям здесь и сейчас. На данный момент налажено сотрудничество с 288 университетами из 32 стран. Студенты из РФ проходят подготовку в таких учебных заведениях, как Стэнфорд, Миланский политех, Университет Монаша, Берлинский университет имени Гумбольдта и многие другие.</p><p>Первые выпускники уже рассматривают предложения от работодателей по таким специальностям:</p><ol><li>Компьютерные коммуникации.</li><li>Разработка искусственного интеллекта.</li><li>Информатика и вычислительная техника.</li><li>Компьютерные и информационные науки.</li></ol><p>На данный момент во всемирно известных университетах получают образование более 400 граждан РФ. Всего планируется обучить более 700 студентов.</p><p>Что может и готов предложить работодателю профессионал с зарубежным ИТ-образованием?</p><ul><li>Вы нанимаете на работу полностью готового к выполнению задач специалиста.</li><li>Передовые разработки не на словах, а на деле. Ваш новый сотрудник знает, «как делают там сейчас», а это значит, что вы уже сегодня создаете продукт, который другие будут делать только «завтра и послезавтра».</li><li>Позитивный вклад в уже запущенные проекты.</li></ul><p><a href="http://educationglobal.ru/">Узнать подробнее</a> о программе «Глобальное образование», ее участниках и выпускниках.</p><p>Благодарим команду государственной программы «Глобальное образование» за предоставленный материал.</p>]]></content:encoded>
    </item>
    <item>
      <title>Приложения на заказ — прибыльный бизнес</title>
      <link>https://tproger.ru/sponsored/ios-developer-success-story</link>
      <comments>https://tproger.ru/sponsored/ios-developer-success-story?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Типичный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/ios-developer-success-story</guid>
      <description><![CDATA[<p>Давид Какаладзе, владелец компании IosDevClub и выпускник курсов GeekBrains, рассказывает о пути от Basic и CSS к разработке приложений для iOS.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/ios-developer-success-story">Приложения на заказ — прибыльный бизнес</a>»</p>]]></description>
      <category><![CDATA[История успеха]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 08 Dec 2016 09:21:10 GMT</pubDate>
      <content:encoded><![CDATA[<p>Рассказывает Давид Какаладзе,владелец компании IosDevClub, выпускник курсов GeekBrains</p><figure><img src="https://media.tproger.ru/uploads/2016/12/53794.png" alt="" /></figure><p>С программированием я познакомился в институте. Обучали нас на Basic, но меня это мало интересовало. Потом я немного поработал c CSS, немного побаловался с JavaScript. Но меня это так и не зацепило.</p><p>Несколько лет спустя меня посетила идея написать приложение для iOS. Я начал искать, кто мне смог бы помочь написать его. К сожалению, знакомых, увлекающихся таким занятием не оказалось. Я начал искать компании по мобильной разработке, которые пишут приложения для iOS. И каждый раз меня сильно удивлял ценник.</p><p>В тот момент я стал понимать, что писать приложения на заказ — прибыльный бизнес. В 2016 году рынок мобильных приложений оценивался в 50,9 миллиардов долларов, а прогноз на 2020 год гласил, что предполагаемый рост составит около 100 миллиардов долларов. Эти цифры немного отличаются у разных исследователей, но очевидным остается то, что мобильный рынок действительно масштабен. Приблизительное число разработчиков мобильных приложений — 2,3 миллиона человек, а это означает, что каждый восьмой из всех разработчиков в мире создаёт мобильные приложения.</p><figure><img src="https://media.tproger.ru/uploads/2016/12/111_ZrS6RMB.jpg.750x446_q95.jpg" alt="" /></figure><p>С этого момента я начал изучать программирование основательно. Для начала я записался на курсы от школы «Специалист». Но после первой ступени я стал чувствовать, что эти курсы не дают мне того, что я хочу — всё было очень поверхностно. После этого я нашёл курсы GeekBrains и зарегистрировался на бесплатный онлайн-курс <a href="https://geekbrains.ru/basics_live?/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=id1&amp;utm_campaign=post_tproger_08.12.16">«Основы программирования»</a>. После 4 уроков я был сильно смотивирован учиться дальше, ведь я уже мог делать простые вещи на JavaScript. Я подумал и купил профессию <a href="https://geekbrains.ru/professions/ios_developer/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=id1&amp;utm_campaign=post_tproger_08.12.16">«Разработчик iOS»</a>. Перед началом занятий я ещё успел пройти несколько уроков <a href="https://vk.com/iosdevcourse">Алексея Скутаренко</a>.</p><p>Обучение на GeekBrains сначала давалось легко, но со временем нагрузка вырастала и становилось всё тяжелее. Отдельное спасибо преподавателю, Гор Авакян, он старался объяснять всё чётко и грамотно. Закончив курсы, я написал несколько приложений для себя, чтобы эффективнее заниматься спортом и просто так, для практики. Опубликовать так и не решился. Затем меня пригласили на несколько собеседований. Но я понял, что Junior’ы мало где нужны. К тому же всё это время я работал совсем в другой сфере, эта работа меня отвлекала от программирования и я потихоньку стал забрасывать.</p><p>Однако желание быть связанным с разработкой под iOS меня не покидало. Через некоторое время я сходил на Meet-up в Mail.ru. Пообщавшись с разработчиками, меня вновь потянуло «кодить». Чувство, когда ты написал код и он работает — это действительно круто!</p><p>На этот раз я решил не искать работы, а создавать её. И открыл компанию <a href="https://geekbrains.ru/career/158/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=id1&amp;utm_campaign=post_tproger_08.12.16">IosDevClub</a> — стартап в IT-Инкубаторе GeekBrains для разработчиков iOS. Я планирую искать людей с идеями приложений и реализовывать их. Пока этот стартап является «флагмаским направлением», впоследствии я планирую также набор Android-разработчиков, но это лишь «вершина айсберга», второй ступенью будет создание приложений с дополненной реальностью (augmented reality app) и систем, включающих Internet of Things.</p><p>В сегменте дополнительной и виртуальной реальности к концу 2016 года ожидается ещё большее оживление. Устройства OculusRift от Facebook, HoloLens от Microsoft и Gear VR от Samsung, по мнению специалистов отрасли, поставят отправную точку в развитии AR/VR-платформ. Тогда же станет понятно, на какую технологическую базу они будут опираться. Аналитики <a href="https://www.appannie.com/ru/">AppAnnie</a> прогнозируют, что в ближайшем будущем наибольший интерес поклонники AR/VR-гаджетов по-прежнему будут проявлять к играм. Однако в перспективе виртуальная реальность охватит и новые сферы, такие как средства связи и СМИ.</p><figure><img src="https://media.tproger.ru/uploads/2016/12/635.jpg" alt="" /></figure><p>В 2016 году рынок виртуальной реальности пополнится не только новыми более совершенными устройствами. Чрезвычайно востребованными окажутся перспективные молодые программисты, которые смогут разрабатывать программы и приложения под конкретные типы устройств и платформы.</p><p>А в нашей команде уже есть очень хороший дизайнер и несколько хороших разработчиков. Сейчас мы работаем над заказом, который скоро должен быть опубликован!</p><p>Совет всем: мир программирования очень широк, нужны и кодеры, и архитекторы, и дизайнеры, и ещё много кого. Ищите себя, выбирайте, что больше нравится и развивайтесь!</p><p>P. S. С вакансиями IosDevClub можно ознакомиться здесь. Будем ждать и работать!</p><p>Спасибо GeekBrains за представленный материал.</p><p><a href="https://geekbrains.ru/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=id1&amp;utm_campaign=post_tproger_08.12.16"></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Как создать искусственный интеллект? (Почти) исчерпывающее руководство</title>
      <link>https://tproger.ru/sponsored/ai-guide</link>
      <comments>https://tproger.ru/sponsored/ai-guide?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/ai-guide</guid>
      <description><![CDATA[<p>Краткий план для тех, кто мечтал научиться создавать игровых ботов и другие модели искусственного интеллекта, но так и не приступил к делу.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/ai-guide">Как создать искусственный интеллект? (Почти) исчерпывающее руководство</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 28 Nov 2016 18:06:57 GMT</pubDate>
      <content:encoded><![CDATA[<p>На этой неделе вы могли прочитать крайне мотивирующей кейс от ученика GeekBrains <a href="https://geekbrains.ru/posts/case_java_developer_2?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_content=test&amp;utm_campaign=post_tproger_28.11.16">Валерия Турова</a>, который изучил профессию <a href="https://geekbrains.ru/professions/java_developer?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_content=test&amp;utm_campaign=post_tproger_28.11.16">«Программист Java»</a>, где он рассказал об одной из своих целей, которая привела в профессию — желанию познать принцип работы и научиться создавать самому игровых ботов.</p><p>А ведь действительно, именно желание создать совершенный искусственный интеллект, будь то игровая модель или мобильная программа, сподвигла на путь программиста многих из нас. Проблема в том, что за тоннами учебного материала и суровой действительностью заказчиков, это самое желание было заменено простым стремлением к саморазвитию. Для тех, кто так и не приступил к исполнению детской мечты, далее краткий путеводитель по созданию настоящего искусственного разума.</p><h3>Стадия 1. Разочарование</h3><p>Когда мы говорим о создании хотя бы простых ботов, глаза наполняются блеском, а в голове мелькают сотни идей, что он должен уметь делать. Однако, когда дело доходит до реализации, оказывается, что ключом к разгадке реальной модели поведения является математика. Да-да, искусственный интеллект куда сложнее написания прикладных программ — одних знаний о проектировании ПО вам не хватит.</p><p>Математика — этот тот научный плацдарм, на котором будет строиться ваше дальнейшее программирование. Без знания и понимания этой теории все задумки быстро разобьются о взаимодействие с человеком, ведь искусственный разум на самом деле не больше, чем набор формул.</p><h3>Стадия 2. Принятие</h3><p>Когда спесь немного сбита студенческой литературой, можно приступать к практике. Бросаться на LISP или другие <a href="https://geekbrains.ru/posts/functional_programming?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_content=test&amp;utm_campaign=post_tproger_28.11.16">функциональные языки</a> пока не стоит — сначала стоит освоиться с принципами проектирования ИИ. Как для быстрого изучения, так и дальнейшего развития прекрасно подойдёт Python — это язык, чаще всего используемый в научных целях, для него вы найдете множество библиотек, которые облегчат ваш труд.</p><h3>Стадия 3. Развитие</h3><p>Теперь переходим непосредственно к теории ИИ. Их условно можно разделить на 3 категории:</p><ul><li>Слабый ИИ – боты, которых мы видим в компьютерных играх, или простые подручные помощники, вроде Siri. Они или выполняют узкоспециализированные задачи или являются незначительным комплексом таковых, а любая непредсказуемость взаимодействия ставит их в тупик.</li><li>Сильный ИИ – это машины, интеллект которых сопоставим с человеческим мозгом. На сегодняшний день нет реальных представителей этого класса, но компьютеры, вроде Watson очень близки к достижению этой цели.</li><li>Совершенные ИИ – будущее, машинный мозг, который превзойдёт наши возможности. Именно об опасности таких разработок предупреждают Стивен Хоккинг, Элон Маск и кинофраншиза «Терминатор».</li></ul><p>Естественно, начинать следует с самых простых ботов. Для этого вспомните старую-добрую игру «Крестики-нолики» при использовании поля 3х3 и постарайтесь выяснить для себя основные алгоритмы действий: вероятность победы при безошибочных действиях, наиболее удачные места на поле для расположения фигуры, необходимость сводить игру к ничьей и так далее.</p><p><a href="https://www.google.ru/search?sourceid=chrome-psyapi2&amp;ion=1&amp;espv=2&amp;ie=UTF-8&amp;q=tic%20tac%20toe&amp;oq=tic%20tac%20toe&amp;aqs=chrome..69i57j0l5.2508j0j7">Сыграв</a> несколько десятков партий и анализируя собственные действия, вы наверняка сможете выделить все важные аспекты и переписать их в машинный код. Если нет, то продолжайте думать, а <a href="http://www.codenet.ru/progr/alg/kn.php">эта ссылка</a> здесь полежит на всякий случай.</p><p>К слову, если вы всё-таки взялись за язык Python, то создать довольно простого бота можно, обратившись к этому подробному <a href="https://code.tutsplus.com/tutorials/how-to-build-a-python-bot-that-can-play-web-games--active-11117">мануалу</a>. Для других языков, таких как <a href="http://www.progamercity.net/code-tut/238-c-how-make-simple-bot.html">C++</a> или <a href="http://www.ownedcore.com/forums/general/programming/220622-make-your-own-bot-java-robot-class.html">Java</a>, вам также не составит труда найти пошаговые материалы. Почувствовав, что за созданием ИИ нет ничего сверхъестественного, вы сможете смело закрыть браузер и приступить к личным экспериментам.</p><h3>Стадия 4. Азарт</h3><p>Теперь, когда дело сдвинулось с мёртвой точки, вам наверняка хочется создать что-то более серьёзное. В этом вам поможет ряд следующих ресурсов:</p><ul><li><a href="https://www.diffbot.com/products/">Diffbot</a>;</li><li><a href="https://cloud.google.com/prediction/docs/">Google Cloud Prediction API</a>;</li><li><a href="http://mallet.cs.umass.edu/">Mallet</a>;</li><li><a href="https://scrapy.org/">Scrapy</a>;</li><li><a href="http://products.wolframalpha.com/api/">Wolfram|Alpha</a>;</li></ul><p>Как вы поняли даже из названий, это API, которые позволят без лишних затрат времени создать некоторое подобие серьёзного ИИ.</p><h3>Стадия 5. Работа</h3><p>Теперь же, когда вы уже вполне ясно представляете, как ИИ создавать и чем при этом пользоваться, пора выводить свои знания на новый уровень. Во-первых, для этого потребуется изучение дисциплины, которое носит название «<a href="http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_(%D0%BA%D1%83%D1%80%D1%81_%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B9%2C_%D0%9A.%D0%92.%D0%92%D0%BE%D1%80%D0%BE%D0%BD%D1%86%D0%BE%D0%B2)">Машинное обучение</a>». Во-вторых, необходимо научиться работать с соответствующими библиотеками выбранного языка программирования. Для рассматриваемого нами Python это Scikit-learn, NLTK, SciPy, PyBrain и Numpy. В-третьих, в развитии никуда не обойтись от <a href="https://geekbrains.ru/posts/functional_programming?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_content=test&amp;utm_campaign=post_tproger_28.11.16">функционального программирования</a>. Ну и самое главное, вы теперь сможете читать литературу о ИИ с полным пониманием дела:</p><ul><li>Artificial Intelligence for Games, Ян Миллингтон;</li><li><a href="http://gameprogrammingpatterns.com/">Game Programming Patterns</a>, Роберт Найсторм;</li><li>AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java, Джордж Люгер, Уильям Стбалфилд;</li><li>Computational Cognitive Neuroscience, Рэнделл О’Рейли, Юко Мунаката;</li><li><a href="http://aima.cs.berkeley.edu/">Artificial Intelligence: A Modern Approach</a>, Стюарт Рассел, Питер Норвиг.</li></ul><p>И да, вся или почти вся литература по данной тематике представлена на иностранном языке, поэтому если хотите заниматься созданием ИИ профессионально — необходимо подтянуть свой английский до технического уровня. Впрочем, это актуально для любой сферы программирования, не правда ли?</p><p>В остальном же ваше дальнейшее развитие будет зависеть лишь от практики и желания усложнять алгоритмы. Но будьте осторожны: возможно, совершенный искусственный разум опасен для человечества?</p><p>Спасибо GeekBrains за представленный материал.</p><p><a href="https://geekbrains.ru/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_content=test&amp;utm_campaign=post_tproger_28.11.16"></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Что читать айтишнику: лучшие книги по программированию всех времен и народов</title>
      <link>https://tproger.ru/sponsored/best-programming-books-ever</link>
      <comments>https://tproger.ru/sponsored/best-programming-books-ever?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/best-programming-books-ever</guid>
      <description><![CDATA[<p>GeekBrains собрал 12 книг без привязки к конкретному языку или среде разработки, начиная с «Совершенного кода» Стива Макконнелла.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/best-programming-books-ever">Что читать айтишнику: лучшие книги по программированию всех времен и народов</a>»</p>]]></description>
      <category><![CDATA[Обучение программированию]]></category>
      <category><![CDATA[Лучшая практика]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 22 Nov 2016 14:51:10 GMT</pubDate>
      <content:encoded><![CDATA[<p>Как известно, одна из заповедей успешного программиста — никогда не прекращать обучение, что неизменно связано с чтением профессиональной литературы. Образовательный <a href="https://geekbrains.ru/basics_live?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_content=test&amp;utm_campaign=post_tproger_22.11.16">IT-портал GeekBrains</a> подготовил для нас подборку лучших книг по программированию, которые не имеют привязки к определённому языку или среде разработки — 12 книг, которые будут полезны всем.</p><h3>“Совершенный код”, Стив Макконнелл</h3><figure><img src="https://media.tproger.ru/uploads/2016/11/1-2-246x300.jpg" alt="" /></figure><p>Если вы планируете построить успешную карьеру программиста, то это та книга, которую прочитать вы просто обязаны. Абсолютно неважно, в какой среде вы планируете работать, какой ваш уровень подготовки, новичок вы или уже руководитель — здесь найдётся полезная информация для каждого, кто хоть как-то связан с процессом создания кода. Совершенного кода.</p><p><a href="https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/ref=sr_1_sc_2?ie=UTF8&amp;qid=1478964234&amp;sr=8-2-spell&amp;keywords=steve+makonnell">Посмотреть на Amazon</a></p><h3>“Чистый код. Создание, анализ и рефакторинг”, Роберт К. Мартин</h3><figure><img src="https://media.tproger.ru/uploads/2016/11/2.jpeg" alt="" /></figure><p>Кажется, это тот случай, когда даже не совсем правильный перевод названия книги (в оригинале «Clean Code: A Handbook of Agile Software Craftsmanship»), вполне чётко отражает её содержимое. Роберт Мартин в своём творении, опираясь на личный опыт и, что даже важнее, конкретные примеры из своей практики, рассказывает о том, как нужно кодить. Принципиальное отличие от книги Макконелла заключается в том, что здесь очень мало статистических обоснований правильности тех или иных действий, только код (занимающий почти треть книги) и рекомендации автора.</p><p><a href="https://www.amazon.com/gp/product/0132350882/ref=pd_bxgy_14_img_3?ie=UTF8&amp;psc=1&amp;refRID=KN2TE9BPTA1EAB8SMAXJ">Посмотреть на Amazon</a></p><h3>“Программист-прагматик. Путь от подмастерья к мастеру”, Эндрю Хант, Дэвид Томас</h3><figure><img src="https://media.tproger.ru/uploads/2016/11/3-1-239x300.jpg" alt="" /></figure><p>Ещё один представитель программистской литературы, где на трёхстах страницах методично описываются основные принципы создания качественного кода и условия, при которых вы будете получать удовольствие от работы, а клиент от результатов. Написана книга приятным языком, поэтому много времени на её освоение не уйдёт.</p><p><a href="https://www.amazon.com/gp/product/020161622X/ref=pd_bxgy_14_2?ie=UTF8&amp;psc=1&amp;refRID=45X2VJ3KK9EVQHAY9MR8">Посмотреть на Amazon</a></p><h3>“Путь программиста”, Джон Сонмез</h3><figure><img src="https://media.tproger.ru/uploads/2016/11/4-1-239x300.jpg" alt="" /></figure><p>Практически каждого программиста привела в профессию любовь к созиданию, удовольствие от созерцания, как символы превращаются в программы. Однако есть в этой работе и обратная сторона: высокая конкуренция, сложные отношения с клиентами, коллегами, руководством, финансовая нестабильность. Именно о тёмной стороне работы программиста и о том, как существовать в ладах со всеми этими заботами, рассказывает в своей книге Джон Сонмез.</p><p><a href="https://www.amazon.com/Soft-Skills-software-developers-manual/dp/1617292397/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1478964635&amp;sr=1-1&amp;keywords=soft+skills">Посмотреть на Amazon</a></p><h3>“Структура и Интерпретация Компьютерных Программ”, Харольд Абельсон, Джеральд Джей Сассман</h3><figure><img src="https://media.tproger.ru/uploads/2016/11/5.jpeg" alt="" /></figure><p>Эта книга рассматривает создание кода на уровне общих принципов, то есть описываются алгоритмы, объясняется взаимодействие программной среды и машины и, как следствие, предлагаются методы оптимизации будущего кода. Несмотря на довольно общую тематику, в профессиональных кругах эта книга считается учебником, как для новичков, так и для настоящих зубров IT-цеха.</p><p><a href="https://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1478964990&amp;sr=1-1&amp;keywords=Structure++and++Interpretation+of++Computer++Programs">Посмотреть на Amazon</a></p><h3>“Алгоритмы. Построение и анализ”, Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн</h3><figure><img src="https://media.tproger.ru/uploads/2016/11/6.jpeg" alt="" /></figure><p>Ещё одна увесистая книга по алгоритмам, впервые изданная в 1990 году в Массачусетском технологическом институте с авторством местных преподавателей. Несмотря на то, что написана она простым и понятным языком, из-за объёма и подачи материала (каждая глава имеет законченный вид) использовать лучше в качестве справочника, периодически обращаясь к нужной информации.</p><p><a href="https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844/ref=sr_1_fkmr0_1?s=books&amp;ie=UTF8&amp;qid=1478965079&amp;sr=1-1-fkmr0&amp;keywords=Kormen+Laiser">Посмотреть на Amazon</a></p><h3>“Release it! Проектирование и дизайн ПО для тех, кому не все равно”, Майкл Нейгард</h3><figure><img src="https://media.tproger.ru/uploads/2016/11/7.jpeg" alt="" /></figure><p>От серьёзных и фундаментальных принципов построения кода перейдём непосредственно к практической части создания ПО, а именно юзабилити, производительности, масштабированию, администрированию и далее по списку. Здесь вас ждут реальные примеры из жизни автора, несколько типовых кодов на Java (при этом сам язык никакой роли не играет) и профессиональные советы, как общего плана, так и вполне конкретные по созданию кода.</p><p><a href="https://www.amazon.com/Release-Production-Ready-Software-Pragmatic-Programmers/dp/0978739213/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1478965248&amp;sr=1-1&amp;keywords=release+it">Посмотреть на Amazon</a></p><h3>“Кодеры за работой. Размышления о ремесле программиста”, Питер Сейбел</h3><figure><img src="https://media.tproger.ru/uploads/2016/11/8.jpeg" alt="" /></figure><p>Если вам когда-нибудь хотелось подсмотреть за работой других программистов высокого полёта, то это книга придётся вам по душе. Пятнадцать человек в формате живого общения расскажут об отношении к профессии, о будущем программирования и дадут конкретные практические советы.</p><p><a href="https://www.amazon.com/Coders-Work-Reflections-Craft-Programming/dp/1430219483/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1478965511&amp;sr=1-1&amp;keywords=coders+in+work">Посмотреть на Amazon</a></p><h3>“Мифический человеко-месяц”, Хилл Чапел, Фредерик Брукс</h3><figure><img src="https://media.tproger.ru/uploads/2016/11/9.jpeg" alt="" /></figure><p>Эта книга в США входит в список must-read любого разработчика ПО. Написана она была в далёком 1975 году, но описанные этапы, проблемы и советы по разработке ПО актуальны и по сей день. Вряд ли она будет полезна для человека, который уже несколько лет варится в профессии и на личном опыте знает об этом процессе, а вот студентам и новичкам в IT — прочитать действительно следует.</p><p><a href="https://www.amazon.com/gp/product/0201835959/ref=pd_sim_14_2?ie=UTF8&amp;psc=1&amp;refRID=EHDW7D0413CQET4MSN8S">Посмотреть на Amazon</a></p><h3>“Не заставляйте меня думать!”, Стив Круг</h3><figure><img src="https://media.tproger.ru/uploads/2016/11/10.jpeg" alt="" /></figure><p>Если «Мифический человеко-месяц» — книга для разработчиков, то это своего рода библия для работников веб-индустрии. Как повысить производительность и привлекательность веб-сайта, советы для новичков, ветеранов и руководителей – всё это можно подчеркнуть из немного ироничной и крайне полезной книги Стива Круга.</p><p><a href="https://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1478965603&amp;sr=1-1&amp;keywords=dont+make+me+think">Посмотреть на Amazon</a></p><h3>“Жемчужины программирования”, Джон Бентли</h3><figure><img src="https://media.tproger.ru/uploads/2016/11/11.jpeg" alt="" /></figure><p>Очень хорошее чтиво для людей, начинающих свой путь в программировании. Здесь автор доступным языком описывает основные этапы написания качественного кода: от идеи до финального тестирования.</p><p><a href="https://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1478965710&amp;sr=1-1&amp;keywords=john+bentley">Посмотреть на Amazon</a></p><h3>“Карьера программиста. Как устроиться на работу в Google, Microsoft или другую ведущую IT-компанию”, Г. Лакман Макдауэлл</h3><figure><img src="https://media.tproger.ru/uploads/2016/11/12.jpeg" alt="" /></figure><p>Не обращайте внимание на российское название — в оригинале это «Cracking the Coding Interview: 189 Programming Interview Questions and Solution», то есть просто 189 наиболее часто задаваемых вопросов на собеседованиях в крупных IT-компаниях. Ответы, разумеется, прилагаются. Помогает не только потренировать собственный мозг, но и получить представление об образе мышления в Amazon, Apple, Facebook, Google и Microsoft.</p><p>Кстати, мы часто даем разборы задач из этой книги в рубрике <a href="https://tproger.ru/problems/">«Задачки»</a> на нашем сайте.</p><p><a href="https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1478965763&amp;sr=1-1&amp;keywords=cracking+the+coding+interview">Посмотреть на Amazon</a></p><p>Спасибо <a href="https://geekbrains.ru/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_content=test&amp;utm_campaign=post_tproger_22.11.16">GeekBrains</a> за предоставленный материал.<br /><a href="https://geekbrains.ru/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_content=test&amp;utm_campaign=post_tproger_22.11.16"></a></p>]]></content:encoded>
    </item>
    <item>
      <title>GeekWeek 2016: конференция для ленивых</title>
      <link>https://tproger.ru/sponsored/geekweek-2016</link>
      <comments>https://tproger.ru/sponsored/geekweek-2016?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/geekweek-2016</guid>
      <description><![CDATA[<p>С 14 по 19 ноября GeekBrains проводит международную онлайн-конференцию Geek Week 2016: шесть дней обучения программированию и общения с экспертами.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/geekweek-2016">GeekWeek 2016: конференция для ленивых</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Карьера]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Nov 2016 17:29:10 GMT</pubDate>
      <content:encoded><![CDATA[<p>С 14 по 19 ноября GeekBrains проводит международную <a href="https://geekweekconf.com/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_campaign=gw_post_tproger_02.11.16">онлайн-конференцию Geek Week 2016</a>. Наш план прост: 6 дней интенсивного обучения программированию и общения с экспертами из ведущих IT-корпораций России и мира. Абсолютно бесплатно и не отходя от компьютера.</p><p>Идея провести конференцию не была случайной: в ходе работы со слушателями мы увидели реальную потребность в расширении практических знаний. В итоге нашли лучших спикеров и выбрали доступный каждому онлайн-формат. Сейчас мы и расскажем вам, о чём мы узнали от слушателей и для кого конференция станет ценным опытом.</p><h3>Кому это будет полезно?</h3><p>В мире 18 млн. специалистов в сфере IT и ежегодно появляется по 500 тыс. новых программистов, веб-дизайнеров и интернет-маркетологов. Уже 10 лет сохраняется тенденция: на каждое резюме приходится 7 вакансий — то есть в большинстве стран на данный момент сохраняется глобальный дефицит профессиональных кадров.</p><p>Наша миссия — заинтересовать программированием, веб-дизайном и интернет-маркетингом как можно больше людей. Если вы хотите попробовать свои силы в IT или уже стали на путь начинающего разработчика — мы с помощью бесплатных онлайн-вебинаров и практических мастер-классов создадим максимально комфортные условия для вашего развития и роста.</p><p>Кроме того, мы можем стать связующим звеном между участниками конференции и потенциальными работодателями — с нами сотрудничают такие компании, как Intel, Kaspersky Lab, Rambler&amp;Co и другие.</p><h3>Что вас ждет?</h3><h4>Обучение с нуля</h4><figure><img src="https://media.tproger.ru/uploads/2016/10/1-bf716f36fdfdf19149a934bb23f80583179215c82ae431a25f727dd51c0b95a9.png" alt="" /></figure><p>Попробуйте себя в новых IT-направлениях на онлайн-вебинарах по основам программирования, веб-дизайна и интернет-маркетинга</p><h4>Развитие навыков</h4><figure><img src="https://media.tproger.ru/uploads/2016/10/2-22c84ff6282d24a254c7e1a3aa7e6e6a1d3abbed713ec4b65fd9b4738f3fe1c7.png" alt="" /></figure><p>Совершенствуйте свои навыки, повышайте квалификацию и узнайте, как стать успешным IT-специалистом, от спикеров из ТОП-компаний России</p><h4>Актуальные тренды</h4><figure><img src="https://media.tproger.ru/uploads/2016/10/3-0ae96964d50cf1b32997241e6f43270187694d8a980baf6dc89bae2e3812e1e4.png" alt="" /></figure><p>Будьте в курсе последних технологий и тенденций — вас ждут личные истории, практические знания и многолетний опыт профессионалов</p><h4>Сертификаты и подарки</h4><figure><img src="https://media.tproger.ru/uploads/2016/10/4-50ca76799990a7ef41ea9c7e78154ce977e520da1c695c11f5266899a2d0fa5f.png" alt="" /></figure><p>Получайте сертификаты от наших партнёров. Для самых активных участников конференции мы подготовили специальное предложение.</p><h3>Спикеры</h3><p>Вся конференция состоит из множества вебинаров различной тематики длительностью до часа. Вести их будут ведущие специалисты сотрудничающих с нами компаний.</p><h3>Что, и никакого подвоха?</h3><p>Абсолютно никакого. Только не забудьте заранее зарегистрироваться для участия на нашем сайте. Чтобы поприсутствовать, понадобится только компьютер (с доступом к интернету, естественно).</p><p>Зарегистрироваться на конференцию можно здесь:</p><p>При поддержке Mail.ru Group</p>]]></content:encoded>
    </item>
    <item>
      <title>О пользе статического анализатора кода при написании программ</title>
      <link>https://tproger.ru/sponsored/static-analyzer-pvs-studio</link>
      <comments>https://tproger.ru/sponsored/static-analyzer-pvs-studio?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/static-analyzer-pvs-studio</guid>
      <description><![CDATA[<p>Статические анализаторы ищут ошибки, от которых не спасают опыт и внимательность. PVS-Studio проверяет код на C, C++ и C# в Visual Studio и в Linux.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/static-analyzer-pvs-studio">О пользе статического анализатора кода при написании программ</a>»</p>]]></description>
      <category><![CDATA[C++]]></category>
      <category><![CDATA[Оптимизация]]></category>
      <category><![CDATA[C#]]></category>
      <category><![CDATA[Язык Си]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 31 Oct 2016 12:50:17 GMT</pubDate>
      <content:encoded><![CDATA[<p>Многие программисты при написании кода совершают ошибки, и каким бы по размеру ни был проект, от незнания особенностей той или иной функции и невнимательности не застрахован никто. Для таких случаев и были созданы статические анализаторы кода. Существует много различных анализаторов, но сегодня будет рассмотрен PVS-Studio.</p><p>PVS-Studio — это инструмент для выявления ошибок в исходном коде программ, написанных на языках С, C++ и C#. Анализатор доступен программистам, которые привыкли работать как в ОС Windows в среде Visual Studio, так и в Linux, где его можно встраивать в любую среду разработки за счет формата вывода, аналогичного оному у компилятора.</p><p>В целях повышения качества своего продукта и разработки диагностик, при помощи которых можно находить всё больше ошибок, разработчики неустанно проверяют Open Source проекты и выкладывают статьи о результатах работы в свой <a href="http://www.viva64.com/ru/b/?utm_source=tproger.ru">блог</a>.</p><p>Команда PVS-Studio нашла уже более 10 000 ошибок в различных по величине проектах, среди которых есть много известных, например: Unreal Engine, React OS, Unity 3D, CryEngine 5, Open JDK, Serious Engine, GCC, Mono и многие другие.</p><p>Некоторые баги были незначительны и жили в проверенных проектах годами. А другие — очень грубые, от них волосы встают дыбом и невольно думаешь, как программисты могли допустить такое?!</p><p>Ошибка в компиляторе GCC:</p><p>Предупреждение PVS-Studio: V501 There are identical sub-expressions ‘!strcmp(a-&gt;v.val_vms_delta.lbl1, b-&gt;v.val_vms_delta.lbl1)’ to the left and to the right of the ‘&amp;&amp;’ operator. dwarf2out.c 1428</p><p>Ошибка из проекта Mono:</p><p>Предупреждение PVS-Studio: V3001 There are identical sub-expressions ‘value1.ClassName’ to the left and to the right of the ‘==’ operator. ThemeVisualStyles.cs 2141</p><p>В обоих приведённых фрагментах кода серьезные ошибки возникают из-за обыкновенных опечаток. В результате, в GCC два раза выполняется одинаковая проверка строки lbl1, а про строку lbl2 забыли. А в Mono имя класса сравнивается само с собой.</p><p>Анализатор PVS-Studio с легкостью справляется с такими проблемами. Причем, если раньше пользоваться им можно было только <a href="http://www.viva64.com/ru/pvs-studio-download/?utm_source=tproger.ru">в среде Visual Studio под Windows</a>, то теперь разработчики выпустили новую версию продукта <a href="http://www.viva64.com/ru/pvs-studio-download-linux/?utm_source=tproger.ru">PVS-Studio for Linux</a>.</p><p>В новой версии для операционных систем GNU/Linux PVS-Studio, помимо непосредственно нативной версии самого анализатора, предлагает удобные варианты интеграции в проекты, использующие для сборки CMake и QMake, и отображение результатов анализа в средах разработки QtCreator и CLion. Продукт доступен в виде .deb, .rpm или .tgz пакетов. В скором времени разработчики планируют запустить собственные репозитории для удобного автообновления инструмента.</p><p>В Visual Studio анализатор интегрируется в виде плагина и в фоновом режиме может выполнять анализ измененных файлов после их компиляции. PVS-Studio диагностирует потенциальные ошибки в трёх основных группах: общего назначения, оптимизации и 64-битные ошибки. Набор правил общего назначения позволяет обнаружить логические ошибки, опечатки, фрагменты кода, приводящие к access violation, некорректное использование алгоритмов из библиотеки STL и многое другое.</p><p>Самый лучший способ увидеть пользу от использования анализатора — проверить с его помощью собственные проекты. Скачать обе версии продукта можно <a href="http://www.viva64.com/ru/pvs-studio/?utm_source=tproger.ru">с официального сайта</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Обзор профессии "Веб-разработчик" от GeekBrains</title>
      <link>https://tproger.ru/sponsored/web-developer-profession</link>
      <comments>https://tproger.ru/sponsored/web-developer-profession?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/web-developer-profession</guid>
      <description><![CDATA[<p>GeekBrains изучил рынок веб-разработки в стране и собрал советы новичкам: специальность популярна, потому что именно эти люди создают современный интернет.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/web-developer-profession">Обзор профессии "Веб-разработчик" от GeekBrains</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 20 Oct 2016 13:41:32 GMT</pubDate>
      <content:encoded><![CDATA[<p>Известный ресурс <a href="https://geekbrains.ru/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16">GeekBrains</a> выпустил обзор рынка веб-разработки в нашей стране, а также поделился советами с начинающими веб-разработчиками. Представляем вашему вниманию их материал.</p><p>На сегодняшний день <a href="http://www.internetlivestats.com/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16">в Интернете</a>:</p><ul><li>Сайтов: 1 095 000 000;</li><li>Пользователей: 3 480 000 000.</li></ul><p>Новые интернет-проекты, веб-инструменты, технологии и программные решения появляются каждый день. Профессии, о которых мир даже не мог подумать 10 лет назад, сегодня выходят в топ самых востребованных. Одна из таких специальностей — “веб-разработчик”.</p><p>Существует множество причин, по которым эта профессия сегодня так популярна. И есть одно простое объяснение: веб-разработчики создают Интернет. Каждый бизнес-проект в сети хочет зарабатывать и делать это эффективно. Это означает, что для создания таких проектов нужны квалифицированные веб-разработчики. Чем крупнее проект, тем больше опытных специалистов необходимо для его реализации. Количество веб-сайтов растёт огромными темпами (3–5 в секунду). Каждую минуту в сети появляется более 80 новых пользователей. Всё это говорит об одном: в мире сегодня просто невероятный спрос на веб-программистов. А что происходит в нашей стране?</p><h3>Востребованность профессии в России</h3><p>Ежегодно в IT-сфере поднимаются вопросы, связанные с актуальностью и перспективами развития различных профессий. CMS Magazine и «Рейтинг Рунета» провели обширное исследование рынка веб-разработки в 2016 году и сделали выводы.</p><figure><img src="https://media.tproger.ru/uploads/2016/10/content_1.png" alt="" /></figure><p>Проблема дефицита веб-разработчиков сейчас наблюдается в большинстве компаний и веб-студий — 62%. Чтобы постоянно выполнять весь объём заказов, необходим человеческий ресурс. Его нехватка приводит к тому, что создаются барьеры для дальнейшего развития системы продаж в компаниях. На сегодняшний день только четверть всех веб-студий довольна количеством своих штатных сотрудников.</p><p>Дефицит веб-разработчиков приводит к ещё одной проблеме: компании не успевают выполнять заказы и постоянно откладывают сроки релиза на будущее, а это не только влияет на уровень удовлетворенности клиентов, но и очень часто не даёт возможности для развития клиентского бизнеса, особенно если он полностью реализуется через интернет (например, интернет-магазины).</p><p>Есть несколько причин такого дефицита:</p><ul><li>15,9% работодателей считают, что уровень образования потенциальных сотрудников не соответствует требованиям рынка (самостоятельное обучение приводит к тому, что разработчики плохо разбираются в современных технологиях, пытаются трудоустроиться без навыков командной разработки);</li><li>15% компаний считают, что на рынке очень мало квалифицированных веб-программистов (особенно в регионах), способных разрабатывать сложные проекты;</li><li>7,3% компаний замечают, что многие специалисты веб-разработки уходят в сферу фриланса;</li><li>6,3% веб-студий считают, что многие веб-разработчики не удовлетворены низким уровнем заработной платы;</li><li>32% компаний воздержались от ответа на этот вопрос, а 23% высказали менее популярные мнения на этот счёт.</li></ul><p>Также необходимо понимать, что за профессиональные кадры ведётся постоянная борьба. В этой гонке крупные веб-студии имеют больше преимуществ и привлекают специалистов выгодными условиями труда, оставляя на рынке всё меньше и меньше квалифицированных веб-разработчиков.</p><h3>Дефицит рождает спрос</h3><p>Рынок веб-разработки имеет один из самых низких барьеров входа как для начинающего программиста, пытающегося трудоустроиться, так и для молодых веб-студий. В связи с этим уровень конкуренции постоянно растёт. И если для веб-студий такая ситуация не всегда приводит к положительным результатам (некоторые не выдерживают и закрываются), то для начинающих веб-разработчиков всё куда более позитивно. Ещё одни результаты опроса от CMS Magazine и «Рейтинг Рунета»: 72% опрошенных работодателей подтвердили, что уровень конкуренции на рынке веб-разработки очень высок. А это говорит о том, что за каждого хорошего веб-разработчика идёт нешуточная борьба. Ведь без таких кадров сегодня выжить практически невозможно.</p><p>“Рейтинг Рунета” опубликовал ещё одну интересную статью, которая называется <a href="http://www.ratingruneta.ru/research/web-development/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16">“Рынок веб-разработки остаётся рынком «ручного» труда”</a>. Один из основных выводов исследования:</p><blockquote>“Основная часть проектов выполняется малыми студиями и фрилансерами”.</blockquote><figure><img src="https://media.tproger.ru/uploads/2016/10/content_bez_imeni-4.png" alt="" /></figure><p>Небольшие студии и фрилансеры выполняют большую долю проектов — суммарно 60,2%. А если сопоставить этот график со стоимостью проектов, которые выполняют веб-студии и фрилансеры, то получится интересный вывод:</p><blockquote>“Среди фрилансеров есть специалисты, конкурирующие со студиями (в том числе крупными) за дорогие проекты”.</blockquote><figure><img src="https://media.tproger.ru/uploads/2016/10/content_5-1.png" alt="" /></figure><p>Разработчики-фрилансеры занимают довольно крупную нишу в дорогих проектах: 6% для диапазона «100-300 тысяч рублей» и 8,3% для диапазона «свыше 300 тысяч рублей». Исходя из этих данных, можно сделать однозначный вывод: на рынке есть квалифицированные специалисты-фрилансеры, способные в одиночку разрабатывать достаточно сложные и масштабные проекты. Также это свидетельствует и о том, что есть достаточно много заказчиков, которые для дорогих проектов выбирают разработчиков-фрилансеров. Всё это, конечно, является огромным преимуществом профессии! Ведь очень многие начинающие разработчики планируют своё обучение в этой сфере, потому что в первую очередь хотят разрабатывать фриланс-проекты. Сегодня это действительно одно из самых перспективных направлений развития веб-разработчика, о чём и говорят многие подобные исследования.</p><h3>Обзор зарплат и карьерных вопросов</h3><p>Агентство <a href="http://tagline.ru/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16">Тэглайн</a> представило исследование, в ходе которого было опрошено 637 digital-продакшнов и digital-агентств России. От остальных исследований оно принципиально отличается тем, что:</p><ul><li>исследовался не уровень зарплат, которые готовы платить компании, а текущие показатели по рынку, которые гораздо лучше отражают реальное состояние дел;</li><li>анкетирование проходило в рекордно полной и репрезентативной выборке компаний digital-рынка, собравших большинство заказов (около 80% бюджетов) на услуги digital-маркетинга и веб-разработки в России в средней и высокой ценовых категориях в 2015 году.</li></ul><p>Выводы:</p><ul><li>Средняя зарплата веб-разработчика — 60 310 руб., в Москве — 75 270 руб., в регионах — 46 790 руб.;</li><li>Веб-программисты получают в 1,8 раза большую зарплату, чем среднестатистический житель России;</li><li>Уровень зарплат в Москве в среднем на 61% выше, чем в регионах;</li><li>Средняя компания digital-рынка собеседует 115 человек в год;</li><li>28,4% компаний ищут сотрудников с помощью job-ресурсов, 21,4% — с помощью социальных сетей и рекомендаций знакомых, 16,2% признают достаточно эффективным раздел с вакансиями на собственном сайте, 12,7% ведут прицельную работу с учебными заведениями — проводят лекции и семинары, приглашают на практику и стажировку, присматривают медалистов и олимпиадников, устраивают конкурсы или популяризируют свой бренд и перспективы другими способами.</li></ul><p>Следующее место работы веб-разработчика, покидающего свою компанию:</p><ul><li>фриланс;</li><li>другая отрасль;</li><li>другая студия/агентство;</li><li>интернет-проект;</li><li>на сторону клиента.</li></ul><h3>Существуют ли положительные изменения в качестве сотрудников и соискателей за последние 1-2 года? Какие?</h3><p>— Владимир Завертайлов, Сибирикс:</p><blockquote>“Нет. Уровень подготовки большинства после вуза очень низкий. Пугает даже не то, что с программистких специальностей люди толком не умеют программировать. Пугает слабость системного мышления. Для меня показатель — что мы не взяли никого в этом году после стажировки в штат”.</blockquote><p>— Михаил Токовинин, QSOFT, amoCRM:</p><blockquote>“Образование, особенно, фундаментальное всегда очень инертно и опаздывает за новыми, динамичными индустриями. В итоге, у нас мало фундаментальной школы и много самоучек. Это временно и само собой изменится в течение ближайших лет 5–10”.</blockquote><h3>Какие требования выдвигаются работодателями и почему?</h3><figure><img src="https://media.tproger.ru/uploads/2016/10/content_7.png" alt="" /></figure><p>Обычно под веб-разработчиком работодатели понимают универсального специалиста — full-stack разработчика. Предполагается, что специалист понимает полное функционирование веб-проекта и знает весь цикл его разработки. Full-stack состоит из frontend- и backend-разработки. Деление на эти специализации характерно для крупных проектов, которые невозможно реализовать в одиночку. Когда в крупные проекты приглашаются специалисты в той или иной области, часто это подразумевает, что у таких веб-разработчиков должны быть общие универсальные знания. Необходимо как минимум понимать, как тот кусок задачи, который вы реализуете, будет интегрироваться в общий проект.</p><p>Frontend-разработчики обеспечивают создание внешнего вида сайта (портала, проекта) — его клиентской части. И тут есть свои <a href="https://tproger.ru/translations/web-frontend-guidelines/">современные правила</a>. Backend-разработка включает в себя «теневую» сторону ресурса, т.е. то, что не видно пользователю — изнанку сайта. Эта часть разработки тоже не лишена <a href="https://tproger.ru/articles/interview-prep-advice/">своих тонкостей</a>.</p><p>На сегодняшний день стандартом веб-разработки (full-stack) является знание вот такого комплекса:</p><blockquote>вёрстка + «браузерный» язык программирования + «серверный» язык + язык для работы с базами данных + фреймворк(и).</blockquote><p>История появления этого набора такова:</p><ul><li>сначала веб-сайты писались на чистом <a href="https://tproger.ru/tag/html/">HTML</a>;</li><li>после этого <a href="https://tproger.ru/digest/10-css-code-generators/">внешнее оформление</a> легло на CSS и стало выноситься в отдельный файл;</li><li>для взаимодействия проекта с сервером стали использовать языки сценариев (например, PHP) и оживлением дизайна стало использование динамики (например, с помощью JavaScript).</li></ul><p>В GeekBrains такой комплекс знаний представлен в <a href="https://geekbrains.ru/professions/web_developer/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16">профессии “Веб-разработчик”</a>.</p><h3>Джентльменский full-stack набор от GeekBrains:</h3><p><a href="https://geekbrains.ru/professions/web_developer/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16"></a></p><p>Курс “HTML / CSS. Основы создания сайтов” от GeekBrains построен на принципе обучения через практику: студенты создают сайт интернет-магазина и в течение всей работы над проектом изучают свойства и возможности применения HTML / CSS. Завершив курс, каждый студент создаст готовый первый кейс для будущего портфолио: свёрстанный сайт интернет-магазина.</p><p><a href="https://geekbrains.ru/professions/web_developer/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16"></a></p><p>JavaScript — это язык программирования, созданный для того, чтобы сделать веб-сайт “живым”: он взаимодействует с посетителем сайта, реагирует на движения курсора, клики мыши и нажатия на клавиши. Курс “JavaScript. Уровень 1” охватывает основы создания интерактивных веб-страниц с помощью языка JavaScript. Основной упор в курсе сделан на выполнение практических заданий, что позволяет лучше усвоить материал и закрепить полученные знания.</p><p><a href="https://geekbrains.ru/professions/web_developer/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16"></a></p><p>Курс предназначен для тех, кто хочет научиться делать реально крутые вещи. Каждый урок включает в себя как полезную теорию, так и эффективную практику. Насыщенный самыми актуальными знаниями и навыками, продвинутый курс “JavaScript. Уровень 2” — это возможность быстро и надёжно стать профессиональным разработчиком JavaScript. Результат после двух курсов: навыки Frontend-разработки для интернет-магазина.</p><p><a href="https://geekbrains.ru/professions/web_developer/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16"></a></p><p>Базы данных (БД) — это системы хранения и обработки данных, для доступа к которым используется язык SQL (Structured Query Language). “Основы баз данных” — это 20 интенсивных видео-уроков (по 10 минут), где мы вместе пройдём все этапы проектирования БД на примере интернет-магазина с использованием языка запросов SQL.</p><p><a href="https://geekbrains.ru/professions/web_developer/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16"></a></p><p>PHP входит в тройку самых востребованных и популярных языков программирования в мире. На курсе “PHP. Уровень 1” студенты изучают принципы объектно-ориентированного программирования и учатся правильно использовать основные конструкции языка. Для опытных разработчиков есть возможность значительно повысить культуру написания кода, что поможет в дальнейшем грамотно и профессионально оформлять скрипты веб-сайтов.</p><p><a href="https://geekbrains.ru/professions/web_developer/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16"></a></p><p>Это самый полный профессиональный курс по освоению PHP на уровне мастера-виртуоза. Создан для тех, кто уже понимает, что такое PHP, каковы мощь и потенциал этого языка. Многие выпускники курса утверждают, что один месяц обучения по нашей программе можно сравнить с годами обучения по книгам или материалам из интернета! Результат после двух курсов: навыки Backend-разработки для интернет-магазина.</p><p><a href="https://geekbrains.ru/professions/web_developer/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16"></a></p><p>Именно связка HTML + CSS даёт возможность верстать макеты, создавать и редактировать статические сайты. На курсе студенты проходят все этапы создания рекламного сайта для коммерческой организации. Выпускники курса умеют создавать статические сайты на высоком профессиональном уровне.</p><p><a href="https://geekbrains.ru/professions/web_developer/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16"></a></p><p>Написание более-менее серьезного и функционального приложения с использованием D3.js — сложная задача, решая которую, легко запутаться. На курсе студенты учатся работать с D3.js в симбиозе с мощнейшим фреймворком построения одностраничных веб-приложений Angular.js. Результат: рабочее, масштабируемое приложение для создания и манипуляции пользовательскими деталями и механизмами.</p><p><a href="https://geekbrains.ru/professions/web_developer/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_20.10.16"></a></p><p>Yii — один из самых популярных и востребованных фреймворков на PHP. Мы рассмотрим базовый и продвинутый шаблон приложения, разработаем приложение — аналог программы Evernote. В качестве домашнего задания студентам предлагается наработать своё собственное портфолио: разработать программу-календарь, в котором можно делать пометки о планах на день и “шарить” между другими пользователями.</p><h3>Что в итоге?</h3><figure><img src="https://media.tproger.ru/uploads/2016/10/content_17.png" alt="" /></figure><p>Большинство начинающих программистов не имеют опыта разработки в команде, что является первой причиной отказа в трудоустройстве. Вторая причина — отсутствие портфолио. Гарантированная стажировка от GeekBrains — это 2 месяца командной разработки и полноценный кейс для портфолио. Выпускники проходят весь путь от зарождения идеи проекта до его реализации, учатся эффективно взаимодействовать с другими разработчиками и совместными усилиями выпускают готовый продукт.</p><figure><img src="https://media.tproger.ru/uploads/2016/10/content_18.png" alt="" /></figure><p>Компании-партнёры GeekBrains рассматривают наших выпускников, закончивших обучение по профессиям, в качестве стажёров с возможностью дальнейшего трудоустройства. Каждая компания предлагает различные условия: оплачиваемая стажировка, стажировка в офисе компании, удалённая работа и пр. Успешно выполнив тестовое задание и пройдя собеседование, любой выпускник GeekBrains может начать карьеру в IT сразу после обучения.</p><figure><img src="https://media.tproger.ru/uploads/2016/10/content_19.png" alt="" /></figure><p>Для того, чтобы получить опыт командной разработки, необязательно проходить стажировку. В разделе “Карьера” среди вакансий работодателей есть проекты наших выпускников, для развития которых набираются команды программистов. Участвовать может любой разработчик, который соответствует требованиям вакансий. Для тех, кто уже имеет навыки командной разработки, всегда есть возможность найти единомышленников и превратить свою идею в успешный и прибыльный стартап.</p><p>— Дмитрий Курамшин, выпускник Geekbrains:</p><blockquote>“Я абсолютно уверен, что именно курсы GeekBrains стали для меня той самой отправной точкой в мир веб-технологий. Поэтому я, недолго думая, записался на вторую профессию «Веб-разработчик», которую в настоящий момент и заканчиваю. За время обучения я смог значительно расширить границы своей работы (компетенций), и это не осталось незамеченным. Недавно я получил повышение и возглавил отдел разработки в нашем агентстве. Хотя работы у меня теперь на порядок больше, но я все равно стараюсь найти время на занятия. Мы с коллегами регулярно пробуем свои силы в новых направлениях и в скором времени планируем открыть подразделение мобильной разработки. Но чтобы не бродить в тёмных аллеях неизвестной пока мне тематики, я уже записался на 3-ю профессию «Мобильный разработчик».</blockquote><h3>Заключение</h3><p>Профессия веб-разработчика не менее сложна и ответственна, чем другие профессии из сферы программирования. Ведь такой специалист должен отлично знать не только теорию своей работы, но и быть отличным практиком. На сегодняшний день спрос на универсальных веб-разработчиков является одним из самых высоких среди других профессий. Поэтому для квалифицированных специалистов открывается возможность построения отличной карьеры. Усердно работая и успешно реализуя крупные проекты, вы сможете стать начальником информационно-технологического отдела или даже IT-директором. Также веб-разработчики довольно часто работают фрилансерами и ни от кого не зависят. А ещё данная специальность является отличным подспорьем для открытия собственного бизнеса в интернете.</p>]]></content:encoded>
    </item>
    <item>
      <title>Минимальный, самодостаточный и воспроизводимый пример --- залог хорошего ответа</title>
      <link>https://tproger.ru/sponsored/stack-overflow-part-5</link>
      <comments>https://tproger.ru/sponsored/stack-overflow-part-5?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/stack-overflow-part-5</guid>
      <description><![CDATA[<p>Хороший вопрос на Stack Overflow требует фрагмента кода, который другие участники смогут воспроизвести: минимального и самодостаточного.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/stack-overflow-part-5">Минимальный, самодостаточный и воспроизводимый пример --- залог хорошего ответа</a>»</p>]]></description>
      <category><![CDATA[Stack Overflow]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 11 Oct 2016 08:54:05 GMT</pubDate>
      <content:encoded><![CDATA[<p>Если разработчику необходимо найти решение конкретной прикладной проблемы по программированию, он, с большой вероятностью, воспользуется Stack Overflow. «Конкретный прикладной вопрос» подразумевает, что автор решает реальную проблему. Реальная проблема может появиться только в реальном коде! Что может быть проще:</p><ol><li>Разместил проблемный код на сайте.</li><li>…</li><li>Profit! Решение!</li></ol><p>В реальности у разработчиков не всегда получается описать свою проблему детально.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/11-1.png" alt="" /></figure><p>Чтобы получить действительно качественный ответ, в вопросе необходимо привести пример кода, с помощью которого другие участники смогут воспроизвести вашу проблему. Такой фрагмент должен быть:</p><ul><li>минимальным, т.е. максимально кратким, сохраняя при этом все проблемные моменты;</li><li>самодостаточным, т.е. фрагмент кода должен содержать всё необходимое для воспроизведения проблемы;</li><li>воспроизводимым, т.е., используя приведенный пример кода, другие участники должны иметь возможность воспроизвести проблему.</li></ul><p>Опишем эти рекомендации подробнее.</p><h4>Минимальный</h4><p>Чем больше кода в вопросе, тем меньше шансов у сообщества понять вашу проблему. Самый эффективный способ сократить код в вопросе — <i>начать с нуля</i>. Создайте новый проект, содержащий только необходимое, чтобы воспроизвести проблему. Данный подход крайне полезен для локализации проблемы, а также в случае невозможности размещения исходного кода, например, по юридическим причинам.</p><p>Минимально != сжато — не жертвуйте информативностью ради краткости. В фрагменте кода обязательно соблюдайте отступы и другое форматирование, следите за логикой именования переменных.</p><h4>Самодостаточный</h4><p>Многие участники попробуют использовать приведенный вами фрагмент кода для того, чтобы воспроизвести проблему самостоятельно. Убедитесь, что вы указали все необходимое, чтобы ваши коллеги смогли вам помочь.</p><h4>Воспроизводимый</h4><p>Чтобы знатоки могли помочь вам с проблемой, проверьте, что она действительно существует. Убедившись, что проблема имеет место, опишите ее. «Код не работает» — не является описанием проблемы. Поясните, в чем именно вы видите проблему, приведите точное сообщение об ошибке (слово в слово), шаги для воспроизведения и что вы хотите получить в результате.</p><p>Перед публикацией вопроса еще раз проверьте, что, используя данные из вопроса, ваши коллеги смогут воспроизвести ошибку.</p><p>Помните, <a href="http://meta.ru.stackoverflow.com/questions/2487/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_5">хороший вопрос — залог хорошего ответа</a>!</p>]]></content:encoded>
    </item>
    <item>
      <title>Задача про обнаружение молекул с Международной олимпиады по информатике 2016 года</title>
      <link>https://tproger.ru/sponsored/ioi-2016</link>
      <comments>https://tproger.ru/sponsored/ioi-2016?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/ioi-2016</guid>
      <description><![CDATA[<p>Серебряный медалист IOI 2016 Денис Солонков разбирает олимпиадную задачу про прибор, который находит молекулы с весом в заданном интервале.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/ioi-2016">Задача про обнаружение молекул с Международной олимпиады по информатике 2016 года</a>»</p>]]></description>
      <category><![CDATA[C++]]></category>
      <category><![CDATA[Олимпиадное программирование]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Fri, 07 Oct 2016 08:05:06 GMT</pubDate>
      <content:encoded><![CDATA[<p>В августе этого года в Казани прошла Международная олимпиада по программированию для школьников — IOI 2016. Российская команда стала второй в общем зачете.</p><p>Один из серебряных медалистов, Денис Солонков из г. Мытищи, сделал разбор задачи «Обнаружение молекул», которая предлагалась участникам олимпиады.</p><p>Денис Солонков — многократный победитель Всероссийских олимпиад по программированию и Moscow CTF School, выпускник <a href="https://informatics.ru/?utm_source=vk_tproger">Школы программистов</a>.</p><h2>Условие</h2><p>Петр работает в компании, которая создала прибор для обнаружения молекул. Каждая молекула имеет целый положительный вес. Прибор характеризуется интервалом обнаружения [l, u], где l и u целые положительные числа. Прибор может обнаружить множество молекул тогда и только тогда, когда это множество содержит такое подмножество, что суммарный вес молекул в нем принадлежит интервалу обнаружения прибора.</p><p>Требуется написать программу, которая либо находит любое подмножество молекул с суммарным весом, принадлежащим интервалу обнаружения прибора, либо определяет, что такого подмножества не существует.</p><h2>Детали реализации</h2><p>Вам следует реализовать одну функцию (метод):</p><ul><li>l и u: границы интервала обнаружения,</li><li>w: веса молекул.</li><li>Если требуемое подмножество существует, то функция должна вернуть массив индексов молекул, которые формируют любое такое подмножество. Если существует несколько правильных ответов, верните любой из них.</li><li>Если требуемого подмножества не существует, то функция должна вернуть пустой массив.</li></ul><p>Для языка программирования Си сигнатура функции немного отличается:</p><ul><li>n: количество элементов в w (то есть число молекул),</li><li>остальные параметры такие же, как описано выше.</li><li>Вместо того, чтобы возвращать массив состоящий из m индексов (как указано выше), функция должна записать индексы в первые m ячеек массива result и затем вернуть m.</li><li>Если требуемого подмножества не существует, то функция должна вернуть 0, не записывая ничего в массив result.</li></ul><p>Ваша программа может записывать индексы в возвращаемый массив (или в массив result для языка Си) в любом порядке.</p><p>Пожалуйста, используйте предоставленные шаблоны файлов для уточнения реализации на выбранном вами языке программирования.</p><h2>Примеры</h2><h3>Пример 1</h3><p>В этом примере есть четыре молекулы с весами 6, 8, 8 и 7. Прибор может обнаружить подмножества молекул с суммарным весом от 15 до 17 включительно. Обратите внимание, что 17 − 15 ≥ 8 − 6. Суммарный вес молекул 1 и 3 равен w1 + w3 = 8 + 7 = 15, таким образом функция может вернуть [1, 3]. Другие возможные правильные ответы: [1, 2] (w1 + w3 = 8 + 8 = 16) и [2, 3] (w1 + w3 = 8 + 7 = 15).</p><h3>Пример 2</h3><p>В этом примере есть четыре молекулы с весами 5, 5, 6 и 6. Требуется найти подмножество с суммарным весом от 14 до 15 включительно. Опять же, обратите внимание, что 15 − 14 ≥ 6 − 5. Для данного примера не существует подмножества молекул с суммарным весом от 14 до 15, соответственно функция должна вернуть пустой массив.</p><h3>Пример 3</h3><p>В этом примере есть четыре молекулы с весами 15, 17, 16 и 18. Требуется найти подмножество с суммарным весом от 10 до 20 включительно. Вновь, обратите внимание, что 20 − 10 ≥ 18 − 15. Любое подмножество, состоящее из одного элемента, имеет вес от 10 до 20, соответственно возможные правильные ответы это [0], [1], [2] и [3].</p><h2>Система оценивания</h2><ol><li>(9 баллов): 1 ≤ n ≤ 100, 1 ≤ wi ≤ 100, 1 ≤ u, l ≤ 1000, все wi равны.</li><li>(10 баллов): 1 ≤ n ≤ 100, 1 ≤ wi, u, l ≤ 1000, и max(w0 ,…, wn−1) − min(w0,…, wn−1 ) ≤ 1.</li><li>(12 баллов): 1 ≤ n ≤ 100 и 1 ≤ wi,u , l ≤ 1000.</li><li>(15 баллов): 1 ≤ n ≤ 10 000 и 1 ≤ wi, u, l ≤ 10 000.</li><li>(23 балла): 1 ≤ n ≤ 10 000 и 1 ≤ wi, u, l ≤ 500 000.</li><li>(31 балл): 1 ≤ n ≤ 200000 и 1 ≤ wi, u, l &lt; 231.</li></ol><h2>Пример проверяющего модуля</h2><p>Проверяющий модуль получает данные в следующем формате:</p><ul><li>Строка 1: целые числа n, l, u.</li><li>Строка 2: n целых чисел: w0,…, wn−1.</li></ul><h2>Решение от Дениса</h2><p>Задача уже неплохо формализована. Нам нужно выбрать подпоследовательность чисел из массива w длины n, так, чтобы их сумма лежала в отрезке [l, u]. Также, присутствует странное условие:<br />u − l ≥ wmax − wmin (1)</p><p>Оно явно играет роль в решении задачи, иначе его бы просто не было. Попытаемся понять, что оно нам дает.</p><p>Пусть мы выбрали подпоследовательность элементов с суммой = S и S &lt; l. В таком случае, если мы заменим один из элементов подпоследовательности на какой-то другой, не выбранный нами, то новая сумма S’ ≤ u. Случай, увеличивающий сумму на максимально возможное число, это замена минимального на максимальный элемент, а согласно условию u − l wmax ≥ wmin.</p><p>Вооружившись этим фактом, перейдем непосредственно к решению. Для начала отсортируем массив w, чтобы с ним было удобней работать. Разобьем нашу задачу на два пункта</p><ol><li>Определить L — количество элементов в правильном ответе, или сказать, что его не существует.</li><li>Найти L элементов, сумма которых лежит в [l, u]</li></ol><p>Сначала разберемся во вторым пунктом. Пусть мы знаем, что ответ существует и в нем содержится L элементов. Возьмем первые L элементов отсортированного w. Их сумма точно ≤ u, так как мы условились, что ответ существует. Теперь выполним следующий алгоритм.</p><ol><li>Если текущая сумма больше или равна нижней границы, завершить работу алгоритма</li><li>Заменить минимальный элемент из нашей выборки на максимальный из ещё не выбранных. В случае, если такая замена не увеличивает сумму, то завершить работу алгоритма не проводя её.</li></ol><p>Заметим, что благодаря (1) мы никогда не пересечем верхнюю границу. Почему этот алгоритм точно найдет ответ? Предположим обратное.</p><p>В каждой итерации алгоритм меняет минимальный элемент нашей выборки на максимальный из не выбранных. Если такой элемент меньше нашего, то это значит, что мы выбрали L последних элементов w. Если сумма L максимальных элементов меньше l, значит подходящей подпоследовательности длины L не существует, однако мы условились об обратном. Противоречие.</p><p>Подобный алгоритм можно быстро реализовать, используя встроенную в С++ реализацию сбалансированного дерева поиска: set. Количество итераций алгоритма в худшем случае: n, асимптотика подобного решения будет O(n log n).</p><p>Вернемся к первому этапу решения нашей задачи, а именно в поиске подходящего L. Мы можем просто проверить каждый из них и получить асимптотику O(n2 log n), но это будет слишком долго работать.</p><p>Давайте найдем такую длину i, что сумма первых i элементов больше u. Если такой длины не существует, то будем полагать, что i = n + 1 Из всех таких возьмем минимальную. Я утверждаю, что если правильный ответ существует, то он будет содержать i − 1 элемент. Конечно, могут существовать и другие варианты ответа, но один из них будет содержать в себе такое количество элементов. Докажем это утверждение.</p><p>Пусть L = i − 1, или L = n, если i не существует. Сумма первых L элементов ≤ u, так как L &lt; i. Запустим описанный выше алгоритм поиска подпоследовательности. Если он найдет ответ, то наше утверждение верно. В ином случае, сумма последних L элементов &lt; l. Тогда ответа также не существует для любой длины, меньшей чем L. Просто потому что было взято L максимальных, так что любое количество меньше тоже будет меньше l. Ответа также не существует для всех длин больше L, так как сумма первых i элементов больше, чем u. Значит, ответа вовсе не существует.</p><p>Итого, мы можем найти необходимую длину за O(n), и найти ответ по длине за O(n log n). Значит, время работы всего алгоритма будет O(n log n), что спокойно набирает 100 баллов.</p><h2>Исходный код решения</h2><p>Решение подобных задач требует серьезной подготовки, которую можно получить в <a href="https://informatics.ru?utm_source=vk_tproger">Школе программистов</a>.</p><p>В этом году ШП открывает отделение в Физтехпарке — новом IT-парке рядом с МФТИ. Программа обучения усложненная, такая же, как в отделении при Яндексе, включающая в себя изучение высокоуровневых и низкоуровневых языков, дискретную математику, алгоритмику, структуры данных, сети, ОС и прочее.</p><p>Набор на 2016/17 учебный год проводится для школьников 6–10 классов по результатам экзамена, который состоится 8 октября 2016 в 14:00.</p><p>Для тех, кому ездить в Долгопрудный далеко, есть онлайн отделение. Уроки проходят в формате вебинаров, принимаются студенты со всей России, начиная с 13 лет.</p>]]></content:encoded>
    </item>
    <item>
      <title>Экосистема Stack&nbsp;Overflow: больше, чем просто ответы</title>
      <link>https://tproger.ru/sponsored/stack-overflow-part-4</link>
      <comments>https://tproger.ru/sponsored/stack-overflow-part-4?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/stack-overflow-part-4</guid>
      <description><![CDATA[<p>Кроме сайта вопросов и ответов у Stack Overflow есть Мета — площадка, где сообщество обсуждает технические и организационные аспекты работы.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/stack-overflow-part-4">Экосистема Stack&nbsp;Overflow: больше, чем просто ответы</a>»</p>]]></description>
      <category><![CDATA[Stack Overflow]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 04 Oct 2016 18:56:33 GMT</pubDate>
      <content:encoded><![CDATA[<p>Большинство из нас знакомы лишь с сайтом вопросов и ответов Stack Overflow, но для эффективного взаимодействия с сообществом, а не только для получения ответов, следует знать о всей экосистеме Stack Overflow.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/1-1-1024x592.png" alt="" /></figure><p>Мета — это сайт, где участники сообщества обсуждают технические и организационные аспекты работы Stack Overflow. Мета отделена от главного сайта, чтобы сократить информационный шум на основном ресурсе. У каждого сайта сети Stack Exchange есть свой мета-сайт. Обычно он находится по адресу meta.домен-сайта.com.</p><p>Используйте Мету для публикации вопроса, если:</p><ul><li>что-то пошло не так: ваш вопрос был несправедливо закрыт, удален или вы заметили ненадлежащие поведение другого участника сообщества;</li><li>вы обнаружили дефект и хотите о нем сообщить;</li><li>вы хотите внести предложение по техническому или организационному улучшению системы;</li><li>вы хотите привлечь к какой-либо проблеме жизни сообщества особое внимание.</li></ul><p>Таким образом, в двух словах, Мета — это место, где сообщество обсуждает свои проблемы и коллективно находит лучшие решения для них.</p><p>Мета аккумулирует знания о сайте и сообществе, подобно тому как на Stack Overflow накапливается база знаний по программированию. Законченные статьи о сайте, написанные сообществом, можно найти по метке «<a href="http://meta.ru.stackoverflow.com/questions/tagged/faq/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_4">faq</a>». Наиболее важные из них еще раз перерабатываются сотрудниками компании и публикуются в «<a href="http://ru.stackoverflow.com/help/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_4">справочном центре</a>». Если вы интересуетесь жизнью сообщества или функционированием сайта, справочный центр и faq-вопросы на Мете — лучшее место для начала поиска ответов!</p><figure><img src="https://media.tproger.ru/uploads/2016/09/2-2-1024x875.png" alt="" /></figure><p><a href="http://blog.stackoverflow.com/2010/08/chat-now-in-public-beta/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_4">Система чатов</a>. Каждый сайт сети Stack Exchange имеет прикрепленный к нему чат в реальном времени, или, как мы его называем, «третье место».</p><blockquote>Третье место – часть городского пространства, которая не связана с домом («первое место») или с работой («второе место»). Примером такого места может быть кафе, клуб, парк или, например, библиотека. (с) Википедия</blockquote><p>Ссылка на чат расположена внизу на каждой странице сайта. Такая же ссылка есть на каждой странице в выпадающем меню в левом верхнем углу.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/3-2-1024x673.png" alt="" /></figure><p>Используйте чаты:</p><ul><li>если для нахождения решения необходимо взаимодействовать с другим участником в режиме реального времени;</li><li>для удовлетворения потребности в общении с другими участниками в более социальной среде;</li><li>для менее структурированной, неформальной (но все же относящейся к теме) беседы;</li><li>в случае экстремальных ситуаций: если вы задали вопрос и вам очень срочно нужен ответ, в порядке исключения, попробуйте попросить в чате конкретного знатока ответить на него (для этого упомяните знатока, опишите, в чем срочность, приведите ссылку на вопрос).</li></ul><p>Всегда предпочитайте использование чата вместо длительной дискуссии в комментариях к ответу или вопросу.</p><p>Для понимания этих и многих других подсистем каждому новому участнику сообщества стоит обратить внимание на <a href="http://ru.stackoverflow.com/tour/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_4">Тур</a> — интерактивную справочную страницу, которая в наиболее сжатой форме рассказывает об основных принципах работы системы.</p><p>Пройдите <a href="http://ru.stackoverflow.com/tour/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_4">Тур</a> и получите свой первый знак!</p>]]></content:encoded>
    </item>
    <item>
      <title>Как реагирует сообщество на «вопросы низкого качества» на Stack Overflow, и что делать, если такой вопрос задали именно вы?</title>
      <link>https://tproger.ru/sponsored/stack-overflow-part-3</link>
      <comments>https://tproger.ru/sponsored/stack-overflow-part-3?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/stack-overflow-part-3</guid>
      <description><![CDATA[<p>Плохо заданный вопрос на Stack Overflow может получить голос против, голос за закрытие, сигналы тревоги, правку или уточняющие комментарии.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/stack-overflow-part-3">Как реагирует сообщество на «вопросы низкого качества» на Stack Overflow, и что делать, если такой вопрос задали именно вы?</a>»</p>]]></description>
      <category><![CDATA[Stack Overflow]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 27 Sep 2016 13:37:13 GMT</pubDate>
      <content:encoded><![CDATA[<p>Давайте представим оптимальную последовательность действий (в вакууме) для нахождения решения проблемы:</p><ol><li>Появление проблемы.</li><li>Копирование ответа со Stack Overflow.</li><li>Profit! Получено решение проблемы! Можно похвастаться начальству!</li></ol><p>К сожалению, так бывает не всегда. Существует масса различных ошибок, мешающих быстрому решению задач. Например, многие разработчики, использующие существующие ответы со Stack Overflow, не осознают, что вопросы можно задавать (!), продолжая часами искать решение проблемы.</p><p>Представим, что вы не смогли найти ответ в течение длительного времени и собрались задать свой вопрос на сайте. Если так случилось, что вы задали откровенно плохой вопрос на Stack Overflow, в скором времени после публикации ваш вопрос может получить: голос против, голос за закрытие, сигналы тревоги, улучшающую правку или уточняющие комментарии.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/2-1-1024x663.png" alt="" /></figure><p>Большинство решений на сайте принимается коллективно: чтобы что-то произошло, необходимо некоторое количество участников, а для отмены коллективно принятого решения, опять же, необходим консенсус сообщества.</p><h3>Голоса «за» и «против»</h3><figure><img src="https://media.tproger.ru/uploads/2016/09/3-1.png" alt="" /></figure><p>Количество голосов «за» за вычетом голосов «против» определяет рейтинг вопроса и влияет на репутацию автора вопроса. Голосование анонимно. Подробнее о системе рассказывается в <a rel="noopener noreferrer" href="http://meta.ru.stackoverflow.com/q/1036/6/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_3">отдельной теме</a> на Stack Overflow. Кстати, там же рассказано об интересном феномене — <a rel="noopener noreferrer" href="http://meta.ru.stackoverflow.com/q/1036/6/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_3">«личном ненавистнике»</a>. И система рейтинга Stack Overflow умеет с этой проблемой справляться.</p><h3>Голоса за открытие или повторное открытие</h3><p><a href="http://ru.stackoverflow.com/help/closed-questions/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_3"></a></p><p>Вопросы, не соответствующие тематике сайта или критериям качества, могут быть отмечены как «требующие правки» с помощью голосования. На вопрос «требующий правки» нельзя опубликовать ответ, но в него можно внести улучшающую правку, чтобы в дальнейшем открыть его повторно.</p><p>Вопрос автоматически попадает в очередь на повторное открытие, если в течение пяти дней с момента получения статуса «требующий правки» он был улучшен. Если вопрос не был открыт повторно в течение пяти дней, его статус автоматически изменяется на «закрыт». Каждый закрытый или требующий правки вопрос сопровождается пояснением, которое помогает автору понять, что именно следует сделать для того, чтобы вопрос был открыт повторно. Более подробные инструкции и разъяснения вы найдете в соответствующем разделе справки.</p><h3>Уточняющий комментарий</h3><p>Комментарии на Stack Overflow предназначены исключительно для уточнения вопроса либо ответа. В случае каких-либо недостатков в вопросе знатоки, заинтересованные в публикации ответа, запрашивают дополнительную информации о проблеме. Автору вопроса для уточнения проблемы следует использовать правку вместо публикации ответного комментария. Для внесения правки нажмите на ссылку «править», расположенную под метками вопроса. Комментарии допускают различные варианты форматирования.</p><h3>Улучшающая правка</h3><p>Иногда проблемой вопроса может быть неудачное форматирование текста или, к примеру, ошибки правописания. Сообщество помогает авторам вопросов улучшить качество их сообщений за счет улучшающих правок. Все внесенные в сообщение изменения сохраняются в истории авторских правок:</p><h3>Сигналы тревоги</h3><p>Это способ привлечь внимание сообщества к содержимому, которое не соответствует правилам или тематике сайта. Вопрос отмечают сигналом тревоги в исключительных случаях:</p><p><a href="http://ru.stackoverflow.com/help/privileges/flag-posts/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_3"></a></p><p>Задача сообщества — ответить на ваш вопрос наиболее корректно, а для этого необходимо четко понимать проблему и все ее детали! Получив один из указанных выше сигналов «вопроса низкого качества», следуйте предоставленным инструкциям.</p><p>Помните, правильно заданный вопрос — половина ответа!</p>]]></content:encoded>
    </item>
    <item>
      <title>Как получить ответ на свой вопрос: наиболее важные аспекты использования Stack Overflow, необходимые каждому разработчику</title>
      <link>https://tproger.ru/sponsored/stack-overflow-part-2</link>
      <comments>https://tproger.ru/sponsored/stack-overflow-part-2?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/stack-overflow-part-2</guid>
      <description><![CDATA[<p>Основные правила сообщества Stack Overflow и базовый функционал сайта: разделы вопросов, метки, участники и страница публикации вопросов.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/stack-overflow-part-2">Как получить ответ на свой вопрос: наиболее важные аспекты использования Stack Overflow, необходимые каждому разработчику</a>»</p>]]></description>
      <category><![CDATA[Stack Overflow]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 22 Sep 2016 13:25:24 GMT</pubDate>
      <content:encoded><![CDATA[<p>Трудно найти более лояльное к новичкам сообщество, чем Stack Overflow. На сайте вас не отправят в Google, а, например, комментарий со ссылкой <a href="http://lmgtfy.com/">http://lmgtfy.com/</a> даже не будет отправлен на сервер. И все же для эффективного получения ответов необходимо понимать основные правила сообщества и знать базовый функционал сайта. Давайте рассмотрим эти аспекты в общих чертах.</p><p>Главные разделы сайта: вопросы, метки, участники и страница публикации вопросов.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/1-1024x192.png" alt="" /></figure><p>Раздел «Вопросы» и главная страница сайта содержат набор различных сортировок вопросов. При большом потоке новых вопросов сортировкой по умолчанию становится «интересность» вопроса, которая определяется на основе <a href="http://ru.stackoverflow.com/users/prediction-data/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_2">предпочтений пользователя</a>. В остальное время наиболее приоритетными будут «текущие» вопросы, составляющие выборку из 70 вопросов, в которых была активность в последнее время: это может быть улучшающая правка вопроса, новый вопрос, публикация нового ответа и т. д.</p><p>В боковой панели главной страницы сайта вы можете найти «Недавнее метки», содержащие выборку меток в вопросах, с которыми наблюдалась наибольшая активность в последнее время. В случае, если вы перейдете в раздел «вопросы», в боковой панели будут уже «Связанные метки» — это наиболее часто используемые метки в <i>текущей</i> выборке вопросов.</p><p>«Связанные метки» позволяют создавать выборку вопросов по набору интересующих меток с условием объединения «и». Для формирования выборки нажмите на интересующую метку (на любой странице сайта), перейдите в раздел «новые» в верхнем меню. Последующий клик на одну из связанных меток сформирует более узкую выборку по двум меткам. Вы можете сужать выборку вопросов, объединяя до пяти меток.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/2-1024x687.png" alt="" /></figure><p>Если вы хотите помочь коллегам ответом, для вас будут интересны две сортировки: «без ответа» и «конкурсные». «Без ответа» — это вопросы, не имеющие ни одного ответа (не путайте с «<a href="http://blog.stackoverflow.com/2008/09/ok-now-define-answered/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_2">не отвеченными</a>»!). За ответы на «конкурсные» вопросы вы можете получить дополнительные баллы репутации в виде награды, которую назначил автор вопроса. Награда вручается автору либо принятого ответа, либо ответа с наивысшим рейтингом.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/3-1024x656.png" alt="" /></figure><p>Как было показано выше, с помощью меток на сайте реализуется механизм ветвления. По умолчанию все публикуемые вопросы идут одним общим потоком. Задающий вопрос участник дает своему вопросу метки (от одной до пяти), соответствующие технологиям, о которых идет речь в вопросе. Другие участники находят интересующие вопросы с помощью описанных ранее выборок либо через почтовые подписки по меткам. Широко используются механизм <a href="http://meta.ru.stackoverflow.com/a/3451/6/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_2">интересных и игнорируемых меток</a>, позволяющий выделить или скрыть вопросы в соответствии с настройками.</p><p>Чтобы оценить, как скоро на ваш вопрос ответят, вы можете посетить страницу «Метки» и выполнить там поиск интересующей вас метки. Если метка существует, справа от имени метки вы увидите количество вопросов по ней.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/4-1024x414.png" alt="" /></figure><p>Нажав на метку, вы перейдет на страницу отмеченных ею вопросов. В боковой панели на странице «Сводка» нажмите на «Еще» у списка «Авторов лучших ответов». Ознакомьтесь со статистикой ответов по метке, авторами лучших ответов и самими ответами.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/5-1024x882.png" alt="" /></figure><p>Помимо авторов лучших вопросов по метке, вы можете познакомиться со всем сообществом Stack Overflow в разделе «Участники». В нижней части страницы вы можете найти ссылку на «<a href="http://stackexchange.com/leagues/355/week/ru-stackoverflow/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_2">Зал славы</a>» сообщества. Помимо рейтинга участников, обратите внимание на раздел «Модераторы», в котором указанны участники, выбранные большинством голосов на роль модераторов от сообщества.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/6-1024x383.png" alt="" /></figure><p>Stack Overflow создан с целью сделать Интернет лучшим местом для поиска ответов на вопросы по программированию. С помощью сайта любой разработчик может получить качественный ответ на свой вопрос вне зависимости от того, где он работает — в «Google» или в «ИП Рога и Копыта».</p><p>Первым шагом к получению ответа является <i>публикация вопроса</i>. На Stack Overflow вопрос состоит из: <a href="http://meta.ru.stackoverflow.com/questions/3342/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_2">заголовка</a>, тела и меток. Цель заголовка — привлечь внимание людей, заинтересованных в теме вопроса, или тех, кто сможет дать ответ на ваш вопрос. Нет необходимости перегружать заголовок подробностями — опишите их в теле вопроса, в котором укажите, в чем именно вы видите проблему, как её воспроизвести и что вы хотите получить в результате.</p><p>Вопросы бывают авторские и общие. За авторские вопросы вам начисляются баллы репутации, ваше имя отображается справа под телом вопроса, а улучшающие правки вносить напрямую в вопрос, минуя очередь проверок, могут только участники с репутацией 2 000 баллов и более. Общие вопросы предназначены для знаний, которые должны поддерживаться всем сообществом (пример, канонические вопросы списков литературы). Чтобы опубликовать общий вопрос, необходимо иметь как минимум 10 баллов репутации. Для внесения правки минимальный порог составляет 100 баллов. Все ответы, публикуемые к общему вопросу, автоматически становятся общими.</p><p>При необходимости вы можете опубликовать одновременно вопрос с ответом на него (используйте флаговое поле «Ответить на собственный вопрос» под телом вопроса).</p><figure><img src="https://media.tproger.ru/uploads/2016/09/7-1024x522.png" alt="" /></figure><p>Stack Overflow — это знания сообщества. Публикуемые вопросы должны детально раскрывать проблему. Чтобы это действительно было так, на сайте введены <a href="http://ru.stackoverflow.com/help/quality-standards-error/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_2">фильтры качества</a>. Если при публикации вы получаете ошибку «Это сообщение не отвечает нашим стандартам качества», попробуйте улучшить ваш вопрос.</p><p>Помните, <a href="http://meta.ru.stackoverflow.com/questions/2487/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_2">хороший вопрос — залог хорошего ответа</a>!</p>]]></content:encoded>
    </item>
    <item>
      <title>Как стать программистом: инструкция по «горячим следам» вчерашнего новичка</title>
      <link>https://tproger.ru/sponsored/how-to-become-a-programmer</link>
      <comments>https://tproger.ru/sponsored/how-to-become-a-programmer?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Антон]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/how-to-become-a-programmer</guid>
      <description><![CDATA[<p>Java-разработчик Игорь Филипенко собрал материалы, которые помогли ему в обучении, и разбил подборку по блокам для разных специальностей.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/how-to-become-a-programmer">Как стать программистом: инструкция по «горячим следам» вчерашнего новичка</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Обучение программированию]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 15 Sep 2016 17:27:40 GMT</pubDate>
      <content:encoded><![CDATA[<p>Рассказывает Игорь Филипенко, Java-разработчик</p><p>Совсем недавно в блоге IT-образовательного портала GeekBrains я описал <a href="https://geekbrains.ru/posts/5_months_probation?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_15.09.16">свою историю</a>, связанную с программированием. Я хочу поделиться с вами материалами, которые я нашел в процессе обучения и которые посчитал наиболее полезными. Подборка разделена на блоки, потому что ориентирована на программистов сразу нескольких специальностей.</p><p>Сразу оговорюсь: я — новичок в области IT, и эта статья — не истина в последней инстанции, а моё личное видение тех или иных аспектов программирования, подкреплённое какими-то источниками информации.</p><h3>«Для чайников»</h3><p>Если вы совсем уж новичок и знаете лишь, что кто-то как-то создаёт сайты, игры, мобильные приложения и пр., но хотя бы приблизительного понимания того, как это делается, у вас нет, то посмотрите запись вводной лекции «Первые шаги по построению карьеры в IT». После просмотра у вас появится понимание, что и где примерно применяется (в видео освещаются не все вопросы, конечно, но если нужной информации там нет, то вы можете найти её самостоятельно).</p><p>Дальше нужно познакомиться с базовыми понятиями и основными принципами программирования. Вам следует прочитать в сети, что такое процедурное и объектно-ориентированное программирование. У Tproger, кстати, есть серия материалов по ООП. Второе без первого не существует, и начинать нужно с «процедурки». Поэтому записываемся на курс <a href="https://geekbrains.ru/basics_live?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_15.09.16">«Основы программирования»</a> GeekBrains и проходим. Прошли? Если да, то теперь у вас есть понимание того, что такое переменная, условный оператор, цикл и массивы.</p><h3>Понравилось? Не тошнит? Хорошо, двигаемся дальше!</h3><p>А дальше нужно закрепить изученное и получить ещё знаний по процедурному программированию. Для дальнейшего развития я бы рекомендовал С++. Можно выбрать Python, который покажется более простым, можно продолжить с JavaScript. Тем не менее, для отработки основных понятий С++ будет полезнее. Во-первых, многие языки Си-подобны. Во-вторых, это мощный инструмент в умелых руках и при его изучении вы «поковыряете» указатели, а также узнаете много интересных вещей, связанных с памятью и работой с ней. В той же Java прямого доступа к памяти нет, С++ же позволяет извращаться над железом, как вам захочется.</p><p>Есть 3 хорошие книги:</p><ol><li>Р.Лафоре: «Объектно-ориентированное программирование в C++» — эта книга понравилась мне тем, что в ней доходчиво всё объяснено и много схем. Информация, представленная схематически, мне даётся легче. При работе с этой книгой помните, что темы ООП там идут вперемешку с процедурным программированием. Подробнее о темах чуть ниже.</li><li><a href="http://www.ozon.ru/context/detail/id/3592139/">Х.Дейтел, П.Дейтел: «Как программировать на C++»</a> — это тоже очень толковое учебное пособие.</li><li><a href="https://www.ozon.ru/context/detail/id/7979735/">С.Прата: Язык программирования С. Лекции и упражнения</a></li></ol><p>Кстати, есть еще <a href="https://tproger.ru/books/what-books-does-bjarne-stroustrup-suggest-to-master-cpp/">список книг</a> для изучения C++, которые рекомендует сам создатель этого языка программирования — Бьерн Страуструп.</p><p>Ваша задача пройтись по основам программирования и хорошенько разобраться, что же такое переменные, условные конструкции и тернарный оператор, циклы и особенно вложенные циклы, массивы и многомерные массивы, функции, передача данных в функцию по ссылке и значению, структуры, указатели и пр. Прочитав теорию, обязательно практикуйтесь. Берите задачи из книги Дейтелов. В качестве IDE я рекомендую Visual Studio или CodeBlocks. Но есть и другие популярные варианты.</p><p>Теперь вы ознакомились с базовыми операторами и конструкциями программирования, дальше имеем 2 варианта:</p><ol><li>Вы уже выбрали язык программирования и область, к которой стремитесь;</li><li>Вы ещё не определились.</li></ol><p>И по одному и по другому вопросу мы вновь должны поработать. Заходим на Sololearn и проходим нужные нам курсы.</p><p>Если вы выбрали язык программирования, то проходите все курсы, связанные с ним. Например, для веб-разработки однозначно надо изучить PHP, Python, HTML, JavaScript, CSS и SQL. Эти знания потребуются дальше в ваших проектах. Выбрали С или Java? Вместе с С++ учите SQL, с Java учите SQL, HTML, CSS, JavaScript. Наверное у вас невольно возникает вопрос: «Почему с Java нужно учить веб-технологии?» Отвечаю: «Эти технологии активно используются в проектах, где живёт этот язык программирования». Вы делаете что-то на серверной части: сервлеты и прочее? Возможно, вам придётся хотя бы немного коснуться фронтенда. Вы пишете под Android? Android-приложения тоже верстаются, но там за основу взят не HTML, а XML, однако общие принципы у них похожи, поэтому лучше сейчас потратить лишние пару часов и изучить HTML. Выбрали C#? Набор технологий будет таким же, как в Java. Про Swift я знаю мало, но думаю, что и для него вам понадобятся элементарные знания технологии вёрстки.</p><p>Прошли курсы на <a href="http://sololearn.com/">Sololearn</a>, что теперь? Я очень рекомендую посмотреть семинар «Что такое ООП и с чем его едят?»</p><p>Тут стоит обратить внимание на то, что автор рассказывает о 6 парадигмах ООП. Скажу честно: в двух местах я пытался интервьюерам рассказать, что их 6 и какие они. К сожалению, к этому они отнеслись скептически, потому что в мире все обсуждают в большей степени 4 парадигмы, но обмен сообщениями и повторное использование объектов никто не отменял, поэтому этому материалу стоит уделить внимание.</p><p>Дорогой читатель, к этому моменту ты должен уже был определиться с той областью программирования, в которой ты хотел бы трудиться. К сожалению, я всего не знаю и дальше речь пойдет о технологиях, связанных с Java и JavaScript. Другими вещами я просто не занимался, но дальше я поделюсь ресурсами, где обозревается куча разных других технологий.</p><p>DWiki — это список всякого разного. Со многими порталами я познакомился и могу сказать, что подборка очень хорошая, особенно для начинающих программистов. Если у вас плохо с английским, то посмотрите на Интуит, Hexlet и ITVDN, ну и конечно же, на GeekBrains. Для тех, кто чувствует себя увереннее в английском языке, подойдут академия Хана, Udacity, Lynda и т.д.</p><h3>Английский язык</h3><p>В заключении этой первой части я хочу коснуться ещё одной важной для айтишника темы — английского языка. Английский язык нужен программисту по нескольким причинам:</p><ol><li>Вы неизбежно столкнётесь с нехваткой информации в Рунете по интересующим вас темам. Иностранные программисты постоянно пилят какие-то гайды и прочие ништяки, которые будут очень полезны, но чтобы их понимать, нужно знать английский.</li><li>Работа над проектом построена таким образом, что между программистами распределяются задания. Для координации специалистов используются RedMine, GitLab (кстати, познакомьтесь с редмайном, просто для себя зарегистрируйтесь и пощупайте данный сервис) и прочие программы, позволяющие агрегировать информацию по проекту в одном месте. Тут же вам “тимлид” будет давать задания и за вашей командой будет наблюдать клиент, который будет вносить правки по заданиям и писать комментарии. Как думаете, на каком языке он это будет делать?</li><li>И наконец, вы сами, вполне возможно, вынуждены будете контактировать с клиентом напрямую. Тут вам тоже пригодится английский.</li></ol><p>Более развернутые <a href="https://tproger.ru/experts/13/">ответы</a> дали несколько экспертов Tproger.</p><p>В IT-компаниях всегда спрашивают про английский, на собеседовании даже предложат пообщаться с HR на английском. В основном это простой диалог, в котором вы расскажете, какой вы молодец.</p><p>Подытожим вышесказанное. Какой уровень владения языком нужен? Обычно требуется Intermediate. Но не пугайтесь, во многих компаниях всё не настолько строго, с вас будет достаточно:</p><ol><li>Понимать язык и читать документацию, туториалы на английском;</li><li>Вести диалог с собеседником более или менее свободно.</li></ol><p>Вы можете делать какие-то ошибки, но вы должны говорить и иметь какой-то словарный запас. Или есть другой выход: вы должны быть хорошим специалистом. У нас на работе есть парень, который в предложении делает по 5 ошибок, но он понимает код в документации и работает отлично. Но пока вы, скорее всего, не самый крутой программист, поэтому мы немного подтянем ваш английский. В сети существует море курсов, методик и прочего хлама. Есть даже курсы типа «английский для айтишников». Большая часть из этого — шлак. Я вам предлагаю найти двухтомник от Бонка, Котия и Лукьяновой и работать по нему.</p><p>Причём работать нужно следующим образом. Там есть теория, есть упражнения на грамматику, перевод и т.п., и есть тексты. В конце каждой главы вы должны сделать хотя бы 2-3 упражнения. Желательно найти человека, который их проверит. Я бы поискал какой-нибудь форум по изучению английского и попросил бы там помощи. Уверен, кто-то знающий откликнется и согласится проверить ваши задания. В каждой главе вы должны пересказать текст, причём использовать новые слова, которые идут после текста. Если вы подойдёте к делу сознательно, то уже после первого тома вы сможете вполне неплохо понимать и использовать английский. Что касается технических терминов, поверьте, их усвоить будет легко. Когда начнёте изучать туториалы на английском, впитаете нужные термины автоматически. Поэтому не бойтесь учить язык и не влезайте в крайности. HR’ы в компаниях будут запугивать и скажут, что нужно быть ну просто англичанином. Это не совсем так, но и знать элементарные вещи необходимо.</p><h3>В итоге</h3><p>Это была первая часть моего материала с ссылками и советами начинающему программисту. Я очень надеюсь, что мой труд не пропадёт даром, и эта информация кому-то будет полезной. В следующих выпусках я расскажу о материалах по Java, Android и некоторым вещам, связанным с JavaScript. Ещё раз подчеркну, что цикл этих материалов — моя личная точка зрения, которая не является истиной, и за вами всегда остается право прислушаться к ней или пройти мимо. Успехов вам в изучении программирования, до скорых встреч!</p>]]></content:encoded>
    </item>
    <item>
      <title>История проекта Stack Overflow — экспертные ответы на ваши вопросы</title>
      <link>https://tproger.ru/sponsored/stack-overflow-part-1</link>
      <comments>https://tproger.ru/sponsored/stack-overflow-part-1?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/stack-overflow-part-1</guid>
      <description><![CDATA[<p>Первая версия Stack Overflow появилась в августе 2008 года, а домен и логотип выбрали голосованием; сайт посещают более 20 000 человек в секунду.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/stack-overflow-part-1">История проекта Stack Overflow — экспертные ответы на ваши вопросы</a>»</p>]]></description>
      <category><![CDATA[Stack Overflow]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 06 Sep 2016 15:07:31 GMT</pubDate>
      <content:encoded><![CDATA[<p>Каждый современный разработчик хотя бы раз слышал словосочетание «Stack Overflow». Сегодня многие программисты не могут вообразить себе, как может выглядеть трудовая деятельность без качественной базы готовых решений, доступной каждому через Интернет: каждую секунду StackOverflow.com посещают более 20 000 уникальных пользователей!</p><figure><img src="https://media.tproger.ru/uploads/2016/09/11-1024x793.png" alt="" /></figure><p>Но так было не всегда… Самая первая версия сайта была запущена в начале августа 2008 года. Доменное имя stackoverflow.com и логотип сайта были выбраны в результате голосования неравнодушных коллег. Результаты опроса, как и другие варианты предложенных имен, все еще можно найти в блоге Coding Horror, который ведет один из основателей проекта — Джефф Атвуд. Интересны и рассмотренные варианты логотипов.</p><p>Тогда, в далеком 2008 году словосочетание «Stack Overflow» ассоциировалось лишь с ошибкой <a href="https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D0%B5%D0%BA%D0%B0">переполнения стека</a>. Наткнувшись даже на эту, казалось бы, простую ошибку, программист мог потратить несколько часов (а иногда и весь день!) в поисках решения на бескрайних просторах информационной свалки под названием Интернет. В бессчетном множестве веток форумов можно было узнать о политических взглядах пользователей, их мнении об авторе вопроса, увлечениях в жизни и прочих, возможно, важных, но совершенно неинтересных аспектах в контексте решения ошибки переполнения стека. Неинтересные как автору темы, так и всем, кто впоследствии приходил на форум из поисковика.</p><p>Подобный «шум» кардинально снижал производительность индустрии в целом. Многие задумались о том, как можно было бы переработать существующий формат представления информации. В это время стали набирать популярность сервисы вопросов и ответов, где ответы можно было получать лишь за деньги. На некоторых сайтах платить необходимо было еще до того, как становилось понятно, что на сайте действительно есть решение имеющейся проблемы.</p><p>Да-да! Именно так! Либо бесплатно копаться в свалке информации, либо платить, «не видя товар»!</p><p>Далеко не всем такая ситуация была по душе. Джоэл Спольски и Джефф Атвуд, рок-звезды сообщества разработчиков, выдвинули основные идеи видения нового сайта для разработчиков:</p><ol><li>Разработчики не должны платить за доступ к информации, которую бесплатно создали другие разработчики.</li><li>Автору вопроса необходимы только ответы строго по теме вопроса. Весь остальной шум должен быть ликвидирован.</li><li>На сайте по программированию не должно быть ничего, кроме программирования.</li><li>Разработчикам нужны конкретные прикладные ответы на конкретные прикладные вопросы, а не общие советы, рассуждения или рекомендации.</li><li>Сообщество само ответственно как за пополнение своей базы знаний, так и за поддержание качества информации в ней.</li><li>Вся размещаемая информация на сайте должна быть адаптирована для чтения («один раз пишем, много раз читаем»).</li></ol><figure><img src="https://media.tproger.ru/uploads/2016/09/12.png" alt="" /></figure><p>В течение закрытого бета-тестирования, которое длилось полтора месяца, было задано 8 500 вопросов. Сервер, на котором работала первая версия сайта, имел следующие характеристики:</p><ul><li>Windows Server 2008 Standard Edition x64;</li><li>Dual Quad-Core Xeon E5320 (1.8 GHz);</li><li>4 GB RAM;</li><li>271 GB SAS hard drive.</li></ul><p>Более подробно они описаны <a href="http://blog.stackoverflow.com/2008/04/our-dedicated-server/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">в блоге компании</a>.</p><p>Вскоре после открытия публичного доступа к сайту был приобретен еще один аналогичный сервер. Архитектура была проста: на одном работал сайт, на втором — база данных.</p><p>В январе 2009 года удвоилась официальная команда разработчиков Stack Overflow (до этого формально состоявшая из одного человека — Джеффа) — к компании присоединился Джеррод Диксон. Этому знаменательному событию посвящен отдельный пост в официальном блоге проекта. За первые семь месяцев на сайте <a href="http://blog.stackoverflow.com/2009/02/happy-100000th-question/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">было задано более 100 000 вопросов</a>. Вопросы и ответы — это только верхушка айсберга.</p><h4>Истинная ценность Stack Overflow в сообществе</h4><p>Именно сообщество ответственно за создание и поддержку общей базы прикладных решений. Как результат, в конце марта 2009 года <a href="http://blog.stackoverflow.com/2009/05/stack-overflow-moderator-voting-now-open/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">были проведены</a> первые демократические выборы модераторов от сообщества.</p><p>В мае—июле того же года произошло еще несколько знаменательных для проекта событий:</p><ul><li><a href="http://blog.stackoverflow.com/2009/05/stack-overflow-developer-days-conference/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">Анонсирована</a> первая серия конференций Stack Overflow Days.</li><li><a href="http://blog.stackoverflow.com/2009/05/the-stack-overflow-trilogy/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">Запущена трилогия</a>: Stack Overflow, Server Fault, Super User.</li><li><a href="http://blog.stackoverflow.com/2009/06/jobs-at-stack-overflow/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">Запущена</a> доска объявлений о поиске работы Stack Overflow Jobs.</li><li><a href="http://blog.stackoverflow.com/2009/06/stack-overflow-creative-commons-data-dump/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">Положено</a> начало размещению снимка базы вопросов и ответов в открытый доступ на регулярной основе.</li><li><a href="http://blog.stackoverflow.com/2009/06/cmon-get-meta/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">Запущена Мета</a> — сайт, где сообщество может коллективно принимать решения о будущем проекта.</li></ul><p>Спустя чуть более года с момента запуска в день сайт <a href="http://blog.stackoverflow.com/2009/09/one-million-pageviews/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">просматривали более 1 000 000 раз</a>! К этому времени на сайте собралось 300 000 вопросов и 120 000 зарегистрированных пользователей. Следующими наиболее значимыми событиями в жизни проекта стали:</p><ul><li><a href="http://blog.stackoverflow.com/2010/04/changes-to-stack-exchange/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">Запуск</a> «<a href="http://area51.stackexchange.com/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">Зоны 51</a>» — сайта, на котором участники существующих сообществ могут предлагать идеи для новых сайтов.</li><li>В экосистеме Stack Exchange <a href="http://blog.stackoverflow.com/2010/04/do-trilogy-sites-need-a-third-place/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">появилось</a> «третье место» — система чатов.</li><li><a href="http://blog.stackoverflow.com/2010/06/introducing-stack-exchange-data-explorer/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">Появился</a> «<a href="http://data.stackexchange.com/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">обозреватель данных</a>», с помощью которого любой желающий может выполнять SQL-запросы по базе данных любого сайта сети Stack Exchange.</li></ul><p>К середине октября 2010 года на Stack Overflow было задано 1 000 000 вопросов. В самом конце того же года был <a href="http://blog.stackoverflow.com/2010/12/stack-overflow-annual-survey/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">анонсирован</a> первый «опрос разработчиков Stack Overflow». Уже к середине следующего года на сайте было зарегистрировано <a href="http://blog.stackoverflow.com/2011/06/1000000th-user/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">1 000 000 пользователей</a>.</p><p>Сегодня на Stack Overflow задано более 12 000 000 вопросов, опубликовано более 20 000 000 ответов. Сайт посещают более 45 000 000 уникальных пользователей в месяц.</p><p>Stack Overflow — это международная компания, состоящая из более чем 200 сотрудников, с тремя офисами: в Лондоне, Денвере и штаб-квартирой в Нью-Йорке.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/13.jpg" alt="" /></figure><p>Как уже говорилось, Stack Overflow — это прежде всего сообщество, то есть реальные разработчики. Компания старается сделать как можно больше полезного и интересного для людей:</p><ul><li>Каждый год на сайте проводятся опросы разработчиков, с результатами которых можно ознакомиться на специальной странице.</li><li>Компания не скрывает данные о зарплатах своих сотрудников: вы <a href="http://stackoverflow.com/company/salary/calculator/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">можете узнать</a>, сколько получают разработчики сайта.</li><li>Раз в год зимой проводится <a href="https://winterbash2015.stackexchange.com/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">конкурс шляп</a>.</li><li>В канун Нового года по результатам голосования сотрудников делаются <a href="https://blog.stackoverflow.com/2015/12/stack-overflow-gives-back-2015/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">ежегодные пожертвования</a> в различные фонды бесплатных программных продуктов.</li><li>Часть трафика Stack Overflow отводится под рекламу наиболее важных, по мнению сообщества, проектов с открытым исходным кодом.</li></ul><p>Вы можете следить за развитием проекта на <a href="http://meta.stackexchange.com/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">Мете</a> или в <a href="http://blog.stackoverflow.com/?utm_source=tproger.ru&amp;utm_campaign=how_so_works_1">блоге</a> компании. Уверен, мы еще не раз убедимся в состоятельности идеи коллективной ответственности за будущее сообщества!</p>]]></content:encoded>
    </item>
    <item>
      <title>Открыто соревнование в области Data Science с призовым фондом $5000</title>
      <link>https://tproger.ru/sponsored/cikm-cup-2016</link>
      <comments>https://tproger.ru/sponsored/cikm-cup-2016?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Типичный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/cikm-cup-2016</guid>
      <description><![CDATA[<p>Приём решений CIKM Cup 2016 открыт до 5 октября, за первое место дают $1600. Участие онлайн, задачи по анализу больших данных от двух компаний.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/cikm-cup-2016">Открыто соревнование в области Data Science с призовым фондом $5000</a>»</p>]]></description>
      <category><![CDATA[Big Data]]></category>
      <category><![CDATA[Конференции]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 29 Aug 2016 13:20:43 GMT</pubDate>
      <content:encoded><![CDATA[<h4>Что за соревнование?</h4><p>Называется CIKM Cup 2016. Две компании предлагают задачи из реальной жизни по анализу больших данных. Принять участие может любой желающий.</p><h4>Где и когда проходит?</h4><p>В онлайне, никуда ехать не нужно. Приём решений открыт прямо сейчас и закроется через месяц, 5 октября.</p><h4>Зачем мне всё это нужно?</h4><p>Победителям дают деньги, за первое место, например, $1600. Кроме того, можно будет пообщаться с ведущими мировыми исследователями по Entity Linking, Online Advertising и Personalized Search из таких организаций, как Microsoft Research, Google Research, IBM Research, Stanford University, UIUC, UC Berkeley, и других.</p><h4>Что нужно сделать для участия?</h4><p>Решить одну или обе из предложенных практических задач:</p><ol><li><a href="https://competitions.codalab.org/competitions/11171">Cross-Device Entity Linking for Online Advertising</a> при поддержке компании DCA (Data-Centric Alliance);</li><li><a href="https://competitions.codalab.org/competitions/11161">Personalized E-commerce Search</a> при поддержке компании DIGINETICA.</li></ol><h4>Почему всё на английском?</h4><p>Соревнование проводится в рамках международной конференции CIKM 2016 — уже 25-й по счёту. Проходит она всегда в разных городах мира и собирает участников со всех уголков планеты, а английский признан международным языком де-факто. К тому же, мы уже не раз <a href="https://tproger.ru/experts/13/">писали</a> о важности знания английского языка для программистов.</p><h4>Зачем организаторам этот конкурс? Собираются умные люди на конференции, пусть там и решают свои вопросы.</h4><p>CIKM находится на стыке трех направлений науки — информационный поиск, базы данных и управление знаниями. Фокусом CIKM являются сложные междисциплинарные информационные проблемы и глобальные вызовы, стоящие перед академическим сообществом и обществом в целом.</p><p>В общем, даже по формулировкам понятно, что штука довольно научная, и чтобы приблизить её к реальному миру и показать прикладное применение обсуждаемых на конференции вопросов, было решено провести соревнование с реальными задачами, близкими к бизнесу. На самом деле всё это полезно обычным людям, просто не так очевидно.</p><h4>А мы тут в России откуда про это узнали?</h4><p>Благодаря одному из партнёров конференции, российской технологической компании DCA, специализирующейся на работе с большими данными и высоконагруженными системами.</p><h4>В целом всё понятно, спасибо. Где можно уточнить детали?</h4><p>Более подробное описание соревнования есть в блоге компании DCA. По поводу заданий лучше заходить на сайт CIKM Cup 2016. Вопросы можно задать в аккаунте компании на Facebook.</p>]]></content:encoded>
    </item>
    <item>
      <title>Froncubator — новая школа frontend-разработчиков и верстальщиков</title>
      <link>https://tproger.ru/sponsored/froncubator</link>
      <comments>https://tproger.ru/sponsored/froncubator?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Типичный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/froncubator</guid>
      <description><![CDATA[<p>Основатель онлайн-школы Фил учит html-вёрстке и frontend-разработке: чаще всего к нему приходят те, кто хочет сменить профессию и начать работать в IT.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/froncubator">Froncubator — новая школа frontend-разработчиков и верстальщиков</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[Обучение программированию]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 08 Aug 2016 15:03:39 GMT</pubDate>
      <content:encoded><![CDATA[<p>Публикуем рассказ об онлайн-школе Froncubator от её основателя, Фила. Говорит, что не стесняется нецензурной лексики на уроках, это помогает объяснять всё очень доступно. И вообще школа очень живая и настроенная на личный контакт и менторство со стороны учителя. Передаём слово автору.</p><p>Привет, меня зовут Фил!</p><p>Я обучаю html-верстальщиков и frontend-разработчиков. В основном ко мне приходят те, кто хочет сменить свою профессию и начать работать в сфере IT. Но бывают и люди, которые просто хотят изучить новое направление и перейти от back ко front-разработке, например. Почему я вообще начал обучать людей frontend’у?</p><p>Как-то мне написал мой школьный друг Никита, с которым мы давно не виделись. Он по образованию повар, но в то время работал грузчиком по ночам. Ему было грустно и все бесило. Тогда я просто предложил ему посмотреть на <a href="https://nodejs.org/en/">Node.js</a>. Поначалу он вообще ничего не понял, но заинтересовался. В тот момент я осознал, что надо начать с чего-то очень простого и решил, что это будет HTML. Для HTML не нужно устанавливать компиляторы, редакторы, объяснять, что такое веб-сервер и т.п. Нужен браузер и блокнот. Я показал пару простых штук, которые его удивили, и он понял, что хочет начать обучение. В то время у меня не было методологий по обучению, поэтому я отмечал для себя все проблемы и недопонимания, с которыми Никита сталкивался. Вот прошло полгода, и он html-верстальщик, который фрилансит и получает больше, чем раньше. Сейчас он продолжает обучение и хочет стать frontend-разработчиком, чтобы уметь делать все, что умею я.</p><figure><img src="https://media.tproger.ru/uploads/2016/08/20160808170656561_7b394bc.png" alt="" /></figure><p>Так уж получилось, что я обучаю команду разработчиков из стартапа, теперь они справляются без моей помощи. Спустя некоторое время у нас появился Froncubator — frontend-инкубатор. Онлайн школа, где я обучаю html-верстальщиков и frontend-разработчиков по своей методике. Html-верстальщиков можно обучить примерно за 2 месяца, а frontend-разработчика за полгода. На моих курсах нет сухой теории и сложных терминов. Уроки построены так, чтобы вам не приходилось скучать. А еще на моих курсах есть нецензурная лексика, веселье и шутки, которые помогают расслабить мозг, потому что напрягать мозг придется очень много. В любом случае будут сложности в обучении, вам будет казаться, что это не для вас, но это все не правда, это для вас! А на любые вопросы я всегда готов ответить и решить возникшую проблему.</p><p>У нас есть <a href="http://vk.com/froncubator">группа ВКонтакте</a>, где можно найти меня, задать вопросы, пообщаться и посмотреть бесплатные стримы и видеоуроки.</p><p>Чаще всего меня спрашивают, работал ли я в больших компаниях. Отвечаю заранее: да, работал в Mail.ru Group.</p>]]></content:encoded>
    </item>
    <item>
      <title>История успеха программиста: превращение мечты детства в реальность</title>
      <link>https://tproger.ru/sponsored/how-to-become-a-coder</link>
      <comments>https://tproger.ru/sponsored/how-to-become-a-coder?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/how-to-become-a-coder</guid>
      <description><![CDATA[<p>Руслан Лихобаба с детства мечтал стать программистом, но пришёл в профессию лишь в сорок лет: его история и советы тем, кто идёт похожим путём.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/how-to-become-a-coder">История успеха программиста: превращение мечты детства в реальность</a>»</p>]]></description>
      <category><![CDATA[Для начинающих]]></category>
      <category><![CDATA[История успеха]]></category>
      <category><![CDATA[Для мотивации]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 25 Jul 2016 11:48:43 GMT</pubDate>
      <content:encoded><![CDATA[<p>Если у вас есть мечта и стремление превратить её в реальность, рано или поздно она обязательно исполнится. Делимся с вами историей и советами Руслана Лихобабы — человека, с детства мечтавшего стать программистом, но ставшего им по воле обстоятельств лишь в 40 лет. Передаём ему слово.</p><h3>Детство</h3><p>Когда деревья были большие, трава зеленее, школа десятилеткой, а мне 12 лет, ко мне подошёл заведующий внешкольной работой и сказал: «Пойдем». Куда и зачем, я не спросил, но молча пошёл за ним. Он меня привёл к железной двери, которая охранялась сигнализацией, и доступ туда был открыт только старшеклассникам и исключительно под присмотром учителей. А такие, как я, могли разве что подсматривать в приоткрытую дверь, пока старшие ученики заходили на урок. Это был компьютерный класс, один из самых крутых на тот момент в нашем городе. В нем были установлены 12 компьютеров БК-0010.</p><figure><img src="https://media.tproger.ru/uploads/2016/07/content_2.jpg" alt="" /></figure><p>Оказывается, в школе было решено организовать компьютерный кружок для средних классов, и я попал в число избранных первых 12 человек. На первом занятии, чтобы освоиться, преподаватель просто ставил различные игры (с помощью 5-ти дюймовых дискет со своей машины) и мы с любопытством впитывали то, что большинство из наших друзей видели только по телевизору. На втором занятии мы начали изучать первый свой язык программирования «Фокал». Мы учились рисовать, используя первые свои выученные операторы «SET», «TYPE», «XECUTE» и функции «FP», «FV».</p><p>После этого я «заболел», думать ни о чем другом не мог. Просто «поиграть на компьютере» мне стало не интересно. Я завёл толстую тетрадь, в которой нарисовал точную копию клавиатуры. Я вклеивал в тетрадь листы миллиметровки с рассчитанным размером по разрешению экрана, на которых я рисовал картинки, чтобы легче высчитывать координаты точек и переводить в программный код. Каждая программка записывалась в тетрадь, а потом я тренировался её набирать на своей нарисованной клавиатуре, чтобы на занятии в школе успеть всё ввести в компьютер.</p><p>Я понял, что можно делать больше, чем рисовать. Я написал свою первую игру «Угадай число», затем пошли множество версий «Змейки», «Марсов», «Лабиринтов». Особой популярностью в школе пользовалась моя программка, выводящая графики различных биоритмов.</p><p>Интернета тогда не было, поэтому я почти жил в библиотеке и читал о компьютерах всё, до чего могла дотянуться моя «понималка». Это заметил преподаватель, и я стал единственным в школе, кому позволялось быть в компьютерном классе в любое время. Мне разрешалось присутствовать на всех «чужих» уроках, оставаться в классе на переменах, а когда преподавателю надо было уйти на время, он просто закрывал меня в классе на ключ.</p><p>Я был в 7-ом классе, а информатика начиналась в 9-ом. Были олимпиады за 9-ый класс, но дальше городской меня не пустили из-за разрыва в знаниях математики в два класса. Я ждал 9-ый класс. Именно тогда я почувствовал, что самая лучшая учёба, это когда тебе предоставляют все условия и не мешают, а увлечённость своё дело сделает. Это то, с чем помог мне мой первый учитель информатики.</p><p>Оставалось одно лето до 9-го класса, когда мы переехали в другой город. Компьютеров в той школе не оказалось, а информатику мы изучали по картинкам. Программистом я не стал… Не знаю почему. Может, из-за 90-ых, когда учёба стала не в чести. Может, «переходный» возраст и конфликты с учителями. Может, просто рядом не оказалось того, кто направит.</p><h3>Зрелость</h3><p>Когда мне стукнуло 18 лет, на свои кровно заработанные я купил свой личный первый компьютер. Это был Spectrum-128, с монитором и двумя дисководами под 5-ти дюймовые дискеты.</p><figure><img src="https://media.tproger.ru/uploads/2016/07/content_4-e1469295740121.jpg" alt="" /></figure><p>И тут меня опять «понесло»: череда мелких игрушек сначала на бейсике, затем, когда стало не хватать производительности — ассемблере. Потом моя первая «не игрушка», программа для ведения склада и финансового учёта, когда я впервые по-серьёзному столкнулся со структурами данных, форматом их хранения и необходимостью как-то выкручиваться в условиях имеющихся ресурсов. Но и тут — в 20 лет я молодожён, и семейные потребности вытеснили программирование в статус «былого хобби».</p><h3>Переломный момент</h3><p>Следующий компьютер у меня появился, когда мне было уже 35 лет. Как и раньше, меня привлекали игры. Я играл во всё: от замороченных тетрисов до ММОРПГ. И, конечно, меня снова начали посещать мысли о написании своей игры.  Набрав книг для чайников, я начал вникать в новые для себя азы написания кода. И тут я понял, что сам не справлюсь.</p><p>За эти годы многое изменилось. 15 лет для IT-индустрии — это вечность. IT-индустрия покинула среду избранных и расширила свой ареал доступности массам. Хорошую программу уже невозможно написать в одно лицо, это стало возможностью сработавшихся команд. Изменились требования к продукту, изменился подход к его созданию. А самое трудное, что для меня оказалось камнем преткновения — это другое мышление, всё стало по-другому. Учитывая, что последний десяток лет я зарабатывал музыкой и мозги работали вовсе не в сторону вычислений и логики, я упёрся в тупик.</p><p>И вот, в 36 лет, ради своего хобби, я решился пойти учиться программированию. Изучив просторы интернета, я нашел ближайшую компьютерную академию, в которой через три дня начинался учебный сезон. Там мы изучали весь диапазон востребованных и сопутствующих им IT-технологий. Там же я определился с направлением — .NET.</p><p>2,5 года учебы, дипломная работа на тему «Браузерная онлайн игра», идеи маленьких стартапов, посещение конференций по геймдеву… Но опять жизнь внесла коррективы. События Юго-Востока сделали меня переселенцем, где год я прожил не только без интернета, а даже без компьютера, а случайная травма руки сделала проблемной возможность зарабатывать тем, чем я зарабатывал последние 12 лет — музыкой.</p><p>Когда жизнь меняется в 20 лет — это одно. Оказаться далеко от дома, который обживал долгим трудом и оказаться без возможности зарабатывать тем, что умеешь, в 39 лет — это катастрофа. Но «show must go on», и я стал думать, какие навыки я могу использовать и во что готов влить свою дальнейшую жизнь.</p><p>Программирование? Иностранный гражданин, высшее образование — 2 курса, опыт — дипломная работа. Какие шансы найти работу программистом?</p><h3>Первые попытки</h3><p>Первое, что я сделал — зарегистрировался на сайтах вакансий, изучил их. Сначала пытался искать стажировку, но когда увидел, что их по сути нет, стал откликаться на вакансии, в которых, на мой взгляд, было не так много требований. Первый раз нажать на кнопку «откликнуться» решался около часа. Но потом подумал, что терять нечего, а приобрести что-то, может, и получится. Помню, как волновался, когда пришло первое письмо от HR-менеджера с просьбой перезвонить. За три дня до первого собеседования прочитал две книги: одну по C#, вторую по SQL. Потом второе собеседование, потом третье…</p><p>Какие-то заканчивались на вопросе о гражданстве, какие-то длились по часу-полтора с чередой общих и технических вопросов. Идя на очередное собеседование, я знал, что мне там ничего не светит, но каждое собеседование добавляло опыт и знания: какие вопросы могут задаваться, как себя вести. Я не стеснялся тратить время работодателей, но зато теперь я знал, что им нужно, их любимые вопросы и ответы, которые они хотят от меня услышать.</p><p>После одного из очередных собеседований я осознал, что все мои знания и умения ничто по сравнению с тем, что надо знать и уметь. Также мне необходимо было создать портфолио. Поэтому следующим моим шагом было «закрытие» резюме. Я перестал откликаться на вакансии и решил потратить время на подготовку к следующему этапу череды собеседований. Я составил список из требований, описанных в вакансиях, записал много «умных» слов в блокнот и стал искать, как получить все эти знания.</p><h3>GeekBrains</h3><p>На просторах сети нашел несколько образовательных ресурсов, которые привлекли моё внимание. Одним из них был IT-портал <a href="https://geekbrains.ru/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_25.07.16">GeekBrains.ru</a>. Одним из множества плюсов была возможность стажировки, которую я так искал. Поэтому я долго не думал и купил весь курс.</p><p>Особенно мне запомнились уроки по мини-играм. Вёл их человек азартный к своему любимому делу, он заражал своей увлеченностью и любил игры, как и я. Те три программы, написанные за курс, стали первыми в моём «репозитории» портфолио. Но демонстрировать мини-игры на собеседованиях мне показалось как-то несерьезно, а приглашение на стажировку от GeekBrains пока не приходило. Если гора не идет к Магомету, то Магомет идет к горе.</p><p>Я решил устроить себе стажировку самостоятельно. Дал объявление, в котором написал, что хочу создать небольшую команду для написания совместного проекта в портфолио. Откликнулось 12 человек, из которых через три недели осталось 5. Вот где я получил колоссальный опыт командной разработки! Пришлось перечитать кучу статей по методологиям. Я был и PM, и архитектором, и разработчиком. Раз в неделю у нас проходил митинг. Проект делался 4 месяца, по вечерам после работы. Был реализован сервис по мониторингу GPS трекеров: был написан сам сервис по приёму сообщений от трекера, эмулятор трекера на WPF, клиент на ASP.NET MVC 5 и даже простенькое приложение для Android, которое высылало сообщение со своими гео-координатами на сервер. Мы впервые узнали о «SPA» и попробовали «ReactJS». Были трудности, многое для нас было в первый раз, чему нас нигде ещё не учили. Наш невысокий уровень тоже давал о себе знать. Но глаза боятся, а руки кодят. Всё работало и это радовало!</p><p>И вот нам всем пришло приглашение на <a href="https://geekbrains.ru/?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_25.07.16">стажировку от GeekBrains</a>. То, к чему мы приходили с опытом, интуитивно, теперь обрело чёткую форму, стало раскладываться по полочкам. Евгений Картавец провёл нас по всем этапам разработки именно так, как это происходит в большинстве IT-компаний. А наше портфолио пополнилось ещё одним проектом! Это был «краулер» по сбору статистики с веб-страниц, где так же использовались технологии, знание которых на сегодняшний день востребованы на рынке труда.</p><h3>Сомнения</h3><p>Но вот чем больше я вникал в сферу IT, тем больше у меня была паника. Тем больше спрашивал себя: «Куда я лезу?» Насколько мне далеко до необходимого уверенного уровня. Как понять, правильное ли я принял решение — стать программистом. Да ещё и работу найти по этой профессии?</p><p>Чем дальше, тем чаще у меня возникала ассоциация: сорокалетний человек, самоучкой поиграв год на скрипке, приходит устраиваться в симфонический оркестр. У меня не было времени на естественный процесс «становления профессионалом», как у студентов ВУЗов. Их путь мне надо было пройти даже не в два, и даже не в три раза быстрее. Пока стоишь на остановке, достаешь планшет, чтобы прочитать ещё одну страницу «Совершенного кода». Даже если ехать одну остановку, успеваешь посмотреть примеры работы с библиотекой.</p><p>За то время, что я создавал портфолио, я прочитал книги ведущих гуру мира IT, изучил паттерны проектирования, узнал о бест-практиках написания кода, посетил две конференции по .NET. Писать код стало моей потребностью, а <a href="https://habrahabr.ru/">Habrahabr</a> и <a href="http://ru.stackoverflow.com/">StackOverflow</a> — любимым чтивом. В какой-то момент я осознал, что учиться можно бесконечно и всё равно всегда будешь чувствовать себя не готовым. Поэтому я снова расшарил резюме.</p><h3>Результат</h3><p>Первые два звонка закончились на вопросе о гражданстве. На третьем меня пригласили на собеседование. Фактически работодатели не задавали мне новых вопросов, которые я бы не слышал на предыдущих собеседованиях. Но потом была просто беседа. Они поинтересовались проектами, в которых я участвовал, участками кода, почему именно эта библиотека, преимущества-недостатки. На втором этапе дали тестовое задание, которое надо было сделать к концу недели.</p><p>Сейчас закончился второй месяц испытательного срока, и теперь я полноценный трудоустроенный .NET-разработчик. Мне 40 лет. Чтобы тебе дали проект на разработку, как архитектору, сколько надо времени? Я думаю, у тебя получится сделать это быстрее… Если ты, прочитав статью, всё ещё сомневаешься, я поясню:</p><h3>Как стать программистом?</h3><p>Когда пианист подходит к роялю, он уже слышит музыку, которую он хочет сыграть. Он слышит динамику, каждый звук, каждую интонацию музыкальной фразы. Он знает, как своей рукой извлечь именно такой звук. А самое главное, он чувствует потребность сыграть то, что он слышит. Он хочет, чтобы окружающие тоже это услышали. Если ты подходишь к клавиатуре так же, как этот пианист, то для тебя нет другого пути, кроме как стать программистом. Будешь ли ты выдающимся разработчиком, зависит от того, как много времени ты тратишь на постоянное изучение и развитие.</p><h3>Как стать работающим программистом?</h3><p>Для того, чтобы трудоустроиться, твои навыки должны быть востребованными. Чтобы навыки были востребованными, нужно знать и уметь то, на чём работодатель сможет заработать. Чтобы знать и уметь, нужно учиться и кодить, кодить и учиться…В твоей жизни никогда не будет момента, когда ты с уверенностью скажешь себе: «Я всё знаю». Нынешнее «знаю и умею» через год может быть никому не нужным, именно поэтому важно выбирать ресурсы, где тебя будут учить новому «знаю и умею».</p><h3>Как стать работающим программистом в 40 лет?</h3><p>Предыдущие два ответа умножай на 10. Не получается — умножь на 100. И помни, работа тебя найдет. Приходя на собеседование, сидя в офисе, я всегда вслушивался, чувствую ли я себя «Дома»? Придя на последнее собеседование, я знал, что буду здесь работать, потому что я был Дома.</p><p><a href="https://geekbrains.ru/basics_live?utm_source=tproger&amp;utm_medium=affiliate&amp;utm_term=01&amp;utm_campaign=post_tproger_25.07.16">Записаться</a> на бесплатный курс «Основы программирования» от GeekBrains.</p>]]></content:encoded>
    </item>
    <item>
      <title>Гарвардские лекции по основам программирования CS50 — теперь на русском</title>
      <link>https://tproger.ru/sponsored/cs50</link>
      <comments>https://tproger.ru/sponsored/cs50?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Типичный программист]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/cs50</guid>
      <description><![CDATA[<p>JavaRush и студия VertDider переводят популярный курс из Гарварда, взяв за основу самую свежую версию, стартовавшую осенью 2015 года.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/cs50">Гарвардские лекции по основам программирования CS50 — теперь на русском</a>»</p>]]></description>
      <category><![CDATA[Обучение программированию]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 23 Jun 2016 11:06:12 GMT</pubDate>
      <content:encoded><![CDATA[<p>Онлайн-курсы <a href="http://javarush.ru/">JavaRush</a> и студия <a href="http://vertdider.com/">VertDider</a> запустили проект по переводу на русский язык популярных лекций по основам программирования из Гарварда — CS50. Оригинальный курс на английском <a href="https://www.edx.org/course/introduction-computer-science-harvardx-cs50x">был выложен</a> в открытый доступ уже несколько лет назад, но переводится на русский впервые. За основу взяли самую свежую версию — ту, что стартовала в самом Гарварде осенью 2015 года.</p><p>Передаём слово ребятам из JavaRush.</p><p>Прежде, чем стать типичным программистом, человеку нужно пройти путь типичного студента. Под «студентом» тут имеется в виду человек, который основательно учится чему-то новому. Учится не обязательно в вузе: возможно, он самостоятельно перерывает интернет в поисках полезной информации. Среди тонн информационного мусора порой можно отыскать настоящие алмазы, хотя при нынешних размерах и структуре глобальной сети сделать это весьма и весьма непросто.</p><p>Однажды Zapp, глава JavaRush (о JavaRush будет в конце статьи), рылся в интернете, пытаясь найти такие вот алмазы для новичков в программировании — студентов JavaRush — и наткнулся на CS50. Под этой аббревиатурой скрывается вводный курс по основам компьютерных наук и искусства программирования. Его читают студентам Гарвардского университета, с недавнего времени — еще и в Йеле. И «заочно» во всем мире, посредством образовательной интернет-платформы edX. Причем совершенно бесплатно!</p><p>Признаться, курс зацепил Zapp’а, хотя обычно он не слишком (мягко говоря) жалует университеты, пичкающие студентов технологиями, утратившими актуальность ещё во времена бурной юности их родителей. Вузовские «айтишные» лекции еще и скучные чаще всего. Настолько, что скулы сводит. Но нет, CS50 — не такой, даже близко! Он прогрессивный (постоянно обновляется), лекции можно смотреть как крутой сериал (а не засыпать на задней парте или заниматься своими делами), задания подобраны со смыслом. Курс хочется смотреть, изучать и… продолжать вливаться в ИТ.</p><p>Одним словом, CS50 делает ровно то, что должен делать любой вводный курс: дает основы и вдохновляет на будущие свершения. При этом он универсален, то есть пригодится абсолютно любому будущему айтишнику независимо от специализации. А еще, чтобы усвоить CS50, не нужно штудировать «матанализ», «дискретку» и прочую университетскую математику. Курс вполне осилит гуманитарий или старшеклассник. Если английский знает, разумеется. А если нет? Раньше тех студентов, кто с трудом разбирал энергичную речь лектора, могли выручить разве что автоматически переведенные субтитры, из которых выудить смысл крайне тяжело на самом деле.</p><p>Но теперь даже английский учить не придется. Хотя нет, <a href="https://tproger.ru/experts/13/">придется</a>, конечно, но уже для работы, а не для учёбы. Потому что мы — JavaRush и студия VertDider — перевели лекции CS50 на русский.</p><h2>Чему учат на CS50</h2><p>Будет неправильно сказать, что на CS50 вас научат программировать «от» и «до», но, как по мне, правильное введение в информатику должно быть именно таким. Студентам поясняют всё и понемногу, но прежде всего — как «мыслит» компьютер. Его азбуку — двоичное счисление и понятие алгоритма и алгоритмизации поясняют сразу же, а бинарный поиск, над правильной реализацией которого нужно хорошо подумать, поясняется легко и быстро прямо на вводной лекции. Да еще и со спецэффектами в виде порванных телефонных справочников и специальной теплой «ламповой» бинарной машины. Даже понятие сложности алгоритма пояснили на наглядном примере, предложив способ быстрого подсчета примерного количества людей в аудитории (людей в аудитории было порядка полутысячи, если что).</p><figure><img src="https://media.tproger.ru/uploads/2016/06/5.jpg" alt="" /></figure><p>С программированием как таковым CS50 начинает знакомить на «нулевой» неделе. Вероятно, чтобы не пугать даже самых неуверенных гуманитариев, профессура Гарварда первым делом показывает студентам визуальный язык Scratch, на котором можно составлять программы простым перетягиванием графических элементов. Эта разработка Массачусетского Технологического Института (MIT) предназначена для обучения школьников, но основные концепции процедурного программирования — всякие циклы и условия — понять помогает очень быстро. Однако на Scratch никто долго не останавливается, а сразу же переходят на «великий и прекрасный» язык C, и большинство практических заданий студенты CS50 решают именно на нем. Очень неплохой выбор хотя бы потому, что C — чуть более низкоуровневый, чем большинство других ходовых языков, то есть хорош для понимания работы компьютера. К тому же знание основ С не помешает «линуксоидам» и прочим админам. Кстати, Linux’у и его командам также уделено внимание в курсе.</p><p>Далее студентам рассказывают о понятии функции, глобальных переменных, параметров, возвращаемых значений. Объяснят принцип стека и «кучи» (heap) и какие данные там хранятся, расскажут о массивах, строках и аргументах командной строки, отладке, вводе и выводе в файлы.</p><p>Конечно, не обойдется без основ алгоритмов и структур данных. Студенты получат очень внятные и интересные пояснения алгоритмов поиска (линейного, двоичного) и сортировок (пузырьковой, выбором, слиянием), ознакомятся с деревьями и хеш-таблицами.</p><p>Узнают о том, стоит ли боятся рекурсии и когда она необходима. А еще — о такой экзотике, как указатели, которые наделяют программиста огромной силой, но негативно сказываются на безопасности.</p><p>Счастливые слушатели CS50 получат представление о такой науке, как криптография, и поймут, в чем сила самых известных шифров — Цезаря, Виженера, DES.</p><p>Точно так же — поверхностно, но в самый раз для первого знакомства — в курсе поведают о веб-разработке, основах CSS, HTML, JavaScript и PHP. И немного о SQL с базами данных.</p><p>Если очень кратко, то CS50 вот о чём:</p><ul><li>Алгоритмы и алгоритмизация задач.</li><li>Абстракции, структуры данных, инкапсуляция, управления памятью.</li><li>Основы языка программирования C и программирования в целом.</li><li>Понятие о веб-разработке и базам данных: CSS, HTML, JavaScript, PHP, Ajax SQL.</li><li>«Правильная разработка». Что такое MVC.</li><li>Искусственный интеллект.</li><li>Понятие о шифровании.</li></ul><h2>Кто учит, как давно и кого</h2><p>CS50 эволюционировал от обычного вводного курса по программированию до настоящего суперхита. В Гарварде его читают, начиная с 80х годов минувшего столетия, но он начал стабильно набирать популярность после того, как его возглавил <a href="https://www.facebook.com/dmalan">Дэвид Малан</a>. Этот профессор Гарварда — вовсе не углубленный в себя и свою науку седовласый старец. Это увлеченный дирижер (или режиссер, если угодно), умеющий заразить своей увлеченностью, рассказать просто о сложных вещах и вдохновить на продолжение учёбы.</p><p>Впервые Дэвид прочёл CS50 в 2007 году, а уже в 2014 году 12% студентов Гарварда всех специализаций, то есть более восьми сотен человек, записались на «Основы программирования», загнав его в топ популярности среди всех курсов колледжа. До этого все было не так весело и многолюдно. Скажем, на лекции создателя Facebook Марка Цукерберга в 2005 году присутствовало аж 15 студентов. Правда, тогда эта социальная сеть только-только набирала обороты. Каждый год Дэвиду ассистируют множество человек — как другие преподаватели, так и недавние студенты CS50. И еще пара-тройка Muppet’ов=).</p><figure><img src="https://media.tproger.ru/uploads/2016/06/8137bc67406e40ef8e736d28eb7f6752.jpg" alt="" /></figure><p>Вы, возможно, слышали о Сьюзен Войчицки (Susan Wojcicki), исполнительном директоре Youtube. Так вот, в 1990 году она заканчивала Гарвард. Факультет истории и литературы, как ни странно. На последнем курсе девушку перемкнуло, и она решила узнать побольше о компьютерах, посему — выбрала CS50. Затем была Кремниевая долина, дружба с Ларри и Сергеем (теми самыми <a href="https://ru.wikipedia.org/wiki/Google_(%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D1%8F)">Ларри и Сергеем</a>), свой луна-парк, все дела. Вот как CS50 может изменить жизнь.</p><h2>А вы кто такие, господа переводчики?</h2><p><a href="http://javarush.ru/">JavaRush</a> — это самый классный и неординарный онлайн-курс по изучению Java. Фишка его в том, что он полностью автоматизированный, то есть проверить задачи и код можно в онлайне, причем мгновенно. Конечно же, у нас есть и лекции, но мы всегда рады поделиться хорошими материалами с нашими студентами, с этим и были связаны мои поиски</p><p><a href="http://vertdider.com/">VertDider</a> — наш партнер, отличная студия перевода и озвучки. Среди работ студии — масса интересных и полезных переводов материалов по технологиям, астрономии, религии, образования и нейробиологии.</p><h2>Где найти переведенные лекции</h2><p>Вот <a href="http://javarush.ru/cs50.html">страница</a>, на которой появляются лекции курса на русском языке. Они будут доступны совершенно бесплатно всем пользователям интернета. Перевод первой лекции появился 20 июня, следующая будет 27 июня, дальше — по мере их готовности.</p><p>Следите за обновлениями на страничке JavaRush <a href="https://vk.com/javarush">ВКонтакте</a></p><p>PS: Важная информация: вы же поняли, что можете учиться в Гарварде? На русском! Совершенно бесплатно! Не выходя из дома! Где бы он ни был, ваш дом, хоть на Северном полюсе. Лишь бы интернет был.</p><p>PPS: Кстати, типичный программист является типичным студентом пожизненно. Оставайтесь студентом, не прекращайте процесс познания!</p>]]></content:encoded>
    </item>
    <item>
      <title>Английский для айтишника — как латынь для медика</title>
      <link>https://tproger.ru/sponsored/englishdom</link>
      <comments>https://tproger.ru/sponsored/englishdom?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/sponsored/englishdom</guid>
      <description><![CDATA[<p>Английский — стандарт IT-индустрии: на нём выходят учебные материалы, исследования и практики, а рынку не хватает специалистов с языком.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/sponsored/englishdom">Английский для айтишника — как латынь для медика</a>»</p>]]></description>
      <category><![CDATA[Советы]]></category>
      <category><![CDATA[Карьера]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[Английский]]></category>
      <category><![CDATA[Спонсорское]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 01 Jun 2016 20:45:07 GMT</pubDate>
      <content:encoded><![CDATA[<p>В медицине вопрос «учить или не учить» латынь вообще не стоит: поступил в мед, значит, будешь ее знать, и без вариантов. Было бы рационально так же поступать с английским для IT-специалистов, т.к. этот язык — стандарт IT-индустрии. Однако, знание английского языка продолжает носить добровольный характер, и рынку не хватает специалистов с хорошим английским. Не думаем, что ситуация будет такой и в дальнейшем, ведь высокий уровень заработной платы программиста, знающего английский, очень мотивирует к обучению.</p><h3>Куй железо, пока горячо</h3><p>Львиная доля обучающего материала, открытий, исследований и практик доступна исключительно на английском. И если ждать перевода на русский, то можно получить остывший и не вкусный, а порой и очерствевший материал. Со временем теряется ценность, актуальность. Вывод один – читайте оригинальные ресурсы.</p><h3>Хочешь понимать, говори на одном языке</h3><p>У программистов развит профессиональный сленг, и его термины обычно происходят из английского. Например, фраза: «Чуваки, собираюсь подебажить, дайте туториал  JS» означает, что программисту нужна инструкция по JavaScript, чтобы исправить ошибки в программе. Еще пример: «Весь день фиксим и холиварим» — это «Исправляем баги и спорим».</p><h3>Передовой опыт – пожалуйста!</h3><p>Как уже говорили, большинство актуальных ресурсов для программиста реализовано на английском.</p><p>Начиная с обучения:</p><ul><li><a href="https://www.codecademy.com/learn">Codecademy</a> (самый известный сайт для изучения программирования);</li><li><a href="https://www.codeschool.com">Codeschool</a> (чтобы пройти путь от новичка до мастера);</li><li><a href="http://blog.teamtreehouse.com">Treehouse</a> (для новичков самое то);</li><li><a href="http://www.stanford.edu">stanford.edu</a> (курс для программистов от Стэндфордского университета);</li></ul><p>плавно переходим к общению и последним новостям:</p><ul><li><a href="http://www.ycombinator.com">ycombinator.com</a> (новостной сайт);</li><li><a href="http://i-programmer.info">I-programmer.info</a> (анонсы событий в мире IT);</li><li><a href="https://www.smashingmagazine.com">Smashing Magazine</a> (последние новости и практики);</li><li><a href="http://stackoverflow.com">Stackoverflow</a> (объемный ресурс с ответами и вопросами на тему программирования).</li></ul><p>И это только вершина айсберга. Владея английским, гораздо проще общаться и изучать исследования, мнения, сводки и другой полезный материал.</p><h3>Английский на диване</h3><p>Учить английский не выходя из дома или офиса — выбор многих программистов. Не нужно прерывать рабочий процесс, тратить время на дорогу  и выпадать из привычного графика. Такой вид обучения, как, например, английский по скайпу, будет отличным вариантом решения вопроса, как рационализировать время, которого всегда мало. Школ куча, на любой вкус и цвет. Мы же рекомендуем <a href="https://goo.gl/lXxOVV">себя</a>, т.к. за других отвечать не можем и верим, что мы на высоте. Так что если вы давно не отдыхали от кодинга и хотите заниматься по скайпу, welcome to EnglishDom на курс для IT-специалистов. Если будет желание разговориться (хоть маловероятно, но все-таки), приглашаем на онлайн <a href="https://goo.gl/HvUrAJ">разговорные клубы с носителем.</a></p><p>Альтернативный вариант — <a href="https://goo.gl/rQnhWA">интерактивный курс</a>: не нужно платить, не нужно посещать групповые занятия, общаться с преподавателем и слушать других учащихся, можно уютно устроиться в своем кресле, где все знакомо и привычно. Будем рады обратной связи, так как работаем над улучшением курса.</p><h3>На десерт: YouTube-каналы</h3><p>Кроме разговорной практики, изучения основ грамматики и пополнения словарного запаса, хорошо смотреть англоязычные YouTube-каналы для программистов:</p><ul><li><a href="https://www.youtube.com/user/GoogleDevelopers">GoogleDevelopers</a>,</li><li><a href="https://www.youtube.com/user/TheHelpingDevelop">Helping Develop</a>,</li><li><a href="https://www.youtube.com/user/flashbuilding">Adam Khoury</a>,</li><li>AbdulKhan,</li><li><a href="https://www.youtube.com/user/hussey17">Brad Hussey</a>,</li><li><a href="https://www.youtube.com/user/webinaction">Dr Richard Stibbard</a> и другие.</li></ul><p>При таком комплексном подходе и регулярных занятиях результат не заставит себя ждать.</p><p>Материал подготовлен онлайн-школой английского <a href="https://goo.gl/XWJ5Tn">EnglishDom</a>. Ждем вас на занятия в Skype.</p>]]></content:encoded>
    </item>
  </channel>
</rss>