Когда уже нечего больше тестить, можно начинать покрывать тестами документацию к проекту. Ну а что, вот и решение проблемы поддержки актуальности комментариев.
https://krausefx.com/blog/writing-automated-tests-for-your-documentation
#testing
Очень много интересных статей про тесты стало попадаться в последнее время. Начнем понедельник с обсуждения того, как нужно писать асинхронные тесты, временем старта и исполнения которых действительно можно будет управлять.
https://www.cocoawithlove.com/blog/testing-actions-over-time.html
#testing
Если вы когда-нибудь интересовались, что именно происходит при нажатии Cmd+U, то есть при прогоне тестов, эта статья для вас. Детально разобрали весь процесс запуска тестов, участников процесса и все такое.
http://modocache.io/sentestingkit-how-does-it-even
#xcode #sdk #testing
Про то, как в построены процессы в iOS разработке Badoo: тесты, взаимодействие отделов, работа с Git, рефакторинг и много чего еще.
https://www.youtube.com/watch?v=_dp73fcyo2o
#processes
Бесконечно подробная статья про парсинг JSON в iOS. Куча теории, разбор часто встречающихся проблем, эксперименты и замеры производительности и надежности разных парсеров - вообще все. Однозначно в закладки, Evernote - или куда вы там статьи сохраняете.
http://seriot.ch/parsing_json.html
#networking #libraries
Минутка инди-разработчиков. Ребята из Branch собрали классный чек-лист, который помогает не зафакапить запуск нового приложения.
https://www.producthunt.com/posts/app-launch-checklist
#marketing
Написал о том, как работаем со сложными лентами контента, в которых сочетаются несколько разных типов данных.
http://etolstoy.com/2016/10/25/complex-feeds/
#architecture
Про оптимизацию времени компиляции Swift-модулей от разработчиков из Apple. Ребята прямо серьезно так решили свой блог вести, и это очень радует.
https://swift.org/blog/whole-module-optimizations/
#swift
Тепляков подытожил свой опыт парного программирования и привел примеры, в которых эта практика действительно полезна. Спойлер: все вполне ожидаемо.
http://sergeyteplyakov.blogspot.ru/2016/10/pair-programming.html
#xp
Лайтовое чтиво на пятничный вечер. Что не так с экраном блокировки в iOS 10 и почему не нужно так делать.
https://uxdesign.cc/a-critical-analysis-of-the-ios-10-lockscreen-experience-726ddfba3c1a#.csk1qkcp5
#ios #ui
Что на самом деле представляют собой брейкпойнты и как они реализованы на уровне дебаггера.
http://majantali.net/2016/10/how-breakpoints-are-set/
#tools
Выложили отчет с Rambler.iOS #8 со всеми видео, слайдами и фотоотчетом! Напоминаю, какие были темы:
- Валидация ответа сервера на JSON схемах
- Разработка системы плагинов с JSCore
- Сервис-ориентированная архитектура
- Чистые unit-тесты
https://habrahabr.ru/company/rambler-co/blog/313102/
#meetups
Рассуждения о том, что находится между двумя крайностями - плохим и отличным программистами, нормальном распределении и марафонцах.
https://lwn.net/Articles/641779/
#philosophy
Если вам нечем заняться, посмотрите серию уроков по разработке реактивных приложений с Realm. Довольно просто, и дает базовые знания по предмету.
https://realm.io/news/marin-todorov-building-reactive-apps-with-realm-episode-1-swift-ios/
#realm #swift
Очень подробный гайд по структуре файла xcconfig, его назначении и возможностях: http://bit.ly/2dEsopS
#xcode
Что ни неделя, то скандал. Про Dash и Apple все уже стали забывать, поэтому на этот раз Wordpress обвиняет неизвестную в широких кругах компанию Wix в краже их **open source** кода.
talkol/how-i-found-myself-accused-of-stealing-code-from-wordpress-a7350da9f9f2#.qbv46w6t3" rel="nofollow">https://medium.com/@talkol/how-i-found-myself-accused-of-stealing-code-from-wordpress-a7350da9f9f2#.qbv46w6t3
#opensource
Хороший доклад про безопасность iOS приложений, рассказывающий про основные существующие риски и классифицирующий их.
https://realm.io/news/tryswift-anastasiia-voitova-building-user-centric-security-model-ios-applications-swift/
#security
Немного о пользе явных зависимостей и проблемах глобального стейта.
http://misko.hevery.com/2008/08/17/singletons-are-pathological-liars/
#patterns
Обзор очень мощной библиотеки для работы с анимациями в iOS - как самописными, так и svg.
https://habrahabr.ru/post/313630/
#animation
У Линуса Торвальдса можно перенять не только крылатые фразочки для код-ревью, но и отношение к чистоте кода. Разбираем пример из одного интервью с ним и в очередной раз вспоминаем, что всегда есть пространство для улучшения - даже у тех функций, которые мы пишем уже не задумываясь. Рекомендация от @resistandbite.
bartobri/applying-the-linus-tarvolds-good-taste-coding-requirement-99749f37684a" rel="nofollow">https://medium.com/@bartobri/applying-the-linus-tarvolds-good-taste-coding-requirement-99749f37684a
#cleancode
Ускоряем компиляцию проектов путем манипуляций с dSYM.
http://holko.pl/2016/10/18/dsym-debug/
#xcode #swift
Почему DTO - это анти-ООП паттерн, а ActiveRecord - наоборот.
http://www.yegor256.com/2016/07/06/data-transfer-object.html
#patterns #oop
Есть technical debt, а есть technical knowledge debt (не нашел подходящего перевода на русский язык). О том, что это за долг, откуда он появляется и как с ним справляться, рассказывает один из основных контрибьюторов в Swift.
http://modocache.io/technical-knowledge-debt
#philosophy #learning
Как в Яндексе тестируют энергопотребление приложений - ребята уже выступали с этим докладом на митапе в Авито и заявлены в программе MBLTdev.
https://habrahabr.ru/company/yandex/blog/311046/
#tools #hardware
Несколько простых советов по обеспечению обратной совместимости со старыми версиями iOS при разработке Today Extension'ов.
https://kristina.io/backwards-compatibility-with-ios-10-today-widgets/
#sdk
Интересный анализ бинарника приложения Facebook. Особое внимание - на самое длинное название метода, предел мечты просто.
http://blog.timac.org/?p=1303
#analysis
А вы не забываете занилять созданные в тестах объекты в tearDown? Очень хороший разбор механики работы XCTest и жизненного цикла его объектов. Рекомендация от @circleRect.
http://qualitycoding.org/teardown/
#testing
Ребята из Buffer рассказали о том, почему они наконец-то решились перейти на AsyncDisplayKit. Технических деталей мало, но обещают в скором времени заопенсорсить примеры использования в их проектах.
https://overflow.buffer.com/2016/10/04/implementing-asyncdisplaykit-within-buffer-ios
#uikit #libs
Лонгрид, посвященный различным видам оверинжиниринга. Про злоупотребление дженериками, врапперами над сторонними либами и вот это вот все. Холиварненько.
rdsubhas/10-modern-software-engineering-mistakes-bc67fbef4fc8#.psucd3g9b" rel="nofollow">https://medium.com/@rdsubhas/10-modern-software-engineering-mistakes-bc67fbef4fc8#.psucd3g9b
#philosophy #patterns
Я тут недавно проводил опрос, и очень многие попросили завести отдельную группу в Telegram, где можно будет обсуждать публикуемые материалы. Я займусь этим чуть позже, так же как и другими идеями, а пока ловите список отечественных iOS-сообществ, в которых можно хорошо потрепаться:
- Slack: http://cocoadevelopers.club
- Telegram: /channel/ios_ru