Как стать автором
Обновить
11
0
Антон Грачёв @Tomcattoff

iOS

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

Открытые курсы Android Study Jams теперь и в Москве

Время на прочтение3 мин
Количество просмотров13K
Мобильная индустрия растет с невероятной скоростью. Растет и количество заказов на разработку приложений и игр. На рынке остро не хватает молодых, талантливых и амбициозных мобильных разработчиков. В этом году у каждого из вас есть шанс стать одним из них, приняв участие в Study Jams — бесплатных курсах обучения разработке мобильных приложений на платформе Android, которые пройдут в Москве на базе коворкинг-центра «Свободное плавание» с 7 апреля по 14 мая.


Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии9

Жизнь разработчика (в картинках)

Время на прочтение1 мин
Количество просмотров65K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



Читать дальше →
Всего голосов 884: ↑700 и ↓184+516
Комментарии132

Как бросить кости без OpenGL

Время на прочтение3 мин
Количество просмотров24K
image

Необязательное вступление
Разработчики приложений под iOS зарабатывают не на собственных творениях, а на сторонних заказах. Создав себе имя славного парня, который творит чудеса с iPad-ом, рано или поздно Вы будете получать предложения от знакомых своих знакомых.
-Алло! Напиши что-нибудь под iOS.


Позвольте несколько советов.
Если, по Вашему мнению, работы более чем на две недели, отказывайтесь.
Если на неделю — соглашайтесь за $5000.
Если на 2 дня — за $1000.

Еще одно правило — чем ближе круг знакомств с заказчиком — тем выше гонорар. С близкими друзьями — 100% предоплата.
Поверьте, в этом случае число мусорных проектов резко уменьшится, а уважение к Вам резко возрастет.


Один хороший человек захотел сделать электронную книгу под iOS, коллекцию афоризмов. Фразы вылетают случайно, данные предоставлены в формате комма сепарейтед валью. С флешкой и устным ТЗ он пришел к другу-программисту. Программист оценил примерный объем работы
  • Конвертируем данные в sqlite;
  • Заводим три UIView (левый, правый и центральный);
  • В каждый UIView добавляем UITextView и UILabel;
  • Обрабатываем нажатие touchesBegin для листания афоризмов вправо-влево;
  • Добавляем кнопку — показать случайный афоризм.
  • Добавляем закладки.
  • Получаем 1000 долларов США


Работы на 2 дня, программист согласился.
Однако в ТЗ было еще одно условие — при случайном выборе афоризма по экрану должен кататься игральный кубик. Самый обыкновенный, из шести граней.
Читать дальше →
Всего голосов 59: ↑50 и ↓9+41
Комментарии22

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

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

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


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

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

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

Ruby 2.1 в деталях (Часть 3)

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

Метод #singleton_class? для Module/Class

В классы Module и Class был добавлен метод #singleton_class?, который, как и следовало ожидать, возвращает, является ли получатель мета-классом (singleton)

class Example
  singleton_class?     #=> false
  class << self
    singleton_class?   #=> true
  end
end

Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии5

waSlideMenu.js. Многоуровневое прокручивающееся меню

Время на прочтение3 мин
Количество просмотров16K
jQuery-плагин, который превращает вложенное (древовидное) меню в систему прокручивающихся меню.

Репозиторий: github.com/webasyst/waslidemenu
Попробовать: jsfiddle.net/7LnSY/
Пример: demo-ru.webasyst.com
Подробнее о плагине
Всего голосов 39: ↑28 и ↓11+17
Комментарии14

Вкладки (страницы) на одной странице на html/css с помощью :target

Время на прочтение2 мин
Количество просмотров144K
Рассмотрим один из вариантов создания нескольких страниц или вкладок (в том числе вложенных) на html и css без скриптов, списков и таблиц, на одной html странице. Только дивы, только хардкор. Подходит для небольших портфолио и элементов интерфейса. Не будьте буратинами используя это везде подряд.
Суть:

image
Читать дальше →
Всего голосов 56: ↑46 и ↓10+36
Комментарии35

Auto Layout и UIScrollView. Как его готовить?

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

В iOS 6 Apple представили замечательную возможность для вёрстки UI для iOS-приложений — Auto Layout. Но вот что удивительно, до сих пор очень немногие проекты используют эту возможность. А ведь это очень сильный инструмент, если с умом подойти к вёрстке UI, можно сэкономить очень много времени на подстраивании элементов для 3,5” и 4” экранов, портретно-ландшафтном расположении экрана и даже на универсальной вёрстке для iPhone и iPad.

И это всё не считая того, что скоро представят iPhone 6 и никто до сих пор точно не знает, какое там будет разрешение и какой экран. Лучше бы заранее подстраховаться.

В основном, тема Auto Layout довольно простая, и изучить её несложно. Но лично я столкнулся с большой проблемой при расположении элементов в UIScrollView. Я потратил немало времени и нервов на изучение того, как же правильно расположить элементы и указать размер контента для того чтобы ScrollView начал пролистываться.

Хоть и решение довольно простое, но на него не так просто выйти. В данной статье я бы хотел рассказать, как же всё-таки правильно готовить UIScrollView в Auto Layout.

Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии21

О правомерности работы физического лица с магазином App Store в РФ

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

Итак, суть статьи заключается в том, чтобы понять: можно ли в РФ физическому лицу законно получать прибыль от продаж программ в App Store? Просмотр тематических форумов с подобными вопросами привел к выводу: мнения людей на этот счет расходятся. Одни считают, что можно, другие — что такая деятельность будет квалифицироваться как незаконная предпринимательская деятельность, т.к. договор от Apple — это агентский договор и в нем нет ни слова про авторские вознаграждения, и, как следствие, нужно регистрироваться в качестве индивидуального предпринимателя (ИП).
Читать дальше →
Всего голосов 114: ↑110 и ↓4+106
Комментарии51

Чистый Android: частые ошибки портирования с iOS

Время на прочтение3 мин
Количество просмотров15K
Многие разработчики хотят выпускать свои приложения под несколько платформ. Если вы планируете адаптировать программу под Android, нужно учитывать, что разные платформы придерживаются разных правил оформления и поведения. Визуальные решения, идеально вписывающиеся в окружение одной ОС, могут выглядеть чужеродными на другой. Несомненно, подход «один дизайн — много платформ» может сэкономить приличное количество времени, но при этом нужно понимать, что приложение наверняка получится чужеродным, что может оттолкнуть пользователей. Следующие приемы помогут вам избежать наиболее частых ловушек и подводных камней.
Читать дальше →
Всего голосов 56: ↑39 и ↓17+22
Комментарии12

Если бы я делал еще один Monkey Island

Время на прочтение5 мин
Количество просмотров15K
От переводчика:
Привет Хабр! В эту пятницу я хочу поделиться с вами замечательной статьей Рона Гилберта, известного разработчика игр, программиста и продюсера. Этот человек подарил нам Monkey Island, Гайбраша Трипвуда и Пирата Призрака(зомби) Ле Чака. Думаю, что многие хабравчане провели немало часов в начале девяностых, пытаясь пройти захватывающие квесты, переполненные отличным качественным юмором. Увы, Рон не обладает правами на придуманную франшизу и год назад он поделился с читателями своего блога http://grumpygamer.com, какой бы была новая игра, если бы он взялся за ее разработку. С любезного разрешения автора, представляю перевод этой статьи вам.



Чиатать статью! Arrrrrr!
Всего голосов 43: ↑39 и ↓4+35
Комментарии17

Создание standalone библиотеки под android

Время на прочтение2 мин
Количество просмотров15K
В этой статье я расскажу как создать библиотеку, которая использует другие библиотеки и при этом уместить всё в одном jar.

Допустим мы пишем библиотеку, она использует другие библиотеки и, в частности, для примера, support library. Если бы мы использовали maven, то в pom файле просто прописали зависимости и не парились. Но что если нашу библиотеку будут использовать люди, которые не пользуются системами сборок или пользуются ant' ом?

Мы можем положить зависимости рядом с нашим jar. Но тогда неизбежны конфликты библиотек разных версий, например, если мы используем одну версию support library, а в самом приложении другая. Тогда придется руками одну из них удалять.

Можно пойти другим путем, вспомним что jar это обычный zip файл. Мы распакуем все зависимости, получим байт-код в виде .class файлов, далее компилируем код нашей библиотеки, кладем все .class файлы в одно место и собираем из них jar. Но если в приложении используются те же библиотеки что и у нас, то получим ошибку что в проекте два одинаковых класса.
Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии8

Книга Learn BlackBerry 10 App Development доступна для бесплатной загрузки

Время на прочтение1 мин
Количество просмотров4.5K
Анонсированная неделю назад книга Learn BlackBerry 10 App Development сегодня наконец-то появилась в электронном варианте и доступна для бесплатной загрузки.

Данное издание предназначено для всех желающих познакомиться с разработкой под BlackBerry 10 с использованием фреймворка Cascades. Кроме того, в ней описаны основы C++/Qt, рассказано об использовании QML и JavaScript при создании графического интерфейса программ.

image

Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

Интеграция Facebook SDK (iOS) в мобильные free-to-play игры

Время на прочтение8 мин
Количество просмотров7.9K
imageМобильный free-to-play уже практически не обходится без использования социальных сетей в играх. Социальные сети обеспечивают то, что называют виральностью (от англ. viral – вирусный, т.е. способный распространяться как вирус, от одного человека к другому), что позволяет привлекать новых игроков с минимальными затратами. В данной статье мы поделимся опытом интеграции Facebook в игры Alawar на платформе iOS.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии0

Бесплатные скринкасты для изучения Go

Время на прочтение1 мин
Количество просмотров9.6K
На сайте GoCasts.io опубликована небольшая подборка скринкастов, обучающих программированию на языке Go. Всего опубликовано три скринкаста от Алана Харпера. Приятно, что в качестве примеров выбраны не абстрактные, а самые практичные примеры из реальной жизни.

#1 – HTTP Get
Как осуществить простой HTTP-запрос с использованием пакета net/http в стандартной библиотеке Go.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Комментарии3

Скрытые возможности Xcode 5

Время на прочтение4 мин
Количество просмотров34K
Здравствуйте, уважаемые читатели Хабрахабра!

Команде Бессвязного Девелопа удалось получить корпоративный аккаунт благодаря чудотворной программе Хабрахабра по поддержке начинающих стартапов без действующей монетизации. Мы — это ребята, которые частенько устраивают трансляции разработки различных приложений за 24 и 48 часов. Сегодня мы взяли курс на создание бесплатных аналогов нужных, но платных или обвешанных рекламой программ.

Чтобы наш приветственный пост не получился «Ни о чем», сегодня я расскажу о некоторых вкусностях работы с Xcode 5, подсмотренных на iOS 7 Tech Talks. В программе вечера:

  1. Автодополнение кода: печенье, которое еще не все попробовали
  2. Edit in scope: сытный шоколадный тортик
  3. Объекты IB: назовите этот сорт клубничного желе
  4. Двойной статус-бар: подавайте шоколадный шейк охлажденным
  5. Color Blended Layers: вы неправильно наносите ромовый крем
  6. Concurrent Object Enumeration: покройте все сахарной пудрой
  7. Локализация: хватит каждый раз греть духовку

Читать дальше →
Всего голосов 98: ↑82 и ↓16+66
Комментарии58

Разработка виджета под Android

Время на прочтение6 мин
Количество просмотров43K
На Хабре уже достаточно статей о том, как разработать «hello world»-виджет для устройств на базе Android. Еще больше об этом можно почитать в сети, в том числе и на сайте Google для разработчиков, StackOverflow и других ресурсах. Казалось бы, все подробно разжевано, есть сотни примеров — зачем же писать очередную статью, когда вокруг и так достаточно информации?
Однако, когда мы начали разработку виджета, нам пришлось потратить несколько недель на то, чтобы разобраться с нюансами и реализовать проект так, как мы задумали его изначально.
Надеемся, наш опыт поможет сэкономить время на реализацию вашего виджета.
Читать дальше →
Всего голосов 53: ↑49 и ↓4+45
Комментарии20

Задачи на собеседованиях в Яндексе

Время на прочтение15 мин
Количество просмотров358K
Открытые вакансии на должность разработчика в Яндексе есть всегда. Компания развивается, и хороших программистов не хватает постоянно. И претендентов на эти должности тоже хоть отбавляй. Главная сложность – отобрать действительно подходящих кандидатов. И в этом плане Яндекс мало чем отличается от большинства крупных IT-компаний. Так что базовые принципы, описываемые в этой статье, могут быть применимы не только к Яндексу.

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

image
Читать дальше →
Всего голосов 221: ↑178 и ↓43+135
Комментарии329

Паттерны ООП в примерах для iOS

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

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


Искали тут двух русскоязычных разработчиков — на iOS и на C++ под Windows. Видел десятки выполненных тестов. Разница в знании ООП между представителями двух платформ — огромная. На C++ обычно красивый расширяемый код, как само собой разумеющееся. На Objective C картина удручающая. Почти все iOS-кандидаты не знали ООП дальше своего носа NSString'ов и AppDelegate'ов.

Понятно, что плюсы учат по Страуструпу и «банде четырёх», а Objective C — больше по туториалам и Stack Overflow. Фастфуд-обучение не оставляет места на фундаментальные вопросы… Но такой разницы я не ожидал.

Поэтому я перевёл пост, в котором даны начальные сведения о шаблонах проектирования с примерами на iOS… «начальные»? Ага, значит, будет продолжение? Нет, не будет. Дальнейшие сведения вы получите из опыта, из попыток организовать процесс написания кода с помощью паттернов. Сначала не будет получаться, вероятно, фасад здания будет торчать из дымовой трубы, но потом придёт понимание, где какие приёмы реально помогают.

Качественная разработка ПО — творческий процесс, уникальный для каждой конкретной головы. Поэтому не существует общей инструкции: if (A and (B or C)) then use Pattern_N;
Как это нет инструкции? Что же делать?
Всего голосов 77: ↑71 и ↓6+65
Комментарии50

Видео-курс по JavaScript на русском языке

Время на прочтение1 мин
Количество просмотров218K
Здравствуй, Хабр!

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



Первая лекция: Введение в JavaScript, немного истории, числа (тут есть ошибка: функция toFixed округляет значения).



Остальное – под катом.
Читать дальше →
Всего голосов 135: ↑127 и ↓8+119
Комментарии23

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность