Топ-6 промптов для ЛЮБОГО iOS-разработчика — ChatGPT поможет сделать все: от анимации до работы «под капотом». Вы станете в разы продуктивнее и сэкономите ДЕСЯТКИ часов работы:
• Создание кастомной анимации
• Выявляем утечки памяти
• Интегрируем фреймворк CoreData для работы с данными
• Внедряем пуш-уведомления в приложение
• Реализовываем сложный дизайн с помощью CollectionView Layout
• Создаем авто-лейаут
Применяем — здесь.
• Создание кастомной анимации
Act as: Expert iOS developer
Project Context: Adding a custom fade-in animation to a UIView.
Environment: Xcode 13, Swift 5.4.
Problem Statement: How can I create a smooth fade-in animation for a UIView?
Relevant Code:
Attempted Solutions: Tried using UIView.animate, but the transition is not
smooth.
• Выявляем утечки памяти
Act as: Expert iOS developer
Project Context: Detecting a memory leak in an Objective-C class.
Environment: Xcode 12, Objective-C.
Problem Statement: How can I find and fix a memory leak in this class?
Relevant Code:
Attempted Solutions: Used Instruments but still can't locate the leak.
• Интегрируем фреймворк CoreData для работы с данными
Act as: Expert iOS developer
Project Context: Integrating CoreData for local data storage.
Environment: Xcode 13, Swift 5.5.
Problem Statement: What's the best way to set up CoreData for an iOS app?
Attempted Solutions: Read Apple's documentation but need a simpler explanation.
• Внедряем пуш-уведомления в приложение
Act as: Expert iOS developer
Project Context: Implementing push notifications.
Environment: Xcode 12, Swift 5.3.
Problem Statement: How to properly handle push notifications for different iOS
versions?
Attempted Solutions: Followed online tutorials but facing inconsistencies.
• Реализовываем сложный дизайн с помощью CollectionView Layout
Act as: Expert iOS developer
Project Context: Creating a custom layout for a UICollectionView.
Environment: Xcode 13, Swift 5.4.
Problem Statement: How to create a horizontal scrolling collection view with
paging enabled?
Attempted Solutions: Tried subclassing UICollectionViewFlowLayout but having
alignment issues.
• Создаем авто-лейаут
Act as: Expert iOS developer
Project Context: Implementing Auto Layout programmatically in Objective-C.
Environment: Xcode 12, Objective-C.
Problem Statement: How can I properly set constraints using Auto Layout in
Objective-C?
Relevant Code:
Применяем — здесь.
🤣14👍4🔥4😁3❤1👎1🤔1💊1
Крупного бизнесмена ХАКНУЛИ с помощью Pegasus — устаревшая версия iOS помогла аферистам украсть все данные с телефона предпринимателя, пишут эксперты iVerify. Спецы также рассказали, чем опасен сейчас набирающий обороты кибершпионаж.
Чем это грозит бизнесу и как защитить свои устройства? Читаем свежий материал — тут.
Чем это грозит бизнесу и как защитить свои устройства? Читаем свежий материал — тут.
🔥5👍4😱4🤯2
⚡️OpenAI только что релизнули ChatGPT-o1 Pro — САМУЮ мощную модель на рынке прямо сейчас. Она уничтожает всех конкурентов по бенчам наглухо.
Но есть нюанс!
Подписка на этого монстра стоит космические ДВЕСТИ БАКСОВ.
Ну, что, давайте помечтаем, какие задачи мобильной разработки вы бы решали с помощью этой тулзы? А, может, кто-то ее купит? Велком в комментарии⬇️
Но есть нюанс!
Подписка на этого монстра стоит космические ДВЕСТИ БАКСОВ.
Ну, что, давайте помечтаем, какие задачи мобильной разработки вы бы решали с помощью этой тулзы? А, может, кто-то ее купит? Велком в комментарии
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12😁8👍5😱3🤔1
Media is too big
VIEW IN TELEGRAM
ГИМН Java записали хэви-металлисты из группы Nanowar of Steel — весь текст песни состоит из КОДА
Код, кстати, рабочий — его залили на GitHub.
Разрабы сегодня трясут головой под гитарное соло.
Код, кстати, рабочий — его залили на GitHub.
Разрабы сегодня трясут головой под гитарное соло.
🔥43👍8❤3👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Сеньор-разработчик: решил немного отдохнуть в тишине.
Джуны:
Джуны:
😁26👍4❤3😨1
Уменьшаем вес приложения и ускоряем его работу: 5 стратегий управления изображениями в iOS
Оптимизация работы с изображениями — задача, которую многие разработчики часто упускают из виду. Но именно эти ресурсы могут существенно влиять на производительность, размер приложения и даже на удобство командной разработки.
PNG или PDF: что выбрать?
Если вы хотите уменьшить размер приложения — юзаем PNG. Несмотря на популярность PDF-изображений из-за удобства масштабирования и поддержки в Xcode, они весят больше.
До Xcode 15 PDF при архивировании разлетались на три PNG-файла. Теперь их конвертируют в три PDF-файла — объем ресурсов взлетает кратно.
• Используйте PNG для стандартных изображений.
• PDF подходит для тех случаев, когда важна векторная графика и масштабируемость.
Сжимаем изображения
Перед добавлением изображений в проект проверьте их размер. Даже минимальная компрессия может уменьшить вес файлов на 80% без заметной потери качества.
• Попробуйте плагин TinyImage Compressor для Figma.
• В больших командах удобно автоматизировать проверку новых изображений через pre-commit hook. Если размер файла превышает 100 КБ, разработчику предлагается его сжать.
Используйте изображения подходящего размера
Каждый раз, когда вы загружаете изображение, оно занимает память пропорционально своим размерам, а не весу файла.
Например, картинка размером 6000x4000 пикселей займет 96 МБ оперативной памяти, даже если она сжимается до 5 МБ. Если ее выводить в UIImageView размером 300x200 — израсходуете слишком много ресурсов.
• Apple рекомендует использовать технику Downsampling для уменьшения размеров изображения перед выводом:
Создайте кастомный класс UIImageView, который будет предупреждать, если изображение слишком большое для текущей рамки. Так сможете быстрее обнаружить проблему и оптимизировать ее.
Дубли — в помойку
В крупных проектах часто встречаются одинаковые изображения, добавленные разными разработчиками. Это увеличивает размер приложения и создает путаницу в управлении ресурсами.
• Настройте скрипт для автоматического поиска дубликатов на Python.
• Интегрируйте проверку в CI/CD-пайплайн, чтобы регулярно получать отчеты о дубликатах.
Удаляем неиспользуемые изображения
Регулярно удаляйте файлы, которые уже не юзаете.
• FengNiao — опенсорсный инструмент, который автоматически находит неиспользуемые изображения. Его можно настроить на отправку уведомлений в командный чат — так не грохните лишнее.
Эти пять стратегий помогут уменьшить размер приложения и оптимизиваровать его производительность. Убирайте за собой — тогда и клиентам будет комфортнее юзать ваш софт.
Оптимизация работы с изображениями — задача, которую многие разработчики часто упускают из виду. Но именно эти ресурсы могут существенно влиять на производительность, размер приложения и даже на удобство командной разработки.
PNG или PDF: что выбрать?
Если вы хотите уменьшить размер приложения — юзаем PNG. Несмотря на популярность PDF-изображений из-за удобства масштабирования и поддержки в Xcode, они весят больше.
До Xcode 15 PDF при архивировании разлетались на три PNG-файла. Теперь их конвертируют в три PDF-файла — объем ресурсов взлетает кратно.
• Используйте PNG для стандартных изображений.
• PDF подходит для тех случаев, когда важна векторная графика и масштабируемость.
Сжимаем изображения
Перед добавлением изображений в проект проверьте их размер. Даже минимальная компрессия может уменьшить вес файлов на 80% без заметной потери качества.
• Попробуйте плагин TinyImage Compressor для Figma.
• В больших командах удобно автоматизировать проверку новых изображений через pre-commit hook. Если размер файла превышает 100 КБ, разработчику предлагается его сжать.
Используйте изображения подходящего размера
Каждый раз, когда вы загружаете изображение, оно занимает память пропорционально своим размерам, а не весу файла.
Например, картинка размером 6000x4000 пикселей займет 96 МБ оперативной памяти, даже если она сжимается до 5 МБ. Если ее выводить в UIImageView размером 300x200 — израсходуете слишком много ресурсов.
• Apple рекомендует использовать технику Downsampling для уменьшения размеров изображения перед выводом:
Создайте кастомный класс UIImageView, который будет предупреждать, если изображение слишком большое для текущей рамки. Так сможете быстрее обнаружить проблему и оптимизировать ее.
Дубли — в помойку
В крупных проектах часто встречаются одинаковые изображения, добавленные разными разработчиками. Это увеличивает размер приложения и создает путаницу в управлении ресурсами.
• Настройте скрипт для автоматического поиска дубликатов на Python.
• Интегрируйте проверку в CI/CD-пайплайн, чтобы регулярно получать отчеты о дубликатах.
Удаляем неиспользуемые изображения
Регулярно удаляйте файлы, которые уже не юзаете.
• FengNiao — опенсорсный инструмент, который автоматически находит неиспользуемые изображения. Его можно настроить на отправку уведомлений в командный чат — так не грохните лишнее.
Эти пять стратегий помогут уменьшить размер приложения и оптимизиваровать его производительность. Убирайте за собой — тогда и клиентам будет комфортнее юзать ваш софт.
👍12🔥8❤4❤🔥1🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Топовые мобильные приложения ИЗБАВЯТ вас от ТРЕВОГИ — блогерша составила свой топ для релакса:
• Block blast — расставляем фигуры в верном порядке и кайфуем.
• I love hue — двигаем блоки по цветам, чтобы получить идеальные и эстетичные градиенты.
• Worrydolls — рассказываем милым виртуальным куклам обо всем, что вас беспокоит.
• Soupsoup magazine — ищем скрытые предметы на картинка под релаксирующую музыку.
Сохраняем и не стрессуем перед началом рабочей недели.
• Block blast — расставляем фигуры в верном порядке и кайфуем.
• I love hue — двигаем блоки по цветам, чтобы получить идеальные и эстетичные градиенты.
• Worrydolls — рассказываем милым виртуальным куклам обо всем, что вас беспокоит.
• Soupsoup magazine — ищем скрытые предметы на картинка под релаксирующую музыку.
Сохраняем и не стрессуем перед началом рабочей недели.
🗿9🔥5👎4❤3😁2❤🔥1👍1
Запретить ВСЕ иностранные мессенджеры хочет Минцифры. Под ограничения попадают работники маркетплейсов, доставок, банков, операторов связи и государственные служащие.
Ловите список иностранных мессенджеров от Роскомнадзора:
• Telegram,
• WhatsApp,
• Discord,
• Microsoft Teams,
• Snapchat,
• Viber,
• WeChat.
Запрет на использование приложений в рабочих целях планируют ввести с 1 сентября 2026 года.
Ловите список иностранных мессенджеров от Роскомнадзора:
• Telegram,
• WhatsApp,
• Discord,
• Microsoft Teams,
• Snapchat,
• Viber,
• WeChat.
Запрет на использование приложений в рабочих целях планируют ввести с 1 сентября 2026 года.
😁30👎18👍8😭3🤪1💊1
Forwarded from Типичный программист
И мерч отправляется...
Наконец-то подводим итоги конкурса. Борьба была жаркая, но с небольшим отрывом побеждает статья «Как пополнить кошелек Steam в 2024 году», и ее автор Виктор получает мерч от Tproger!
В декабре вы тоже можете выиграть наш приз — к мерчу добавим кое-что интересное!
Выбирайте тему из Флудильни и пишите статью месяца!
#tproger #конкурс
Наконец-то подводим итоги конкурса. Борьба была жаркая, но с небольшим отрывом побеждает статья «Как пополнить кошелек Steam в 2024 году», и ее автор Виктор получает мерч от Tproger!
В декабре вы тоже можете выиграть наш приз — к мерчу добавим кое-что интересное!
Выбирайте тему из Флудильни и пишите статью месяца!
#tproger #конкурс
🔥5❤4👍3
Чтобы создавать эффективные и динамичные списки в SwiftUI, можно идти двумя путями: остановиться на базовом функционале или использовать все возможности List. Расскажу о продвинутых приемах работы с List, которые помогут сделать ваши приложения мощнее, интерфейсы — удобнее, а код — более читабельным.
List — это компонент, который отображает данные в виде вертикально прокручиваемого списка. Это мощный инструмент, позволяющий строить интерфейсы с различными уровнями сложности.
Простой пример использования:
struct SimpleListView: View {
let items = ["Apple", "Banana", "Cherry", "Date", "Elderberry"]
var body: some View {
List(items, id: \.self) { item in
Text(item)
}
}
}Теперь разберем, как улучшить работу с List с помощью кастомизации, оптимизации и тестирования.
1. Кастомизация строк списка
Как сделать строки в списке более интересными? Добавьте изображения, кнопки и другие элементы интерфейса.
struct CustomRowListView: View {
let items = ["Apple", "Banana", "Cherry", "Date", "Elderberry"]
var body: some View {
List(items, id: \.self) { item in
HStack {
Image(systemName: "leaf")
.foregroundColor(.green)
Text(item)
.font(.headline)
Spacer()
Button(action: {
print("\(item) selected")
}) {
Image(systemName: "info.circle")
}
}
}
}
}
Этот подход позволяет добавить интерактивности и визуальной привлекательности вашему приложению.
2. Группировка элементов с помощью секций
Чтобы логически разделить данные, можно использовать заголовки и нижние колонтитулы для секций.
struct SectionedListView: View {
let fruits = ["Apple", "Banana", "Cherry"]
let vegetables = ["Carrot", "Lettuce", "Tomato"]
var body: some View {
List {
Section(header: Text("Fruits")) {
ForEach(fruits, id: \.self) { item in
Text(item)
}
}
Section(header: Text("Vegetables")) {
ForEach(vegetables, id: \.self) { item in
Text(item)
}
}
}
}
}
Секции помогают пользователям легче ориентироваться в данных и находить нужное.
3. Действия по свайпу
C их помощью удалять или редачить элементы списка много проще.
struct SwipeActionListView: View {
@State private var items = ["Apple", "Banana", "Cherry", "Date", "Elderberry"]
var body: some View {
List {
ForEach(items, id: \.self) { item in
Text(item)
.swipeActions {
Button(role: .destructive) {
if let index = items.firstIndex(of: item) {
items.remove(at: index)
}
} label: {
Label("Delete", systemImage: "trash")
}
}
}
}
}
}
Эта функциональность особенно удобна для списков задач или приложений с активным взаимодействием с пользователем.
4. Поиск в списке
С этой функцией пользователь быстрее найдет нужные данные.
struct SearchableListView: View {
@State private var searchText = ""
let items = ["Apple", "Banana", "Cherry", "Date", "Elderberry"]
var filteredItems: [String] {
if searchText.isEmpty {
return items
} else {
return items.filter { $0.contains(searchText) }
}
}
var body: some View {
List(filteredItems, id: \.self) { item in
Text(item)
}
.searchable(text: $searchText)
}
}
Добавление поиска делает списки более интерактивными и удобными.
Эти техники помогут вам создавать более динамичные и удобные интерфейсы.
Кто будет внедрять фичи — велком в комменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4🥰3🤝2❤🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда уже хотел уволиться, но тебе дали новогоднюю премию.
😁34🔥15👍3
This media is not supported in your browser
VIEW IN TELEGRAM
OpenAI МЕНЯЕТ iPhone с помощью ChatGPT — Сэм Альтман с командой показали все детали звездного коллаба:
• Вместо Siri вопросы можно задавать ChatGPT.
• Нейросеть — НЕ поисковик. Она решает сложные задачи, например, составит идеальные планы на новогодние каникулы.
• ChatGPT генерит картинки за секунду.
• ИИ «кушает» картинки прямо с камеры телефона — сфоткали и залили. Нейронка обработает фото и ответит на любой вопрос.
• ChatGPT также встроили в Mac — нейросеть отслеживает все файлы и программы. Ей можно задавать вопросы.
Нейрообнову iOS 18.2 уже можно скачать — работает она из интерфейса айфона или Мака по ОДНОМУ КЛИКУ.
• Вместо Siri вопросы можно задавать ChatGPT.
• Нейросеть — НЕ поисковик. Она решает сложные задачи, например, составит идеальные планы на новогодние каникулы.
• ChatGPT генерит картинки за секунду.
• ИИ «кушает» картинки прямо с камеры телефона — сфоткали и залили. Нейронка обработает фото и ответит на любой вопрос.
• ChatGPT также встроили в Mac — нейросеть отслеживает все файлы и программы. Ей можно задавать вопросы.
Нейрообнову iOS 18.2 уже можно скачать — работает она из интерфейса айфона или Мака по ОДНОМУ КЛИКУ.
🔥9😱5👍4
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️OpenAI РЕЛИЗНУЛА ПУШКУ — голосовой помощник теперь смотрит в камеру мобильного, анализирует обстановку и дает советы.
Как это работает: ChatGPT в ЛАЙВЕ вступает в беседу, подхватывает ее контекст и участвует в ней КАК РАЗУМНЫЙ ЧЕЛОВЕК. Всех ИИ-помощников можете выбрасывать — это революция от Сэма Альтмана прямой сейчас и в вашем кармане!
Смотрите видос и держите себя в руках — нейросеть подключили через мобилку, а она запомнила ВСЕХ присутствующих по внешнему виду и именам, а потом общалась с ними, как давний кореш.
Ай да Альтман, ай да…
Как это работает: ChatGPT в ЛАЙВЕ вступает в беседу, подхватывает ее контекст и участвует в ней КАК РАЗУМНЫЙ ЧЕЛОВЕК. Всех ИИ-помощников можете выбрасывать — это революция от Сэма Альтмана прямой сейчас и в вашем кармане!
Смотрите видос и держите себя в руках — нейросеть подключили через мобилку, а она запомнила ВСЕХ присутствующих по внешнему виду и именам, а потом общалась с ними, как давний кореш.
Ай да Альтман, ай да…
🥱18🔥11🤨4👍1🤔1
Google Play для разрабов из РФ — ВСЁ. Платформа официально разорвала сотрудничество с отечественными прогерами. С 26 декабря все платежи от аккаунтов с российскими банковскими счетами перекроют.
Российские разрабы больше не будут получать доход от продаж приложений — финальную выплату гонорара назначат на 15 января. Далее платные подписки на такие приложения будут недоступны во всём мире.
Press F.
Российские разрабы больше не будут получать доход от продаж приложений — финальную выплату гонорара назначат на 15 января. Далее платные подписки на такие приложения будут недоступны во всём мире.
Press F.
😱28😁18😢9🔥4🤔4👎3😭3
Forwarded from IT Юмор
Джун: *каждый месяц меняет заставку на экране*
Сеньор:
Сеньор:
This media is not supported in your browser
VIEW IN TELEGRAM
👍37😁23🔥9❤4😭3
Самые популярные функции Intellij IDEA для разработчиков — сможете с легкостью избавиться от большей части рутинной работы и бустануть продуктивность В РАЗЫ.
Мегаконцентрат для начинающих и опытных спецов о хокеях, истории изменений и пресетах с кучей примеров и даже площадок для практики.
Взлет продуктивности любого разработчика — здесь.
Мегаконцентрат для начинающих и опытных спецов о хокеях, истории изменений и пресетах с кучей примеров и даже площадок для практики.
Взлет продуктивности любого разработчика — здесь.
😁14👍7🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Главное, что оно работает? Работает ведь?
😁37🤯7👍5🤣2😱1