Рубрика «iOS»

Интегрируем Copy-Paste-Detector для Swift в Xcode - 1

DRY Principle

Одним из основных мета-принципов программирования является DRY (Don’t Repeat Yourself). Суть данного мета-принципа проста и должна являться негаснущим маяком для любого разработчика. Она гласит, что в разрабатываемой системе не должно быть кусков кода, имеющих одинаковый код. Выражаясь более простым языком, в программе не должно быть копипасты!
Для начала, давайте точно определим, что будем считать за копипасту. Если в проекте если одинаковые файлы — это грубейшая копипаста. Если есть одинаковые классы с разным названием и выполняющие одно и тоже — грубейшая копипаста. Даже если 10 строк одинакового кода — это тоже является копипастой. Возможно вы возразите, что 10 строк кода продублировать иногда позволительно. Из моего опыта, проект в 100000 строк вполне реально писать без подобной копипасты.
Какие же минусы несёт нам копипаста?

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

Читать полностью »

image

Привет, читатели!

Сегодня в офисе Туту.ру пройдет очередной митап iOS разработчиков. Мы организуем прямую трансляцию митапа. Если вы не смогли к нам попасть, то у вас есть шанс увидеть все online.

Программа

  • 19:00 Открытие
  • 19:15 Анимация как средство самовыражения.
    Александр Зимин
  • 20:00 Перерыв
  • 20:25 Team Lead. Структурирование мыслей.
    Николай Ашанин
  • 21:00 Перерыв
  • 21:15 Викторина
  • 21:35 Реактивный VIPER.
    Дмитрий Котенко
  • 22:00 Автепати (трансляция в личные соцсеточки)

Читать полностью »

Как написать максимально хреновый бэкенд для мобильного приложения - 1

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

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

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

Приятного чтения.

Читать полностью »

Издание Techcrunch выпустило размышления на тему того как модераторы в магазине Appstore чистят и будут чистить приложения. Нынешняя, очередная чистка магазина началась в сентябре 2016. Из 2 миллионов приложений Apple удалил несколько сот тысяч — сравнимо с тем сколько добавилось за прошлый год. Вся чистка закономерна. Убрали приложения, не совместимые с современными айфонами и клоны популярных приложений. Клоны администраторы вычищают как спам. Они предполагают, что если копии создаются по стандартному шаблону, то такие приложения рассчитаны на быстрый заработок и не предполагают будущую поддержку и обновления. Не говоря уж о паразитарном характере таких разработчиков. Новых игр и новых доходов от таких разработчиков не дождешься, а грамотные студии лишатся доходов.

Techcrunch отмечает, что специального внимания в данную чистку удостоились краткосрочные потоковые музыкальные клоны, которые транслируют пиратскую музыку и зарабатывают на этом быстрее, чем их успеют отслеживать. Кроме того, авторы обзора рассуждают на тему новых изменений Apple в рекомендациях для разработчиков приложений.

О ком заботится Apple вычищая свой AppStore - 1
Читать полностью »

Бывшие агенты АНБ, менеджеры по секретности в командах разработки, и система проверки рабочих мощнее, чем у Администрации транспортной безопасности США

Утекшая из Apple запись рассказывает, как в компании борются с утечками - 1

Запись внутреннего брифинга компании Apple, полученная в этом месяце журналом The Outline, рассказывает о том, на что готова пойти самая дорогая компания мира, чтобы предотвратить утечки информации о её новых продуктах.

Информационное совещание под названием «Останавливаем людей, раскрывающих секреты – сохраняем конфиденциальность в Apple» вели директор по глобальной безопасности Дэвид Райс, директор по всемирным расследованиям Ли Фридман, и Дженни Хьюберт, работающая в команде по глобальной безопасности передачи информации и обучению.

Согласно часовой презентации, команда глобальной безопасности Apple включает неустановленное количество следователей по всему миру, занятых предотвращением передачи информации конкурентам компании, занимающимся подделками фирмам и прессе, а также поиском и отловом источников утечек. Некоторые из этих следователей ранее работали на американские разведывательные организации типа Агентства национальной безопасности, правоохранительные агентства вроде ФБР и Секретной службы, а также в армии США.
Читать полностью »

Как PVS-Studio может помочь в поиске уязвимостей? - 1

Уязвимость в терминах компьютерной безопасности — недостаток в системе, позволяющий намеренно нарушить её целостность или вызвать неправильную работу. Как показывает практика, даже, казалось бы, незначительный баг может являться серьёзной уязвимостью. Уязвимостей можно избежать, используя различные методики валидации и верификации программного обеспечения, в том числе — статический анализ. О том, как с задачей поиска уязвимостей справляется PVS-Studio, и пойдёт речь.
Читать полностью »

Читая Хаб о разработке игр, я часто натыкаюсь на топики в духе «А вот мы делали-делали игру, конечно, она не пошла, но главное опыт, первый блин комом...» и все в таком ключе. Да я и сам грешил этим, чего уж скрывать. И знаете что? К черту это! Хочется прочитать, как у автора все получилось, про миллионы восторженных игроков, про манящие вершины топов, про то, ради чего мы и читаем «постмортемы». Чтобы черпать вдохновение, чтобы с удвоенной энергией преодолевать свои собственные трудности, в конце концов.

Механическая Коробка и моя Success Story - 1

Этим мы сегодня и займемся. Это будет рассказ о создании одной моей неоднозначной головоломки, с трудностями, победами, деньгами и прочими пикантными подробностями (для самых нетерпеливых я обвел на КДПВ сумму). Конечно, кто-то только улыбнется такому «успеху», но я считаю, что в современных реалиях, игра, сделанная 2 людьми в свободное от основной работы время, показала себя очень и очень неплохо! Но, обо всем по порядку.
Читать полностью »

image

На WWDC 2017 Apple анонсировала ARKit — SDK для работы с дополненной реальностью. Благодаря ему порог вхождения в эту технологию стал значительно ниже. Можно ожидать появления большого количества качественных игр и приложений.Читать полностью »

Туториал по AsyncDisplayKit 2.0 (Texture): автоматическая компоновка - 1

Добро пожаловать во вторую часть серии статей по AsyncDisplayKit (Texture)!

Система компоновки AsyncDisplayKit позволяет писать невероятно быстрый, декларативный код.

Помимо быстрой настройки, она автоматически адаптируется к устройству, на котором запущено приложение. Допустим, вы пытаетесь создать узел, который можно использовать во view controller приложения или в качестве popover в приложении для iPad. Если его layout будет правильно создан, вы сможете перенести узел в эту новую среду, не беспокоясь об изменении базового кода макета!

Читать полностью »

Привет!
В этом году, в апреле, мы снова участвовали на CodeFest 2017, крутейшей за Уралом конференция разработчиков, тестировщиков, дизайнеров, менеджеров проектов и продуктов (с).

На этот раз от Microsoft было несколько докладчиков — Джеффри Рихтер (Microsoft Corporation), Андрей Беленко (Microsoft) и покорный слуга (Microsoft Россия). Коллеги из команды CodeFest выложили слайды, видео докладов и отчетное видео до ката. Под катом я собрал все доклады, в которых говорили о Microsoft.

Читать полностью »