Самые интересные статьи, видео и новости, связанные с iOS разработкой. Не больше трёх материалов в день. Лучшее iOS сообщество в Телеге: @iosgt Размещение рекламы: @tatiana_2209
Неплохая подборка правил и советов по проведению Code Review в команде. Часть вещей заточена на механику ревью pull request'ов на GitHub, но это не критично. Говорят еще, что нельзя оскорблять и необоснованно критиковать. Ну и ладно.
https://habrahabr.ru/company/mailru/blog/318510
#processes
Давно я Сергея Теплякова не выкладывал. Сегодня - его статья про технический долг и последствия его наличия.
http://sergeyteplyakov.blogspot.ru/2011/05/blog-post.html
#processes
Бесконечно подробный урок по использованию TDD в Swift проекте. Очень много кода и разъяснений, хороший вход для новичков не только в TDD, но и в тестирование кода вообще.
https://pawanpoudel.svbtle.com/test-driven-development-in-swift
#tdd #testing #swift
Еще вариант того, чем можно заняться на каникулах - прокачать свою систему хранения и накапливания знаний, с использованием как внутренних, так и внешних ресурсов. По моему опыту Anki не очень зашла - хотя тут возможно дело в том, что пытался делать свои карточки, и получалось у меня не очень. Зато советы с Evernote очень помогли. Отчасти благодаря им я и собрал очень большую базу материалов по разработке, которыми и делюсь в этом канале.
https://habrahabr.ru/post/240451/
#efficiency
Начнем 2017 год с крутой статьи про шесть различных моделей работы с памятью, на которых построены различные языки программирования.
http://canonical.org/~kragen/memory-models/
#memory #languages #cs
Про взлом iOS приложения Pokemon GO, а заодно и вообще про патчинг чужих приложений. Что клево - не просто включили/отключили какую-то фичу, а добавили полноценную панельку для управления фейковой локацией.
kennethpoon/hacking-the-pokemongo-ios-app-with-3-classes-4b81589a9f39#.u1ah54ju7" rel="nofollow">https://medium.com/@kennethpoon/hacking-the-pokemongo-ios-app-with-3-classes-4b81589a9f39#.u1ah54ju7
#security
Автор статьи постарался подробно ответить на вопрос "Как построить хорошую архитектуру программы?". Очень много про разные принципы, связность и связанность, критерии хорошей архитектуры и даже про вред наследования. Правда отличный материал, который стоит иногда перечитывать.
https://habrahabr.ru/post/276593/
#architecture #principles
Ну очень крутой доклад от Яндекса про использование JavaScript в iOS приложениях. Разобрали все, что нужно знать по теме - и JSCore, и плюшки WKWebView, и разные крутые демки. Даже если вы - ярый противник смешивания нативного кода и JS, посмотреть стоит - никогда не знаешь, когда тебе все-таки придется этим заниматься в боевом проекте.
https://events.yandex.ru/lib/talks/2388/
#js #webkit
Периодически просто необходимо отрывать вас, дорогие читатели, от изучения архитектуры с новым стильным названием и популярных фреймворков для расчета лэйаута, и напоминать о том, что знание основ все-таки важно. Ловите статью на тему.
http://www.skorks.com/2010/04/on-the-value-of-fundamentals-in-software-development/
#learning
Выложили очередной доклад с наших внутренних встреч RDSDataSource. Бениамин Саркисян рассказал про устройство и принципы работы статического анализатора кода OCLint, а также про то, как написать свои кастомные правила для него. У нас, к примеру, дополнительно проверяется использование модификатора assign для непримитивных свойств и copy для классов с мутабельным наследником.
https://www.youtube.com/watch?v=RJaR5mpIGxw
#tools
Если перед вами стоит вопрос, чем заняться на новогодних каникулах - почему бы не обратить внимание на машинное обучение и TensorFlow. Результаты, кстати, можно будет использовать и в iOS. Распознавание дорожных знаков, кстати, уже где-то встречал.
waleedka/traffic-sign-recognition-with-tensorflow-629dffc391a6" rel="nofollow">https://medium.com/@waleedka/traffic-sign-recognition-with-tensorflow-629dffc391a6
#machinelearning #cs
Набор практик, позволяющих сделать работу с CI/CD более веселой. Мы еще, к примеру, во время ночных сборок прогоняем статический анализатор и потом визуализируем его данные на общей доске.
https://stanfy.com/blog/making-continuous-integration-more-interesting-and-live/
#ci
На случай если вы пропустили - Apple прогнулась и заморозила требование по обязательной поддержке ATS в приложениях к концу этого года. Ребята уже не те, что раньше.
https://developer.apple.com/news/?id=12212016b
#apple
Uber попробовали VIPER, поплакали и прокачали его до чего-то под названием Riblets. Мы тут уже вовсю пытаемся его транслитерировать, получается отлично. Читайте и вбрасывайте ваше мнение в наш уютный чатик @iosgt.
https://eng.uber.com/new-rider-app/
#architecture #viper
Хорошая и емкая статья на тему организации сервисного/сетевого слоя в вашем приложении. Без дополнительных переусложнений, с нормальной разбивкой по сервисам и core-компонентам. Полезно хранить под рукой и скидывать, когда попросят.
https://www.toptal.com/ios/isolate-client-server-interaction-logic-ios
#architecture
Доклад про работу с памятью в Swift, в том числе про memory leaks и retain cycles. Без хардкора, для легкого вечернего просмотра.
https://realm.io/news/hector-matos-memory-management/
#memory #swift
Неловкий вопрос - а что вы знаете про URL? Тут целую статью нашел про его структуру, использование спецсимволов и отличия абсолютных и относительных вариантов. Узнал для себя несколько новых вещей точно.
http://www.skorks.com/2010/05/what-every-developer-should-know-about-urls/
#networking
Немного дизайнерских статей вам в мессенджер. Рассказ про алгоритм подбора идеального цвета для фона любой иконки. Если кто-то реализует в виде простой библиотеки - кидайте ссылку, поделюсь со всеми.
http://bit.ly/2i7IECk
#ui #colors
Еще один вариант начать 2017 год - с прочтения главы книги The Architecture of Open Source Applications про устройство и принципы работы llvm за авторством самого Криса Латтнера. А после этого - можно и всю книгу прочесть, там есть очень крутые истории.
http://www.aosabook.org/en/llvm.html
#llvm #architecture
Попробуйте отправить сообщение "Happy New Year!" кому-нибудь в iMessage, Apple подготовили пасхалочку.
И да, с наступающим или уже наступившим Новым годом вас! :) Нас уже 1.000, и планов на развитие самого канала и сопутствующих штук - просто море. А следующий материал - уже завтра!
На пальцах про устройство протокола авторизации OAuth 2.0 : схемы и примеры, плюсы и минусы. Не все проблемы ведь можно решить использованием уже готовой либы.
https://habrahabr.ru/company/mailru/blog/115163/
#oauth
Надеюсь, что вы, как и я, любите статьи про особенности работы с памятью. В этот раз - про то, от чего зависит воемя жизни переменной в Swift, и детально про функцию withExtendedLifetime.
https://www.cocoawithlove.com/blog/resources-releases-reentrancy.html
#swift #memory
Выступление Стаса Цыганова про использование сервис-ориентированной архитектуры в iOS. Рассказывает про основные принципы, плюсы и минусы, примеры из жизни.
https://www.youtube.com/watch?v=_kPz7MrejPA
#architecture
Эту статью я просто обязан вбросить сюда. Говорят, что у Хакинтоша все очень даже неплохо, его установка больше не сравнима с вызовом дьявола, и можно использовать топовое железо. Не знаю как для работы, но как вариант для билд-машины, возможно, очень даже хорошо. Гоняться на миниках довольно больно, а Mac Pro для CI/CD вряд ли кому-то купят.
https://habrahabr.ru/post/318164/
#macos #hardware
На случай, если вы вдруг решите попрогать на Python, а изучать новую IDE или писать код в консоли не очень хочется, можете настроить все необходимое окружение прямо в родном Xcode. А лучше все-таки поставьте себе PyCharm (и это не реклама!).
http://ericasadun.com/2016/12/04/running-python-in-xcode-step-by-step/
#python #xcode
Немного слез про новый MacBook Pro. Мопед не мой, сам не трогал, поэтому не подпишусь под обзором - но подозрительно похоже на правду.
http://oleg-l.livejournal.com/390886.html
#hardware
Очень крутое видео с описанием того, как в Spotify построены процессы разработки. Про agile, кроссфункциональные юниты, автономность, feature toggles и кучу чего еще.
https://youtu.be/Mpsn3WaI_4k
#processes #agile
Про устройство YapDatabase, ее преимущества перед CoreData и плюшки вроде extension'ов и view. Я вот прямо хочу сам использовать.
mark_koslow/introduction-to-yap-database-478d2f18880c#.fqly2w32z" rel="nofollow">https://medium.com/@mark_koslow/introduction-to-yap-database-478d2f18880c#.fqly2w32z
#libraries #persistance
Тут пишут, что техлид в команде - это от лукавого и только приносит дополнительные риски. С частью аргументов, конечно, можно согласиться, но в целом холиварненько.
http://vvgomes.com/we-dont-need-tech-leads/
#team
Facebook выпустил отчет по их работе с Open Source проектами в 2016 году. И это очень круто - время и силы, которые они в это вкладывают, просто поражают. Стоит посмотреть, чтобы хотя бы представлять себе масштаб действий.
https://code.facebook.com/posts/1058188987642144/facebook-open-source-2016-year-in-review/
#opensource