Как стать автором
Обновить
52.2
Карма
0
Рейтинг
Максим @i4niac

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

  • Подписчики 5
  • Подписки 4

Continuous Integration с Unity

С Bamboo работал долгое время, больше года. Теперь имею дело с Jenkins. С TeamCity опыта нет.

Пока мне нравится Jenkins по одной причине — Jenkins Job DSL плагин. Как для разработчика, для меня это была настоящая находка. Я могу генерировать билд планы (проекты?) автоматически с помощью Groovy скрипта. Причем этот скрипт может быть сколь угодно гибким и я получаю возможность использовать Java код, классы, наследование и все эти ООП прелести, плюс кучу библиотек и т.д. и т.д. В Job DSL добавлена поддержка для большинства популярных плагинов и сообщество активно добавляет новые фичи. Можно также генерировать новые View (вкладки), группировать проекты по папкам и многое другое. Короче, легче было бы перечислить что этот плагин не умеет.

Один из минусов — порог вхождения, но по большому счету выучить Groovy на базовом уровне будет достаточно для начала.

У Bamboo ничего подобного и близко нет. Насчет TeamCity не знаю.

Continuous Integration с Unity

Зависит от ваших требований к CI. У автора была задача «CI за день» и UCB с ней справился.

Если компания достаточно крупная и имеет желание и средства настроить свой CI/CD тогда Jenkins, Bamboo, TeamCity и т.д.
Мне приходилось раньше работать с Bamboo, сейчас с Jenkins, только специфика — мобильные приложения.

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

Подходы к созданию скриптового языка описания настольных игр

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

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

Я попробовал практически все варианты Дурака из App Store, везде на данный момент реализован простой подход, когда игроки подкидывают строго по часовой стрелке.

Архитектурный дизайн мобильных приложений

Скажите пожалуйста, каким образом было достигнуто переиспользование сущности х*як? И как можно избежать разрастания х*яка? :)

Подходы к созданию скриптового языка описания настольных игр

Когда я играл в Дурака в детстве, то можно было и подкидывать одновременно и бить на выбор и т.п., т.е. утверждение «В один момент времени всегда ходит 1 игрок» для такого Дурака — не верно.
Конечно же, реализовать такую игру гораздо сложнее, особенно если добавить режим мультиплеера. Там уже задачи из разряда синхронизации сразу нескольких процессов, разделенные ресурсы и подобное.

Автоматизация тестирования iOS-приложений с применением Calabash и Cucumber

Это не совсем минусы Calabash. Как я уже сказал, они точно также используют Automator скрипт для сброса симулятора. Т.е. раз их скрипт сломался, то нет гарантии что ваш не сломается точно также. Это на самом деле стандартные заморочки при обновлении Xcode или Mac OS X, всегда есть вероятность что где-то что-то сломается. Ну и даже если что-то сломается фикс рано или поздно найдется. Вот вы например нашли как пофиксить проблему с локалями, по идее ничего не мешает открыть пул реквест с этим фиксом чтобы он попал в следующий релиз Calabash :)

Да, shell скрипты хороши тем, что их легче использовать повторно. В вашем случае, если вдруг не станет хватать мощностей одной Mac OS машины, и вы добавите еще одну, тогда CI-сервер и агенты подойдут лучше. Но это всегда итеративный процесс, постоянные улучшения — норма.

Автоматизация тестирования iOS-приложений с применением Calabash и Cucumber

Сам занимался этим полтора года на прошлой работе. У Calabash большие перспективы. Основное преимущество по-сравнению с другими фреймворками — очень гибкий язык запросов.

Calabash пусть и не кросс-платформенный на все 100%, но уж мульти-платформенный это точно, я имею ввиду что есть еще Calabash for Android. API у них, к сожалению не совпадают полностью и даже есть определенные различия в синтаксисе запросов, но это вполне решаемо с помощью одного уровня абстракции в коде или даже пул реквестов.

Меня вот немного удивило использование Automator-а, почти все можно сделать с помощью shell/ruby скриптов и ios-sim. Например calabash-ios sim reset сбрасывает настройки симулятора, с помощью DEVICE_TARGET переменной окружения можно ресетить только один какой-то симулятор. Ну естественно эта команда использует Automator скрипт, во многом похожий на ваш.

К тому же разве все это не должно происходить как часть процесса Continuous Integration? Т.е. в данном примере как часть build pnan/job на TeamCity? Если будете масштабировать, добавлять новые билд боксы, получите децентрализованную систему где на каждой машине крутится свой автоматор. Именно для этого у TeamCity, также как и у Bamboo, Jenkins и других есть поддержка билд агентов. Но тогда все эти задачи (git, calabash.framework, xcodebuild, тесты и отчеты) должны выполняться как часть билда (build job или build plan, или что там у TeamCity). Один и тот же план может выполняться параллельно на нескольких агентах.

И если будете вдруг поддерживать Андроид, то тесты для андроида можно гонять на Linux машинах, где Automator-а нет.

История создания iOS игры о быстрой реакции и стальных нервах

Вы так много написали про локализацию и при этом нет кнопки переключения языка в настройках… ((

А насколько большой спрос на подобную фичу? Если судить по себе, то в 99.9% случаев меня устраивает дефолтный язык операционки и нет необходимости его менять отдельно в играх. Возможно в детских приложениях может быть спрос на такую опцию.

История создания iOS игры о быстрой реакции и стальных нервах

210 скриншотов… Не было мысли схитрить и сделать один набор скринов нейтральных по отношению к языку? Добавить какие-нибудь вставки поверх текста внизу, «замылить» или что-то подобное. Некоторые разработчики так и поступают, в качестве скриншотов используется какой-нибудь арт или компонуют сразу 4 экрана в одном скрине, при этом избегая текста.

Спасибо за наводку на uploader, по сути это продвинутый генератор XML метаданных для iTMSTransporter. Мне кажется образовалась ниша для OSX приложения, которое будет удобной оберкой для iTMSTransporter. Там большое количество задач, которые требуют автоматизации и удобного интерфейса.

А как так получилось использовать cocos2d-swift и зарелизить приложение? Ведь Swift доступен только в Xcode 6 Beta, а насколько я помню, приложения собранные в beta версиях Xcode Apple никогда не принимала…

И последний вопрос :) В плане локализации использовали старые добрые .strings или XLIFF добавленный в Xcode 6? Не посоветуете простой софт для работы с XLIFF? Я перепробовал все опенсорсные программы, которые смог найти, все со старта отпугнули сложностью и избыточностью интерфейса, а я искал что-то «для чайников», типа слева оригинал — справа пиши перевод.

Кросскомпиляция библиотек под iOS, делаем это правильно

Полезный пост, спасибо.
Раз такое дело, у меня есть вопрос. Вам не приходилось собирать boost для iOS?
Я сделал скрипт на основе других решений: github.com/mgrebenets/boost-xcode5-iosx.
Тем не менее у людей возникают проблемы, когда им нужно собрать, например, locale библиотеку, которая имеет зависимость от icu или iconv.

Zillion приключений (миниобзор)

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

Если там C/C++ то это можно собрать под iOS, Android и вообще что угодно.
С таким количеством игр успех обеспечен. Можно зарабатывать на рекламе, или на встроенных покупках.
Ради интереса поискал ZoG и Zillon в iTunes AppStore и ничего не нашел.

Еще мне интересно, мультиплеер в ZoG реализован?
И как обстоят дела с карточными играми, вроде дурака или даже преферанса?

Секрет успеха LINE, новый способ монетизации от Facebook, альянс против Apple, тренд Android launcher и другие новости недели для мобильного разработчика

Ума не приложу, как можно «запатентовать слово»? Другое дело — зарегистрировать торговую марку «Candy».

Собираем Акулу под iOS и OSX

Да, ссылка неправильная. Я подправил статью, вот то самое обсуждение.
Сообщение об ошибке будет такое
error: addition of default argument on redeclaration makes this constructor a default constructor

Собираем Акулу под iOS и OSX

Да, конечно, это как раз и есть arm64 архитектура.

Практическое руководство по Jekyll

Да уж, все оказалось достаточно просто.
Зашел повторно в Settings репозитория и там в разделе GitHub Pages черным по белому написано
Update your site
Easily change your content or theme with the page generator.

To publish a page manually, push an HTML or jekyll site to your gh-pages branch. More info.


Там можно и текст поменять и тему.
В общем, плохо смотрел.

Практическое руководство по Jekyll

Вопрос от Jekyll-нуба.
Совсем недавно хотел добавить GitHub Pages к своему репозиторию. Воспользовался простым путем — автогенерация, выбрал шаблон, набил пару абзацев текста в Markdown (рассчитывал отредактировать позже), нажал OK и через 10 минут сайт готов.

Вот только когда я захотел отредактировать текст, начались непонятки. Когда я клонировал gh-pages ветку, там был уже сгенерированный index.html, и нигде нет markdown файла. Я так и не понял, что же делать если я хочу поправить markdown текст, запушить изменения в gh-pages и подождать пока Jekyll сгенерирует обновленную страницу. Или я в упор не вижу какой-то очевидный способ, или фиг знает что еще. В доках github-а ничего полезного не нашел, нагуглить тоже не удалось.

В результате использовал комбайн jekyll-bootstrap, хотя меня вполне устраивала дефолтная тема, если бы была возможность редактировать текст.

Автоматизация тестирования Android приложений с помощью UIAutomator

Работал и работаю с calabash.
Из плюсов — Ruby и кросс-платформенность. Cucumber и BDD тоже можно отнести к плюсам. Тесная интеграция с Xamarin, в будущем calabash станет плагином к Frank. Ну и конечно же активное сообщество, частые коммиты и релизы.

Минусы свои тоже есть, например некоторые вещи сломались с выходом iOS 7, но со временем фиксят или находят обходные пути.

Не могу напрямую сравнивать с UIAutomation для iOS или Android, не достаточно опыта работы с этими фреймворками. Пробовали сначала MonkeyTalk — calabash гораздо лучше.

Автоматическое тестирование iOS приложений

Но насколько я знаю, без JB вы не сможете установить приложение.

Почему же, можно. Существует несколько утилит способных сделать это. Вот например одна из них: github.com/tborys/fruitstrap.git

Continuous Integration в XCode5

Мы используем github.com/calabash/calabash-ios, который скоро станет частью уже упомянутого Frank-a.
Один из плюсов в сравнении с KIF — кросс-платформеность. Есть поддержка Android github.com/calabash/calabash-android.
К тому же не так давно Xamarin купил Less Painful вместе с основными разработчиками Calabash. Так что это плюс для тех, кто использует Xamarin.

Тесты можно писать используя Cucumber, под капотом — Ruby, т.е. огромный выбор gem-ов для любых задач.

Рано или поздно нам придется это сделать

Начало за здравие… а потом, внезапно утверждается что рабство и интеллектуальная собственность это одно и то же. Вот прям так, с бухты барахты, тождественно равно и все тут. Такой себе риторический прием, интеллектуальная собственность = рабство, а рабство это плохо, очень плохо.

Но давайте посмотрим правде в глаза — большинству этих людей не нужны многомиллионные прибыли.

Не согласен. Чем то можно подтвердить это факт? Опросы, статистика, вера в человечество?
Конечно, они хотят зарабатывать деньги.

Так в чего же они хотят в конце концов?

И с играми не совсем ясно. Ведь эта модель уже практически существует. Многие фримиум игры дают поиграть бесплатно, а различные фичи — за деньги, в том числе, например, мультиплеер. Тем не менее in-app покупки ломают налево и направо и оправдывают это пиратство именно такими аргументами, как у вас в статье или схожими.

Нельзя так просто валить все в одну кучу, жадных издателей/правообладателей и тех, кто пытается продать свое творчество без посредников. Ведь на сегодняшний день «пираты» воруют у всех без разбора и у «хороших» и у «плохих».

Имхо, очень сложный вопрос. Я не вижу «светлого» будущего, где все доступно за «просто так» и при этом авторы как-то умудряются зарабатывать. Это какая-то утопия, глобальный коммунизм, где каждому по способностям или по количеству сожженных калорий, или как-то еще. Утопия, в общем.
Убирать посредников — нужно, чем больше площадок для продажи контента напрямую по приемлемым ценам, тем лучше. Только закоренелых халявщиков это не остановит.

Информация

В рейтинге
Не участвует
Откуда
Sutherland, New South Wales, Австралия
Дата рождения
Зарегистрирован
Активность