Как стать автором
Поиск
Написать публикацию
Обновить
0
@ambiguityread⁠-⁠only

Пользователь

Отправить сообщение

Что такое утечки памяти в android, как проверить программу на их отсутствие и как предотвратить их появление

Время на прочтение14 мин
Количество просмотров89K
В этой статье для начинающих android-разработчиков я постараюсь рассказать о том, что такое «утечки памяти» в android, почему о них стоит думать на современных устройствах, выделяющих по 192МБ на приложение, как быстро найти и устранить эти утечки в малознакомом приложении и на что нужно обращать особое внимание при разработке любого приложения.


Конечная цель этой статьи — ответ на простой вопрос:
Куда нажать, чтобы узнать, какую строчку в приложении поправить?

Читать дальше →

Как я учился на своих ошибках или как сделать вторую игру лучше

Время на прочтение4 мин
Количество просмотров33K
Привет, Хабр!



Хочу поделиться с вами опытом разработки двух игр под Андроид, их продвижением и рассказать об ошибках, которые я совершал, и как я решил их избежать в будущем. Год назад я начал делать свою первую игру на Андроид. Всё начиналось с идеи. Обычная, ничем не примечательная — запоминать фигурки на экране. Ради опыта и своего первого проекта на Google Play я начал усердно работать с моим братом.

Ошибка №1 — Нежелание прислушиваться к чужому мнению

Неделя работы — и у нас уже был мало-мальски рабочий прототип. Ну конечно же, я показывал его друзьям, говорил о планах, спрашивал мнение. Многие говорили, что идея не новая, не интересная, но я не хотел это слышать и мы продолжали разработку. В конце концов мы сами поняли, что от игры многого ждать не стоит, но желание закончить начатое превзошло все.
Читать дальше →

Мемы в Parallels: «Релиз будет 1 мая… А сегодня какое мая?»

Время на прочтение5 мин
Количество просмотров44K
image Внутренний фольклор и юмор своих разработчиков есть в каждой команде, хотя не в каждой его бережно собирают и архивируют. Но мы в Parallels заботливо делали это несколько лет подряд. Не так давно мы поделились профессиональным словариком девелоперов Parallels. А сегодня на очереди – возможность заглянуть в тот раздел нашего интранета, где мы храним свои мемы и шутки. Многие из них пришли аж из середины 2000х.

Разработка

  • И почему мне так в субботу хочется сделать commit, а в понедельник — revert?
  • [копаясь в перловом коде]… Проклятый не-C++!!!
  • Я нарисую эту диаграммку прямо сейчас. Возможно, даже сегодня.
  • — Эти виндовоз-девелоперы… – Нет, нужно говорить «разработчики для Windows», по аналогии с «афроамериканцами».
  • Ниибета — это бета, которая обязательно должна выйти независимо ни от чего
  • Раздолбайство и общий фрэймворк — разные вещи!
Читать дальше →

Python реализация парадигмы event-driven с помощью сопрограмм

Время на прочтение7 мин
Количество просмотров56K
Статья про то, как с помощью расширенных генераторов Python сделать собственную реализацию сопрограмм, переключающихся по получению событий. Простота кода получившегося модуля вас приятно удивит и прояснит новые и мало используемые возможности языка, которые можно получить, используя такие генераторы. Статья поможет разобраться и с тем, как это устроено в серьезных реализациях: asyncio, tornado, etc.
Читать дальше →

Проектирование новостной ленты в социальных сетях

Время на прочтение9 мин
Количество просмотров40K


Так сложилось, что за последние пару лет я успел поучаствовать в разработке нескольких социальных сетей. Главная задача, которую приходилось решать в каждом из этих проектов, заключалась в формировании новостной ленты пользователя. При чём важным условием была возможность масштабирования этой ленты в условиях роста числа пользователей (точнее, числа связей между ними) и, как следствие, — количества контента, который они деливерят друг другу.

Мой рассказ будет о том, как я, превозмогая трудности, решал задачу формирования новостной ленты. А также я расскажу о подходах, которые наработали ребята из проекта Socialite, и которыми они поделились на MongoDB World.
Читать дальше →

СОПКА: зачем ракетным войскам России «белые хакеры»?

Время на прочтение2 мин
Количество просмотров62K
Похоже, что «компьютерные гении» призывного возраста отныне будут на особом счету у военкоматов. 1 октября президент России провел заседание Совета Безопасности, на котором обсуждались возможные меры защиты информационного пространства России.



Через две недели пресс-служба Минобороны сообщила о том, что в российских ракетных войсках стратегического назначения, или РВСН, в скором будущем будут сформированы подразделения СОПКА, что расшифровывается как «Системы обнаружения и предупреждения компьютерных атак».
Читать дальше →

Полезные книги для программиста в геймдеве

Время на прочтение2 мин
Количество просмотров102K
Привет, Хабр!
Ничего не писал со времен своей первой статьи, решил, что пора это исправить.

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

Ниже я даю рецензии на книжки, которые считаю очень полезными в различных разделах computer science, которые используются в геймдеве. Я намеренно опускаю книги по C++ и алгоритмам: мне кажется, эта тема уже настолько изучена и освещена, что больше про нее не стоит рассказывать.

Я старался покрыть максимальное количество разных топиков, особенно тех, что спрашивают на собеседованиях. Я старался воздерживаться от domain-specific литературы: профессионалы и так знают. Все картинки содержат ссылки на амазон.

А какие книжки нравятся вам?
Также в комментах можете писать, на какие темы вам были бы интересны посты.

Читать дальше →

Управление воздушным движением — взгляд изнутри

Время на прочтение4 мин
Количество просмотров31K
Как уже писал в предыдущем хабрапосте, я получил работу программиста в области управления воздушным движением и хотел бы немного разбавить засилие мобильных и десктопных приложений и познакомить хабровчан с основами УВД (не путать «управление воздушным движением» с «управлением внутренних дел»), некоторыми особенностями и решаемыми задачами, надеюсь это будет интересно.

Этот пост будет содержать, в основном, теорию, которая может быть прочитана в Википедии, нагуглена или вычитана в какой-нибудь книге. Однако я постараюсь обобщить и наглядно показать, какие задачи приходится решать на земле людям и компьютерам, пока вы едите содержимое своего ланчбокса на высоте 10000 метров. Если вы все еще хотите узнать, для чего это вообще нужно — добро пожаловать под кат.
Читать дальше →

Unity3D + Google Services: мультиплеер для вашего проекта на Android и iOS

Время на прочтение7 мин
Количество просмотров53K

В этой статье я хочу рассказать об использовании игровых сервисов Google в вашем приложении на Unity. На написание данного материала меня сподвигло достаточно большое количество проблем, встретившихся во время разработки нашего приложения, а также отсутствие каких-либо материалов на русском языке по этой теме. Да и собственно, на английском тоже. Описание использующегося плагина на гитхабе очень краткое и не дает ответа на возможные проблемы с работой сервисов. Думаю, здесь не стоит пояснять, что мультиплеер и рейтинги игроков зачастую повышают интерес пользователей, а следовательно и вашу возможную прибыль. А благодаря данной статье начинающие разработчики смогут начать использовать данные преимущества.
Читать дальше →

Хотите приключений — работайте выездным инженером

Время на прочтение4 мин
Количество просмотров86K


Прошлый раз я писал, как устроена наша работа, а теперь расскажу разные истории. Например, про то, как сервер за 3 миллиона американских долларов остался под снегом, как нашего админа забыли в серверной, и чем мешок картошки принципиально отличается от блейд-серверов.

Поэтому опять берите чай, я снова буду рассказывать про то, что бывает в условиях страны с суровой (и оттого часто с весёлой) реальностью.
Читать дальше →

Ловушка CMS

Время на прочтение13 мин
Количество просмотров22K
В конце 2013 года Maxim Chernyak написал замечательную статью в которой подчеркивал исключительную важность поддержки архитектуры приложений настолько простой, насколько это возможно. Удивлен что на хабре до сих пор не было перевода, предлагаю ознакомиться с переводом данной статьи. Также прошу сообщать о всех возможных опечатках и неточностях перевода.

Преамбула

Много лет назад у нас было приложение Ruby on Rails. Все начиналось с объектов. Одни выступали прототипами для других объектов. Другие требовали множество связанных с ними частей, частей этих частей и т.д. Насколько много? Пожалуй, одним прототипам известно. Эти прототипы должны были иметь интерфейс для администрирования, но смена логики работы одного прототипа могла привести к цепной реакции в остальных частях. Любое изменение объектов и их прототипов пролегало через связанную сеть из различных моделей. Сложность интерфейса для администрирования быстро взлетела до небес. Дошло до того момента, когда у прототипов появилась возможность быть сериализованными и сохранять фрагменты своей логики. С этого момента каждая фича становилась предметом очень трудной реализации, и в конечном счете приложение скатилось к состоянию, когда модификация и доработка стали практически невозможны. Было такое чувство, будто CMS навязывала себя в качестве посредника между фичей и ее реализацией, подобно системам с нагромождением высокоуровневых абстракций, ориентированным исключительно на бизнес-логику.

Думаете это была худшая часть проекта? Это был еще только минимально жизнеспособный продукт в новом стартапе.
Читать дальше →

Любую eBook издательства Packt Publishing можно купить за $10

Время на прочтение1 мин
Количество просмотров9.8K

Издетельству 10 лет и они делают скидку на все электронные книги до 5 июля.
Ссылка на страницу с подробностями: www.packtpub.com/10years

Игры под угрозой

Время на прочтение4 мин
Количество просмотров146K
Доброго времени суток уважаемые хабражители, в частности та ее часть которая занимается игра-строительством. Предлагаю Вашему вниманию перевод статьи Томаса Бекдейла How In-app Purchases Have Destroyed The Industry, которая затронула меня как игродела так и игрока с опытом. В приведенной статье автор размышляет о будущем восприятии видео игр игроками и в дальнейшем исчезновении в ней таких понятий как ностальгия и атмосферность, что не может не волновать таких людей как я, каждая молекула которого начинает оживляться при одном лишь слове «игра».

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

Почему эти игровые студии так намереваются себя убить?


Прим.: Рисунок из х/ф. «Монти Пайтон и поиски Святого Грааля»

Читать дальше →

Техники проработки персонажей в играх: Часть 1 — Таро

Время на прочтение5 мин
Количество просмотров18K
Доброго времени суток. Я бы хотел ознакомить вас, уважаемый читатель, с переводом одной занимательной статьи, на которую я набрел недавно во время работы над сюжетом своей игры.

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

Первая часть статьи ознакомит вас с ассоциативным подходом с использованием карт Таро.

image
Читать дальше →

Бесплатная книга «Game Programming Patterns» от программиста Electronic Arts Боба Найстрома

Время на прочтение1 мин
Количество просмотров85K
Боб Найстром, программист, проработавший восемь лет в компании Electronic Arts, закончил работу над книгой «Game Programming Patterns». Она доступна бесплатно на сайте gameprogrammingpatterns.com. Писать книгу Боб Найстром начал четыре года назад. Большинство книг, посвящённых программированию игр, говорит он во введении, либо подробно раскрывают какой-то из аспектов создания игры — физический движок, графику, искусственный интеллект, либо описывают процесс создания игры в определённом жанре от начала до конца. Ему очень не хватало книги, рассказывающей о решении типовых задач, возникающих перед программистом, книги достаточно универсальной, не привязанной к жанрам или конкретным подсистемам игр. И поэтому он решил написать такую книгу сам.
Читать дальше →

Атаки HTML5: что нужно знать

Время на прочтение6 мин
Количество просмотров41K


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

Всё, что вы должны знать о прототипах, замыканиях и производительности

Время на прочтение9 мин
Количество просмотров50K

Не всё так просто


На первый взгляд, JavaScript может показаться достаточно простым языком. Возможно, это из-за достаточно гибкого синтаксиса. Или из-за схожести с другими известными языками, например, с Java. Ну или из-за достаточно малого количества типов данных, по сравнению с Java, Ruby, или .NET.

Но в действительности, синтаксис JavaScript гораздо менее прост и очевиден чем может поначалу показаться. Некоторые наиболее характерные черты JavaScript до сих пор неправильно воспринимаются и до конца не поняты, особенно среди опытных разработчиков. Одна из таких черт — производительность при получении данных (свойств и переменных) и возникающие при этом проблемы с производительностью.

В JavaScript поиск данных зависит от двух вещей: прототипного наследования и цепочек областей видимости. Для разработчика понимание этих двух механизмов совершенно необходимо, ибо ведет к улучшению структуры, а, зачастую, ещё и производительности кода.
Читать дальше →

ТОП-10 докладов с PyConRu 2013

Время на прочтение4 мин
Количество просмотров12K
Пока суть да дело, мы выбрали для вас самые популярные видео докладов с PyCon 2013. Видеозаписи отранжированы по количеству просмотров видео на нашем канале YouTube

new_logo_white.png"
Читать дальше →

Разъяснение http2

Время на прочтение25 мин
Количество просмотров196K
На днях Даниэль Штенберг, один из участников группы HTTPbis IETF, которая ведёт разработку протокола http2, опубликовал в своём блоге крайне интересный документ «http2 explained». Небольшой PDF-документ на 26 страницах весьма доступным языком рассказывает о предпосылках и деталях реализации протокола http2.

Как мне кажется, на сегодняшний день это одно из самых лучших разъяснений о том, что такое протокол http2, зачем он нужен, как он повлияет на веб-разработку и какое будущее ждёт Интернет в связи с его появлением. Думаю, что всем людям, причастным к веб-разработке и веб-строению, информация будет полезна, ведь ожидается, что стандарт http2 будет принят уже в июне этого года после завершающей встречи группы HTTPbis в Нью Йорке.
Читать дальше →

PHP и различные виды NoSQL

Время на прочтение11 мин
Количество просмотров69K


В последнее время набирают популярность различные NoSQL базы данных. Эта статья начиналась как изучение особенностей графитовой графовой базы данных Neo4j. Но, в процессе подбора информации, мне захотелось систематизировать информацию о NoSQL решениях и о графовых базах данных, в частности.
В ходе этого небольшого исследования, были выбраны для подробного рассмотрения СУБД, успешно применяющиеся в области Web. И, поскольку в тегах присутствует «PHP», я выбирал СУБД, которые уже можно использовать с этим языком.

Читать дальше →

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность