HealthGPT - экспериментальное приложение для iOS, которое позволяет пользователям взаимодействовать с данными о своем здоровье, хранящимися в приложении Apple Health, используя естественный язык.
Построенное на базе CardinalKit, CardinalKitTemplateApplication и OpenAI. HealthGPT предлагает простое в расширении решение для тех, кто хочет создавать большие приложения на основе языковых моделей в экосистеме Apple Health.
Особенности:
• Интерфейс в стиле чата для удобного взаимодействия с медицинскими данными
• Интеграция с приложением Apple Health для обеспечения беспрепятственного использования своих данных
• Расширяемая архитектура на основе CardinalKit для легкой настройки
• Доступ к GPT-3.5 + GPT-4 через модуль OpenAI Swift
• Встроенная поддержка запросов о сне, количестве шагов, активной энергии, минутах тренировки, частоте сердечных сокращений и массе тела.
HealthGPT на GitHub: https://github.com/StanfordBDHG/HealthGPT
Платформа: iOS
⭐️: 690
Построенное на базе CardinalKit, CardinalKitTemplateApplication и OpenAI. HealthGPT предлагает простое в расширении решение для тех, кто хочет создавать большие приложения на основе языковых моделей в экосистеме Apple Health.
Особенности:
• Интерфейс в стиле чата для удобного взаимодействия с медицинскими данными
• Интеграция с приложением Apple Health для обеспечения беспрепятственного использования своих данных
• Расширяемая архитектура на основе CardinalKit для легкой настройки
• Доступ к GPT-3.5 + GPT-4 через модуль OpenAI Swift
• Встроенная поддержка запросов о сне, количестве шагов, активной энергии, минутах тренировки, частоте сердечных сокращений и массе тела.
HealthGPT на GitHub: https://github.com/StanfordBDHG/HealthGPT
Платформа: iOS
⭐️: 690
2 000 импортов: организация SwiftPM-модулей в моих приложениях
Как организовать Swift-модули ваших приложений для ясности и удобства с помощью скрытой (неофициальной) функции Swift. Практичное решение для приложений малого и среднего размера.
Статья: https://betterprogramming.pub/2-000-imports-organizing-my-apps-swiftpm-modules-f7c68c22ebd2
Платформа: iOS
Как организовать Swift-модули ваших приложений для ясности и удобства с помощью скрытой (неофициальной) функции Swift. Практичное решение для приложений малого и среднего размера.
Статья: https://betterprogramming.pub/2-000-imports-organizing-my-apps-swiftpm-modules-f7c68c22ebd2
Платформа: iOS
Суперзарядка вашего (Android) терминала
Вот некоторые из трюков и инструментов, которые я нашел за годы работы. Все они вам, конечно, не понадобятся, но если вы внедрите один или два из них в свой рабочий процесс, это даст вам преимущества в работе, которую вы выполняете каждый день. По мере продвижения вы найдете те инструменты, которые подходят вам как перчатка. Отсюда можно спуститься в кроличью нору, и кто знает, куда она может привести. Одно можно сказать наверняка: в командной строке вы будете чувствовать себя как дома и станете лучше.
Статья: https://medium.com/asos-techblog/supercharge-your-android-terminal-experience-c71448bf40cc
Платформа: Android
Вот некоторые из трюков и инструментов, которые я нашел за годы работы. Все они вам, конечно, не понадобятся, но если вы внедрите один или два из них в свой рабочий процесс, это даст вам преимущества в работе, которую вы выполняете каждый день. По мере продвижения вы найдете те инструменты, которые подходят вам как перчатка. Отсюда можно спуститься в кроличью нору, и кто знает, куда она может привести. Одно можно сказать наверняка: в командной строке вы будете чувствовать себя как дома и станете лучше.
Статья: https://medium.com/asos-techblog/supercharge-your-android-terminal-experience-c71448bf40cc
Платформа: Android
Видео и подкасты за неделю
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Посмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
•
(iOS Ru)
Coffee&Code #4: Анастасия Улитина (Amazon Prime Video)•
(iOS En)
Learning SwiftUI, when you already know UIKit•
(iOS En)
Discover how @MainActor work in less than 90 seconds•
(iOS En)
Understanding Swift Initializers•
(And Ru)
Собеседование Middle Android разработчика•
(And Ru)
Что нового в Android и куда нас приведут нейронки•
(And Ru)
Пишем Android-приложение с ChatGPT•
(And Ru)
Циклическая зависимость при создании объекта. Что это и как обойти•
(And En)
Главный доклад KotlinConf 2023•
(And En)
Now in Android: 81 - Android Studio Flamingo, Android 14 Beta 1, Kotlin DSL•
(And En)
How to Build a Multiline Text Field With Hint In Jetpack Compose•
(And En)
You're Collecting Your Flows Wrong In Compose•
(Dev Ru)
Intern Meetup Week. Mobile•
(Dev En)
Turn Midjourney Illustration to Vector in FigmaПосмотрели какое-то другое интересное видео? Отправьте боту -> 🧑🏻💻
AppTractor
Coffee&Code #4: Анастасия Улитина (Amazon Prime Video)
Поговорим о пути в FAANG, собеседовании и работе в Amazon , и узнаем чем все программисты Англии занимаются, когда не пишут код.
👍1🔥1
Как мы стриминг пилили, или 5 неочевидных палок в колеса от Flutter
Да, какие-то проблемы были из-за нашей неопытности и молодости технологии — мы стартовали проект в 2020 году. Были специфичные для Flutter баги. И были засады, которые неспецифичные для Flutter, но специфичны для натива — поэтому нативные разработчики, не спешите скроллить ленту дальше.
Статья: https://habr.com/ru/companies/surfstudio/articles/730340/
Платформа: кроссплатформа/Flutter
Да, какие-то проблемы были из-за нашей неопытности и молодости технологии — мы стартовали проект в 2020 году. Были специфичные для Flutter баги. И были засады, которые неспецифичные для Flutter, но специфичны для натива — поэтому нативные разработчики, не спешите скроллить ленту дальше.
Статья: https://habr.com/ru/companies/surfstudio/articles/730340/
Платформа: кроссплатформа/Flutter
FlorisBoard - это бесплатная клавиатура с открытым исходным кодом для устройств Android 7.0+. Ее цель - быть современной, удобной и настраиваемой, при этом полностью уважая конфиденциальность пользователя. В настоящее время находится в состоянии ранней бета-версии.
FlorisBoard на GitHub: https://github.com/florisboard/florisboard
Платформа: Android
⭐️: 4.1K
FlorisBoard на GitHub: https://github.com/florisboard/florisboard
Платформа: Android
⭐️: 4.1K
Схема кампуса в Android приложении
Еще на первом курсе я занялся разработкой мобильного приложения для просмотра расписания. Приложение росло, появлялись новые функции, и спустя 3 года им пользуются 5 тысяч студентов ежедневно, но в нем не хватало одной важной детали, а именно схемы территории. Институт большой, в нем 25 корпусов, и найти нужную аудиторию с первого раза непросто. А на сайте только картинки с номерами зданий. Где аудитория 24б-456? Как к ней пройти? Это приходится выяснять на месте перед парой и, возможно, опаздывать на нее. Похожие кейсы можно долго перечислять, и все они решаются интерактивной схемой, которая всегда будет под рукой.
Такие библиотеки уже есть, но все они стоят больших денег, а мое приложение денег не приносит, поэтому было принято волевое решение сделать все самостоятельно.
В статье до винтиков расскажу, как сделал кастомные карты и завернул в их android-библиотеку.
Статья: https://habr.com/ru/articles/729650/
Платформа: Android
Еще на первом курсе я занялся разработкой мобильного приложения для просмотра расписания. Приложение росло, появлялись новые функции, и спустя 3 года им пользуются 5 тысяч студентов ежедневно, но в нем не хватало одной важной детали, а именно схемы территории. Институт большой, в нем 25 корпусов, и найти нужную аудиторию с первого раза непросто. А на сайте только картинки с номерами зданий. Где аудитория 24б-456? Как к ней пройти? Это приходится выяснять на месте перед парой и, возможно, опаздывать на нее. Похожие кейсы можно долго перечислять, и все они решаются интерактивной схемой, которая всегда будет под рукой.
Такие библиотеки уже есть, но все они стоят больших денег, а мое приложение денег не приносит, поэтому было принято волевое решение сделать все самостоятельно.
В статье до винтиков расскажу, как сделал кастомные карты и завернул в их android-библиотеку.
Статья: https://habr.com/ru/articles/729650/
Платформа: Android
❤3
Как Senior iOS-инженеры оформляют код: производительность и ясность
Эта статья - результат изучения Swift Style от The Pragmatic Bookshelf и жизненного опыта. Это руководство может пригодиться iOS-инженеру любого уровня.
Статья: https://medium.com/@james.daniel.isaiah/how-senior-ios-engineers-style-code-for-performance-and-clarity-467fa2a9d1f1
Платформа: iOS
Эта статья - результат изучения Swift Style от The Pragmatic Bookshelf и жизненного опыта. Это руководство может пригодиться iOS-инженеру любого уровня.
Статья: https://medium.com/@james.daniel.isaiah/how-senior-ios-engineers-style-code-for-performance-and-clarity-467fa2a9d1f1
Платформа: iOS
Толковых каналов по iOS не так уж много. Поэтому, рекомендуем обратить внимание и подписаться на канал нашего коллеги – iOS / Swift Tips.
Там найдете: туториалы, best practices, материалы для подготовки к собесам, ну и конечно же архитектуре, куда без нее 💪
Несколько интересных постов с канала
• Swift iOS interview questions and answers
• 7 iOS Projects to Become a Better iOS Developer
• In-App Purchases in iOS
Подписывайтесь: @swift_tips
Там найдете: туториалы, best practices, материалы для подготовки к собесам, ну и конечно же архитектуре, куда без нее 💪
Несколько интересных постов с канала
• Swift iOS interview questions and answers
• 7 iOS Projects to Become a Better iOS Developer
• In-App Purchases in iOS
Подписывайтесь: @swift_tips
👍1
CustomView Android. Кольцевая диаграмма для отображения статистики
В этой статье мы пройдем все этапы реализации своей CustomView, с подробным описанием шагов, чтобы каждый смог повторить такое в своих проектах. Мы будем реализовывать кольцевую диаграмму для отображения какой-либо статистики, добавим много возможностей кастомизации диаграммы под любые виды задач, а также приправим это дело красивой анимацией отрисовки и сохранением состояния. Все будет написано на языке программирования Kotlin.
Статья: https://habr.com/ru/articles/730924/
Платформа: Android
В этой статье мы пройдем все этапы реализации своей CustomView, с подробным описанием шагов, чтобы каждый смог повторить такое в своих проектах. Мы будем реализовывать кольцевую диаграмму для отображения какой-либо статистики, добавим много возможностей кастомизации диаграммы под любые виды задач, а также приправим это дело красивой анимацией отрисовки и сохранением состояния. Все будет написано на языке программирования Kotlin.
Статья: https://habr.com/ru/articles/730924/
Платформа: Android
👍3
В тему недавнего HealthGPT, CardinalKit - фреймворк с открытым исходным кодом для быстрой разработки современных, совместимых приложений для цифрового здравоохранения. CardinalKit представляет основанный на стандартах модульный подход к созданию приложений для цифрового здравоохранения.
CardinalKit на GitHub: https://github.com/StanfordBDHG/CardinalKit
Платформа: iOS
⭐️: 39
CardinalKit на GitHub: https://github.com/StanfordBDHG/CardinalKit
Платформа: iOS
⭐️: 39
Ряд Фибоначчи и Мемоизация с примерами на Swift языке
Это удобно не только для рядов Фибоначчи, но и для всего, что связано с дорогостоящими вычислениями, которые можно сохранить, кэшировать и использовать в будущих результатах.
В этом и заключается сила мемоизации.
Она используется для самых разных вещей.
Ряд Фибоначчи - отличный пример. Когда дело доходит до реального интервью.
Я слышал, как людей просили воспроизвести ряд Фибоначчи.
Это не огромный алгоритм, он сводится к одной строчке и двум случаям: конец равен нулю и единице. Но мой совет - просто запомните эту строчку, потому что она демонстрирует такую вещь как рекурсия.
Статья: https://habr.com/ru/articles/731048/
Платформа: iOS
Это удобно не только для рядов Фибоначчи, но и для всего, что связано с дорогостоящими вычислениями, которые можно сохранить, кэшировать и использовать в будущих результатах.
В этом и заключается сила мемоизации.
Она используется для самых разных вещей.
Ряд Фибоначчи - отличный пример. Когда дело доходит до реального интервью.
Я слышал, как людей просили воспроизвести ряд Фибоначчи.
Это не огромный алгоритм, он сводится к одной строчке и двум случаям: конец равен нулю и единице. Но мой совет - просто запомните эту строчку, потому что она демонстрирует такую вещь как рекурсия.
Статья: https://habr.com/ru/articles/731048/
Платформа: iOS
Хабр
Ряд Фибоначчи и Мемоизация с примерами на Swift языке
Ряд Фибоначчи Чи́сла Фибона́ччи (вариант написания — Фибона́чи [2] ) — элементы числовой последовательности 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597,...
👍1
Circuit-фреймворк для Jetpack Compose и тестирование с Robolectric
Тестирование приложений Jetpack Compose обычно основано на использовании библиотеки Compose UI Test и создании юнит-тестов поверх библиотек мокирования или DI. Однако этот подход требует наличия эмулятора и не всегда применим для использования в конвейере CI/CD, где обычно используется Robolectric вместо настоящего Android Runtime. При этом нередко в тестах используется скриншотное тестирование (например, через использование captureToImage в Compose UI Test) и сравнение рендеров с образцом, что изначально недоступно в Robolectric из-за особенностей рендеринга. В этой статье мы рассмотрим использование библиотеки Roborazzi, которая решает эту проблему, совместно с новым подходом к архитектуре Jetpack Compose приложений, которая была предложена Slack в библиотеке Circuit.
Статья: https://habr.com/ru/companies/otus/articles/731150/
Платформа: Android
Тестирование приложений Jetpack Compose обычно основано на использовании библиотеки Compose UI Test и создании юнит-тестов поверх библиотек мокирования или DI. Однако этот подход требует наличия эмулятора и не всегда применим для использования в конвейере CI/CD, где обычно используется Robolectric вместо настоящего Android Runtime. При этом нередко в тестах используется скриншотное тестирование (например, через использование captureToImage в Compose UI Test) и сравнение рендеров с образцом, что изначально недоступно в Robolectric из-за особенностей рендеринга. В этой статье мы рассмотрим использование библиотеки Roborazzi, которая решает эту проблему, совместно с новым подходом к архитектуре Jetpack Compose приложений, которая была предложена Slack в библиотеке Circuit.
Статья: https://habr.com/ru/companies/otus/articles/731150/
Платформа: Android
Хабр
Circuit-фреймворк для Jetpack Compose и тестирование с Robolectric
Тестирование приложений Jetpack Compose обычно основано на использовании библиотеки Compose UI Test и создании юнит-тестов поверх библиотек мокирования или DI. Однако этот подход требует наличия...
Проектирование с ограничениями — Live Activity и Dynamic Island
Apple запустила виджет Live Activity в iOS 14, а в iPhone 14 Pro добавила Dynamic Island. С помощью этих обновлений Apple пытается переизобрести доставку push-уведомлений на мобильных устройствах. После запуска сразу же стало очевидно, что Swiggy, приложение для доставки еды, которое отправляет множество уведомлений о ходе доставки, идеально подходит для использования этих новых функций. И вот теперь обе функции доступны для пользователей Swiggy.
Мы были потрясены демонстрацией Apple, но, углубившись, мы поняли, что это даже нечто большее. Эта статья рассказывает о том, как мы разрабатывали новейшие виджеты для наших пользователей.
Статья: https://apptractor.ru/info/articles/proektirovanie-s-ogranicheniyami-live-activity-i-dynamic-island.html
Платформа: iOS/Дизайн и прототипирование
Apple запустила виджет Live Activity в iOS 14, а в iPhone 14 Pro добавила Dynamic Island. С помощью этих обновлений Apple пытается переизобрести доставку push-уведомлений на мобильных устройствах. После запуска сразу же стало очевидно, что Swiggy, приложение для доставки еды, которое отправляет множество уведомлений о ходе доставки, идеально подходит для использования этих новых функций. И вот теперь обе функции доступны для пользователей Swiggy.
Мы были потрясены демонстрацией Apple, но, углубившись, мы поняли, что это даже нечто большее. Эта статья рассказывает о том, как мы разрабатывали новейшие виджеты для наших пользователей.
Статья: https://apptractor.ru/info/articles/proektirovanie-s-ogranicheniyami-live-activity-i-dynamic-island.html
Платформа: iOS/Дизайн и прототипирование
This media is not supported in your browser
VIEW IN TELEGRAM
Animated Navigation Bar - панель навигации с несколькими предустановленными анимациями, написанная на Jetpack Compose.
Animated Navigation Bar на GitHub: https://github.com/exyte/AndroidAnimatedNavigationBar
Платформа: Android
⭐️: 55
Animated Navigation Bar на GitHub: https://github.com/exyte/AndroidAnimatedNavigationBar
Платформа: Android
⭐️: 55
👍2
Типизированная обработка ошибок в Kotlin
Обработка ошибок - это не rocket science. Она проста, но не всегда понятна. В этой статье рассматриваются некоторые популярные шаблоны логической обработки ошибок в языке программирования Kotlin. Мы рассмотрим практические примеры и влияние, которое они могут оказать на когнитивную сложность и сопровождаемость программы.
Статья: https://medium.com/@mitchellyuwono/typed-error-handling-in-kotlin-11ff25882880
Платформа: Android
Обработка ошибок - это не rocket science. Она проста, но не всегда понятна. В этой статье рассматриваются некоторые популярные шаблоны логической обработки ошибок в языке программирования Kotlin. Мы рассмотрим практические примеры и влияние, которое они могут оказать на когнитивную сложность и сопровождаемость программы.
Статья: https://medium.com/@mitchellyuwono/typed-error-handling-in-kotlin-11ff25882880
Платформа: Android
👍1
Оптимизация приложения для сетевой доступности
Доступность сети - важный аспект работы приложений, полагающихся на сетевые возможности. Ваши пользователи не всегда будут иметь хорошее подключение к Интернету, поэтому оптимизация приложения для плохих сетевых условий очень важна.
Мы можем использовать несколько методов для соответствующей оптимизации нашего приложения, но очень важно знать о распространенных ошибках, когда вы это делаете. После того как я сам написал несколько сетевых фреймворков и десятки приложений, пришло время поделиться с вами моими лучшими практиками, чтобы уберечь вас от ошибок, которые я совершил в прошлом.
Статья: https://www.avanderlee.com/swift/optimizing-network-reachability/
Платформа: iOS
Доступность сети - важный аспект работы приложений, полагающихся на сетевые возможности. Ваши пользователи не всегда будут иметь хорошее подключение к Интернету, поэтому оптимизация приложения для плохих сетевых условий очень важна.
Мы можем использовать несколько методов для соответствующей оптимизации нашего приложения, но очень важно знать о распространенных ошибках, когда вы это делаете. После того как я сам написал несколько сетевых фреймворков и десятки приложений, пришло время поделиться с вами моими лучшими практиками, чтобы уберечь вас от ошибок, которые я совершил в прошлом.
Статья: https://www.avanderlee.com/swift/optimizing-network-reachability/
Платформа: iOS
👍1
Как нам удалось модернизировать приложение Booking.com изнутри и снаружи
В этой статье мы рассказываем об основных моментах и выводах из нашего путешествия по модернизации кодовой базы и дизайна приложения Booking.com. Статья посвящена механике запуска такой программы, поддержанию ее в рабочем состоянии и оценке эффективности.
Статья: https://medium.com/booking-product/how-we-managed-to-modernize-the-booking-com-app-from-the-inside-and-out-ed24f0e6df0a
Платформа: разработка
В этой статье мы рассказываем об основных моментах и выводах из нашего путешествия по модернизации кодовой базы и дизайна приложения Booking.com. Статья посвящена механике запуска такой программы, поддержанию ее в рабочем состоянии и оценке эффективности.
Статья: https://medium.com/booking-product/how-we-managed-to-modernize-the-booking-com-app-from-the-inside-and-out-ed24f0e6df0a
Платформа: разработка
OpenAI - поддерживаемый сообществом разработчиков пакет Swift для упрощения работы с публичным API от OpenAI. С его помощью вы можете вести чаты, генерировать изображения, транскрибировать аудио в текст, классифицировать тексты и многое другое.
OpenAI на GitHub: https://github.com/MacPaw/OpenAI
Платформа: iOS
⭐️: 549
OpenAI на GitHub: https://github.com/MacPaw/OpenAI
Платформа: iOS
⭐️: 549
❤2👍1
Combine от А до Я
Combine - это мощный Swift-фреймворк, который помогает управлять асинхронными потоками данных, предоставляя декларативный способ обработки сложных асинхронных операций. Он является неотъемлемой частью современной iOS-разработки и может использоваться в различных сценариях, таких как сетевые запросы, пользовательский ввод и многое другое.
Вот руководство по началу работы с Combine в Swift, с примерами кода для тех, у кого нет опыта.
Статья: https://daddycoding.com/2023/04/26/combine-from-a-to-z/
Платформа: iOS
Combine - это мощный Swift-фреймворк, который помогает управлять асинхронными потоками данных, предоставляя декларативный способ обработки сложных асинхронных операций. Он является неотъемлемой частью современной iOS-разработки и может использоваться в различных сценариях, таких как сетевые запросы, пользовательский ввод и многое другое.
Вот руководство по началу работы с Combine в Swift, с примерами кода для тех, у кого нет опыта.
Статья: https://daddycoding.com/2023/04/26/combine-from-a-to-z/
Платформа: iOS