Хороший доклад про безопасность iOS приложений, рассказывающий про основные существующие риски и классифицирующий их.
https://realm.io/news/tryswift-anastasiia-voitova-building-user-centric-security-model-ios-applications-swift/
#security
https://realm.io/news/tryswift-anastasiia-voitova-building-user-centric-security-model-ios-applications-swift/
#security
Очень много интересных статей про тесты стало попадаться в последнее время. Начнем понедельник с обсуждения того, как нужно писать асинхронные тесты, временем старта и исполнения которых действительно можно будет управлять.
https://www.cocoawithlove.com/blog/testing-actions-over-time.html
#testing
https://www.cocoawithlove.com/blog/testing-actions-over-time.html
#testing
Что ни неделя, то скандал. Про Dash и Apple все уже стали забывать, поэтому на этот раз Wordpress обвиняет неизвестную в широких кругах компанию Wix в краже их **open source** кода.
https://medium.com/@talkol/how-i-found-myself-accused-of-stealing-code-from-wordpress-a7350da9f9f2#.qbv46w6t3
#opensource
https://medium.com/@talkol/how-i-found-myself-accused-of-stealing-code-from-wordpress-a7350da9f9f2#.qbv46w6t3
#opensource
Medium
How I Found Myself Accused of Stealing Code from WordPress
I woke up this morning to a blast of emails and PMs from various friends, all asking what’s up with my team at Wix stealing code from…
Когда уже нечего больше тестить, можно начинать покрывать тестами документацию к проекту. Ну а что, вот и решение проблемы поддержки актуальности комментариев.
https://krausefx.com/blog/writing-automated-tests-for-your-documentation
#testing
https://krausefx.com/blog/writing-automated-tests-for-your-documentation
#testing
Разбираем академическое исследование на тему разработки расширяемых систем вообще и слоистой архитектуры в частности. В комплекте - несколько отличных цитат.
https://blog.acolyer.org/2016/10/31/designing-software-for-ease-of-extension-and-contraction/
#architecture
https://blog.acolyer.org/2016/10/31/designing-software-for-ease-of-extension-and-contraction/
#architecture
Разбираем по кирпичикам protobuf и рассматриваем его плюсы и минусы. Предупреждаю - холиварно.
https://m.habrahabr.ru/post/310032/
#networking
https://m.habrahabr.ru/post/310032/
#networking
Habr
Темная сторона protobuf
В среде разработчиков часто бытует мнение, что протокол сериализации protobuf и его реализация — это особая, выдающаяся технология, способная решить все реальные и потенциальные проблемы с...
Рассказ о том, как пытались подружить NSProxy с UIKit. Спойлер: не вышло. В общем, все как вы любите - слезки, боль и страдания.
http://mazyod.com/blog/2014/03/10/nsproxy-with-uikit/
#uikit
http://mazyod.com/blog/2014/03/10/nsproxy-with-uikit/
#uikit
Mazyod
Using NSProxy With UIKit
Introduction
К нам в Rambler&Co из далекой Германии приехал бывший коллега Илья Пучка и рассказал про устройство и основные фичи Dip - DI-фреймворка для Swift. Выглядит как отличная альтернатива этому вашему Swinject.
http://it.rambler-co.ru/events/46
#swift #opensource
http://it.rambler-co.ru/events/46
#swift #opensource
Набор полезных советов по устранению крешей в ваших приложениях. Что радует - это только первая часть материала.
http://blog.supertop.co/post/152615019837/how-not-to-crash-1
#debug
http://blog.supertop.co/post/152615019837/how-not-to-crash-1
#debug
Supertop Blog
How Not to Crash #1
Sometimes apps crash. Crashes can interrupt the user's workflow, cause data to be lost, and interfere with the background operation of an app. For developers, some of the hardest crashes to fix are...
Если вы не читали Pro Git, то эта статья поможет разобраться с тем, как устроен Git.
https://habrahabr.ru/post/313890/
#git
https://habrahabr.ru/post/313890/
#git
Хабр
Как работает Git
В этом эссе описана схема работы Git. Предполагается, что вы знакомы с Git достаточно, чтобы использовать его для контроля версий своих проектов. Эссе концентри...
А вот и долгожданный следующий шаг в развитии нашего канала. Создан отдельный чатик @iosgt, в котором можно обсуждать все публикуемые статьи, вбрасывать про то, что читать про тесты никому не интересно, холиварить и отстаивать свое единственно верное мнение.
Консольная утилита, которая помогает проверить, насколько API ваших классов соответствует стилю кода Swift 3.
https://github.com/dduan/needless/blob/master/README.md
#swift #codestyle
https://github.com/dduan/needless/blob/master/README.md
#swift #codestyle
GitHub
needless/README.md at master · dduan/needless
A utility to find needless words in Swift function names. - needless/README.md at master · dduan/needless
Тут вышла порция видео с прошедшей пару месяцев назад FrenchKit. Для затравки - доклад про оптимизацию производительности приложений.
https://www.youtube.com/watch?v=SbAZDGNAIgI
#perfomance
https://www.youtube.com/watch?v=SbAZDGNAIgI
#perfomance
YouTube
FrenchKit 2016 - Optimizing Your App’s Performance – How to Do It Right? with BRUNO VIRLET
Optimizing Your App’s Performance – How to Do It Right?
When reaching the point when the app’s performance needs to be improved, it’s easy to do it wrong. By taking a concrete example, we will walk the audience through the process of code optimization: where…
When reaching the point when the app’s performance needs to be improved, it’s easy to do it wrong. By taking a concrete example, we will walk the audience through the process of code optimization: where…
Исследование особенностей устройства NSDictionary, не теряющее со временем своей актуальности. Советую и другие статьи автора заодно посмотреть.
http://ciechanowski.me/blog/2014/04/08/exposing-nsdictionary/
#sdk
http://ciechanowski.me/blog/2014/04/08/exposing-nsdictionary/
#sdk
ciechanow.ski
Exposing NSDictionary – Bartosz Ciechanowski
Действительно ли статическая типизация позволяет писать более надежный код, или лучше использовать динамический язык и создавать больше тестов?
http://www.drmaciver.com/2016/10/static-typing-will-not-save-us-from-broken-software/
#languages
http://www.drmaciver.com/2016/10/static-typing-will-not-save-us-from-broken-software/
#languages
А мы готовы провести первый конкурс! На кону билет на конференцию MBLTdev, которая пройдет в Москве 17 ноября.
Задача довольно простая - нужно правильно ответить на шесть вопросов, затрагивающих темы, освященные в недавно опубликованных в канале статьях. Приз достанется тому, кто первым правильно овтетит на все вопросы. Итоги подведем ближе к вечеру.
Ссылка на задание: https://goo.gl/forms/JICGvCQ88Nxu85z12
И немного о конференции. В этом году вас ждет целых два потока с докладами для iOS- и Android-разработчиков, а также целый трек для UX/UI дизайнеров от преподавателей British Higher School of Art & Design in English. Вишенкой на торте станет 3-х часовой интенсив по Firebase от эксперта из Google и сессия-ревью приложений, где каждый желающий сможет получить фидбэк по своим продуктам от гуру UX/UI дизайна.
#good-contest #conferences
Задача довольно простая - нужно правильно ответить на шесть вопросов, затрагивающих темы, освященные в недавно опубликованных в канале статьях. Приз достанется тому, кто первым правильно овтетит на все вопросы. Итоги подведем ближе к вечеру.
Ссылка на задание: https://goo.gl/forms/JICGvCQ88Nxu85z12
И немного о конференции. В этом году вас ждет целых два потока с докладами для iOS- и Android-разработчиков, а также целый трек для UX/UI дизайнеров от преподавателей British Higher School of Art & Design in English. Вишенкой на торте станет 3-х часовой интенсив по Firebase от эксперта из Google и сессия-ревью приложений, где каждый желающий сможет получить фидбэк по своим продуктам от гуру UX/UI дизайна.
#good-contest #conferences
Google Docs
Общая информация
Разыгрываем 1 билет на конференцию MBLTdev.
Всем спасибо за участие! С победителем связались в личке. Только 14-й ответ из 50 был правильным :)
Предлагаю сегодня утром почитать не о разработке, а о важном навыке для любого айтишника - тайм-менеджменте. Идеальное краткое изложение книги про GTD. в котором разобраны все основные понятия и принципы системы.
https://hamberg.no/gtd/
#timemanagement
https://hamberg.no/gtd/
#timemanagement
hamberg.no
GTD in 15 minutes – A Pragmatic Guide to Getting Things Done
Детальный разбор того, в каких случаях нужно использовать weak, а в каких - unowned. Отдельное внимание разделу про производительность.
https://www.uraimo.com/2016/10/27/unowned-or-weak-lifetime-and-performance/
#swift #memory
https://www.uraimo.com/2016/10/27/unowned-or-weak-lifetime-and-performance/
#swift #memory
uraimo.com
Unowned or Weak? Lifetime and Performance
While the usual explanation that when dealing with retain cycles you should choose between unowned or weak considering references lifetime is by now well known, sometimes you are still in doubt about which one you should actually use between the two and if…
А теперь немного о собеседованиях, как со стороны работодателя, так и со стороны соискателя. Подпишусь под большинством изложенных пунктов.
https://habrahabr.ru/post/314654/
#hire
https://habrahabr.ru/post/314654/
#hire
Хабр
В дцатый раз про собеседования
Про собеседования и найм сотрудников написано безумное количество книг, статей, блогов и прочих вместилищ информации. Да только информация эта до сих пор дошла н...
Используем плюшки Clang для написания "блочных" инициализаторов. Ну не совсем блочных, и не совсем инициализаторов - но выглядит удобно.
http://cocoa-dom.tumblr.com/post/56517731293/new-thing-i-do-in-code
#objc
http://cocoa-dom.tumblr.com/post/56517731293/new-thing-i-do-in-code
#objc
cocoa-dom
New thing I do in code
Ever since I found out that a GCC C extension causes a code block to return a value if you enclose it in round brackets, I've been using it in my code. What do you think?
self.bounds = ({
CGRect...
self.bounds = ({
CGRect...