Search
Write a publication
Pull to refresh
12
Кирилл Кунст @leoruread⁠-⁠only

Разработчик мобильных приложений

Send message

Сколько стоит попасть в ТОП Apple App Store?

Reading time4 min
Views29K
Конечно, прежде всего нужно сказать пару капитанских напутствий из разряда “сделайте офигенное приложение, лучшее в своем роде и бла-бла-бла”. К этому стремятся все, а получается у Систрома единиц.

Поэтому, если отбросить “честные” способы попадания в ТОП (которые случаются с теми самыми единицами), то вопрос уже стоит не в том “как” туда попасть, а в том, сколько это будет стоить. Ведь, если вы ненароком не изобрели ничего, что само по себе способно взорвать рынок, прорваться среди порядка 800 тыс. подобных вашему приложений, задача не из легких.
Читать дальше →

Инструменты студии мобильной разработки

Reading time4 min
Views38K


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

В нашей компании используется много подобных сервисов и инструментов, поэтому я решил рассказать вам кратко о лучших из них. О базовых вещах на подобии Basecamp, GitHub и т.п. речи не будет, т.к. это не сугубо специфические вещи для мобильной разработки.

Пройдемся по дизайну, серверным решениям, тестированию и аналитике.
Читать дальше →

11 важных вещей, которые нужно знать про DevOps — часть первая

Reading time9 min
Views303K

От переводчика


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

Надеюсь, этот текст вам понравится.

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

Порт Android на C# — Мигель де Икаса

Reading time3 min
Views42K
Между Oracle и Google разгорелась нешуточная патентная война, стоимостью в 1 миллиард долларов, за право использовать Java в Android.

Но Java не единственный способ создания приложений, на самом деле даже не самый лучший. Как альтернативу мы предложили С#, добившись высокой производительности и низкого потребления батареи. Наша новая платформа — это открытая реализация .NET Framework, позволяющая разработчикам писать код на C#, адаптировать его под Java системы и переиспользовать часть кода для iOS и Windows Phone.
Читать дальше →

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

Reading time9 min
Views37K
Вступление

Как справедливо заметил Fred Brooks, серебряной пули, способной поразить зверя разработки программного обеспечения, не существует. Пока возникают новые требования, идеи и находятся новые баги, программы живут и изменяются. Путь, который проходит код от версии к версии, может быть крайне сложен и извилист. К его созданию причастно много людей: разработчики, тестировщики, бизнес-аналитики, заказчики и т.п. Несмотря на то, что существует много разных видов разработки – аутсорсинг, продуктовая разработка, open-source и т.п., проблемы, стоящие перед командой, остаются примерно одинаковыми. Программное обеспечение – вещь сложная, потребитель хочет получить его как можно быстрее (и дешевле). Качество при этом должно быть приемлемым. Перед командой разработки стоит серьезная задача – наладить эффективное взаимодействие. Одним из самых главных средств коллаборации внутри команды разработчиков является сам код, который они пишут.

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

Как стать ведущим разработчиком. Часть 2

Reading time8 min
Views40K
Продолжение перевода статьи Джона Оллспоу о личных качествах ведущих разработчиков.

Зрелые разработчики не жалуются просто так


Вместо этого они рассуждают, основываясь на наблюдениях, и предлагают варианты решения найденной ими проблемы. Один опытный менеджер сказал мне: «Никогда не приходи к своему начальнику с жалобами, если у тебя нет готового решения проблемы. И лучше, если решений будет несколько». Но даже если у вас не получилось найти ни одного решения — это уже лучше, чем жаловаться просто так.
Читать дальше →

REMOTE: Office Not Required. Анонс третьей книги 37 signals

Reading time1 min
Views16K
Компания 37 signals — один из пионеров рынка SaaS и создатель фреймворка Ruby on Rails, знаменита не только своими софтверными продуктами, но и книгами Джейсона Фрида и Дэвида Хейнемейера Ханссона — Getting Real и Rework — которые основаны на реальном опыте разработки популярного софта и построения успешной компании. Обе книги стали бестселлерами. Осенью этого года выходит третья книга 37 signals под названием REMOTE: Office Not Required. Она посвящена преимуществам и организации удалённой работы.


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

Успешный Kanban в небольшой команде

Reading time5 min
Views18K
Ознакомившись с постами, в которых хабрапользователи описывают процессы внедрения и реализации гибких методологий в производство, решил поделиться собственным опытом разработки по методологии Kanban в небольшой продуктовой команде.

К моменту, когда у нас возникло желание попробовать новую систему организации процесса, мы были сработанной командой, ведущей успешную Scrum разработку.

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

Определение доминирующих тонов на изображении [v 1.1]

Reading time2 min
Views53K
После публикации прошлой статьи, я полностью забил на попытку выполнить алгоритм при помощи HSV или Lab координат. Забил на использовании библиотек цветов и вообще на сам скрипт забил.

Но что-то стало скучно и опять зачесались руки поработать с изображениями и одновременно захотелось исправить уже имеющийся алгоритм.
Скрипт: link

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

Как стать ведущим разработчиком. Часть 1

Reading time8 min
Views142K
Это перевод статьи, написанной Джоном Оллспоу, который на данный момент является старшим вице-президентом технического отдела в Etsy.

Продолжение перевода здесь

В нашей сфере деятельности нам доступны огромные объёмы знаний, в особенности тех, которые позволяют разработчику стать эффективным. Но почему-то, несмотря на существование множества книг о специфических задачах и обязанностях менеджеров в нетехнических областях, я практически не вижу новых книг или статей о том, как стать хорошим ведущим разработчиком. Замечательным исключением, конечно, являются статьи Кейт Maцудайры [от переводчика: на фотографии, кстати, именно она], немало написавшей о культурных составляющих инженерии.

Но в то же время, все мои знакомые преуспевающие разработчики помнят своих наставников, которые научили их тому, что значит быть „ведущим“.
Читать дальше →

Интерактивная обучалка ветвлению в Git

Reading time1 min
Views80K
Некий Питер Коттл (Peter Cottle) сделал интерактивную обучалку по основам ветвления в Git. Есть несколько простых обучающих уровней, где нужно сделать пару коммитов, а затем merge или rebase, есть и сложные уровни, над которыми придется подумать. Можно также сохранять уровни и делиться ими с друзьями.

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

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

Вычисление оптического потока методом Лукаса-Канаде. Теория

Reading time7 min
Views58K

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

Если мы хотим узнать на сколько тот или иной объект объект сместился по отношению к его же положению на предыдущем кадре за то время, которое прошло между фиксацией кадров, то скорее всего в первую очередь мы вспомним про оптический поток (optical flow). Для нахождения оптического потока можно смело воспользоваться готовой протестированной и оптимизированной реализацией одного из алгоритмов, например, из библиотеки OpenCV. При этом, однако, очень невредно разбираться в теории, поэтому я предлагаю всем заинтересованным заглянуть внутрь одного из популярных и хорошо изученных методов. В этой статье нет кода и практических советов, зато есть формулы и некоторое количество математических выводов.
Читать дальше →

Дайджест новостей из мира мобильной разработки за последнюю неделю №2 (10 — 16 февраля 2013)

Reading time9 min
Views11K
На этой неделе вышла новая jQuery Mobile с долгожданной панелью инструментов, Apple оказалась слишком олд-скульной и «нерелевантной» для разработчиков, при этом выплатив им $8 миллиардов, продолжилось обсуждение Nokia и решения компании перейти на Windows Phone, а также появился плагин NVIDIA Nsight Tegra для Visual Studio, с помощью которого можно создавать нативные приложения для Android на Java. В общем, есть о чем поговорить.

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

Один из способов обойти основные проблемы при поиске инвестора для iOS-приложения

Reading time4 min
Views8.9K


Проблем может три:
  • Инвестор хочет полный контроль над приложением или компанией;
  • Профильный инвестор ограничивает свободу творчества (например, в игре);
  • Непрофильный инвестор зачастую не даёт крупную сумму и не обеспечивает разные плюшки, которые есть у профильных.

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

На сегодня уже есть команда iOS-разработчиков делающая своего рода римейк The Lost Vikings, которая решила попробовать краудинвестинг и обратилась к нам в Смартмаркет. И вот почему они это сделали.
Читать дальше →

Основы теории вычислительных систем: машина с конечным числом состояний

Reading time8 min
Views35K
Теория вычислительных систем — это то, что позволяет нам программировать. Однако, можно писать программы и без представления о концепциях, скрывающихся за вычислительными процессами. Не то, чтобы это было плохо — когда мы программируем, то работаем на намного более высоком уровне абстракции. В конце концов, когда мы ведём машину, то концентрируемся только на двух или трёх педалях, переключателе передач и руле. Для повседневной неспешной езды этого более чем достаточно. Однако, если мы хотим управлять автомобилем на пределе его возможностей, то тут нужно знать гораздо больше, чем просто три педали, КПП и руль.

Такой подход справедлив и в программировании. Большая часть повседневной мирской работы может быть выполнена при минимальном знании теории вычислительных систем или даже вообще без него. Не нужно понимать теорию категорий, чтобы накидать форму «Контакты» в PHP. Тем не менее, если вы планируете писать код, требующий серьёзных вычислений, то тут уж придётся разобраться с тем, что у этих самых вычислений под капотом.

Цель этой статьи — представить некоторые фундаментальные основы вычислений. Если это окажется интересным, то в дальнейшем я могу написать более продвинутый топик на эту тему, но прямо сейчас я хочу просто рассмотреть логику простейшего абстрактного вычислительного устройства — машины с конечным числом состояний (finite state machine).
Читать дальше →

Повышение эффективности работы в Google Chrome

Reading time4 min
Views64K
Приветствую! Надеюсь, эта статья будет кому-нибудь полезна.

Многие знают о возможностях адресной строки Chrome, запоминающей поисковые системы различных сайтов. Однако эффективно ее использовать, думаю, умеют далеко не все.
Я сижу в интернете исключительно через этот браузер (дело вкуса и привычки, конечно) и использую кастомизированный поиск в Chrome по несколько десятков раз в день. Большое количество действий, ежедневно выполняемых через браузер, можно оптимизировать, добавив в список определенные поисковые системы.

Итак, кончаю муть, перехожу к «технической» и практической стороне дела.
Читать дальше →

Это должен знать каждый

Reading time3 min
Views83K
Спрос на Android-разработчиков весьма велик сейчас. Я решил подготовить список того, что нужно знать каждому разработчику под эту платформу. Это не только то, что вас могут спросить на собседовании, а весь спектр знаний, который скорее всего пригодится в работе. Бонусом идет пара интерсных вопросов про платформу.
Читать дальше →

Не обманывайте своих заказчиков

Reading time4 min
Views37K
Это мой первый пост на Хабре, поэтому не судите строго. Я достаточно много занимаюсь не только разработкой, но и постановкой процессов, в том числе тестирования. И всегда несколько скептически относился к ручному тестированию, точнее к той его части, которая отвечает за «обеспечение работоспособности существующей фунциональности» (в простонародье регрессионное тестирование). Что же плохого в этом тестировании и почему многие компании его тогда используют? Кто интересуется ответом на эти вопросы, могут потратить еще пару минут на дальнейшее чтение.
Читать дальше →

Objective C. Практика. События

Reading time7 min
Views16K
Событийно-ориентированная логика в Objective C держится на трех китах — протоколы, notification center и key-value observing. Традиционо протоколы используются для расширения функционала базовых классов без наследования, key-value observing – для взаимодействия между визуальной и логической частью приложения, а notification center — для обработкий событий пользователя.

Естественно, все это благообразие можно спокойно использовать для построения сложных приложений. Никакой реальной необходимости в изобретении собственных велосипедов, конечно же, нет. Однако мне, как человеку пришедшему в разработку Objective C приложений из мира .NET, показалось очень неприятным то, что notification center, который я планировал использовать для событий, разраывает стек приложения, записывая произошедшее событие в очередь в UI thread, а протоколы в классическом представлении не слишком удобны, посему для удобства я решил соорудить себе механизм, который был бы гораздо больше похож на то, чем мы привыкли обходиться в мире .NET. Так родился родилась идея реализации модели множественных подписантов через специальный класс, названный AWHandlersList.

Данная статья рассчитана на программистов, которые имеют определенный опыт в создании приложений на Objective C и уже писали подобные велосипеды, либо решали похожие задачи стандартными способами. Данный вариант не является silver bullet, но показал себя как удобный механизм, минимизирующий написание кода для обарботки множеств событий с разными интерфейсами и параметрами.

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

Простой мокинг запросов к серверу + unit-тестирование блоковых коллбэков в Objective-C

Reading time3 min
Views7.2K
Зачем

1. Зачем подменять ответ сервера?
Я всегда был и буду сторонником подхода, когда каждый отвечает за свою доменную область. И скажем, если сервер с API сломался, то обнаружить это должны юнит-тесты бэк-енда, а не свалившиеся тесты моего iOS-приложения.

2. Зачем использовать блоки, почему не target-action, делегирование и так далее?
Это личное предпочтение каждого, почти во всех ситуациях разрабатываемые мной объекты будут иметь блоковые коллбэки а не вызывать методы делегата. Для меня это работает и особых проблем с этим подходом я не испытал. В конце концов, блоки — это стильно, модно, молодежно!

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

Information

Rating
Does not participate
Location
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity