Pull to refresh
0
@ambiguityread⁠-⁠only

User

Send message

Web-разработка на Python глазами PHP-программиста

Reading time7 min
Views177K

Введение



В статье хотелось бы поднять вопросы отличия использования Python для web-разработки по сравнению с оной на PHP. Надеюсь, статья не приведет к холиварам, так как она вовсе не о том, какой язык лучше или хуже, а исключительно о технических особенностях Python.
Читать дальше →

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

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


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

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

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

Reading time4 min
Views33K
Привет, Хабр!



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

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

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

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

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

Разработка

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

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

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

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

Reading time9 min
Views40K


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

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

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

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



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

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

Reading time2 min
Views102K
Привет, Хабр!
Ничего не писал со времен своей первой статьи, решил, что пора это исправить.

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

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

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

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

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

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

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

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

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

Reading time7 min
Views53K

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

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

Reading time4 min
Views86K


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

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

Ловушка CMS

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

Преамбула

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

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

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

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

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

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


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

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

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

Reading time5 min
Views18K
Доброго времени суток. Я бы хотел ознакомить вас, уважаемый читатель, с переводом одной занимательной статьи, на которую я набрел недавно во время работы над сюжетом своей игры.

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

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

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

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

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

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

Reading time6 min
Views41K


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

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

Reading time9 min
Views50K

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


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

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

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

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

Reading time4 min
Views12K
Пока суть да дело, мы выбрали для вас самые популярные видео докладов с PyCon 2013. Видеозаписи отранжированы по количеству просмотров видео на нашем канале YouTube

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

WSGI, Paste, Pylons — передовые веб-технологии

Reading time5 min
Views8.2K
Python Logo
Не Rails'ом единым!

Цитата с sm.org.
Тема WSGI на Хабре не раскрыта, я постараюсь ликвидировать возможную безграмотность и просто интересно рассказать об актуальной, на мой взгляд, технологии. А заодно затрону Paste и галопом – Pylons. Но обо всё по порядку.
Вперёд!

Information

Rating
Does not participate
Registered
Activity