Search
Write a publication
Pull to refresh
0
Виталий @s0Lread⁠-⁠only

User

Send message

Настройка Jenkins для django проекта с нуля

Reading time3 min
Views55K
Всем привет.

Значительное время в нашем проекте использовалась самописная система интеграционного тестирования — чекаут кода по хуку в системе контроля версий, прогонка тестов с поддержкой отчётов по покрытию кода, запись результатов в отдельный html-файл, который был доступен разработчикам через веб. Естественно, потом пришлось делать поддержку локов, чтобы одновременно не запускалось сразу два тестирования и т. п.

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

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

Думайте при разработке

Reading time16 min
Views51K
Недавно наткнулся на ошибку в Android приложении Яндекс.Метро. Если бы был чемпионкой мира по синхронному плаванию, то обязательно спросил бы: «Кто создавал программу „для галочки“? Кто работал „на отшибись“? Кто слабое звено?». Недоумение вызывала не сама ошибка, а то, что она попала в приложение и всё ещё не исправлена.

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

Начать хотелось бы с главы «Изучение знаменитых (и не очень знаменитых) ошибок» из книги «Наука отладки». Если ещё не читали, то рекомендую прочитать. В этой главе описаны «глупые» ошибки и стечения обстоятельств, которые стоили жизней и миллионы долларов. Все эти ошибки объединяло то, что выявляющий их тестовый сценарий было чрезвычайно сложно воспроизвести, в результате многие проверки были просто пропущены.

В статье же мы будем рассматривать распространённые приложения, которые протестировать может любой участник команды. Давайте проведём небольшой эксперимент. Если у вас нет Android устройства, то попросите минут на десять у коллег или друзей. Скачайте приложение Яндекс.Метро и попробуйте его протестировать. Интересует актуальная на текущий момент версия 1.63 от 02.11.2012 сборка 159 (на Google Play стоит дата 21.01.2013). Для корректности проверки предлагаю снять галочку «Автообновление» в настройках Google Play.

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

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


Продолжение

[Перевод] Введение в CocosBuilder

Reading time24 min
Views22K


Перевод статьи Introduction to CocosBuilder.
Автор оригинальной статьи Али Хафиджи, разработчик под iOS и Android.

CocosBuilder – это бесплатный инструмент, который позволяет быстро и легко управлять спрайтами, макетами и сценами при разработке вашей игры, использующей Cocos2D.

CocosBuilder идеально подходит для быстрой планировки меню и других элементов интерфейса игровых сцен, при этом вы не будете испытывать проблем по их компоновке в пространстве.
В ходе обучения вы напишите игру Cat Jump. Вы увидите, как CocosBuilder позволит вам сэкономить массу времени и кода.
Читать дальше →

Два дополнительных патрона, ноль штрафных кругов

Reading time4 min
Views27K

Последнюю неделю я изучал возможности нового Bluetooth 4.0. Зачем? Затем, что отныне Apple устанавливает его на своих смартфонах и планшетах.
Если Вы — обладатель связки iPhone 4S и iPad Mini, то сможете повторить мои эксперименты. Остальным оставляю короткое видео с демонстрацией работы приложения. Честно говоря, приложений я наклепал целых 5 штук.
Смысл всех пяти новых приложений прост, как стиль метро — айФон я использую в качестве периферийного геймпада. Представьте геймпад не только с кнопками, но с видеокамерой и акселерометром!
АйПад соответственно играет роль телевизора, на котором разворачивается игра.

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

Подробности

Полноэкранная анимация в iOS игре, или как быть если графику не реально загрузить в память

Reading time6 min
Views7.1K
Сразу скажу, мы потратили массу времени впустую на этом проекте, но зато приобрели некоторый полезный опыт, о котором, я думаю многим будет интересно почитать, чтобы не наступать на те же грабли. Интересующихся работой с большими анимациями под iOS прошу под кат.

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

Пишем свой плагин для XBMC. Пока без блекджека и всех остальных

Reading time13 min
Views43K

Всем привет. Речь в топике пойдёт о создании плагина (программного дополнения, аддона) к замечательной программе XBMC. Уровень сложности: для начинающих. Понадобятся знания HTML и общее представление о работе сайтов; не помешает знать как выглядит Python. Не ждите под катом уникальных алгоритмов и магического кода, это скорее отправная точка и общее объяснение механики работы плагинов. Код будет, надеюсь, наглядным.

Некоторые из вас могут спросить: «Ведь есть репозиторий seppius, который решает почти все проблемы с воспроизведением онлайн-контента в рунете (в контексте XBMC). Зачем велосипеды?». Я приведу свои доводы в небольшом предисловии.

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

Создание интерактивного прототипа с Fireworks и TAP (touch application prototyping)

Reading time3 min
Views13K
Кажется Хабр незаслуженно обошло стороной повальное увлечение проектирования интерфейсов с помощью Fireworks, (по крайней мере Smashingmagazine и Cooper усиленно пропагандируют его как стандарт де-факто в отрасли).

Статья не является переводом iOS Prototyping With TAP And Adobe Fireworks товарища Shlomo Goltz, однако идея разобраться в этом вопросе, наконец-то, появилась именно после этой статьи, да и картинку я «стырил» оттуда.

В нашей лаборатории мы часто размышляли над тем какие инструменты лучше всего подходят для прототипирования приложений. На тот момент был популярен Expression Blend + SketchFlow, но его привязанность к Silverlight, не давала нам ни малейшего шанса на то, что он будет популярен в мобильной разработке.
Читать дальше →

Система автоматической сборки мобильных приложений Alawar Build System

Reading time4 min
Views15K
Всем привет!

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

Мы столкнулись с необходимостью автоматизировать сборку и деплоймент на тестовые устройства, когда размер парка устройств превысил два десятка, а количество проектов, одновременно находящихся в QA достигло 30+. При таких объемах деплоймент билда на тестовые устройства с помощью “Build & Run” в XCode начал заметно затормаживать процесс прохождения QA. Было принято решение об автоматизации процесса сборки и заливки билдов на устройства.

Наша обновленная билд-система состоит из трех основных компонентов:
  • Репозитории с исходными кодами проектов;
  • Сервер сборки;
  • Сервер раздачи билдов на устройства.


Процесс прохождения версии проекта от разработчиков до тестировщиков выглядит следующим образом:
  • Разработчик делает коммит версии в репозиторий;
  • Билд-сервер запускает сборку соответствующего проекта;
  • В случае успешной сборки, билд выкладывается на сервер раздачи;
  • Итоговый IPA устанавливается на устройства “по воздуху”.



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

Покадровые анимации и шейдеры в iOS

Reading time2 min
Views17K
При разработке 2D игр часто сталкиваешься с покадровыми анимациями, и чем выше их качество, тем больше памяти они потребляют. С такой проблемой мы столкнулись при рендере анимации волос персонажа — художники рисуют пол сотни кадров замечательной графики с кучей мелких деталей и это очень быстро занимает всю доступную память. Собрали, замеряли, получилось 4 текструы по 16 мегабайт каждая. Детализация графики того стоит, но многовато как-то для одной анимации :)

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



Как это реализовать смотрите под катом

Книги для тимлидов и руководителей проектов

Reading time2 min
Views171K
Какими свойствами должен обладать хороший тимлид? Он, несомненно, должен быть технарем, иметь разносторонний опыт, уметь налаживать диалог внутри команды и с начальством, вести дискуссии и принимать решения, брать на себя ответственность, понимать бизнес-процессы, думать как заказчик и владелец бизнеса. Ну и быть немного психологом.

В отечественном IT я часто наблюдаю следующую картину: тимлидом часто становился лучший (?) разработчик из команды (aka 23-летний сеньор). А чтобы стать руководителем проекта (project manager) иногда достаточно просто знать английский и «павэрпойнт» на уровне пользователя. Это реалии отечественного аутсорсинга и с этим нужно как-то жить.

В итоге часто получается как-то так:
Потому что на десять сеньоров по статистике девять тупят.
Читать дальше →

Обзор зарплат «Тестировщиков»

Reading time3 min
Views75K
Мы, а мы — это рекрутинговая компания IT-Доминанта, уже давно обещали посвятить один из наших постов Обзору зарплат инженеров по тестированию, которых в простонародье называют «тестировщиками». А я напомню, что в последних наших публикациях мы рассказывали о зарплатах Системных администраторов (Windows & *nix) , Программистов Java/C++/C#/Delphi и WEB программистов.



Итак, в этом Обзоре мы осветим зарплаты по следующим должностям:
  • Младший тестировщик (ручное и/или автоматизированное)
  • Инженер по тестированию (ручное)
  • Ведущий инженер по тестированию (ручное)
  • Инженер по тестированию (автоматизированное)
  • Ведущий инженер по тестированию (автоматизированное)
  • Руководитель группы тестирования (ручное и/или автоматизированное)
Читать дальше →

Автоматическое обновление номера сборки проекта в Xcode

Reading time3 min
Views6.8K
При передаче приложения тестировщикам или конечным пользователям не стоит забывать увеличивать версию проекта / номера сборки для того, чтобы в будущем можно было без проблем идентифицировать установленное приложение.

Память, как известно, бывает подводит. Здесь на помощь приходит простой и действенный чудо-рецепт автоматической установки номера сборки проекта.

Готовый проект с кратким описанием доступен на github: github.com/eshurakov/XcodeAutoBundleVersion
Подробнее

Легким движением руки планшет превращается в… дополнительный монитор

Reading time3 min
Views478K
Привет тебе, внимательный хабрачитатель.

После публикации топика с фотографиями рабочих мест хабровчан, я всё таки дождался реакции на «пасхальное яйцо» в фотографии моего захламленного рабочего места, а именно вопросов вида: «Что это за планшет с Windows и почему на нём такие мелкие иконки?»

image

Ответ подобен «смерти Кощеевой» — ведь планшет (обычный iPad 3Gen) в нашем случае выступает в роли дополнительного монитора, на котором в полноэкранном режиме запущена виртуальная машина с Windows 7, и работает всё это для полного счастья по Wi-Fi. Такой себе второй небольшой IPS-монитор с высоким разрешением.

О том, как быстро и просто научить ваш планшет/смартфон под управлением Android/iOS работать в качестве дополнительного беспроводного дисплея для Windows/Mac OS X можно прочесть далее.
Узнать всё и сразу

Как стать миллионером в AppStore или немного формул про продвижение и продажи. Часть 1

Reading time5 min
Views106K

Схема успеха



Джон, мы потеряли два листа математических выкладок! Что делать?
Как обычно, Билл… напиши: «отсюда с очевидностью следует…»


image

Чтобы прочитать некраткую сопроводительную записку к схеме – добро пожаловать под кат.

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

Официально вышел Wayland 1.0 (замена X11)

Reading time3 min
Views50K

X logical font description (XLFD): стандарт шрифтов X Window System

Кристиан Хогсберг (Kristian Høgsberg) объявил о выпуске Wayland 1.0 — протокола и клиентского API, которые являются современной заменой для X Window. Это первый мажорный релиз долгожданной системы, о которой говорят последние четыре года. Хотя Wayland ещё не готов к использованию, но для всех последующих модификаций гарантируется обратная совместимость.

Многие говорят, что ограничения X11 не позволяют создавать красивые GUI, как в других операционных системах. Wayland исправит это и выведет Linux на современный уровень в части графических интерфейсов. Внедрение Wayland в качестве композитного менеджера для Ubuntu ожидается в Ubuntu 13.04 (апрель 2013 года) или в следующем релизе.
Читать дальше →

Пишем эмулятор Gameboy, часть 1

Reading time21 min
Views56K
Здравствуйте!

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

С точки зрения эмуляции Gameboy относительно прост, но даже он требует изучения достаточно большого объема информации. По этой причине разработке эмулятора Gameboy будет посвящено несколько статей. Конечным итогом будет эмулятор с неплохой совместимостью, поддержкой практически всех функций оригинала, в том числе звука, который нередко отсутствует в других эмуляторах. В качестве бонуса наш эмулятор будет проходить практически все тестовые ROM’ы, но об этом позже.

Данные статьи не будут содержать исчерпывающего описания реализации эмулятора. Это слишком объемно, да и весь интерес от реализации пропадает. До конкретного кода будет доходить лишь в редких случаях. Перед собой я ставил задачу дать в большей степени теоретическое описание с небольшими намеками на реализацию, что, в идеале, должно позволить вам без особых затруднений написать свой эмулятор и в тоже время чувствовать, что вы написали его самостоятельно. Где надо я буду ссылаться на собственную реализацию – при необходимости вы сможете найти нужный код без того, чтобы продираться через тонны строк кода.

В данной статье мы познакомимся с Gameboy и начнем с эмуляции его процессора и памяти.

Пишем эмулятор Gameboy, часть 1
Пишем эмулятор Gameboy, часть 2
Пишем эмулятор Gameboy, часть 3
Читать дальше →

О технологиях показа кино в 3D

Reading time7 min
Views152K

3D кинотеатры за последнее время расплодились в больших количествах. Не сильно в последнее время от них отстают в распространённости и 3d-телевизоры. Однако, что именно стоит за маркетинговым “3D” в каждом случае не всегда ясно и очевидно.
Стоит отметить, что правильнее было бы назвать это “стерео”-кино, но термин “стерео” уже давно и прочно (просто, видимо, по праву первенства) закрепился за звуком (в этом плане показательно, например, название журнала “Стерео и видео”). Поэтому маркетологам пришлось использовать термин “3D”, который ассоциируется с объёмным изображением в том или ином смысле. В данном случае понимается восприятие мозгом объёма за счёт подачи каждому из глаз изображения, чуть отличающегося от изображения для другого глаза, аналогично тому, как отличаются получаемые глазами изображения в жизни.
Читать дальше →

gameinstitute.ru — журнал для разработчиков игр

Reading time1 min
Views12K

Доброго времени суток, уважаемое хабрасообщество.
Мы хотели бы представить вам наш замечательный журнал о разработке игр — gameinstitute.ru

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

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

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

Майнкрафт-подобный рендер на OpenGL4
Читать дальше →

Необходимые ресурсы для геймдизайнеров

Reading time3 min
Views82K
В данном топике я хочу представить подборку ресурсов, имеющих непосредственное отношение к дизайну и разработке игр. В первую очередь, эта информация будет полезна начинающим или будущим геймдизайнерам, которые только задумываются о выборе профессии, но, возможно, и профессионалы своего дела найдут что-то полезное или интересное для себя. Кроме того, я предполагаю, что читатели хорошо владеют английским языком, что в наше время для айтишников, настоящих или будущих, подразумевается практически по умолчанию.
Итак, поехали.
Читать дальше →

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity