🥵 7 типов «сложных» разработчиков
Как найти подход к таким «сложным» типам и сделать работу в команде более эффективной и приятной? Рассказываем в статье, как с ними работать, чтобы избежать конфликтов и достичь общих целей.
Читать статью
#почитать
Как найти подход к таким «сложным» типам и сделать работу в команде более эффективной и приятной? Рассказываем в статье, как с ними работать, чтобы избежать конфликтов и достичь общих целей.
Читать статью
#почитать
👍4🔥3🤔1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👨💻 Анимация загрузки во Flutter своими руками
При разработке приложений время загрузки неизбежно. С точки зрения пользовательского опыта, наиболее важно показать пользователям, что загрузка идёт. Один из популярных подходов к информированию пользователей о том, что данные загружаются, заключается в отображении хромированного цвета с анимацией мерцания над формами, приближёнными к типу загружаемого контента. Давайте посмотрим, как легко это можно сделать с помощью Flutter.
🔎📖 Заглянем в официальную документацию
При разработке приложений время загрузки неизбежно. С точки зрения пользовательского опыта, наиболее важно показать пользователям, что загрузка идёт. Один из популярных подходов к информированию пользователей о том, что данные загружаются, заключается в отображении хромированного цвета с анимацией мерцания над формами, приближёнными к типу загружаемого контента. Давайте посмотрим, как легко это можно сделать с помощью Flutter.
🔎📖 Заглянем в официальную документацию
❤2👍2🔥1
#дайджест полезностей для мобильного разработчика
✴️ Photo Picker — получаем доступ к фотографиям в SwiftUI без запроса разрешения и сохраняя приватность пользователя.
✴️ Сложные анимации прокрутки — как создать сложную анимацию прокрутки с помощью новых API iOS 17.
✴️ Генератор стикеров WhatsApp — автор создаёт приложение на базе Dall-E 3 для генерации стикеров WhatsApp.
✴️ Анимирование View по сигналу — как запустить анимации вне области видимости View, используя Combine.
✴️ SwiftData — сортировка и фильтрация данных в SwiftUI с помощью динамических параметров.
✴️ Photo Picker — получаем доступ к фотографиям в SwiftUI без запроса разрешения и сохраняя приватность пользователя.
✴️ Сложные анимации прокрутки — как создать сложную анимацию прокрутки с помощью новых API iOS 17.
✴️ Генератор стикеров WhatsApp — автор создаёт приложение на базе Dall-E 3 для генерации стикеров WhatsApp.
✴️ Анимирование View по сигналу — как запустить анимации вне области видимости View, используя Combine.
✴️ SwiftData — сортировка и фильтрация данных в SwiftUI с помощью динамических параметров.
👍3❤2🔥1
🤔 Являются ли опциональные замыкания «сбегающими»?
func n(_ closure: (() -> Void)? = nil) {
// ...
}
👍3😁1
🛠️ «Бруклинский мост» между C++ и Kotlin
В статье рассматривается необходимость использования моста C++ в Android для тех задач, которые невозможно эффективно решить полностью на JVM, например для разработки пользовательского шифрования, создания пользовательских типов двоичных файлов, реализации межсетевого экрана.
💡 Цель — сделать приложения более стабильными за счет возможности раздельного тестирования кода на Kotlin и C++, и концепция «Бруклинского моста» призвана облегчить этот процесс.
Читать статью
#статья
В статье рассматривается необходимость использования моста C++ в Android для тех задач, которые невозможно эффективно решить полностью на JVM, например для разработки пользовательского шифрования, создания пользовательских типов двоичных файлов, реализации межсетевого экрана.
💡 Цель — сделать приложения более стабильными за счет возможности раздельного тестирования кода на Kotlin и C++, и концепция «Бруклинского моста» призвана облегчить этот процесс.
Читать статью
#статья
👍4
🔖💡 В Swift существует богатый набор методов работы с массивами, которые позволяют разработчикам эффективно манипулировать массивами. Разбираемся как они работают на примерах с эмодзи. Часть первая👇
1️⃣ Первый метод — .count
Здесь всё просто — считает количество элементов в массиве. Пример:
let a = [🔥, 💧, ☀️, ❄️]
a.count // 4
2️⃣ Второй метод — .filter
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a.filter { $0 == 🔥 }
print(b) // [🔥, 🔥]
3️⃣ Третий метод — .reversed
Такой же простой, как и первый. Возвращает обратную последовательность элементов исходной коллекции. Пример:
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a.reversed()
print(b) // [🔥, ❄️, ☀️, 💧, 🔥]
4️⃣ Четвёртый метод — .allSatisfy
Этот метод проверяет, удовлетворяют ли все элементы коллекции заданному условию. Пример:
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a..allSatisfy { $0 == 🔥 }
print(b) // false
5️⃣ Пятый метод — .contains
Метод проверяет, содержит ли коллекция определённый элемент. Пример:
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a.contains(💧)
print(b) // True
6️⃣ Шестой метод — .prefix
Метод возвращает начальный сегмент коллекции, содержащий указанное количество элементов. Пример:
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a.prefix(3)
print(b) // [🔥, 💧, ☀️]
7️⃣ Седьмой метод — .suffix
Метод похож на предыдущий, только возвращает указанное количество элементов начиная с конца коллекции. Пример:
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a.suffix(2)
print(b) // [❄️, 🔥]
8️⃣ Восьмой метод — .swapAt
Этот метод обменивает местами значения двух элементов в коллекции по их индексам. Пример:
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a.swapAt(0, 3)
print(b) // [❄️, 💧, ☀️, 🔥, 🔥]
Остальные методы разберём во второй части. Сохраняй и пользуйся📌
Здесь всё просто — считает количество элементов в массиве. Пример:
let a = [🔥, 💧, ☀️, ❄️]
a.count // 4
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a.filter { $0 == 🔥 }
print(b) // [🔥, 🔥]
Такой же простой, как и первый. Возвращает обратную последовательность элементов исходной коллекции. Пример:
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a.reversed()
print(b) // [🔥, ❄️, ☀️, 💧, 🔥]
Этот метод проверяет, удовлетворяют ли все элементы коллекции заданному условию. Пример:
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a..allSatisfy { $0 == 🔥 }
print(b) // false
Метод проверяет, содержит ли коллекция определённый элемент. Пример:
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a.contains(💧)
print(b) // True
Метод возвращает начальный сегмент коллекции, содержащий указанное количество элементов. Пример:
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a.prefix(3)
print(b) // [🔥, 💧, ☀️]
Метод похож на предыдущий, только возвращает указанное количество элементов начиная с конца коллекции. Пример:
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a.suffix(2)
print(b) // [❄️, 🔥]
Этот метод обменивает местами значения двух элементов в коллекции по их индексам. Пример:
let a = [🔥, 💧, ☀️, ❄️, 🔥]
let b = a.swapAt(0, 3)
print(b) // [❄️, 💧, ☀️, 🔥, 🔥]
Остальные методы разберём во второй части. Сохраняй и пользуйся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14😁2❤1
🚀 Новый набор на стажировки в Тинькофф
Стажировка подойдет как для студентов, там и начинающих специалистов. Среди направлений есть Android-разработчик и iOS-разработчик. 😋
На стажировке вас ждёт много интересных и сложных проектов. Стажировка не для строчки в резюме, а для старта в ИТ-карьере. 👨💻
💡 Изучайте подробности и отправляйте заявку, дедлайн — 18 декабря: https://fintech.tinkoff.ru/start/
Стажировка подойдет как для студентов, там и начинающих специалистов. Среди направлений есть Android-разработчик и iOS-разработчик. 😋
На стажировке вас ждёт много интересных и сложных проектов. Стажировка не для строчки в резюме, а для старта в ИТ-карьере. 👨💻
💡 Изучайте подробности и отправляйте заявку, дедлайн — 18 декабря: https://fintech.tinkoff.ru/start/
❤3🔥3
В Swift 6, как и в предшественниках, вероятно, будут внесены улучшения в такие области, как синтаксис языка, производительность компилятора и совместимость с различными платформами.
Основное внимание может быть уделено улучшению функций безопасности, оптимизации для ускорения компиляции кода и расширению поддержки новых платформ Apple.
📖 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1🔥1🌚1
💬 Более опытные разработчики часто жалуются, что новичкам не хватает «базы». По их мнению, в программисты идут люди без профильного образования, что ведёт к общей деградации. Правы ли они? И что представляет собой эта «база»?
Поделись своим мнением 👇
#холивар
Поделись своим мнением 👇
#холивар
👍8❤2🔥1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
⭐ FAQ по трудоустройству: разбираем самые популярные вопросы
Каждый, кто хотя бы раз искал работу, сталкивался с массой проблем: «Врать в резюме или не надо?», «@#$%!, вакансия классная, но я не подхожу... Что делать?». Под катом — разбор этих и других популярных вопросов.
🔗 Читать статью
🔗 Зеркало
Каждый, кто хотя бы раз искал работу, сталкивался с массой проблем: «Врать в резюме или не надо?», «@#$%!, вакансия классная, но я не подхожу... Что делать?». Под катом — разбор этих и других популярных вопросов.
🔗 Читать статью
🔗 Зеркало
👍5
очередной #дайджест полезностей для мобильного разработчика
🟣 GPT4 для доработки приложения — как новые функции GPT-4 помогают в ежедневных задачах разработчика.
🟣 Переход на кроссплатформенность — статья рассказывает о переходе команды СберМаркета на кроссплатформенный подход в разработке приложения для доставки еды из ресторанов.
🟣 Размер так важен? — как Spotify отслеживает размеры приложений, почему это является важной задачей, которая может иметь значительные последствия.
🟣 Смертность мобильных игр — компания провела исследование SuperScale, которое показывает, что 83% мобильных игр «умирают» в течение трех лет после их запуска.
🟣 Из Figma во Flutter — статья рассказывает о том, как плагин DhiWise для Figma позволяет преобразовывать дизайны в код Flutter с помощью технологии low-code.
🟣 GPT4 для доработки приложения — как новые функции GPT-4 помогают в ежедневных задачах разработчика.
🟣 Переход на кроссплатформенность — статья рассказывает о переходе команды СберМаркета на кроссплатформенный подход в разработке приложения для доставки еды из ресторанов.
🟣 Размер так важен? — как Spotify отслеживает размеры приложений, почему это является важной задачей, которая может иметь значительные последствия.
🟣 Смертность мобильных игр — компания провела исследование SuperScale, которое показывает, что 83% мобильных игр «умирают» в течение трех лет после их запуска.
🟣 Из Figma во Flutter — статья рассказывает о том, как плагин DhiWise для Figma позволяет преобразовывать дизайны в код Flutter с помощью технологии low-code.
🔥2👍1👏1
Как работает Kotlin Flow, одна из новых функций языка Kotlin для асинхронного программирования. Автор рассказывает о разнице между последовательным и параллельным потоком, а также о том, как использовать операторы flowOn и buffer для управления потоком данных. Статья с примерами кода, которые показывают, как создавать и использовать потоки в Kotlin. Проверь и подтяни свои знания.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1