es
Feedback
Мобильный кот

Мобильный кот

Ir al canal en Telegram

Все, что считаю важным про жизнь мобильного разработчика Шкаф с материалами https://t.me/cat_with_mobile_cabinet

Mostrar más
2 652
Suscriptores
Sin datos24 horas
+87 días
Sin datos30 días
Archivo de publicaciones
@_spi - аттрибут для тех, кто пишет фреймворки. Как вы добиваетесь того, чтобы ваша библиотека содержала и общедоступный, и п
@_spi - аттрибут для тех, кто пишет фреймворки. Как вы добиваетесь того, чтобы ваша библиотека содержала и общедоступный, и приватный код? Под приватным я имею ввиду ту часть кода, которая доступна «особым» пользователям библиотеки, например сервисные функции для дебага, не нужные обычному пользователю, или какие-то скрытые функции, которые нужны вам в своем проекте, но не должны быть доступны сторонним пользователям. Обычно используют следующие варианты решения: 1) «Нет никаких приватных функций, пусть все функции будут общедоступными». Но так вы перегружаете список доступных функций, окно автодополнения и вызываете у пользователя библиотеки вопросы. 2) «Сервисные функции начинаются с _», вроде _enableDebugMode(). Итог как и в пункте 1. 3) Самый радикальный, но наиболее безопасный - выпуск нескольких версий библиотеки, одна со скрытым функционал, и одна только с общедоступным. Но есть и другой способ - аттрибут @_spi, который позволяет скрывать часть функционала вашего фреймворка и делать его доступным только при определенных условиях. Так например вы можете пометить любые функции, методы, а возможно и свойства (не знаю, не проверял) с помощью @_spi(имя), и данный элемент станет доступным пользователю только если он импортирует библиотеку с помощью конструкции ```@_spi(имя) import ВашаБиблиотека```. Пример смотрите в картинке ниже поста. Количество различных имен внутри @_spi аттрибута не ограничено. Вы можете делить таким образом функциональность на блоки и передавать пользователям те имена, которые им требуются. Обратите внимание, что нижнее подчеркивание в названии означает, что аттрибут все еще экспериментальный, правда эксперимент затянулся, а сам аттрибут довольно активно используется сообществом. SPI - System Programming Interface. Это тот же API, только «системный» или «сервисный». Почитать можно тут. Так же обратите внимание на @_spiOnly и @_spi_available по той же ссылке.

Display Control - синхронное управление яркостью внешнего дисплея и Mac Book Наверняка всем, кто использует внешний дисплей в
Display Control - синхронное управление яркостью внешнего дисплея и Mac Book Наверняка всем, кто использует внешний дисплей вместе с ноутбуком, знакома ситуация, когда вечером сел поработать, снизил яркость ноута, а монитор выжигает глаза при показе любого белого изображения. Проблема решает покупкой дорого Apple Display или некоторых моделей LG Ultrafine, с поддержкой управления яркостью, но это что-то на бохатом. Другой вариант - утилита Display Control. Бесплатно и эффективно. Висит в трее, почти не жрет ресурсов, гибко настраивается (может менять даже громкость дисплея) и просто эффективно выполняет свою задачу. Это пожалуй одна из самых полезных программулин, найденных мной за предыдущий год. Скачиваем тут Кто не любит бесплатное ПО, то есть платные аналоги: Display Buddy и Lunar #инструменты

Network Link Conditioner Теперь встроенный в 14 хкоде)
Network Link Conditioner Теперь встроенный в 14 хкоде)

NEOVIM - идеальный консольный текстовый редактор с максимальным уровнем кастомизации NeoVim - это форк хорошо известного VIM.
NEOVIM - идеальный консольный текстовый редактор с максимальным уровнем кастомизации NeoVim - это форк хорошо известного VIM. И если в вашей жизни есть что-то кроме Xcode или Android Studio, или вы просто любите используете Терминал, то вам стоит попробовать. Как было сказано в одном из обзоров - увеличение производительности особенно прочувствуют те, кто обладает десятипальцевым способом печати. В этом случае мышка совершенно не нужна (да она и не поддерживается в редакторе), а все операции производятся практически без смещения кистей. То есть вам не нужно постоянно двигать руку с клавиатуры к мышке и обратно. Звучит на самом деле интересно. А в купе с максимальным уровнем кастомизации и возможностями iTerm + Oh My Zsh - NeoVim может стать буквально продолжением ваших пальцев. Ну а если Vim и так ваш любимый редактор, то просто попробуйте. Установка через Brew, MacPorts или самостоятельная сборка из исходников. https://github.com/neovim/neovim #инструменты

Как вам книга?
Anonymous voting

Книга Наука DevOps. Ускоряйся Сеньор кот-devops представляет вам контент не для мальчика, но мужа. Книга - кладесь знаний для
Книга Наука DevOps. Ускоряйся Сеньор кот-devops представляет вам контент не для мальчика, но мужа. Книга - кладесь знаний для начальника любого уровня и того, кто стремится им стать. О том, как организовать эффективную разработку продукта, ускорить время его доставки до пользователей, внедрить современные методологии разработки, привлечь и увлечь разработчиков. Самое ценная часть этой книги - ее практическая направленность. Все, о чем говорят авторы - это не просто личный опыт или филосовские умозаключения, это исследования, проводившиеся на протяжении нескольких лет. И пусть книга не 2022 года, но человеческая психология не меняется, а значит и принципы работы с коллективом - тоже. Самая важная мысль - если разработчик видит результаты своей работы, то работу он делает с удовольствием. Валяние в болоте, постоянные переделки, не позволяющие довести продукт до потребителя - все это отрицательно сказывается на разработчике, продукте и бизнесе в целом. #книга

Proxyman - дебаггер запросов, который делает вашу профессию интереснее. Работа с сетью - это то, что либо уже происходит с то
Proxyman - дебаггер запросов, который делает вашу профессию интереснее. Работа с сетью - это то, что либо уже происходит с тобой, либо ждет тебя в будущем (если ты только обучаешься). А уверенная работа с сетью - это обязательный навык для совершенно любого программиста. Вот ты изучил API сервера, написал прекрасный код, создал нужные структуры, подписанные на протокол Codable, далее пульнул все это в URLSession и наслаждаешься результатом. Но внезапно что-то пошло не так: то ли запрос неверный, то ли ответ кривой (что более вероятно, твой код конечно же идеален). И на этом этапе вступает в дело дебаггер сетевых запросов Proxyman, или один из его аналогов: Postman и Charles. Ты смотришь тело запроса и ответа и определяешь, что идет не так, где твой код неверно кодирует JSON. Это очень полезная тулза, которая должна быть наготове у каждого разработчика. Установка и настройка с установкой сертификатов, занимает всего пару минут, а удовольствие от использования не проходит никогда. Кстати в последнем опросе от Devcroud Proxyman вошел в том инструментов разработчика. А узнал о нем в свое время от основателя Coffee&Code Сергея и моего питерского коллеги по холдингу VK - Артема. За что им огромное спасибо.

Семантическое версионирование - человечья нумерация версий пакетов Стандартизация - это великолепно. При наличии стандарта от
Семантическое версионирование - человечья нумерация версий пакетов Стандартизация - это великолепно. При наличии стандарта от компонента всегда ожидаешь понятно и четкого поведения. Семантическое версионирование - это способ стандартизации указания версии пакета, библиотеки, фреймворка или чего-то, то имеет общедоступный API. Версия указывается в формате X.Y.Z-STATE. 🔸 X - мажорная/старшая версия пакета. Увеличиваем ее когда в пакете происходят изменения без обратной совместимости, при этом удаляем все deprecate-методы. Изменение X ведет за собой обнуление Y и Z. 🔸 Y - минорная/младшая версия пакета. Увеличиваем, когда в пакете появляется новая функциональность. Придержите коней, и не удаляйте старевшие методы, помечайте их как deprecated, тем самым вы подготовите пользователей к их удалению. 🔸 Z - версия патчка. Увеличивайте, выпуская каждый патч, исправляющий ошибки или улучшающий функциональность. 🔸 STATE - опциональная мета-информация о состоянии пакета: alpha, beta, rc и т.д. Более подробно почитать можно тут и на хабре. #пишемхорошийкод

📕 Принципы разработки программных пакетов Маттиас Нобак 😎Люблю годное чтиво по архитектурам. В каждой книге находишь уникал
📕 Принципы разработки программных пакетов Маттиас Нобак 😎Люблю годное чтиво по архитектурам. В каждой книге находишь уникальный взгляд автора и даже если согласен не со всем, то обязательно возьмешь в работу что-то и для себя, и для товарищей по цеху. «Принципы разработки» - это тот самый пример годной книги, в которой говорится о SOLID в преломление создания пакетов/библиотек. Пишите и распространяете что-то подобное? Тогда эта книга точно не будет лишней. Очень важным плюсом являются примеры кода, написанные на псевдокоде (ой, простите, это же PHP 😂), который позволяет избавиться от всего ненужного, вроде работы с типами данных и сконцентрироваться только на классах/объектах и их взаимосвязях. ⭐️В общем, хоть не со всем я согласен, но книга - мой вам рекомендасьон.⭐️ 💰Бумажную версию брал на Wildberries, оказалось там дешевле других маркетплейсов

Senior Android Developer, я тебя ищу🕵️‍♂️ Говорят, что сеньоры притягиваются 😅 Я iOS-разработчик, и в мой дружный коллектив
Senior Android Developer, я тебя ищу🕵️‍♂️ Говорят, что сеньоры притягиваются 😅 Я iOS-разработчик, и в мой дружный коллектив VK Maps нужен Android-разработчик. Если ты или один из твоих знакомых 🟢 Чувствуешь себя сеньором-помидором и желаешь реализовать весь свой потенциал и не останавливаться в развитии. 🟡 В поисках реально интересной работы. Мы создаем новый и перспективный продукт экосистемы VK 🔵 Хочешь полный пакет ништяков и конкурентную зарплату 👨🏻‍💻 От себя Проект и команда реально отличные, большое количество технологий и действительно умных и интересных людей! Нам нужен человек, который хочет и может развиваться ☺️ Пиши мне @dobbywankenoby и я расскажу подробнее. P.S. И заметь, я не HR, а разработчик в команде, я расскажу, как у нас обстоят дела на самом деле.

🕊 Вышла Xcode 14 beta 4. 🦧 Вышли новые бетки iOS, iPadOS, macOS, watchOS, tvOS и HomePod Software. Что нового, можно почита
🕊 Вышла Xcode 14 beta 4. 🦧 Вышли новые бетки iOS, iPadOS, macOS, watchOS, tvOS и HomePod Software. Что нового, можно почитать в официальных Release Notes или тут. Самое интересно - это возможность попробовать новые Live Activities API. 🐸 И вот вам свежие мануалы, как вернуться с macOS Venture обратно на Monterey и с iOS 16 на 15. Если вдруг разочаруетесь. 😱 Кстати больше не подписываются iOS и iPadOS 15.5. Даунгрейт на эту версию не возможен. 🙉 Swift Evolution дополнен «стремным» предложением по добавлению в ядро языка функции move. Частично возвращаем возможность ручного управления памятью =)

☀️ Всем доброй и продуктивной недели 😌
☀️ Всем доброй и продуктивной недели 😌

🎁 Прекрасные новости от вчера #новости Европарламент обязал Apple и Google разрешать установку приложений из сторонних магаз
🎁 Прекрасные новости от вчера #новости Европарламент обязал Apple и Google разрешать установку приложений из сторонних магазинов. Пруфы и пруфы Сомневаюсь, то функция будет доступна только на территории Евросоюза, скорее всего ждем ruStore, nashStore iOS Edition. А это в некоторой степени защита iOS-разработчиков от влияния санкций.

🕊Как оплатить доступ/книгу в условиях санкций? Меня очень радует, что наше сообщество объединяет русскоязычных разработчиков
🕊Как оплатить доступ/книгу в условиях санкций? Меня очень радует, что наше сообщество объединяет русскоязычных разработчиков по всему миру. И довольно часто я получаю вопросы по поводу оплаты доступа или книги из-за рубежа. 💳Ни для кого не секрет, что VISA и MASTECARD ушли👋, и прием международных платажей сейчас приостановлен. Я работаю над решением проблемы, и уже сейчас есть первый рабочий вариант оплаты, даже если вы проживаете за рубежом. Почитать можно тут P.S. Прорабатываем и более удобные человечьи варианты оплаты, как это было раньше. Но процесс тяжелый и долгий и для малого бизнеса не всегда подъемный.

📽Fig - бесплатный автокомплит для популярных терминалов и IDE #инструменты Fig занял почетное место в моем списке утилит, ко
📽Fig - бесплатный автокомплит для популярных терминалов и IDE #инструменты Fig занял почетное место в моем списке утилит, которыми я пользуюсь практически каждый рабочий день. 😍 Красивый, удобный, кастомизируемый интерфейс автокомплита, прекрасно работает как с Терминалом, iTerm 2, VS Code, IDE от Jatbrains, так и с bash/szh/fish. Поддержка автокомплита для git, ssh, files, docker, kubernetes, heroku, npm и многого другого. Ну и возможность писать собственные спецификации автокомплита является вишенкой на торте. Установка через brew или просто скачайте с сайта разработчика.

😁Интересно, как Apple выбирает, что добавить на панель автозаполнения текста Использовал новый «чистый» симулятор, выбрал TextEditor, прощелкал среднюю кнопку, перевел, пошел в зал на ночь в девченками 😱 ужинать

📚Книга "Типы в языках программирования" ✍️Автор Бенджамин Пирс Система типов, которая в том или ином виде присутствует в каждом языке программирования - это метод доказательства корректности программ. На протяжении книги автор введет вас в основные понятия системы типов и вместе с вами напишет собственный язык программирования, основанный на четкой математической базе. Книга позволит вам получить понимание, почему языки программирования используют разные подходы к построению системы типов, чем это хорошо и чем плохо. Личное мнение: Многое в книге и правда оказалось ОЧЕНЬ интересным! Понятие системы типов теперь для меня не пустой звук. Но давно я не встречал книги с такими требованиями к математической базе читателя. Институт окончен уже давно, поэтому приходилось постоянно возвращаться к матанализу, матлогике и другим сферам знаний, перечитывать их, пытаться воскресить знания в памяти👨‍🎓, нередко безуспешно 🙊. Не читайте книгу полностью, об этом говорит и сам автор, рассматривайте те главы, которые нужны и интересны конкретно вам. Для меня причиной покупки стала глава про Экзистенциальные типы, очень хотелось глубже понять, что это за зверь и зачем нам слово any в новом свифте. Оказалось, что в качестве подготовки перед этой главой нужно изучить еще шесть)) и началось веселье.

photo content

📄Джунам и «неключевым» специалистам стало тяжело, остальных будут выбирать: что случилось с наймом в ИТ весной 2022 года Основательница агентства NEWHR и сервиса анонимного поиска работы Geekjob, а также кофаундер образовательной площадки docrecruiting.ru Кира Кузьменко рассказала vc.ru, куда двинулись специалисты и зачем занижают грейды, где готовы нанимать русских и для чего всё-таки надо было учиться говорить на английском. Перейти к статье ✅Отдельного внимания заслуживает вот эта табличка с текущей ситуацией найма в различных компаниях

📚 Книга Swift. Разработка приложений под iOS на основе фреймворка UIKit (вторая книга серии) поступила из типографии. Все пр
📚 Книга Swift. Разработка приложений под iOS на основе фреймворка UIKit (вторая книга серии) поступила из типографии. Все предзаказанные экземпляры будут разосланы в ближайшие дни. Оформить заказ бумажной или электронной (PDF, EPUB) версии можно тут P.S. Книг, с учетом предзаказа, как обычно, не то, чтобы очень много в наличии 😉