Chaquopy - SDK для работы кода Python в Android-приложениях. В нем, в том числе, есть полная интеграция со стандартной системой сборки Gradle в Android Studio, простые API для вызова кода Python из Java/Kotlin и наоборот, широкий спектр сторонних пакетов Python, включая SciPy, OpenCV, TensorFlow и многие другие.
Chaquopy на GitHub: https://github.com/chaquo/chaquopy
Платформа: Android
⭐️: 376
Chaquopy на GitHub: https://github.com/chaquo/chaquopy
Платформа: Android
⭐️: 376
GitHub
GitHub - chaquo/chaquopy: Chaquopy: the Python SDK for Android
Chaquopy: the Python SDK for Android. Contribute to chaquo/chaquopy development by creating an account on GitHub.
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Dynamic Islands - примеры кода для множества различных типов Live Activities в Dynamic Island, которые вы можете использовать в качестве вдохновения для своих собственных проектов. Автор воссоздает Острова, которые Apple представила при запуске iPhone 14 Pro. Цель состоит в том, чтобы сделать каждый тип острова настраиваемым, доступным и гибким, чтобы вы могли легко изменить его в соответствии со своими потребностями.
Dynamic Islands на GitHub: https://github.com/jordibruin/Dynamic-Islands
Платформа: iOS
⭐️: 188
Dynamic Islands на GitHub: https://github.com/jordibruin/Dynamic-Islands
Платформа: iOS
⭐️: 188
👍1
Первое правило машинного обучения: начните без машинного обучения
Эффективное применение машинного обучения — непростая задача. Вам нужны данные. Вам нужен надежный конвейер для поддержки ваших потоков данных. И, прежде всего, вам нужна качественная разметка. В результате в большинстве случаев моя первая итерация вообще не связана с машинным обучением.
Статья: https://apptractor.ru/ml1
Платформа: машинное обучение
Эффективное применение машинного обучения — непростая задача. Вам нужны данные. Вам нужен надежный конвейер для поддержки ваших потоков данных. И, прежде всего, вам нужна качественная разметка. В результате в большинстве случаев моя первая итерация вообще не связана с машинным обучением.
Статья: https://apptractor.ru/ml1
Платформа: машинное обучение
👍1
Dotlin — это компилятор Kotlin в Dart. Цель состоит в том, чтобы интегрировать Kotlin как язык в экосистему Dart, сочетая лучшее из обоих миров: язык Kotlin и его стандартную библиотеку с экосистемой и системой сборки Dart.
Dotlin использует IR (Immediate Representation) компилятор Kotlin и на его основе генерирует исходный код Dart. Правда, на данный момент поддерживаются не все функции Kotlin.
Dotlin на GitHub: https://github.com/dotlin-org/dotlin
Платформа: кроссплатформа
⭐️: 128
Dotlin использует IR (Immediate Representation) компилятор Kotlin и на его основе генерирует исходный код Dart. Правда, на данный момент поддерживаются не все функции Kotlin.
Dotlin на GitHub: https://github.com/dotlin-org/dotlin
Платформа: кроссплатформа
⭐️: 128
This media is not supported in your browser
VIEW IN TELEGRAM
Koreography - легковесная библиотека анимации Compose для работы с низкоуровневым Animation API через Kotlin DSL. Она “под капотом” выполняет всю тяжелую работу по работе с корутинами, чтобы вы могли сосредоточиться на создании красивой анимации.
Koreography на GitHub: https://github.com/sagar-viradiya/koreography
Платформа: Android
⭐️: 68
Koreography на GitHub: https://github.com/sagar-viradiya/koreography
Платформа: Android
⭐️: 68
Damn Vulnerable iOS App (DVIA) v2 - это чертовски уязвимое iOS-приложение. Его основная цель — предоставить платформу энтузиастам/профессионалам в области мобильной безопасности или студентам для проверки своих навыков тестирования на проникновение. Уязвимости и решения, описанные в этом приложении, протестированы до iOS 11. Текущая версия написана на Swift и имеет 15 уязвимостей, вроде небезопасного хранения данных или фишинга.
DVIA-v2 на GitHub: https://github.com/prateek147/DVIA-v2
Платформа: iOS/безопасность
⭐️: 452
DVIA-v2 на GitHub: https://github.com/prateek147/DVIA-v2
Платформа: iOS/безопасность
⭐️: 452
👍1
Travel - приложение для планирования путешествий, реализация прототипа на Jetpack Compose.
Travel на GitHub: https://github.com/cyph3rcod3r/Travel
Платформа: Android
⭐️: 59
Travel на GitHub: https://github.com/cyph3rcod3r/Travel
Платформа: Android
⭐️: 59
This media is not supported in your browser
VIEW IN TELEGRAM
DIFlowLayout — это реализация макета SwiftUI, в которой subview располагаются горизонтально и вертикально, аналогично тому, как ведет себя текст в строке.
DIFlowLayout работает, сначала группируя subview в строки на основе предлагаемой ширины контейнеров, собственного размера subview и значений интервалов. Subview, однажды сгруппированные в строки, могут быть выровнены по вертикали и горизонтали внутри своей строки.
DIFlowLayout на GitHub: https://github.com/danielinoa/DIFlowLayout
Платформа: iOS
⭐️: 5
DIFlowLayout работает, сначала группируя subview в строки на основе предлагаемой ширины контейнеров, собственного размера subview и значений интервалов. Subview, однажды сгруппированные в строки, могут быть выровнены по вертикали и горизонтали внутри своей строки.
DIFlowLayout на GitHub: https://github.com/danielinoa/DIFlowLayout
Платформа: iOS
⭐️: 5
👍1
SAD (Slack-Anti-Delete) - патч для Slack, который сохраняет сообщения, удаленные другими пользователями. Например, кто-то присылает сообщение, но тут же передумывает и удаляет его. С помощью этого патча измененный клиент все равно сохраняет сообщение и уведомляет владельца, что кто-то пытался его удалить. Плюс, это дополнительное исследование того, как работает Slack внутри.
Slack-Anti-Delete на GitHub: https://github.com/SharonBrizinov/slack-anti-delete
Платформа: разработка
⭐️: 325
Slack-Anti-Delete на GitHub: https://github.com/SharonBrizinov/slack-anti-delete
Платформа: разработка
⭐️: 325
👍2🤡1
Awesome Scalability - обновляемый организованный список чтения для создания масштабируемых, надежных и производительных систем. Концепции объясняются в статьях лучших инженеров и в заслуживающих доверия ссылках. Тематические исследования взяты из проверенных систем, которые обслуживают миллионы и миллиарды пользователей.
Разделы:
• Принципы
• Масштабируемость
• Доступность
• Стабильность
• Производительность
• Интеллектуальность
• Архитектура
• Интервью
• Организация
• Разговоры
• Книги
Awesome Scalability на GitHub: https://github.com/binhnguyennus/awesome-scalability
Платформа: архитектура
⭐️: 41K
Разделы:
• Принципы
• Масштабируемость
• Доступность
• Стабильность
• Производительность
• Интеллектуальность
• Архитектура
• Интервью
• Организация
• Разговоры
• Книги
Awesome Scalability на GitHub: https://github.com/binhnguyennus/awesome-scalability
Платформа: архитектура
⭐️: 41K
Stark - приложение для Mac, оценивающее дизайн в Figma или Sketch, находящее проблемы с доступностью (accessibility) и предлагающее для них решения. Бесплатно для нескольких проектов.
Сайт: https://www.getstark.co/
Платформа: дизайн и прототипирование
Mac App Store: https://apps.apple.com/us/app/stark-your-accessibility-hub/id1624920264
Сайт: https://www.getstark.co/
Платформа: дизайн и прототипирование
Mac App Store: https://apps.apple.com/us/app/stark-your-accessibility-hub/id1624920264
👍1
Почему мониторы контрпродуктивны для программистов
Больше мониторов не означает, что можно сделать больше работы. Особенно, если вы инженер-программист, и я объясню.
Статья: https://apptractor.ru/bigmon
Платформа: разработка
Больше мониторов не означает, что можно сделать больше работы. Особенно, если вы инженер-программист, и я объясню.
Статья: https://apptractor.ru/bigmon
Платформа: разработка
NetNewsWire - открытый бесплатный RSS, Atom, JSON ридер для macOS и iOS. Написан на Swift 5.
NetNewsWire на GitHub: https://github.com/Ranchero-Software/NetNewsWire
Платформа: iOS
⭐️: 6K
NetNewsWire на GitHub: https://github.com/Ranchero-Software/NetNewsWire
Платформа: iOS
⭐️: 6K
👍1
Whetstone - фреймворк Dependency Injection для Android, который упрощает работу с Dagger 2 используя Anvil. Whetstone предоставляет упрощенный способ подключения Dagger и Anvil в приложение для Android. Whetstone поставляется со встроенным набором компонентов (и соответствующими scope аннотациями), которые автоматически интегрируются в Android Framework. Биндинг в дочернем компоненте может иметь зависимости от любого биндинга в компоненте-предке.
Цели Whetstone:
• Упростить инфраструктуру, связанную с Dagger, для приложений Android.
• Создать стандартный набор компонентов и областей действия для упрощения настройки, но с возможностью кастомизации.
Whetstone на GitHub: https://github.com/deliveryhero/whetstone
Платформа: Android
⭐️: 111
Цели Whetstone:
• Упростить инфраструктуру, связанную с Dagger, для приложений Android.
• Создать стандартный набор компонентов и областей действия для упрощения настройки, но с возможностью кастомизации.
Whetstone на GitHub: https://github.com/deliveryhero/whetstone
Платформа: Android
⭐️: 111
Близится сезон праздников, а значит эта библиотека вам наверняка понадобиться. ConfettiSwiftUI - настраиваемая анимация конфетти на SwiftUI. В ней можно менять форму частиц, использовать эмодзи, задавать радиус и угол разлета.
ConfettiSwiftUI на GitHub: https://github.com/simibac/ConfettiSwiftUI
Платформа: iOS
⭐️: 659
ConfettiSwiftUI на GitHub: https://github.com/simibac/ConfettiSwiftUI
Платформа: iOS
⭐️: 659
Sharing - утилита (NodeJS) командной строки, которая шарит директорию или файлы для iOS или Android устройств. Без необходимости устанавливать на них дополнительное приложение.
Sharing на GitHub: https://github.com/parvardegr/sharing
Платформа: разработка
⭐️: 589
Sharing на GitHub: https://github.com/parvardegr/sharing
Платформа: разработка
⭐️: 589
Как не настоящий программист решил на досуге порешать Leetcode на Swift. Первая задача - сумма двух. Дан массив целых чисел nums и целое число target, нужно вернуть индексы двух чисел из массива, которые в сумме образуют target.
Решение
Первое приходящее на ум решение — сделать два вложенных цикла, в которых перебирать массив, поочередно складывая числа и сравнивая получившееся с целевым значением.
Вот мое решение:
Лучший результат на Leetcode:
• Время выполнения: 77 мс
• Скорость выполнения — лучше 66.47% всех решений
• Потребление памяти — лучше 90.65% решений.
Что интересного из решения я узнал:
• Break не выходит сразу из всех циклов, нужно определять внешний и из него выходить.
• Можно оптимизировать перебор хотя бы на 2 элемента, чего многие (судя по показателям) не делают даже в этом подходе.
• На самом деле результат Leetcode — плавающий и зависит от каких-то внутренних факторов. В следующий раз может быть другое время выполнения и другое потребление памяти, так что, наверное, стоит даже с одним и тем же кодом сделать несколько подходов в оценке.
Неплохо, но, очевидно, по скорости где то есть возможности для улучшения. Что можно улучшить в моем коде? Какой бы иной подход вы предложили?
Продолжение: https://apptractor.ru/twosum
Решение
Первое приходящее на ум решение — сделать два вложенных цикла, в которых перебирать массив, поочередно складывая числа и сравнивая получившееся с целевым значением.
Вот мое решение:
class Solution {
func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
var resultA = [Int]()
outerLoop: for i in 0...nums.count - 2 {
for j in (i+1)...nums.count - 1 {
// Поиск суммы
if ((nums[i] + nums[j]) == target) {
resultA.append(i)
resultA.append(j)
break outerLoop
}
}
}
return resultA
}
}
• Время выполнения: 77 мс
• Скорость выполнения — лучше 66.47% всех решений
• Потребление памяти — лучше 90.65% решений.
Что интересного из решения я узнал:
• Break не выходит сразу из всех циклов, нужно определять внешний и из него выходить.
• Можно оптимизировать перебор хотя бы на 2 элемента, чего многие (судя по показателям) не делают даже в этом подходе.
• На самом деле результат Leetcode — плавающий и зависит от каких-то внутренних факторов. В следующий раз может быть другое время выполнения и другое потребление памяти, так что, наверное, стоит даже с одним и тем же кодом сделать несколько подходов в оценке.
Неплохо, но, очевидно, по скорости где то есть возможности для улучшения. Что можно улучшить в моем коде? Какой бы иной подход вы предложили?
Продолжение: https://apptractor.ru/twosum
AppTractor
Задачи с собеседований: Leetcode — Сумма двух
Задача Дан массив целых чисел nums и целое число target, нужно вернуть индексы двух чисел из массива, которые в сумме образуют target. Каждый массив точно будет иметь ровно одно решение и нельзя использовать один и тот же элемент дважды. Вы можете вернуть…
Expandable Compose Calendar - кастомизируемый красивый календарь для Jetpack Compose проектов.
Expandable Compose Calendar на GitHub: https://github.com/mateusz800/Expandable-Compose-Calendar
Платформа: Android
⭐️: 12
Expandable Compose Calendar на GitHub: https://github.com/mateusz800/Expandable-Compose-Calendar
Платформа: Android
⭐️: 12
Готовимся к собеседованиям в западных компаниях — курсы и обучающие материалы
Тред от Евгения Мацюка, в котором он собрал различные ресурсы для подготовки к собеседованиям в западных компаниях.
Статья: https://apptractor.ru/sbstrd
Платформа: разработка/обучение/собеседование
Тред от Евгения Мацюка, в котором он собрал различные ресурсы для подготовки к собеседованиям в западных компаниях.
Статья: https://apptractor.ru/sbstrd
Платформа: разработка/обучение/собеседование
This media is not supported in your browser
VIEW IN TELEGRAM
Inject - быстрая перезагрузка (“Hot reloading”) для приложений с UIKit, AppKit и Swift. Позволяет не перекомпилировать все приложение при изменении кода, а быстро видеть обновление на конкретном экране.
Inject на GitHub: https://github.com/krzysztofzablocki/Inject
Платформа: iOS
⭐️: 1.2K
Inject на GitHub: https://github.com/krzysztofzablocki/Inject
Платформа: iOS
⭐️: 1.2K
👍2