Рубрика «длиннопост»

В декабре 2016 я запустил доску объявлений. В марте 2017 написал на Спарке статью о том, как пытаюсь притащить на неё трафик. Статья была честная до неприличия: три месяца работы, около 14 тысяч рублей на рекламу, 450 рублей выручки.

Отдельным памятником стоит таргет во ВКонтакте. 515 тысяч показов, 41 переход, два поданных объявления. CTR ноль целых ноль ноль восемь. Восемь тысячных процента. Я тогда пересчитал трижды, потому что решил, что где‑то потерял запятую.

Под статьёй набежали люди и сказали примерно одно и то же: не тягайся с Авито, иди в нишу.

Я поблагодарил за фидбек и пошёл тягаться с Авито дальше.

Читать полностью »

ChatGPT вышел уже почти два года назад, а датасаентисты до сих пор никак не могут определиться — являются ли нейросети тварями дрожащими, или всё же мыслить умеют? В этой статье мы попробуем разобраться: а как вообще учёные пытаются подойти к этому вопросу, насколько вероятен здесь успех, и что всё это означает для всех нас как для человечества.

Читать полностью »
всем привет моя новая статья

всем привет моя новая статья

Магнитная полоса

Замечали эту штучку у себя на карте? Нет? А ведь это та самая деталь которая делает из скругленного прямоугольника - платежный инструмент в эмоджи.

Читать полностью »

Как же надоел этот город. Куча машин, шум, воздух наполненный тысячами тонн сгоревшего топлива. Вечная суета, все куда-то спешат, проживая жизнь день за днем забывая про самое основное. Про себя! Как вы отдыхаете? Кто-то едет на рыбалку, кто-то на охоту, а кто-то за грибами. Мы же отправляемся в одно удивительное место, где можно изучить свою историю, историю наших предков, историю древних существ, живших на земле много миллионов лет назад. Мы охотники за сокровищами. И сегодня вы узнаете что может таить в себе земля под вашими ногами.

В поисках ДРЕВНЕЙ жизни. История под ногами - 1

Мне всегда нравилось уединение вдали от города. Там как то все спокойней, тише, чище.
По старой традиции начинаем накидыватся с самого утра, чтобы остановить время путешествуя в далекие края. Самое важное правило в любом путешествии, это хорошая компания. В нашем случае есть специалист по местности, эксперт по находкам, мастер выживания, оператор и человек фильтр который со всеми бухает. Это Я! Моя основная задача — наливать. Шучу!Читать полностью »

     «Expose the lies that enrage me» (с) Arch Enemy

Случается, закончил человек не самый плохой ВУЗ, работает себе без особых проблем, но вокруг постоянно появляется что-то новое, неизведанное и хочется не отстать… А бывает, студент ощущает, что с его ВУЗом что-то не то, учат чему-то не тому и за свою судьбу как-то страшновато – пойдешь то ли на биржу труда, то ли в светлое IT будущее. Казалось бы, в чем проблема?! Займись самообразованием – ресурсов в сети полно. Однако хотелось бы получить все в одном месте, с какой-то гарантией качества (свободного времени и так не хватает). Поэтому я попробовал бесплатно поучиться на ряде российских обучающих платформ. Оказалось, что и там с IT темами все довольно печально – много никчёмных материалов, пустых обещаний, неудобств и откровенной халтуры. «Expose the lies…». В этой статье хочу поделиться субъективными впечатлениями о своем опыте прохождении ряда бесплатных IT курсов на российских обучающих платформах за примерно 1 год. Напишу о Skillfactory, Открытом образовании (openedu), GeekBrains и Stepik. В конце я подведу краткие итоги. Предлагаю заинтересовавшимся читателям обсудить статью и свой опыт онлайн обучения в комментариях.
Читать полностью »

Монады как паттерн переиспользования кода - 1

В предыдущей статье мы обсуждали, почему функциональное программирование это совсем не то, что распиарено, и что оно совершенно не противоречит ООП, так, что даже сам Фаулер пишет про хороший ФП дизайн порождающий хороший ООП дизайн программы (и наоборот).

Сейчас же я хочу рассказать, что такое монады на самом деле, чем они полезны для обычного практикующего разработчика, и приведу примеры, почему недостаточная поддержка их в распространенных языках приводит к копипасте и ненадежным решениям.

Но ведь в интернете буквально сотни статей про ФП и монады, зачем писать еще одну?

Дело в том, что все их (по крайней мере те что я читал) можно поделить условно на две категории: с одной стороны это статьи где вам объяснят что монада это моноид в категории эндофункторов, и что если монада T над неким топосом имеет правый сопряжённый, то категория T-алгебр над этой монадой — топос. На другой стороне располагаются статьи, где вам рассказывают, что монады — это коробки, в которых живут собачки. кошечки, и вот они из одних коробок перепрыгивают в другие, размножаются, исчезают… В итоге за горой аналогий понять что-то содержательное решительно невозможно.

Получается, что первые обычно полезны тем, кто и так знает обсуждаемую тему, а вторые даже не знаю на кого рассчитаны: сколько я их не прочитал, ничего полезного понять из них мне не удалось.

Я же хотел бы занять промежуточную позицию, и рассказать про монады без заумных терминов, но и без котиков, используя понятные ООП разработчикам термины: интерфейсы, паттерны, копипаста, инкапсуляция сложности, бойлерплейт, и так далее. В процессе работы над статьёй ни один термин теории категории использован не был.

Читать полностью »

Вступление

Battle Prime — первый проект нашей студии. Несмотря на то, что многие члены команды имеют приличный опыт в разработке игр, мы, естественно, сталкивались с разными сложностями во время работы над ним. Они возникали как в процессе работы над движком, так и в процессе разработки самой игры.

В геймдев индустрии огромное количество разработчиков, которые охотно делятся своими историями, наработками, архитектурными решениями — в том или ином виде. Этот опыт, выложенный в публичное пространство в виде статей, презентаций и докладов, является отличным источником идей и вдохновения. Например, доклады команды разработки из Overwatch были для нас очень полезны при работе над движком. Как и сама игра, они очень талантливо сделаны, и я советую посмотреть их всем интересующимся. Доступны в GDC vault и на YouTube: www.youtube.com/channel/UC0JB7TSe49lg56u6qH8y_MQ

Это одна из причин, по которой мы также хотим вносить вклад в общее дело — и эта статья одна из первых, посвященная техническим деталям разработки движка Blitz Engine и игры на нем — Battle Prime.

Статья будет поделена на две части:

  • ECS: имплементация Entity-Component-System паттерна внутри Blitz Engine. Этот раздел важен для понимания примеров кода в статье, и сам по себе является отдельной интересной темой.
  • Неткод и геймплей: все, что касается высокоуровневой сетевой части и ее использования внутри игры — клиент-серверная архитектура, клиентские предсказания, репликация. Одной из важнейших вещей в шутере является стрельба, так что ей будет уделено большее количество времени.

Под катом много мегабайт гифок!Читать полностью »

Сложность простоты - 1

Как я писал в предисловии предыдущей статьи, я нахожусь в поисках языка, в котором я мог бы писать поменьше, а безопасности иметь побольше. Моим основным языком программирования всегда был C#, поэтому я решил попробовать два языка, симметрично отличающиеся от него по шкале сложности, про которые до этого момента приходилось только слышать, а вот писать не довелось: Haskell и Go. Один язык стал известен высказыванием "Avoid success at all costs"*, другой же, по моему скромному мнению, является полной его противоположенностью. В итоге, хотелось понять, что же окажется лучше: умышленная простота или умышленная строгость?

Я решил написать решение одной задачки, и посмотреть, насколько это просто на обоих языках, какая у них кривая обучения для разработчика с опытом, сколько всего надо изучить для этого и насколько идиоматичным получается "новичковый" код в одном и другом случае. Дополнительно хотелось понять, сколько в итоге мне придется заплатить за ублажание хаскеллевского компилятора и сколько времени сэкономит знаменитое удобство горутин. Я старался быть настолько непредвзятым, насколько это возможно, а субъективное мнение приведу в конце статьи. Итоговые результаты меня весьма удивили, поэтому я решил, чтоам будет интересно почитать про такое сравнение.

Читать полностью »

Для начала несколько комментариев по следам предыдущей статьи. Мы действительно раньше работали в компании Wargaming, где разрабатывали движок, известный как dava.framework или dava.engine. Поэтому многие старые коллеги, с которыми мы по-прежнему в хороших отношениях, активно участвуют в обсуждении.

У ряда людей возникли сомнения: это та же технология или другая? Ответ: это новая технология, написанная с нуля.

Как же мы справились всего за год? Наша команда имеет огромный опыт. Многие занимаются разработкой движков и игр более 15-и лет.

Почему с нуля, если можно было взять наш старый движок, который к тому же лежит в open-source? Ему около 10 лет, и большая часть кода устарела. Даже самые лучшие части движка, которыми мы гордимся, местами содержали куски кода и какие-то рудименты 5-и, 7-и и иногда даже 10-ти летней давности. Многие архитектурные решения были рассчитаны на устройства того времени — начиная с айфона 3G. Сейчас же мы ориентируемся минимум на iPad Air 1 и аналогичные ему по мощности Android-устройства. Соответственно и подходы несколько поменялись.
Читать полностью »

Warning!

Дабы заранее предупредить различные вопросы, а также обеспечить удобство чтения, далее — небольшой дисклеймер: всё, что будет написано далее — основано на личном и субъективном опыте, выражает личное мнение автора и ни в коем случае не является призывом к каким либо противоправным или антигосударственным действиям, статья написана сухим языком и без картинок сгоряча, не является информативной или правдой.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js