Search
Write a publication
Pull to refresh
6
0
Сергей Петрук @SPetruk

Dev2Dev Lead at Qiwi

Send message

Auto Layout с переменным набором элементов

Reading time3 min
Views11K
В Xcode 5 компания Apple представила новую систему построения интерфейсов приложений для iOS (6+) и MAC OS X (v10.7 +) “Auto Layout” (AL) призванную заменить устаревшую “Springs & Struts” (S&S). Основываясь на задании правил (Constraints) определяющих размер и положение интерфейсных элементов, AL предоставляет значительно более широкие возможности чем S&S. Тем не менее, слабой стороной AL (помимо большей сложности) является работа с переменными наборами элементов. Сама по себе система AL вообще не поддерживает опциональные элементы, но есть способы обойти это ограничение.
Читать дальше →

Тренды iOS–разработки 2014 года

Reading time3 min
Views27K

Подходит к концу 2014 год, и сейчас самое время подвести итоги и выделить ключевые тренды в iOS разработке.

Functional Reactive Programming


Благодаря фреймворку ReactiveCocoa, новая парадигма программирования все чаще используется среди iOS разработчиков.

Отказоустойчивость, отзывчивость, ориентированность на события и масштабируемость — вот четыре принципа реактивного программирования. Подробности можете узнать в реактивном манифесте (перевод на Хабре).

Для себя я выделил следующие преимущества реактивного подхода:
  • loose coupling — потоки события позволяют уменьшить связанность между различными частями кода;
  • explicit state — состояние программы определяется набором событий, и поэтому им становится легко управлять.

В качестве альтернативы реактивному подходу рекомендую посмотреть на Futures. Есть как минимум два интересных фреймворка: PromiseKit и CollapsingFutures
Читать дальше →

Как собрать собственный фреймворк для iOS

Reading time9 min
Views16K
Среди задач мобильного разработчика, помимо самой частой (написания, собственно, приложений) периодически появляется и такая, как создание sdk.

Примерами такой задачи может быть создание sdk, использующего REST API какого-либо сервиса (реклама, аналитика, погода), библиотека реализаций алгоритмов, обработка изображений… Список практически неограничен.

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

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

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

image

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

Сети для самых маленьких. Часть десятая. Базовый MPLS

Reading time45 min
Views408K
Сеть нашей воображаемой компании linkmeup растёт. У неё есть уже магистральные линии в различных городах, клиентская база и отличный штат инженеров, выросших на цикле СДСМ.
Но всё им мало. Услуги ШПД — это хорошо и нужно, но есть ещё огромный потенциальный рынок корпоративных клиентов, которым нужен VPN.
Думали ребята над этим, ломали голову и пришли к выводу, что никак тут не обойтись без MPLS.

Если мультикаст был первой темой, которая требовала некоторого перестроения понимания IP-сетей, то, изучая MPLS, вам точно придётся забыть почти всё, что вы знали раньше — это особенный мир со своими правилами.



Сегодня в выпуске:


А начнём мы с вопроса: «Что не так с IP?»

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

Как мы открывали магазин в ТЦ МЕГА: история ошибок

Reading time17 min
Views371K
Интерес к рознице был заметен изначально — с самых первых статей на хабре и на других сайтах мы начали получать запросы на франшизу. Запросы шли со всей страны — Питер, Новосибирск, Краснодар, Ростов-на-Дону, Пермь, Хабаровск, Сочи и так далее. Даже страной дело не ограничилось — люди из Украины, Беларуси и Казахстана тоже хотели открыть у себя магазин Madrobots. Но франшиза — это в первую очередь отлаженные процессы. Как мы могли объяснять, как открыть магазины в других городах, если сами этого толком не умели?

Мы решились открыть наш магазин в большом торговом центре, и теперь готовы рассказать вам о проблемах, косяках, процессах, решениях и выводах. Заходите, под катом интересно.
Читать дальше →

Почему дешевеют акции «Яндекса» и Mail.ru и что это означает

Reading time5 min
Views42K
image

С начала 2014 года российский фондовый индекс РТС снизился на 14% до 1120,2 пункта. При этом акции российских технологических гигантов «Яндекс» и Mail.Ru Group упали в цене гораздо сильнее — ценные бумаги этих эмитентов подешевели на 35% и 37% соответственно. Аналитики, опрошенные журналистами РБК заявили о том, что подобное снижение может быть обусловлено внешними факторами.

Есть ли в текущих условиях целесообразность в покупке акций этих компаний, и если да, то как это сделать?
Читать дальше →

Как купить акции Apple, Google и Facebook в России

Reading time3 min
Views80K
image

В нашем блоге ранее уже рассматривались темы о том, как купить акции российских (на примере «Яндекса», который летом провел размещение своих бумаг на «Московской Бирже») и зарубежных технологических компаний (до, во время и после IPO).

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

Теперь ситуация улучшится — 28 ноября на Санкт-Петербургской бирже стартовали прямые торги иностранными ценными бумагами.

Чтобы купить американские акции на Санкт-Петербургской бирже необходим брокерский счет. Открыть его можно в режиме онлайн по этой ссылке.

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

О мотивации, прокрастинации, тайм-менеджменте и других модных, но бесполезных вещах

Reading time10 min
Views73K


Доброго времени суток, Хабр.

В последние годы, лично я, наблюдаю весьма сомнительную тенденцию проповедовать «успешный» образ жизни. Истории успеха, как и их опровержения, льются на нас как из рога изобилия: Интернет пестрит статьями и книгами по мотивации, рекламой тренингов «как стать успешным сферическим человеком в вакууме», «как правильно начать свой стартап и стать вторым Гейтсом\Джобсом\Цукенбергом» (нужное подчеркнуть), ТВ-каналы трубят об очередном появлении очередной компании, основанной в гараже или интернет-кафе, на IPO и о стремительном взлете акций в первый же день торгов.

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

Детекторы углов

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

  • Введение
  • Свойства особых точек
  • Детекторы углов
    • Moravec
    • Harris
    • Shi-Tomasi
    • Förstner
    • SUSAN
    • Trajkovic
    • FAST
    • CSS
    • Детектор, основанный на глобальных и локальных свойствах кривизны
    • CPDA
  • Выводы



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

Редизайн приложения РЖД: концепт

Reading time6 min
Views19K

Чем приложение неудобно в нынешнем виде и как его можно улучшить




Как-то раз один из сотрудников Redmadrobot собрался навестить бабушку, живущую в далеком городе, и установил приложение РЖД, чтобы купить билет на поезд. Увидев, что приложение поддается ему нехотя, он решил проанализировать, в чем же дело. Дизайнер Леонид Борисов перерисовал апп и объяснил логику изменений.
Читать дальше →

Автоматизация финансового учета интернет-магазина: опыт «Аудиомании»

Reading time6 min
Views12K
Исторически сложилось так, что мы в «Аудиомании» всегда уделяли значительное внимание автоматизации бизнес-процессов (на Хабре уже публиковался рассказ о нашем складе: раз, два).

Как известно, начав что-либо автоматизировать, остановиться очень сложно, поэтому изменения коснулись и других сфер деятельности компании.

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

20 самых популярных выступлений всех времен на конференции TED

Reading time3 min
Views355K
Привет, Хабр. Я знаю, что здесь уважают и любят выступления TED. Поэтому я не мог пройти мимо новости о том, что сайт ted.com после редизайна обновил плейлист «20 самых популярных выступлений на TED всех времен». Это яркий пример того, как путем послабления копирайта (все лекции TED находятся в открытом доступе, распространяются по лицензии CC, согласно которой разрешено все, кроме коммерческого использования) и организации краудсорсинга (все переводы выполняют волонтеры) можно добиться впечатляющих результатов…



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

Рейтинг составлен по количеству просмотров (в статистике учитывались данные с TED.com, Youtube, iTunes, Hulu, встроенных фреймов, количества скачиваний и т.д.)

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

Поиск работы в IT-сфере России XXI века

Reading time18 min
Views62K
image

Последнее время все труднее найти работу. Особенно такую, которая была бы для вас интересна и соответствовала вашим планам на будущее. Как получается, что специалисты, имеющие высшее образование, хороший опыт работы и знание иностранных языков, остаются без работы?
У меня много знакомых, которые или работают не по специальности, или подолгу не могут найти вообще никакую работу. А ведь их резюме включает большой опыт, в его составлении принимали участие профессионалы кадровых компаний.

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

Руководство по созданию стартапов, часть 7: почему первоначальный бизнес-план не так уж важен

Reading time4 min
Views23K
Часть 6

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

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

Как говорят военные, «никакой план битвы не выдерживает столкновения с противником». В вашем случае – с реальным миром. Поэтому для стартапа важнее поактивнее искать большой рынок и выстраивать попадание продукта в рынок, вместо того, чтобы пытаться загодя всё планировать. История успешных стартапов говорит об этом явно.
Читать дальше →

Руководство по созданию стартапов, часть 9, и Вся правда о венчурных инвесторах

Reading time5 min
Views16K
Часть 8

Руководство по созданию стартапов, часть 9: Как нанять профессионального генерального директора компании (CEO)?


Никак. Если никто из основателей стартапа не может быть CEO — немедленно продавайте компанию.

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

Вся правда о венчурных инвесторах, часть 1


Многие имеют своё мнение по поводу венчурных инвестиций. Плюсы и минусы венчурных инвесторов (ВИ), искать ли себе ВИ, у кого из них можно брать деньги, как добиться от ВИ инвестиций, являются ли ВИ опытными рисковыми профессионалами или психически неуравновешенными социопатами, ненавидящими предпринимателей…

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

Использование MagicalRecord при разработке iOS приложений

Reading time20 min
Views23K
Хабралюди, добрый день!

Сегодня Вашему вниманию хочу представить очередной перевод, не судите строго :) Надеюсь, Вам этот материал пригодится в работе.

В течение многих лет, Core Data была неотъемлемой частью многих OS X и iOS-приложений, обеспечивая сохранение и запрашивая пользовательские данные. Компания Apple тратит много усилий для того, чтобы API Core Data было проще в использовании и облегчала разработчикам процесс интегрирования в приложения.

Этот факт указывает на то, что Core Data является сложно-модифицируемой проектом. Даже если вы знаете как пользоваться Data Core, выполнение простых, ежедневных задач может показаться вам сложной и объемной работой. Хорошо, что существует MagicalRecord – независимая библиотека для Core Data, созданная MagicalPanda. А это учебное пособие научит Вас, как ускорить работу с MagicalRecord быстро и легко.

MagicalRecord – прост в использовании, хорошо разработан и популярен. Авторы проекта заявил, что основная задача MagicalRecord – очистка кода который Вам нужно писать для использования Core Data и с помощью одной простой строки кода сделать выборку данных, одновременно позволяя пользователю оптимизировать производительность. «Как это возможно?» — подумаете Вы. Это возможно благодаря удобной технологии, которая использует один и тот же шаблон для настройки, запросов и обновления Core Data. Особенностью дизайна является влияние Ruby on Rails’ системы хранения данных ActiveRecord.

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

Инвестирование для чайников

Reading time12 min
Views389K
Финансы для чайниковМногие из читателей хабра неплохо зарабатывают (я надеюсь) и имеют возможность покрывать не только текущие расходы, но и тратить деньги на что-то перспективное. Опять же, многие из нас задумываются — как отложить деньги на будущее, дабы они не «сгорели» со временем (задача минимум) и как заставить деньги делать деньги (задача среднемум средняя). И, снова, многие из нас мечтают, чтобы сбережения росли достаточно быстро, чтобы устроить себе пенсию не в 65 лет, а пораньше. Причем в идеале так, чтобы не надо было тратить все свое время на это, а заниматься любимым делом.

Этим вопросами я заинтересовался года два назад. Как оказалось, задача максимум решаема, а мечта о свободном времяпрепровождении до 60 лет вполне реальна. Более того, на Западе популярен подход «asset allocation», который позволяет тратить на вопрос инвестирования до часа в год и иметь на выходе результаты, сравнимые с профессиональными инвесторами. Причем необходимо всего лишь крепко разобраться в базовой информации и не погружаться в пучины технического и фундаментального анализа.

Как оказалось, этот подход доступен и в нашей стране, в нашей действительности. Результатами исследования я хочу поделиться с вами. Да, пока только исследования… Через 30 лет расскажу о результатах практики.

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

P. S. Почему «Сделай сам»? Потому что вы сами можете накопить себе неплохие деньги — вы, а не банки, пенсионный фонд или финансовые компании!
UPD. P. P. S. Мои размышления базируются на статье Сергея Спирина «Портфель лежебоки, или как за 12 лет увеличить капитал в 118 раз». Собственно, от него я и узнал про эту инвестиционную стратегию. Я — IT-шник, а не финансист. Посему за подробностями от эксперта — к нему!
Детали, как водится, под катом!

Введение в Size Classes в Xcode 6

Reading time6 min
Views62K
Привет всем! Сегодня хотелось бы сделать небольшое введение в такую штуку, как Size Classes. Она появилась недавно вместе с Xcode 6, документации по ней от самой Apple совсем немного.

Итак, для чего же предназначена Size Classes? Все мы знаем, что на подходе уже iPhone 6 двумя (как минимум) разными размерами дисплея (4,7 и 5,5), после чего разработчикам еще больше придется заморачиваться с версткой UI для них + само собой расширения iPad«ов. В итоге количество всех поддерживаемых экранов будет около 7 (маленький привет Android). Герой сегодняшнего дня — Size Classes — как раз и предназначен для того, что бы помочь решить данную проблему.
Читать дальше →

UICollectionView или танцы с волками

Reading time6 min
Views43K

The dream


UICollectionView — класс UIKit, появившийся в iOS 6. Строго говоря, это класс, позволяющий показывать на экране коллекцию айтемов. Структура коллекции — абсолютно произвольная, но обычно UICollectionView используется для всяких сетко-подобных контролов с ячейками, хедерами и футерами. Понимая, насколько абстрактен данный класс, разработчики Apple создали мощный механизм для создания любых лейаутов. По большому счету, даже UITableView это конкретная реализация UICollectionView. Возможности данного класса, в каком-то смысле, фантастические. Но в данной статье речь пойдет не об этом.

Ахиллесова пята разработчиков Apple — постоянное стремление делать СДК, которое будет работать «автомагически». Просто сделайте то-то и то-то, и класс «will do the right thing». К сожалению это работает далеко не всегда. И UICollectionView — яркий пример. Начиная с релиза в iOS 6 и по сегодняшний день (iOS 7.0.4) класс содержит довольно большое количество багов, с которыми очень трудно и неприятно иметь дело. Приходится угадывать, что же происходит «под капотом», и методом тыка заставлять UICollectionView работать как надо. Количество приобретенных костылей уже достигло таких размеров, что я решил поделиться известными багами и найденными решениями.

Кому интересно — милости просим под кат.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity