Оператор break и fallthrough

Автор: admin от 27-01-2018, 18:00, посмотрело: 42

Оператор break и fallthrough
Предлагаем вашему вниманию цикл статей, посвященных рекомендациям по написанию качественного кода на примере ошибок, найденных в проекте Chromium. Это вторая часть, которая будет посвящена оператору switch, а, вернее, проблеме забытого оператора break.



Многие годы я изучал ошибки в программах и сейчас могу с уверенностью заявить, что в C, а вслед за ним и в C++, оператор switch сделан неправильно. Я понимаю, что возможность не писать break, сделанная, чтобы передать управление дальше, позволяет писать изящные алгоритмы. Но всё равно огромное количество ошибок убедило меня, что был выбран неправильный подход. Понятно, что теперь уже поздно. Просто хотелось сказать, что правильным решением было бы обязательно писать слово break или обратное ключевое слово, например, fallthrough. Сколько бы сил, времени и денег было сэкономлено. Конечно, этот недостаток не сравнится с Null References: The Billion Dollar Mistake, но всё равно большой ляп.

Категория: Программирование » Game Development

 

Создание когнитивных связей у игроков

Автор: admin от 27-01-2018, 18:00, посмотрело: 33

Создание когнитивных связей у игроков



Вступление



Статья повествует о создании когнитивных связей в головах игроков логической игры

«Maze Lord». Или как перевели её различные сайты — Повелитель Подземелий. Это пошаговая логическая игра с элементами менеджмента ресурсов в roguelike сеттинге.

Категория: Программирование » Game Development

 

Моделирование физических процессов на примере гидропривода в SimInTech

Автор: admin от 27-01-2018, 12:35, посмотрело: 48

В предыдущей статье (Конечные автоматы в SimInTech), было показано как создавать модель системы управления на основе конечных автоматов и получать из нее код Си, готовый для загрузки в контроллер. В качестве объекта управления была выбрана достаточно простая система нагреватель и была создана примитивная модель. Чем сложнее модель, объекта тем сложнее система управления и тем интереснее ее моделирования на стадии разработки.



Основное назначение данного текста – показать как создавать модели в ПО SimInTech, зная математические уравнения физических процессов. В качестве примера использовались уравнения физических процессов в гидроприводе. По аналогии так же можно решать задачу с другими физическими процессами, уравнения которых нам известны.

Категория: Программирование » Game Development

 

Майнер Monero: теперь и в рекламе YouTube

Автор: admin от 27-01-2018, 12:35, посмотрело: 71

Майнер Monero: теперь и в рекламе YouTube



Осторожно: майнеры на javascript теперь могут быть встроены в рекламу, которую вам показывает YouTube и другие рекламные сети. Об этом сообщили сразу несколько источников.



Первыми сообщили о проблеме в Twitter пользователи, чьи антивирусы способны обнаруживать криптомайнеры.

Hey @avast_antivirus seems that you are blocking crypto miners (#coinhive) in @YouTube #ads
Thank you :)https://t.co/p2JjwnQyxz

— Diego Betto (@diegobetto) January 25, 2018[/quote]



Атакующие пользовались услугами сервиса Coinhive, который предоставляет возможность использовать публичный javascript-код с сайта для майнинга на чужих компьютерах. При этом процессоры пользователей загружались майнером до 80%.

Категория: Программирование » Game Development

 

Добываем Wi-Fi соседа стандартными средствами MacOS

Автор: admin от 27-01-2018, 12:35, посмотрело: 48

Я всегда был фанатом багов и уязвимостей «на поверхности», всегда завидовал чувакам, которые пишут эксплойты для самых защищённых ОС, а сам умел только скрипткиддить (термин из нулевых). Однако мой пост про уязвимости в системах контроля версий набрал более 1000 лайков на Хабре и остаётся топ1 постом за всю историю Хабра, несмотря на то, что был написан 9(!) лет назад.



И сегодня я хотел бы на пальцах показать и рассказать про такую штуку, как вардрайвинг. А точнее, как стандартными средствами MacOS можно добыть пароли от Wi-Fi соседей. Нелёгкая забросила меня на очередную квартиру. Как-то исторически сложилось, что я ленивый. Пару лет назад я уже писал, что моя лень, новая квартира и провод Beeline (бывшая Corbina) помогли мне найти багу у Билайна и иметь бесплатно интернет в их сети. «Сегодня» происходит «подобное», я на новой квартире, нет даже провода, но есть много сетей у соседей.



Добываем Wi-Fi соседа стандартными средствами MacOS


Заколебавшись расходовать мобильный трафик, я решил, что «соседям надо помогать», и под «соседями» я имел введу себя…

Категория: Программирование » Game Development

 

Что в имени? Анализ данных названий 5820 игр в Steam

Автор: admin от 27-01-2018, 12:35, посмотрело: 37

Что в имени? Анализ данных названий 5820 игр в Steam

«Что в имени»? Больше, чем можно подумать. Если вы уже давно работаете над своей игрой или находитесь на этапах планирования, то в какой-то момент вам всё равно придётся выбирать ей название. Названия видеоигр могут стимулировать воображение и вызывать ностальгические воспоминания.



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



Почему названия важны?



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



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



Кроме того, следует рассмотреть множество других аспектов. Маркетинг «сарафанного радио», места в поисковых движках, возможность перепутать игру с другими и многое другое — вот причины, по которым стоит вложить дополнительные усилия, чтобы обеспечить названию игры «защиту от дурака».



Ну а теперь перейдём к данным.

Категория: Программирование » Game Development

 

Создание игр на Python 3 и Pygame: Часть 4

Автор: admin от 27-01-2018, 12:35, посмотрело: 38

Создание игр на Python 3 и Pygame: Часть 4


Это четвёртая из пяти частей туториала, посвящённого созданию игр с помощью Python 3 и Pygame. В третьей части мы углубились в сердце Breakout и узнали, как обрабатывать события, познакомились с основным классом Breakout и увидели, как перемещать разные игровые объекты.



(Остальные части туториала: первая, вторая, третья, пятая.)



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

Категория: Программирование » Game Development

 

Третье нашествие марсиан

Автор: admin от 25-01-2018, 14:05, посмотрело: 31

Третье нашествие марсиан

Источник



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

В.И.Ленин «Письма издалека»



Помнится, как на одной из телекоммуникационных конференций представитель профильного ВУЗа спросил представителя крупного зарубежного поставщика электроники – а нельзя ли направить к вам на завод каких-нибудь магистров для стажировки? Ответ был таков – отправить-то можно, только это, к сожалению, им никак не поможет – все производство осуществляется в «чистых комнатах» роботами, куда людям вход попросту воспрещен.



Что ни говори, а роботизация реальна, она уже происходит, и это факт. А вот каковы ее последствия… Как она отразилась на нашей жизни уже сейчас, а к чему только стоит готовиться – об этом и поговорим.

Категория: Программирование » Game Development

 

Первый пользователь с миллионом на Stack Overflow

Автор: admin от 25-01-2018, 14:05, посмотрело: 35

Achievement unlocked: на Stack Overflow появился первый пользователь с 1 миллионом баллов репутации.



Stack Overflow открыт в сентябре 2008 года и с тех пор помогает разработчикам со всего мира находить необходимые ответы на технические вопросы. Например, сайт показал миллиону пользователей выход из Vim. На январь 2017 года на Stack Overflow 8 миллионов зарегистрированных пользователей, 15 миллионов вопросов и 24 миллиона ответов. Еще десять лет назад ничего этого не было.



Первый пользователь с миллионом на Stack Overflow

Категория: Программирование » Game Development

 

Метод прогрессивного Гейзенбага

Автор: admin от 25-01-2018, 14:05, посмотрело: 319

В этом посте я расскажу:




  • о текущем статусе конференции Heisenbug 2018 Piter;

  • о том, как правильно писать периодические анонсы на Хабр;

  • о небольшом лайфхаке, как рисовать картинки с прогрессивным JPEG в стиле Тёмы Лебедева.



Многие хабровчане работают в IT-компаниях, и наши компании имеют блог на Хабре. Этот блог зачастую рассматривается как витрина для продуктов и услуг компании. Когда ты пишешь посты в корпоративный блог, все подсознательно ожидают именно такого поведения. Как охотники развешивают на стенах своих домов трофеи с удивительными животными, на витрине должны появляться новые версии, новые фичи и новые баги.



Метод прогрессивного Гейзенбага

Категория: Программирование » Game Development