Search
Write a publication
Pull to refresh
0
0
Сергей Сидоренко @elbik

User

Send message

Интересное для iOS-разработчиков за неделю

Reading time2 min
Views8.6K
Чтобы преуспевать в своем деле, разработчикам важно быть в курсе последних нововведений. За неделю накапливается несколько десятков полезных статей, видео-лекций и записей в блогах гуру iOS-разработки — только и успевай отслеживать! Чтобы в цейтноте вы не пропустили ничего важного, мы создали MBLTdev Digest, который работает уже 21 неделю.

Подписывайтесь на email рассылку, push notifications для Safari или RSS. Под катом — выпуск этой недели.



Читать выпуск

Почему я не преподаю SOLID и «принцип устранения зависимостей»

Reading time5 min
Views65K

Статья 1. Почему я не преподаю SOLID


Если вы разговариваете с кем-то, кому небезразлично качество кода, уже достаточно скоро в разговоре всплывёт SOLID — аббревиатура, помогающая разработчикам запомнить пять важных принципов объектно-ориентированного программирования:

SOLID полезен. Его разработали знатоки в нашей области. Он помогает людям рассуждать о дизайне. Помогает создавать системы, устойчивые к изменениям.

Раньше SOLID был краеугольным камнем моего набора средств проектирования. Я делал все возможное, чтобы сделать мой код как можно более SOLID. Я учил других поступать так же.

Сегодня SOLID остается для меня важным, но я больше не пытаюсь сделать мой код SOLID. Я редко упоминаю его, когда говорю про дизайн. И тем более я не учу пользоваться им разработчиков, которым хочется почерпнуть хорошие дизайнерские методы проектирования. Он больше не находится у меня под рукой в моем «ящике для инструментов». Он лежит в пыльной коробке на чердаке. Я храню его, потому что он важен, но редко им пользуюсь.
Читать дальше →

История разработки моей первой игры

Reading time6 min
Views29K
Все началось с того, что я поиграл в сверхпопулярную игру под названием «Flappy bird». Все отлично её знают и описывать игру нет смысла. Но одно сказать я все же должен: Flappy bird зацепила меня своей простотой управления и сложностью геймплея. Я мог играть в нее часами подряд и вдруг подумал — может сделать такую же захватывающую, но при этом простую в управлении и концепции игру? Это же легко, работы на 2 недели, думал я. И так все началось.
Читать дальше →

Дайджест интересных материалов для мобильного разработчика #107 (8-14 июня)

Reading time2 min
Views8.7K
На WWDC, которая шла всю неделю, Apple представила Xcode 7, сделала Swift open source, унифицировала программы для разработчиков. Но и за пределами конференции было много интересного – «уязвимость» во ВКонтакте, прием платежей в приложениях, новые Unity и Unreal.

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

Управляем зависимостями в iOS-приложениях правильно: Устройство Typhoon

Reading time8 min
Views12K


В прошлой части цикла мы познакомились с Dependency Injection фреймворком для iOS — Typhoon, и рассмотрели базовые примеры его использования в проекте Рамблер.Почта. В этот раз мы углубимся в изучение его внутреннего устройства.
Читать дальше →

Learndroid, урок №7: LayoutInflater, UI контролы, AdapterView

Reading time1 min
Views9K
Уже больше трех месяцев идет бесплатная Android онлайн-школа Learndroid, которую организуют e-Legion и Google. За это время зарегистрировалось более 20 000 учеников, а сайт школы посетили более четверти миллиона человек. Подробнее о формате можно прочитать в предыдущем посте.

Сегодня мы выкладываем седьмой урок, который подготовил Даниил dev_troy Сердюков (CTO e-Legion).



В лекции рассказано, что такое LayoutInflater, рассмотрены параметры метода inflate() и то, как происходит процесс преобразования xml в UI компоненты. Рассмотрены основные UI контролы, механика работы с ними, паттерн Listener.

Прием платежей по банковским картам в приложениях на iOS

Reading time7 min
Views30K
Вслед за разработанными ранее SDK для Windows Universal App (о чем мы уже рассказывали на Хабре) и node.js, в мае мы разработали и опубликовали SDK для iOS. О том, какие приложения на iOS могут принимать платежи через сторонний платежный сервис, зачем это нужно и как интегрировать платежный сервис в мобильное приложение, читайте под катом. А еще — вкусная свежая статистика по доле мобильных пользователей в платежном трафике PayOnline за последние 3 года. Только для жителей ХабраХабр!


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

Очередная история собственного проекта или «Мотивируй меня!»

Reading time9 min
Views14K
Эта публикация — история развития моего собственного маленького проекта от зарождения идеи до первой рабочей версии, выложенной в Google Play, которую я попытался разбавить полезными советами. Посвящается всем, кого (как и меня самого) чужой пример способен вдохновить на собственные пусть и небольшие подвиги.
Читать дальше →

Appodeal — бесплатный оптимизатор доходов от рекламы для мобильных разработчиков

Reading time4 min
Views34K


Этим постом я бы хотел официально представиться и вкратце познакомить вас с нашим проектом. Меня зовут Павел Голубев, с 2009 года я работаю в сфере разработки и публикации мобильных приложений. Наша команда в свое время запустила SaaS-сервис Columbis для турагентств, позволяющий автоматизировать их деятельность. После этого я переехал в Соединенные Штаты, Сан-Франциско, и уже тут продолжил работу в сфере мобильной рекламы. В определенный момент у нас возникла потребность в платформе, которая позволила бы увеличить доход от рекламы в наших приложениях. На поиски подобного инструмента оптимизации трафика мы потратили несколько месяцев, после чего приняли решение сделать его сами. В итоге, разработка для внутренних нужд переросла в самостоятельный проект — Appodeal, в блоге которого и размещена данная публикация.

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

  • какую рекламную сеть выбрать;
  • как к ней подключиться;
  • насколько высокая заполняемость (fill rate) у этой сети;
  • насколько высокий eCPM для региона вашей аудитории в конкретной сети;
  • какой тип оплаты подходит для вас (CPI/CPM/CPC);
  • есть ли плагин для фреймворка, в котором вы ведете разработку;
  • как в конечном итоге вывести свои деньги.

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

Должны ли роботы учить детей разговаривать?

Reading time4 min
Views7.9K


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

Суть её вовсе не в том, как будут выглядеть эти самые роботы, их форма может быть любой — хоть ящик на колёсиках. Нет, всё гораздо глубже и сложнее. Обучение ребёнка речи строится по определённым алгоритмам. И эти алгоритмы не могут быть нейтральными, они всегда будут отражать культуру, идеологию, жизненные принципы, философию наконец, тех людей, кто их разрабатывает. И стоит ли доверять формирование культуры речи неизвестным людям, возможно, идеологический чуждым?
Читать дальше →

Прохождение интервью. Легендарные книги Амазона

Reading time1 min
Views14K
Привет, Хабр!

А давайте поговорим про одну из легенд Амазона — книгу «Elements of Programming Interviews: The Insiders' Guide».

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

Swift 2.0 будет с открытым кодом в конце года

Reading time1 min
Views23K
8 июня на проводимом ежегодно WWDC компания Apple анонсировала новую версию языка Swift 2.0



Как написано в блоге Swift и на странице для разработчиков на Swift, новая версия получила более высокую производительность, новое API обработки ошибок, улучшения синтаксиса языка, а также функцию проверки доступности функций Swift для целевых ОС.

На мой взгляд, самое интересное – Apple открывает код Swift. Да, Swift 2.0 — это Open Source язык программирования.
Читать дальше →

Что бы вы выбрали? Упражнение по выбору приложения из App Store

Reading time3 min
Views12K
Существует старый и очень известный слоган Apple «There’s an App for that» («для этого есть приложение»), поддерживающий идею, согласно которой люди могут найти и скачать приложение для решения любой проблемы. В App Store уже более 1,2 млн приложений и их количество продолжает расти. Каталог приложений Apple — великолепный пример правильной системы дистрибуции программ и контента. Приложения известных компаний имеют миллионы загрузок в первые же часы после попадания в каталог. Вопрос в том, как пользователи могут найти ваше приложение на бескрайних просторах App Store? В этой публикации мы попытаемся коротко рассказать об основных факторах, которые влияют на выбор пользователя.
Читать дальше →

Подборка курсов по разработке игр от Microsoft

Reading time1 min
Views35K


Разработка игр – одно из самых перспективных направлений в современном мире IT. Сегодня мы решили поделиться с вами подборкой самых востребованных, популярных и, что немаловажно, бесплатных курсов Microsoft, связанных с разработкой игр. Пять избранных курсов ждут вас под катом!
Читать дальше →

Тайм-менеджмент для разработчика

Reading time6 min
Views50K
Когда вы только начинаете работать, то у вас все ясно и понятно, задач не так много, вы представляете как с ними работать. Но со временем появляется мысль «у меня столько задач!!! что с ними делать? за что взяться?», либо просто приходит осознание, что задач накопилось очень много. В этом случае вам поможет тайм-менеджмент.

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

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

Как правильно подойти к этому процессу? Мне нравится подход в гибких методологиях разработки. Чем же они так нравятся разработчикам? Думаю, что тем, что их можно подстраивать под себя. Главная идея, из которой я предлагаю исходить — это набор правил, при этом каждый может выбирать из них те, что подходят именно ему, может дополнять, исходя из своих потребностей.

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

Для начала рассмотрим основную идею тайм-менеджмента. То есть возьмем то, что не напугает разработчика.
Читать дальше →

Мой топ-100 книг по Программированию, Компьютерам и Науке: часть 1

Reading time3 min
Views133K
Недавно сайт Fog Creek взял у меня интервью, и один из вопросов был связан с моими любимыми книгами по программированию, кодированию и разработке программ. Мне этот вопрос запомнился потому, что я давно себя считаю заядлым книжным ботаником. Книжный ботаник я потому, что безумно люблю книги о науке, компьютерах и программировании. Каждые несколько месяцев я уделяю день или два исследованию недавно изданной литературы и покупке наиболее понравившихся экземпляров. Я мог бы вечно разговаривать о своих любимых книгах. Ведь у меня их так много.

Меня настолько заинтересовал вопрос о книгах, что я решил начать новую серию статей на своём сайте catonmat о моих топ-100 книгах о программировании, программном обеспечении, науке, физике, математике и компьютерах. В каждой статье я буду размещать по пять книг, ведь разбивать огромное задачи на маленькие подзадачи — это самый простой способ их решать (GTD — get things done).

Взгляните на мою книжную полку, чтобы убедиться, что я настоящий ботаник:

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

16 причин, по которым игроки уходят из вашей игры

Reading time6 min
Views49K
image

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

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

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

Да начнется unit-тестирование (Objective-C)

Reading time10 min
Views36K
Данная статья посвящена вопросу тестирования в рамках Objective-C используя Xcode 6. Рассматриваются стандартная библиотека для тестирования и сторонняя библиотека OCMock. Опытные разработчики, возможно, не найдут здесь слишком полезной информации, тем же, кто недавно встал на этот путь — статья откроет необходимые базовые знания по написанию unit-тестов на языке Objective-C.

Для основы тестирования просьба обратиться сюда.
Для основы unit-тестирования сюда.

А теперь мы начнем изучение unit-тестирования в рамках Objective-C.
Читать дальше →

Примеры тестовых заданий для iOS-разработчиков

Reading time3 min
Views46K
Я воспринимаю тестовые задания как хороший и адекватный метод отбора людей (для противников этого мнения есть голосовалка в конце поста), ведь работодатель может оценить конкретно то, что и будет делать сотрудник за своим рабочим местом. И поэтому зачастую с энтузиазмом принимаюсь за их выполнение, не смотря на то, что делать их приходится по ночам. К тому же, задания обычно небольшие и их можно расценивать как написание прототипов — а прототипы писать я тоже люблю. В общем опыт положительный, а положительный настрой — великое дело.



Здесь я хотел бы поделиться примерами тестовых заданий от разных работодателей: маленьких и больших, зарубежных и отечественных. Названия компаний приводиться не будут. Каждый пример задания будет сопровождаться ссылкой на репозиторий где лежит мой вариант решения. С кодом этим, можно делать все, что угодно: использовать в проектах, исправлять, посылать пул реквесты.
Читать дальше →

Автоматизация ресторана: 24 интересных инструмента

Reading time8 min
Views195K


Обновлено: 29 июня 2021 года

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

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

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity