<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>@abaha91</title><generator>teletype.in</generator><description><![CDATA[@abaha91]]></description><image><url>https://teletype.in/files/30/30cfee19-9665-47dd-9da2-ad1fa1d0866e.jpeg</url><title>@abaha91</title><link>https://teletype.in/@abaha91</link></image><link>https://teletype.in/@abaha91?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/abaha91?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/abaha91?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Wed, 13 May 2026 20:57:30 GMT</pubDate><lastBuildDate>Wed, 13 May 2026 20:57:30 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@abaha91/RNJfXoWkJ</guid><link>https://teletype.in/@abaha91/RNJfXoWkJ?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91</link><comments>https://teletype.in/@abaha91/RNJfXoWkJ?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91#comments</comments><dc:creator>abaha91</dc:creator><title>Media Frontend / Data Science</title><pubDate>Wed, 24 Mar 2021 19:09:07 GMT</pubDate><description><![CDATA[Статистика - telemetr.me | tgstat.ru
Условия: 
1.  Топ не менее 4 часов / 4 дня в ленте - 7500 рублей 
2. Топ не менее 4 часов / неделю в ленте - 8500 рублей

]]></description><content:encoded><![CDATA[
  <h3><strong>Frontender&#x27;s notes<br /></strong></h3>
  <p><strong>Статистика - </strong><a href="https://telemetr.me/@frontendnoteschannel" target="_blank">telemetr.me </a>| <a href="https://tgstat.ru/channel/@frontendnoteschannel" target="_blank">tgstat.ru</a><strong><br />Условия: <br />1.  </strong>Топ не менее <strong>4 часов / 4 дня в ленте </strong>- <strong>7500</strong> рублей <br /><strong>2. </strong>Топ не менее <strong>4 часов / неделю в ленте</strong> - <strong>8500 </strong>рублей</p>
  <h3><strong>Data Science [ru]</strong></h3>
  <p><strong><br />Статистика - </strong><a href="https://telemetr.me/@devsp" target="_blank">telemetr.me</a><strong> <br />Условия </strong>- Топ не менее <strong>4 часов</strong>, в ленте <strong>7</strong> дней<br /><strong>Стоимость</strong> <strong> -</strong> 2000 рублей</p>
  <p>В рекламном посту <strong>не должно</strong> быть нецензурной лексики.</p>
  <p></p>
  <p><strong>Реквизиты:</strong></p>
  <ol>
    <li><strong>Тинькоф</strong>: 5536 9137 7308 3254</li>
    <li><strong>Yandex</strong>: 410013454525609</li>
  </ol>
  <p><strong>Возможна оплата через счет самозанятого</strong></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@abaha91/HJOTdQdGS</guid><link>https://teletype.in/@abaha91/HJOTdQdGS?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91</link><comments>https://teletype.in/@abaha91/HJOTdQdGS?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91#comments</comments><dc:creator>abaha91</dc:creator><title>Здоровый программист — счастливый программист</title><pubDate>Fri, 26 Jul 2019 07:16:16 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/c9/c9d256df-f759-427f-9298-4bcb3440acf7.png"></media:content><description><![CDATA[<img src="https://teletype.in/files/fe/fe75679c-85a9-471e-a740-b6ab3f4f8742.jpeg"></img>Нам приходится работать очень напряженно: вредные начальники (не все), жесткие сроки, мозговые штурмы, решение самых разных проблем и, прежде всего, работа допоздна не лучшим образом отражаются на здоровье. Все вышеперечисленные обстоятельства приводят к депрессии, курению, «заеданию» стресса — словом, портят здоровье.]]></description><content:encoded><![CDATA[
  <p><strong>Нам приходится работать очень напряженно: вредные начальники (не все), жесткие сроки, мозговые штурмы, решение самых разных проблем и, прежде всего, работа допоздна не лучшим образом отражаются на здоровье. Все вышеперечисленные обстоятельства приводят к депрессии, курению, «заеданию» стресса — словом, портят здоровье.</strong></p>
  <p>А от здоровья в конечном итоге зависит наша жизнь — и это главная причина что-то с этим делать. Вторая по важности причина — от этого зависит карьера. Часто разработчики жалуются, что у них болит спина — иногда настолько сильно, что они не могут сидеть за столом. У многих из-за постоянного использования клавиатуры и мыши проблемы с запястьями. Все это может сделать работу неприятной, а в худшем случае и невозможной. И дело не только в мелких недугах: такая работа без заботы о собственном здоровье может укоротить жизнь. Возможно, это звучит слишком громко, но давайте вспомним, что главная причина смертности в мире — сердечно-сосудистые заболевания. Кроме того, все больше распространяются такие заболевания, как диабет 2-го типа и ожирение. Образ жизни программиста способствует появлению этих проблем, однако в большинстве случаев их можно предотвратить с помощью физических упражнений и правильного питания. Мы рассмотрим причины этих и других проблем со здоровьем, а затем поговорим о том, как эти причины устранить.</p>
  <figure class="m_original">
    <img src="https://teletype.in/files/fe/fe75679c-85a9-471e-a740-b6ab3f4f8742.jpeg" width="900" />
  </figure>
  <p><strong>Сидеть — вредно</strong></p>
  <p>Да, это в прямом смысле вредит здоровью. Исследователи из Массачусетского университета попросили группу здоровых молодых людей ходить с помощью костылей и тростей так, чтобы мышцы на левой ноге не напрягались. После двух дней такого эксперимента ученые провели биопсию мышц обеих ног. В левой ноге был нарушен механизм репарации ДНК, снизилась инсулиновая реакция, повысился окислительный стресс, а метаболическая активность в отдельных мышечных клетках замедлилась.</p>
  <p>Для программистов это почти приговор, ведь писать код (а это наша работа и наша страсть) — значит сидеть за компьютером. Но последствий сидячей работы можно избежать: достаточно каждый час делать пятиминутный перерыв на физическую активность. Чтобы улучшить обмен веществ, достаточно просто пройтись до уборной.</p>
  <h3><strong>Нам нравится неправильно питаться</strong></h3>
  <p>Ради достижения высоких целей мы можем бросаться в нездоровые крайности. По пути с работы — заскочим в автокафе, можем каждый день обедать с коллегами в общепите или брать в офис много газированных напитков и сладостей — потому что нет времени пообедать. А главное, мы ведь решили, что кофеин — это чуть ли не единственный способ оставаться энергичными и вообще тайный источник суперсилы разработчиков. В результате мы превращаемся в курильщиков, кофейных наркоманов и литрами поглощаем газировку. Таким образом мы закрепляем крайне плохие привычки в питании. Но чтобы исправить эти привычки, сначала придется их осознать.</p>
  <p>У каждого разные потребности, поэтому очень важно подобрать себе диету и сбалансировать ее: кто-то любит фрукты, кто-то без ума от овощей. Одному нужно сбросить вес, другому — набрать. В некоторых случаях причины нездорового питания кроются в психологическом и эмоциональном стрессе. С ними нужно разобраться — с помощью врача или самостоятельно, мысленно настроив себя на то, чтобы справиться со стрессом и эмоциональным давлением.</p>
  <p>Чтобы улучшить питание, посоветуйтесь с диетологом, составьте себе режим питания и строго ему следуйте. В ежедневный рацион нужно включить как можно больше фруктов и овощей. Пейте много воды и меньше ешьте богатую углеводами пищу — она вызывает невосприимчивость организма к инсулину, что с медицинской точки зрения называется преддиабетическим состоянием, которое легко может перерасти в </p>
  <p><a href="http://www.diabetes.org/diabetes-basics/type-2/" target="_blank">диабет 2-го типа</a></p>
  <p>. Снизьте потребление жирной пищи, которая повышает уровень холестерина и </p>
  <p><a href="http://www.webmd.com/cholesterol-management/tc/high-triglycerides-overview" target="_blank">триглицеридов</a></p>
  <p>, что может приводить к различным заболеваниям сердечно-сосудистой системы.</p>
  <h3><strong>Ой! Спина болит!</strong></h3>
  <p>Обычно разработчик более 40 часов в неделю проводит сидя за компьютером. И лишь немногие из нас знают, как правильно расположиться в кресле. Поэтому у многих из-за неправильного положения и плохой эргономики кресла развиваются хронические боли в спине.</p>
  <p>Проверить силу спинных мышц можно с помощью упражнения из теста</p>
  <p><a href="http://www.topendsports.com/testing/kraus-weber.htm" target="_blank">Крауса — Вебера</a></p>
  <p>.</p>
  <figure class="m_original">
    <img src="https://habrastorage.org/r/w1560/files/4af/c09/91b/4afc0991bb7b4d96801ca69392e33961.jpg" width="638" />
  </figure>
  <p>Если вы можете из положения лежа на животе поднять туловище и удерживать его в таком положении 10 секунд — поздравляем, тест пройден. Если нет — вам нужно обратиться к врачу.</p>
  <p>В первую очередь важно найти достаточно эргономичное кресло, которое должно регулироваться в соответствии с весом и приспосабливаться к разным позам. Хорошее кресло действительно может значительно улучшить осанку и уменьшить боль в спине — впрочем, у вас, возможно, уже есть безупречное кресло. Но сидите вы в нем неправильно. Правильная посадка зависит от физических параметров тела. Отрегулируйте высоту кресла так, чтобы оно должным образом поддерживало позвоночник, равномерно распределяло вес тела и чтобы ноги стояли на земле.</p>
  <h3><strong>Боль в запястьях</strong></h3>
  <p>Если вы пишете код или любите поиграть, у вас из-за постоянного использования клавиатуры и мыши может появиться боль в запястьях — онемение и покалывание в запястьях и руках. Создавая шедевры компьютерных систем, мы полагаемся на собственные руки — это наш рабочий инструмент, и когда поджимают сроки, часто этот инструмент работает без отдыха допоздна.</p>
  <p>В запястье очень мало места: нервы, сухожилия, мышцы и кровеносные сосуды сжимаются, протискиваясь через несколько маленьких подвижных костей. Это вызывает трение, напряжение, растяжение, и с течением времени небольшое повреждение находящихся внутри мягких тканей приводит к </p>
  <p><a href="http://rsi.unl.edu/" target="_blank">регулярным деформационным травмам</a></p>
  <p>. Чтобы избавиться от боли в запястьях, достаточно ежедневно выполнять простые упражнения. Подробнее —</p>
  <p><a href="http://sequencewiz.org/2016/08/03/how-to-prevent-wrist-pain/" target="_blank">здесь</a></p>
  <p>.</p>
  <figure class="m_original">
    <img src="https://habrastorage.org/r/w1560/files/804/168/103/8041681035b341658b2a2b9dfb8976e5.png" width="1024" />
  </figure>
  <p><em>Упражнения на запястье. Источник изображения — <a href="http://sequencewiz.org/" target="_blank">sequencewiz.org.</a><br /></em></p>
  <h3><strong>Головная боль и напряжение глаз</strong></h3>
  <p>Программирование — это во многом творчество, а головные боли — одна из основных причин снижения эффективности работы. В большинстве своем головные боли напрямую связаны со зрением. Самое распространенное заболевание (им страдают более 80 % людей, ежедневно проводящих за компьютером более 3 часов) —</p>
  <p><a href="http://www.aoa.org/patients-and-public/caring-for-your-vision/protecting-your-vision/computer-vision-syndrome?sso=y" target="_blank">синдром компьютерного зрения</a></p>
  <p>. Это один из основных факторов, приводящих к головной боли, а в худших случаях — даже к галлюцинациям.</p>
  <p>Важно носить правильные линзы, потому что без них глаза будут больше напрягаться, чтобы сфокусироваться, а это утомляет м��шцы вокруг глаз, что может приводить к головным болям и еще бо́льшим проблемам со зрением.</p>
  <p>Следующий список поможет проверить, достаточно ли вы заботитесь о своем зрении:</p>
  <ul>
    <li><strong>Насколько близко к экрану вы сидите? </strong>Монитор должен находиться на расстоянии 0,5–1 м от глаз — это примерно длина вытянутой руки, так что здесь проверить довольно легко.</li>
    <li><strong>Насколько экран компьютера ярче, чем освещение в комнате? </strong>Большая разница между яркостью экрана и освещенностью помещения быстро утомляет глаза. Если в кабинете естественное освещение, яркость дисплея должна в течение дня регулироваться. Для этого можно установить <a href="https://justgetflux.com/" target="_blank">f.lux</a> — это приложение будет автоматически изменять яркость экрана и температуру цвета в течение д��я (достаточно указать свои географические координаты).<br /></li>
  </ul>
  <figure class="m_original">
    <img src="https://habrastorage.org/r/w1560/files/445/7e8/c74/4457e8c7486142a398b5cca653624ddf.png" width="546" />
  </figure>
  <p><em>f.lux в действии</em></p>
  <ul>
    <li><strong>Не слишком ли сильно бликует экран?</strong> Если на экране можно увидеть свое лицо или четкое отражение фона, значит, он слишком бликует. Наклейте на экран матовую или антибликовую пленку или раздобудьте безбликовый монитор — не откладывайте это надолго.<br /></li>
  </ul>
  <p>Некоторые рекомендации, ежедневное выполнение которых поможет избежать синдрома компьютерного зрения:</p>
  <ul>
    <li><strong>Моргайте глазами чаще</strong>. При работе за компьютером мы обычно моргаем реже и даже можем так сосредотачиваться, что забываем моргать. Моргание не дает глазам пересыхать. Подробнее можно прочитать <a href="http://commons.pacificu.edu/verg/2/" target="_blank">в этом исследовании</a>.<br /></li>
    <li>Если надолго сфокусироваться на чем-то одном, глаза устают. <strong>Размять мышцы глаз</strong> можно, отведя на некоторое время взгляд в сторону. Здесь отлично работает следующая рекомендация: после 20 минут работы отведите взгляд от компьютера и в течение 20 секунд смотрите на удаленный предмет на расстоянии не менее 6 метров.<br /></li>
    <li>Чтобы уменьшить блики и снизить напряжение глаз, <a href="http://valleyeyecareaz.com/4-health-benefits-when-wearing-polarized-lenses/" target="_blank">носите <strong>антибликовые поляризованные линзы</strong></a>: они эффективно снимают раздражение, снижают сухость и утомляемость.<br /></li>
  </ul>
  <p>Чтобы избежать головной боли, потребляйте меньше кофеина и </p>
  <p><a href="https://en.wikipedia.org/wiki/List_of_fermented_foods" target="_blank">ферментированных продуктов</a></p>
  <p>. Если вы устранили перечисленные факторы, а головная боль осталась, обратитесь к врачу и проверьте глаза, чтобы вам назначили надлежащее лечение.</p>
  <h3><strong>Заключение</strong></h3>
  <p>Жизнь — это невероятно ценный дар. И обязанность каждого человека — заботиться об этом даре. Поэтому приобретайте хорошие социальные привычки и стремитесь к здоровому образу жизни. Ваша жизнь, ваше видение и ваши стремления — это намного больше и важнее, чем добиться каких-то целей, угробив здоровье и потеряв запал.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@abaha91/Hkgd8OVfN</guid><link>https://teletype.in/@abaha91/Hkgd8OVfN?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91</link><comments>https://teletype.in/@abaha91/Hkgd8OVfN?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91#comments</comments><dc:creator>abaha91</dc:creator><title>Frontender’s notes</title><pubDate>Mon, 06 May 2019 13:40:19 GMT</pubDate><description><![CDATA[<img src="https://teletype.in/files/46/46d00843-0a4c-413f-b4da-4d9f35cf89a9.png"></img>Статистика:]]></description><content:encoded><![CDATA[
  <p><strong>Статистика:</strong></p>
  <figure class="m_original">
    <img src="https://teletype.in/files/46/46d00843-0a4c-413f-b4da-4d9f35cf89a9.png" width="947" />
  </figure>
  <p></p>
  <p><strong>Стоимость и правила рекламного поста на канале Frontender’s notes</strong><br /><br />Топ не менее <strong>20</strong> <strong>часов</strong>, с ленты не удаляется – <strong>2500 рублей</strong></p>
  <p>В канале <strong>не размещается:</strong> рекламные посты порно, казино, пирамид и МЛМ.</p>
  <p>В рекламном посту <strong>не должно</strong> быть нецензурной лексики.</p>
  <p><br /></p>
  <p><strong>Отзывы о рекламе: </strong><a href="https://t.me/frontfeeds" target="_blank">https://t.me/frontfeeds</a></p>
  <p><strong>Контакты:</strong></p>
  <ol>
    <li><strong>Администратор</strong> - @g_abashkin</li>
    <li><strong>Менеджер</strong> - @my_little_trump</li>
    <li><strong>Email</strong>:      <a href="mailto:frontender-notes@mail.ru" target="_blank">frontender-notes@mail.ru</a></li>
    <li><strong>VK</strong>:          <a href="https://vk.com/abaha91" target="_blank">https://vk.com/abaha91</a></li>
  </ol>
  <p> </p>
  <p><strong>Реквизиты:</strong></p>
  <ol>
    <li><strong>Сбербанк</strong>: 4276 5500 9783 5196</li>
    <li><strong>Тинькоф</strong>:   5536 9137 7308 3254</li>
    <li><strong>Yandex</strong>:      410013454525609</li>
    <li><strong>Qiwi</strong>: По запросу</li>
    <li><strong> Webmoney</strong>: R208459710782</li>
  </ol>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@abaha91/BkCrNnBs4</guid><link>https://teletype.in/@abaha91/BkCrNnBs4?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91</link><comments>https://teletype.in/@abaha91/BkCrNnBs4?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91#comments</comments><dc:creator>abaha91</dc:creator><title>Из фронтенда в бэкенд</title><pubDate>Tue, 30 Apr 2019 11:40:54 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/40/406baa25-3e74-4a6f-80b4-505c96421bf6.png"></media:content><description><![CDATA[<img src="https://habrastorage.org/webt/tu/qg/ny/tuqgnybvnrsizxmi6vtd01qxdje.png"></img>К переходам внутри департаментов иногда относятся по-разному. Кому-то просто привычнее видеть любые карьерные изменения внутри одной компании через призму роста должностей. Кто-то не считает возможным сменить сферу деятельности, даже если она смежная с текущей. Третьи же в принципе уверены, что переход из департамента в департамент означает, что человек занимает позицию “ни рыба, ни мясо”, и вряд ли добьётся чего-то значимого.]]></description><content:encoded><![CDATA[
  <p>К переходам внутри департаментов иногда относятся по-разному. Кому-то просто привычнее видеть любые карьерные изменения внутри одной компании через призму роста должностей. Кто-то не считает возможным сменить сферу деятельности, даже если она смежная с текущей. Третьи же в принципе уверены, что переход из департамента в департамент означает, что человек занимает позицию “ни рыба, ни мясо”, и вряд ли добьётся чего-то значимого.</p>
  <figure class="m_custom">
    <img src="https://habrastorage.org/webt/tu/qg/ny/tuqgnybvnrsizxmi6vtd01qxdje.png" width="625" />
  </figure>
  <p>При этом некоторые работодатели всячески это приветствуют и считают чем-то вроде предохранителя от выгорания – человек сменит фокус внимания, сменит департамент или отдел, но не сменит саму работу в целом.</p>
  <p>Меня зовут Костя, и я работаю в QIWI почти 4 года. Сегодня расскажу вам, как успешно перешел из frontend-разработки в backend.</p>
  <h2>Frontend</h2>
  <p>В QIWI я с конца 2014 года, начинал работать как разработчик iOS–приложений, и, в принципе, пару лет занимался разработкой QIWI-кошелька. При этом не могу сказать, что было скучно – задачи были довольно разные и в рамках одного приложения: мы занимались интеграцией кошелька с другими нашими сервисами, чинили баги, подтягивали анимацию. Кроме этого, был занятный опыт по созданию приложения для Apple Watch. Потом немного расширил фокус и поработал еще и над iOS-приложением для «Совести».</p>
  <figure class="m_column">
    <img src="https://habrastorage.org/webt/l2/_1/sw/l2_1sw5mdm4uukpvqyb5_ap2cf4.png" width="1800" />
  </figure>
  <p>И вот примерно тогда я начал потихоньку переходить в бэк. В плане гибкой методологии это даже удобно – я переключался, в первом спринте мог делать какие-то задачки по бэкенду, а во втором проводить интеграцию API, которое я же и написал.</p>
  <p>Но в бэкенде на то время было слишком мало разработчиков и слишком здоровенный бэклог, так что в итоге я все же переключился на бэкенд полностью. То, что я делаю сейчас, это классические задачи бэкендера – пишу код в наших микросервисах, чиню баги, занимаюсь рефакторингом, постигаю Kotlin. Есть возможность работать и над свежим продуктом компании – QIWI Инвестор.</p>
  <p>Кстати, не могу сказать, что за эти два года получилось как-то закостенеть во фронте, я отчетливо осознавал, что там тоже есть, куда развиваться. К примеру, я вижу, что сейчас происходит в команде мобильной разработки, и понимаю, что, останься я там, продолжил бы расти дальше вместе с ребятами.</p>
  <p>Так что тут сложилась win-win ситуация – я хотел помочь команде и продукту (перевес в разработке был сильно не в сторону бэкендеров) и набраться новых знаний. Тимлиды все поняли и отпустили меня без каких-то претензий, продакт тоже.</p>
  <p>Кроме этого, знания хотелось именно диверсифицировать, чтобы не привязываться к одной платформе (Android мне немного не по душе, но и Apple все же сдает позиции). Ну и было желание в случае чего уметь взять и сделать себе приложение самому (и фронт, и бэк), если вдруг появится какая-то клевая идея. Пока вот не пригодилось, правда.</p>
  <h2>Backend</h2>
  <figure class="m_column">
    <img src="https://habrastorage.org/webt/pe/hj/sh/pehjshxdspwrfgjrhsbyypd1l08.png" width="939" />
  </figure>
  <p>Само собой, сама первая проблема, с которой сталкиваешься при таком переходе, это пробелы в матчасти. В моем случае это были некоторые тонкости работы с базами данных, но здесь помогла как способность к самообучению, так и команда – ребята отзывчивые и всегда готовы прийти на помощь и что-то подробно объяснить. В QIWI в принципе с обучением на любых этапах все хорошо, будь ты хоть джуниором в самом начале работы, хоть вот так реши и смени сферу пару лет спустя.</p>
  <p>Никого не раздражало, что первое время я явно работал не так эффективно, потому что во многое надо было въезжать (но в долгосрочной перспективе команда-то все равно в выигрыше).</p>
  <p>Конечно, у меня и до этого был небольшой опыт в разных сферах – мобильные игры и веб, но это все были, скорее, попытки нащупать что-то свое, нежели именно набивание практического серьезного опыта.</p>
  <h2>Впечатления от бэкенда после фронтенда</h2>
  <p>Нет работы с UI. Вообще. Раньше приходилось убивать время на исправление багов в UI, сейчас – нет. Минусы такого положения – конечный пользователь не видит результатов конкретно моей работы, как это было с фронтом. Я пытался определить, что же сложнее – бэк или фронт, и понял, что (лично для меня) тяжелее всегда было работать с многопоточностью и сетевым стеком. И тут уже не так важно – за фронт ты или за бэк. На фронте я просто столкнулся с такими задачами впервые, без подготовки, а на бэкенде уже с каким-никаким опытом.</p>
  <p>Набраться опыта и делать что-то крутое можно в любой области, было бы желание и усидчивость, здесь практики сходятся – сделать что-то (и сделать хорошо), и чтобы это работало надежно и легко поддерживалось. Причем для бэкендера не столь критично наличие или отсутствие опыта во фронте. Если разраб учитывает все мелочи, сам продумывает корнер-кейсы и в целом понимает, как будут использовать его API, то он и без фронт-знаний сделает все, как надо.</p>
  <p>Мне проще обнаруживать возможные проблемы как раз потому, что я знаю особенности реализации наших мобильных приложений. Но это не какая-то сверхспособность – это набор знаний, которыми так или иначе обрастает любой бэкендер, который часто работает с фронтами.</p>
  <h2>Что в итоге</h2>
  <p>Backend-разработка стала для меня еще одним хорошим опытом – я научился писать код и проводить ревью, продумывать архитектуру. Это на самом деле интересно.</p>
  <p>Но при этом, попробовав вживую что фронт, что бэк, я не скажу, что в случае чего сразу выбрал бы бэкенд в самом начале карьеры. Для меня все же важно видеть и понимать, как мой продукт воспринимают пользователи. С бэкендом это все довольно призрачно.</p>
  <p>Скорее всего, выбирая сферу сейчас, я бы пошел в геймдев или веб-фронтенд. Веб все еще остается хорошей платформой для запуска новых продуктов, и при этом перестал быть жутким и сложным для понимания. Все эти туториалы из спагетти-кода и callback-hell остались далеко позади, к счастью.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@abaha91/SJDA0qBiE</guid><link>https://teletype.in/@abaha91/SJDA0qBiE?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91</link><comments>https://teletype.in/@abaha91/SJDA0qBiE?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91#comments</comments><dc:creator>abaha91</dc:creator><title>14 советов, с которыми ты начнёшь мыслить как программист</title><pubDate>Tue, 30 Apr 2019 10:09:18 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/ac/aca3de6e-bfe0-46f1-aafc-19042f01b529.png"></media:content><description><![CDATA[<img src="https://proglib.io/wp-content/uploads/2019/04/think.jpg"></img>Изменить свой образ мышления – не самая простая задача. Эти 14 крутых советов помогут тебе начать мыслить как программист.]]></description><content:encoded><![CDATA[
  <p>Изменить свой образ мышления – не самая простая задача. Эти 14 крутых советов помогут тебе начать мыслить как программист.</p>
  <figure class="m_column">
    <img src="https://proglib.io/wp-content/uploads/2019/04/think.jpg" width="1200" />
  </figure>
  <h2>1. Помни о целях своего приложения</h2>
  <p>На любых стадиях разработки помни о цели приложения, которая заключается в помощи людям.</p>
  <p><strong>Цель приложения – это не хвастовство своими знаниями.</strong></p>
  <p>Разработчик, не понимающий целей, напишет плохое приложение. Плохое приложение – это сложная система, которая не помогает людям в полной мере.</p>
  <p>Принимай решения о приложении с вопросом: как мы можем помочь? Этим же вопросом легко расставлять приоритеты.</p>
  <h2>2. Выбирай технологии правильно</h2>
  <p><strong>Не опирайся на внешние технологии или уменьшай зависимость от них.</strong></p>
  <p>Зависимости порождают сложности. Они могут поставить под угрозу разработку и сделать проект сложнее. Большой баг в зависимости заставит тебя ждать пока разработчики его не пофиксят. С такой зависимостью, которая является центральной частью проекта, ты не сможешь двигаться дальше. Вот почему так важно выбирать правильные технологии для своего проекта.</p>
  <p>Вот несколько факторов, которые помогут определиться:</p>
  <ul>
    <li>Технология находится в активной разработке?</li>
    <li>Поддерживается разработчиками?</li>
    <li>Сложно ли отказаться от неё?</li>
    <li>Что говорит сообщество?</li>
  </ul>
  <p>Найдёшь правильные ответы – снизишь риск выбора неподходящей технологии.</p>
  <h2>3. Не изобретай… сам знаешь что</h2>
  <p>Услышав советы вроде «Давай сделаем собственный сборщик мусора вместо встроенного по умолчанию?!», знай, что это трата времени впустую. Вместо этого займись непосредственно программой.</p>
  <p>Вот единственные причины, оправдывающие «изобретение велосипеда»:</p>
  <ul>
    <li>Тебе нужно что-то, чего ещё не существует.</li>
    <li>Все существующие «велосипеды» плохи, и не покрывают твои нужды.</li>
    <li>Существующие «велосипеды» не поддерживаются разработчиками.</li>
  </ul>
  <p>Простое правило:</p>
  <p><strong>Не изобретай велосипед.</strong></p>
  <h2>4. Будь последовательным</h2>
  <p>Последовательность упрощает проект. Придерживайся одного способа реализации во всех местах. Назвал переменную <strong>thisIsVariable</strong>? Тогда называй таким образом все переменные (<strong>otherVariable</strong>, <strong>anAnotherVariable</strong>, и не <strong>other_variable</strong>).</p>
  <p>Нелогичный код труднее понять. Не заставляй других разработчиков изучать твою систему заново каждый раз, когда показываешь новый кусочек.</p>
  <p>Этот практический совет помогает мыслить как программист – упорядочено.</p>
  <h2>5. Автоматизируй</h2>
  <p>Не трать своё время на рутину. Настрой и забудь. Повторяющиеся задачи могут выполняться в фоне, пока ты спишь. Когда понимаешь, что делаешь что-то снова и снова, вспомни правило:</p>
  <p><strong>Автоматизируй то, что можешь.</strong></p>
  <p>Читай книгу <a href="https://t.me/progbook/4" target="_blank">«Автоматизация рутинных задач с помощью Python»</a>. С ней ты заставишь компьютер выполнять за тебя поиск определённого текста в файлах, обновление и форматирование данных в электронных таблицах и прочие рутинные задачи.</p>
  <figure class="m_custom">
    <img src="https://proglib.io/wp-content/uploads/2019/04/python-automation.jpg" width="327" />
  </figure>
  <h2>6. Контролируй сложность</h2>
  <blockquote>«Управление сложностью – это сущность компьютерного программирования» – Брайан Керниган.</blockquote>
  <p>Сложность – источник неудач программного обеспечения. Давай представим: ты начинаешь с простого проекта, который можно закончить за месяц. Затем добавляешь сложности и получаешь три месяца разработки. С добавлением новых фич система становится сложнее – шесть месяцев.</p>
  <p>Это ещё не конец.</p>
  <p>С улучшением каждой отдельной фичи система усложняется дальше. Получаем девять месяцев. Из-за сложности кода тебя приветствуют новые баги. Ты начинаешь их фиксить, не думая о том, как это отразиться на других частях. Малейшие изменения становятся затруднительными. Когда исправление багов рождает новые баги, ты приходишь к самому страшному сну разработчиков:</p>
  <p>Переписывание кода с нуля.</p>
  <p>Неважно, как ты попал в этот кошмар. Главное – как его предотвратить?</p>
  <p>Всё просто. Первое, что нужно знать – это цель и определение своего приложения. Второе: будь проще во всех местах своего кода. Третье: оценивай изменения и новые фичи, исходя из цели приложения.</p>
  <p>Сопротивление – нормальная реакция разработчика на требования внести (необязательные) изменения. Защищай свой код и требуй убедить тебя в необходимости изменений прежде, чем вносить их.</p>
  <p>И это не единственные причины роста сложности. Скажем проще:</p>
  <p><strong>Контролируй сложность, не создавай.</strong></p>
  <h2>7. Умей просить о помощи</h2>
  <p>Не знаешь как реализовать какое-то решение? Подумай обо всём, что может помочь. Это важно, когда ты плохо знаком с концепциями языка.</p>
  <p>Не можешь ничего придумать? Ищи! Проверь найденные ответы и адаптируй под свой код. Пойми, почему они работают.</p>
  <p>А главное, ищи совета.</p>
  <p>Возможно, ты перепробовал всё и не нашёл работоспособное решение. Время искать советы сеньоров. Предоставь свой код на ревью и читай <a href="https://proglib.io/p/ask-a-right-question/" target="_blank">8 простых советов, как задавать правильные вопросы</a>.</p>
  <h2>8. Довольствуйся просто хорошим</h2>
  <blockquote>«Совершенное – враг хорошего» – Вольтер.</blockquote>
  <p>Разработчики часто планируют всё до мелочей на старте проекта или новой фичи. Когда хочется сделать первую версию идеальной, теряется внимание к проблеме, которую решает приложение, обдумывается каждая возможная деталь. Так можно приступить к реализации версии, идеализированной в своём воображении. Никто не задумывается о том, что их ждёт и во что обойдётся совершенство.</p>
  <p>Напоминаем тебе:</p>
  <ul>
    <li>Ты будешь писать ненужный код</li>
    <li>Ты усложнишь систему необязательным кодом</li>
    <li>У тебя не будет дедлайнов</li>
    <li>Ты будешь встречать баги из-за сложности</li>
  </ul>
  <p>Не очень заманчиво? Тогда разберёмся, что делать.</p>
  <p><strong>Начинай с малого, улучшай, расширяй.</strong></p>
  <p><a href="https://ru.wikipedia.org/wiki/%D0%98%D1%82%D0%B5%D1%80%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0" target="_blank">Итеративная разработка</a> – это твой гайд. Рассмотрим на примере с калькулятором:</p>
  <ol>
    <li>Запланируй систему, которая не умеет ничего, кроме сложения.</li>
    <li>Реализуй.</li>
    <li>Улучшай существующий дизайн системы для добавления других операций.</li>
    <li>Добавь вычитание и повтори шаги 2 и 3.</li>
    <li>Добавляй умножение и повтори шаги 2 и 3.</li>
    <li>Добавь деление и повтори шаги 2 и 3.</li>
  </ol>
  <h2>9. Практикуйся</h2>
  <p>Хочешь мыслить как программист? Начни менять себя и своё окружение. Изменение мышления – это сложная задача, которая затрагивает процессы в мозге. Для этого мало читать: нужно действовать и выходить из зоны комфорта. Наше мышление не перестраивается в режиме покоя. Для этого ему нужны обстоятельства, условия и даже стресс.</p>
  <p>Начни со своего круга общения. Люди, связанные с разработкой, помогут увлечь твоё сознание. Можно сказать, что сообщество программистов «делает» программистов.</p>
  <p>Меняй своё цифровое пространство: онлайн-сообщества, в которых ты состоишь, источники информации и привычки. Посвящай больше времени практике и изучению непонятных концепций.</p>
  <figure class="m_column">
    <img src="https://proglib.io/wp-content/uploads/2019/04/wtf.jpg" width="1500" />
  </figure>
  <h2>10. Тестируй</h2>
  <p>Добавляй логирование и обработку ошибок на ранних этапах. Это облегчит поиск проблем и сэкономит время.</p>
  <p>В тестах тоже допускают ошибки. Давай рассмотрим пример с простым условием <strong>if-else</strong>. Разработчики подают входные данные в блок <strong>if</strong>, затем тестируют и коммитят. Сделано! А что насчёт блока <strong>else</strong>? Когда код дошёл до продакшена, это вызвало много проблем. Запускай все новые строки и тестируй частями прежде, чем перейти ко всему коду.</p>
  <p>Видишь баг – воспроизведи его. Не нужно строить догадки о причине бага и фиксить исходя из своих предположений. Увидишь причину бага – не ошибёшься.</p>
  <p>Будь надёжным. Когда другие разработчики видят твой коммит, они должны быть уверены, что твой код протестирован и работает.</p>
  <p><strong>Не тестированный код = неработающий код.</strong></p>
  <h2>11. Документируй, комментируй</h2>
  <p>Неправильное представление о комментариях в коде приводит к тому, что разработчик начинает объяснять в них то, что делает код. Работа кода должна быть очевидна при чтении. Не очевидна? Значит, код или фрагмент нечитаемы и должны быть упрощены.</p>
  <p>Не можешь упростить? Тогда объясняй эту сложность в комментариях.</p>
  <figure class="m_custom">
    <img src="https://proglib.io/wp-content/uploads/2019/04/55c8bcff18b94.png" width="960" />
  </figure>
  <p><strong>Не пиши комменты о том, что делает код, объясняй для чего он это делает.</strong></p>
  <p>Ещё одна важная вещь – документирование. Важно иметь документацию, которая объясняет архитектуру твоего приложения, каждый модуль и компонент. Это необходимо для высокоуровневого видения программы.</p>
  <p>Мыслить как программист – это также уметь объяснять.</p>
  <h2>12. Поддерживай код</h2>
  <p>Быстрый код и запуск выглядят важнее поддержки и обслуживания кода. И это ошибка, которая сказывается в будущем.</p>
  <p>Реализация будет меняться всегда. Мало вносить изменения, их нужно поддерживать со временем.</p>
  <blockquote>Все изменения требуют обслуживания</blockquote>
  <p>Сложность – это фактор, влияющий на поддержку кода. Лёгкость поддержки любой части программы пропорциональна простоте отдельных частей.</p>
  <p><strong>Важнее снизить сложность поддержки, чем сложность реализации.</strong></p>
  <p>Ответственность за свой код научит тебя мыслить как программист.</p>
  <h2>13. Изучай математику чтобы мыслить как программист</h2>
  <p><a href="https://proglib.io/p/how-to-learn-maths/" target="_blank">Математика нужна программисту</a> не меньше, чем кассиру.</p>
  <p>Без иронии – разработчик должен превосходить относительно средний уровень знания математики в технических профессиях. И это не просто требования рынка труда. Информатика, как наука и языки программирования разных уровней, имеет под собой твёрдую математическую базу. Поэтому знание математики вытекает в вопрос статуса и компетентности.</p>
  <p>Высшей и дискретной математикой прививают определённый образ мышления в хороших учебных заведениях.</p>
  <p>Полезные книги:</p>
  <ul>
    <li><a href="https://t.me/progbook/2766" target="_blank">The Art of Computer Programming: Volume 1: Fundamental Algorithms</a> – несмотря на упоминания алгоритмов, книга содержит необходимый математический минимум для программиста.</li>
    <li><a href="https://t.me/progbook/2834" target="_blank">Конкретная математика</a> – практическая книга математики для программистов.</li>
    <li><a href="https://t.me/progbook/420" target="_blank">Удовольствие от X</a> – книга для широкого круга читателей, которые упустили математику в своё время.</li>
    <li><a href="https://www.ozon.ru/context/detail/id/4612107/?partner=proglib&utm_content=link" target="_blank">Апология математики</a> – ещё одна книга из серии «математика для нематематиков».</li>
    <li><a href="https://t.me/progbook/2830" target="_blank">Линейная алгебра и аналитическая геометрия</a> – эта книга для тех, кто не хочет читать всё вышеперечисленное, а хочет ограничиться исключительно «боевыми» знаниями.</li>
  </ul>
  <h2>14. Найди свой подход</h2>
  <p>Как выбрать поле для изучения из всего объёма информации? Тебе нужно выбрать то, в чём ты будешь чувствовать себя комфортно. Не забывай про реалии и следи за спросом на рынке.</p>
  <p>Хочешь пойти традиционным путём? Изучай объектно-ориентированное программирование и меняй своё мышление книгой <a href="https://t.me/progbook/92" target="_blank">Объектно-ориентированное мышление</a>.</p>
  <p>Хочешь двигаться дальше к лямбда-исчислениям, чистым функциям и неизменяемым типам? Изучай <a href="https://proglib.io/p/fp-digest/" target="_blank">функциональное программирование</a>, всё больше набирающее популярность.</p>
  <p><a href="https://proglib.io/p/programmer-mindset-advices/" target="_blank">Источник</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@abaha91/rkO5b5pm4</guid><link>https://teletype.in/@abaha91/rkO5b5pm4?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91</link><comments>https://teletype.in/@abaha91/rkO5b5pm4?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=abaha91#comments</comments><dc:creator>abaha91</dc:creator><title>Бесплатные игровые движки на HTML5 и JavaScript</title><pubDate>Tue, 29 Jan 2019 08:40:48 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/16/1621a25d-cbf7-4a8e-be7b-022f9d02592c.png"></media:content><description><![CDATA[<img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/547n4OxQs8k.jpg"></img>HTML5 вместе с CSS3 и JavaScript дают разработчику широкие возможности создания игр с использованием 3D, анимации, Canvas, математики, цветов, звука, WebGL. Одно из наиболее очевидных преимуществ HTML5 заключается в его независимости и от платформы, и в общем случае от аппаратной начинки.]]></description><content:encoded><![CDATA[
  <p>HTML5 вместе с CSS3 и JavaScript дают разработчику широкие возможности создания игр с использованием 3D, анимации, Canvas, математики, цветов, звука, WebGL. Одно из наиболее очевидных преимуществ HTML5 заключается в его независимости и от платформы, и в общем случае от аппаратной начинки.</p>
  <p>При детальном рассмотрении можно выявить предоставляемые движками дополнительные возможности: упрощение некоторых часто встречающихся задач или подгрузка ресурсов, оформленный ввод, физика, звук, bitmap’ы (таких, конечно же, немного). Есть и довольно слабо оформленные движки, а есть и те, которые предоставляют в пользование разработчику редактор 2D уровней и инструменты отладки.</p>
  <p>Предполагается, что большинство движков служат для сокращения временных затрат на разработку полноценной игры. Однако многие разработчики предпочитают создавать свой проект полностью с нуля, чтобы лучше представлять его устройство. Существует немного JavaScript-HTML5 движков, которые действительно чего-то стоят, однако и у них может быть один большой недостаток: они более не поддерживаются или близки к прекращению поддержки. Поэтому, выбирая движок, остановите свой выбор на тех продуктах, поддержка которых будет длиться достаточно продолжительное время.</p>
  <p>Итак, вот, собственно, сами движки.</p>
  <hr />
  <h3>Crafty</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/547n4OxQs8k.jpg" width="604" />
  </figure>
  <p>Легкий модульный <a href="http://craftyjs.com/" target="_blank">игровой движок</a>, включающий множество функций: анимацию, управление событиями, перерисовку регионов, отслеживание пересечений и столкновений, спрайтовую графику и многое другое. Поддерживает все браузеры, в т.ч. IE9. Никаких дополнительных усилий прилагать не требуется.</p>
  <hr />
  <h3>Quintus</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/TDUqiDpsDB4.jpg" width="809" />
  </figure>
  <p>Quintus – игровой HTML5-<a href="http://html5quintus.com/" target="_blank">движок</a>, разработанный, чтобы быть модульным и легковесным, с четким JavaScript-подобным интерфейсом. Для того, чтобы реализовать основные особенности ООП-игрового движка в HTML5-движке, в Quintus в некотором отношении схож с jQuery, а также поддерживает плагины, управление событиями и гибкую модель наследования, чтобы упростить повторное использование реализованных функций.</p>
  <hr />
  <h3>gameQuery</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/MYpPfOS28oc.jpg" width="604" />
  </figure>
  <p>Простой в использовании <a href="http://gamequeryjs.com/" target="_blank">плагин</a> jQuery, упрощающий разработку игры за счет использования реализованных игровых компонентов. Благодаря особенностям реализации совместим со множеством браузеров, в т.ч. их мобильными версиями.</p>
  <hr />
  <h3>GMP</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/CLOaCSCOfGM.jpg" width="604" />
  </figure>
  <p>Идеально подойдет для реализации 2D спрайтовых аркад в ретро-стиле и головоломок вроде Судоку. <a href="http://gogomakeplay.com/" target="_blank">Он</a> имеет готовый к использованию самозапускающийся игровой цикл. Поддерживаются мышь и клавиатура. Отлично документирован, и главным недостатком можно считать только отсутствие поддержки звуков.</p>
  <hr />
  <h3>lycheeJS</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/06/%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9-2-1024x511.png" width="740" />
  </figure>
  <p>Игровая <a href="https://lychee.js.org/#!vision" target="_blank">библиотека</a> JavaScript, которая предлагает готовое решение для проектирования и реализации HTML5 Canvas и WebGL или нативных OpenGL игр внутри браузера или стационарных платформ. Оптимизирован для Google Chrome.</p>
  <hr />
  <h3>Enchant.js</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/A2m-0GFuk4w.jpg" width="604" />
  </figure>
  <p><a href="http://enchantjs.com/" target="_blank">Фреймворк</a> Enchant.js для HTML5+JavaScript игр был разработан в 2011 году, распространяется с открытым исходным кодом (MIT лицензия) и потому бесплатен.</p>
  <hr />
  <h3>The Render Engine</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/Uc8B8k80Ttg.jpg" width="604" />
  </figure>
  <p>Кросс-браузерный опенсорсный <a href="https://github.com/bfattori/TheRenderEngine" target="_blank">движок</a>, написанный полностью на JavаScript. Созданный с нуля для того, чтобы быть максимально гибким, он имеет обширный API и использует самые новые фичи современных браузеров. Этот фреймворк предназначен, чтобы делать все за вас: ваша идея – его реализация с помощью самых часто используемых инструментов.</p>
  <hr />
  <h3>GameJS</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/pZOmLFH4zrQ.jpg" width="604" />
  </figure>
  <p>Большая <a href="http://gamejs.org/" target="_blank">библиотека</a> на верхнем уровне HTML Canvas. В добавок к функциям рисования в ней имеется растущий ассортимент полезных для разработки игр модулей. Большинство имеющегося API основан на популярной PyGame.</p>
  <hr />
  <h3>CSS Game Engine</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/pgWN6GUlkLc.jpg" width="604" />
  </figure>
  <p>Для формирования страницы используются JavaScript и CSS. Вместе они работают достаточно уверенно и слаженно. Разработан для новичков, обучающихся азам программирования видеоигр. Вам будет проще, если у вас уже есть какие-то навыки работы с CSS.</p>
  <hr />
  <h3>ClanFX</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/ZbUN8aZgq9I.jpg" width="604" />
  </figure>
  <p><a href="https://sourceforge.net/projects/clanfx/" target="_blank">clanfx</a> основан на JavaScript и CSS и использует плиточную графику. Работает на данный момент в Firefox, Epiphany и Opera. Среди реализованных фич: анимированные спрайты, эффекты заклинаний, постройки, плитки/текстуры и базовый искусственный интеллект.</p>
  <hr />
  <h3>gTile</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/r_wlchkUb5A.jpg" width="604" />
  </figure>
  <p>Браузерный <a href="http://game.tyler-dewitt.com/" target="_blank">движок</a> на чистом JavaScript и DHTML. В gTile плиточная графика была выбрана за ее простоту и доступность. Упор в реализации был сделан на высокий уровень интерактивности и поведении игровых объектов. Меньшее внимание было уделено графике. А потому движок подойдет больше для создания текстовых РПГ, а графических возможностей должно хватить для изображения локаций.</p>
  <hr />
  <h3>J5g3</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/htlG_OEWryo.jpg" width="604" />
  </figure>
  <p>Графический JS <a href="http://j5g3.com/" target="_blank">движок</a> с открытым исходным кодом (GPLv3). Легкий в использовании синтаксис предназначен для того, чтобы сделать фреймворк быстрым и расширяемым.</p>
  <hr />
  <h3>Jaws</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/CcoElHE-v90.jpg" width="604" />
  </figure>
  <p>2D игровая <a href="http://jawsjs.com/" target="_blank">библиотека</a>, основанная на HTML5. Использует и Canvas, и средства DOM.</p>
  <hr />
  <h3>Cocos2D</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/QKDve7Rv-jk.jpg" width="604" />
  </figure>
  <p>Портированный с iPhone графический 2D HTML5-<a href="http://www.cocos2d.org/" target="_blank">движок</a> на JavaScript. Позволяет быстро создавать 2D игры и графические приложения, которые могут работать на всех современных устройствах без установки дополнительных плагинов.</p>
  <hr />
  <h3>CopperLicht</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/2honcbBmCTM.jpg" width="604" />
  </figure>
  <p>WebGL <a href="http://www.ambiera.com/copperlicht/" target="_blank">библиотека</a> и JavaScript 3D движок для создания браузерных игр и 3D приложений. Использует WebGL Canvas, поддерживаемый современными браузерами и способный поддерживать рендеринг 3D моделей, используя аппаратное ускорение без плагинов.</p>
  <hr />
  <h3>Aves</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/dZ4IgYvyo2k.jpg" width="604" />
  </figure>
  <p>Этот HTML/JavaScript <a href="http://www.wonderlandblog.com/wonderland/2010/04/aves-an-html-javascript-game-engine.html" target="_blank">движок</a> – реинкарнация набора инструментов для разработки олдскульных RPG (но с более привлека��ельной графикой). И все только с помощью HTML и JS. Никаких плагинов. Никакого Flash.</p>
  <hr />
  <h3>LimeJS</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/wttta1pLMgQ.jpg" width="604" />
  </figure>
  <p>HTML5 <a href="http://www.limejs.com/" target="_blank">движок</a> для разработки игр с поддержкой сенсорного ввода. LimeJS создан с использованием Closure Library, созданной Google, и в нем уже реализованы классы и функции для отслеживания времени, событий, обработки форм и анимации. Также фреймворк поддерживает спрайтовые листы (т.е. все используемые изображения могут быть помещены в один файл).</p>
  <hr />
  <h3>Phaser</h3>
  <figure class="m_custom">
    <img src="https://cdn.tproger.ru/wp-content/uploads/2016/07/20160704160039122_87a2654.png" width="639" />
  </figure>
  <p>Ещё один <a href="https://phaser.io/" target="_blank">фреймворк</a> для создания мобильных и десктопных игр на HTML5 с применением Canvas и WebGL. Бесплатный и с открытым исходным кодом. Есть быстрые гайды для старта на JavaScript и TypeScript.</p>

]]></content:encoded></item></channel></rss>