🤐🤨🙄 Проблемы с эмпатией у подчиненных — что делать?
Если ваших подчиненных или коллег проблемы с эмпатией и это становится вашей проблемой — то видос для вас 💯
Для эмпатии нет никакой разницы, кто «перед ней» — гуманитарий, технарь или человек с большим опытом. Эмпатия — это навык.
Спикер поможет разобраться, как решить сложившуюся проблему в коллективе, чтобы такие люди создавали меньше проблем или не создавали их вовсе.
#видео
Если ваших подчиненных или коллег проблемы с эмпатией и это становится вашей проблемой — то видос для вас 💯
Для эмпатии нет никакой разницы, кто «перед ней» — гуманитарий, технарь или человек с большим опытом. Эмпатия — это навык.
Спикер поможет разобраться, как решить сложившуюся проблему в коллективе, чтобы такие люди создавали меньше проблем или не создавали их вовсе.
#видео
👍6❤2
#дайджест полезностей для мобильного разработчика
➡️ SwiftUI Tutorials — серьезный материал от Apple, который сформирует базовые знания
➡️ Лекции Стенфорда. Бесспорно, не требующий представления ресурс, который содержит изменения за 2023 год
➡️ SwiftUI by Example — куча страниц с кодом под любую задачу
➡️ Awesome SwiftUI — список статей, обучающих программ, руководств и видосов
➡️ SwiftUI Weekly — обновляемый список ссылок на материалы
➡️ SwiftUI Tutorials — серьезный материал от Apple, который сформирует базовые знания
➡️ Лекции Стенфорда. Бесспорно, не требующий представления ресурс, который содержит изменения за 2023 год
➡️ SwiftUI by Example — куча страниц с кодом под любую задачу
➡️ Awesome SwiftUI — список статей, обучающих программ, руководств и видосов
➡️ SwiftUI Weekly — обновляемый список ссылок на материалы
❤23🔥17👍15👏11🥰8
Вопрос по Swift
#вопросы_с_собеседований
Как можно кастомизировать view transitions в Swift UI?
...............................................................................................................
Можно использовать модификатор .transition(), чтобы настроить переход между двумя вьюхами. Можно указать тип перехода, например .slide, .move или .scale, и направление перехода, например .leading, .trailing, .top или .bottom.
#вопросы_с_собеседований
Как можно кастомизировать view transitions в Swift UI?
...............................................................................................................
👍10❤1
🧑💻🤷❓ Понимание разницы между KSP и KAPS в Kotlin
Kotlin поставляется с богатой экосистемой библиотек и инструментов, и среди них: KSP (Kotlin Symbol Processing) и KAPS (Kotlin Annotation Processing Suite), часто используемые для оптимизации генерации кода и упрощения обработки аннотаций.
KSP — платформа обработки аннотаций. Предлагает несколько отличительных особенностей:
➖ строгая типизация
➖ улучшенная производительность
➖ интеграция с Kotlin
KAPS — фреймворк обработки аннотаций.
➖ простота
➖ совместимость
➖ расширяемость
Изучить подробнее
#туториал
Kotlin поставляется с богатой экосистемой библиотек и инструментов, и среди них: KSP (Kotlin Symbol Processing) и KAPS (Kotlin Annotation Processing Suite), часто используемые для оптимизации генерации кода и упрощения обработки аннотаций.
KSP — платформа обработки аннотаций. Предлагает несколько отличительных особенностей:
➖ строгая типизация
➖ улучшенная производительность
➖ интеграция с Kotlin
KAPS — фреймворк обработки аннотаций.
➖ простота
➖ совместимость
➖ расширяемость
Изучить подробнее
#туториал
🔥7👍2❤1
🔥💪 Google-новости
2023й стал продуктивным и для Google. Они отпраздновали 25-летие и решили выкатить пачку инноваций. Компания проработала свой ИИ, улучшила поиск и внесла кучу фичей в Android и Bard.
Своим прорывом они считают свой Pixel, который напичкан DeepMind-ом, камера с ИИ, производительное ПО и новые процы.
В видосе вас ждет новый Pixel, Google Tensor, Pixel Watch 2 и другие вкусняшки.
14:20 Введение
22:39 Pixel Watch 2
34:12 Pixel 8 + Pixel 8 Pro
35:48 Дизайн Pixel 8 + Pixel 8 Pro
41:07 Google Tensor
46:40 Камера Pixel 8 + Pixel 8 Pro
1:02:04 Google Assistant
1:08:43 Будущее Pixel
#новость
2023й стал продуктивным и для Google. Они отпраздновали 25-летие и решили выкатить пачку инноваций. Компания проработала свой ИИ, улучшила поиск и внесла кучу фичей в Android и Bard.
Своим прорывом они считают свой Pixel, который напичкан DeepMind-ом, камера с ИИ, производительное ПО и новые процы.
В видосе вас ждет новый Pixel, Google Tensor, Pixel Watch 2 и другие вкусняшки.
14:20 Введение
22:39 Pixel Watch 2
34:12 Pixel 8 + Pixel 8 Pro
35:48 Дизайн Pixel 8 + Pixel 8 Pro
41:07 Google Tensor
46:40 Камера Pixel 8 + Pixel 8 Pro
1:02:04 Google Assistant
1:08:43 Будущее Pixel
#новость
👍14❤6😁4🥰3👏3
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💼🖥️ Топ лучших бирж фриланса и платформ для программистов
Где начинающему разработчику найти работу и получить первый коммерческий заказ? В этом могут помочь фриланс-биржи и human-cloud платформы. Но какие именно — расскажем в статье.
📌 Полезные материалы по теме:
🧒 Как найти работу junior-разработчику: 5 самых неочевидных способов
👍 Тесты на собеседовании: как к ним подготовиться и получить оффер
📝 Как правильно составить сопроводительное письмо программисту
🔍 ТОП-12 джоб-сайтов: где программисту разместить резюме и найти работу
🤖 40 сервисов на базе AI, которые помогут найти работу в 2023 году
💼 ТОП-9 не самых очевидных компаний для стажировки в ИТ
🗺️ Как программисту искать (и найти) работу за границей в 2023 году
🔝 Подборка полезных материалов для улучшения профиля на LinkedIn и не только
💾 Список каналов «Библиотеки программиста» с вакансиями
🤩Понравился пост? Проголосуйте за нас, чтобы мы могли публиковать сторис (требуется премиум).
Где начинающему разработчику найти работу и получить первый коммерческий заказ? В этом могут помочь фриланс-биржи и human-cloud платформы. Но какие именно — расскажем в статье.
📌 Полезные материалы по теме:
🧒 Как найти работу junior-разработчику: 5 самых неочевидных способов
👍 Тесты на собеседовании: как к ним подготовиться и получить оффер
📝 Как правильно составить сопроводительное письмо программисту
🔍 ТОП-12 джоб-сайтов: где программисту разместить резюме и найти работу
🤖 40 сервисов на базе AI, которые помогут найти работу в 2023 году
💼 ТОП-9 не самых очевидных компаний для стажировки в ИТ
🗺️ Как программисту искать (и найти) работу за границей в 2023 году
🔝 Подборка полезных материалов для улучшения профиля на LinkedIn и не только
💾 Список каналов «Библиотеки программиста» с вакансиями
🤩Понравился пост? Проголосуйте за нас, чтобы мы могли публиковать сторис (требуется премиум).
👍3😁3❤2🔥2
Какими важными качествами должен обладать код?
Anonymous Poll
9%
Никакими
48%
Логичность
78%
Читабельность
37%
Отказоустойчивость
49%
Изменяемость
49%
Единый CodeStyle
43%
Тестируемость
2%
Свой вариант
❤3👍3🔥2
❗«Библиотека программиста» продолжает поиски контент-менеджера для ведения телеграм-каналов
Ищем человека, который грамотно пишет и разбирается в одной из этих тем:
👉С++
👉Frontend
👉мобильная разработка
👉Data Science
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
Ищем человека, который грамотно пишет и разбирается в одной из этих тем:
👉С++
👉Frontend
👉мобильная разработка
👉Data Science
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
❤7🔥3
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
📊 Как я входил в IT? Результаты опроса «Библиотеки программиста»
Вы когда-нибудь задумывались о том, как входят в IT люди, у которых нет технического образования? Насколько тяжело начать карьеру с чистого листа в зрелом возрасте? Вот и мы решили выяснить это.
Читать статью
Вы когда-нибудь задумывались о том, как входят в IT люди, у которых нет технического образования? Насколько тяжело начать карьеру с чистого листа в зрелом возрасте? Вот и мы решили выяснить это.
Читать статью
❤6
Подборка лучших статей «Библиотеки программиста» за сентябрь: сохраняй в заметки, чтобы не пропустить #самыйсок
🗺️ Дорожная карта: что это, как ее составить и почему она обязательно нужна разработчику
🧩🧠 Тест на сообразительность: 3 захватывающие головоломки, чтобы развлечься и потренировать мозг
🎮 Идеальный подарок геймеру: Xbox vs PlayStation vs Nintendo Switch vs Steam Deck
👨💻 Тест: есть ли у вас способности к программированию?
📊 Как я входил в IT? Результаты опроса «Библиотеки программиста»
🗺️ Дорожная карта: что это, как ее составить и почему она обязательно нужна разработчику
🧩🧠 Тест на сообразительность: 3 захватывающие головоломки, чтобы развлечься и потренировать мозг
🎮 Идеальный подарок геймеру: Xbox vs PlayStation vs Nintendo Switch vs Steam Deck
👨💻 Тест: есть ли у вас способности к программированию?
📊 Как я входил в IT? Результаты опроса «Библиотеки программиста»
❤30🥰17🔥16👏11🤩8
🙈🙉🙊 Упрощение архитектуры MVI: делегирование обязанностей новым компонентам
Основы MVI
Model View Intent (MVI) — это архитектурный шаблон представления, основанный на циклическом шаблоне Redux. Он предлагает реактивный и предсказуемый подход к управлению состоянием и обработке намерений пользователя взаимодействовать с приложением.
Model представляет собой single state бизнес-модель. Он управляет данными и реагирует на намерения пользователя для создания нового состояния. Модель гарантирует, что состояние остается неизменным, и обрабатывает взаимодействия с пользователем.
View отвечает за рендеринг UI и отображение текущего состояния представления. В MVI view является пассивным и наблюдает только за изменениями состояния в модели. Он не содержит бизнес-логики и ориентирован исключительно на отображение информации пользователю.
Intent представляет собой действия пользователя, которые запускают изменения состояния. Это могут быть такие действия, как нажатие кнопок, ввод текста или любое другое взаимодействие с пользователем. Намерения передаются из представления в модель, указывая желаемое действие пользователя.
Шаблон MVI обеспечивает неизменяемость, гарантируя, что состояние приложения остается согласованным и предсказуемым. Используя MVI, разработчики могут создавать приложения, которые проще тестировать, поддерживать и масштабировать.
Подробнее читайте здесь
#гайд
Основы MVI
Model View Intent (MVI) — это архитектурный шаблон представления, основанный на циклическом шаблоне Redux. Он предлагает реактивный и предсказуемый подход к управлению состоянием и обработке намерений пользователя взаимодействовать с приложением.
Model представляет собой single state бизнес-модель. Он управляет данными и реагирует на намерения пользователя для создания нового состояния. Модель гарантирует, что состояние остается неизменным, и обрабатывает взаимодействия с пользователем.
View отвечает за рендеринг UI и отображение текущего состояния представления. В MVI view является пассивным и наблюдает только за изменениями состояния в модели. Он не содержит бизнес-логики и ориентирован исключительно на отображение информации пользователю.
Intent представляет собой действия пользователя, которые запускают изменения состояния. Это могут быть такие действия, как нажатие кнопок, ввод текста или любое другое взаимодействие с пользователем. Намерения передаются из представления в модель, указывая желаемое действие пользователя.
Шаблон MVI обеспечивает неизменяемость, гарантируя, что состояние приложения остается согласованным и предсказуемым. Используя MVI, разработчики могут создавать приложения, которые проще тестировать, поддерживать и масштабировать.
Подробнее читайте здесь
#гайд
❤6👍3🔥2🤔1
🥷💪 Продвинутая анимация SwiftUI – Часть 1: Paths
В этой статье рассматриваются продвинутые методы создания Swift UI анимации пользовательского интерфейса. Автор рассказывает о протоколах Animatable, animatableData, GeometryEffect и AnimatableModifier.
Разбираемые моменты редко встречаются в статьях и по какой-то причине проигнорированы официальной документацией.
Explicit vs. Implicit
В Swift UI есть два типа анимации — Explicit и Implicit. Implicit анимации — которые указываются с помощью модификатора .animation(). Всякий раз, когда во вью изменяется анимируемый параметр, Swift UI будет анимировать от старого к новому значению. Некоторыми анимируемыми параметрами являются size, offset, color, scale и т.д.
Explicit — это те, которые указаны с помощью Animation { ... }. Будут анимированы только те параметры, которые зависят от значения, измененного внутри Animation.
Как работает анимация
За всеми анимациями SwiftUI стоит Animatable. При анимировании Swift UI каждый раз изменяет параметр анимации, переходя от исходного значения к конечному.
Предположим, создается линейная анимация для opacity. Нужно перейти с 0,3 на 0,8. Фреймворк будет многократно восстанавливать вьюшку, изменяя opacity небольшими шагами. Поскольку opacity выражается в Double, и он соответствует VectorArithmetic, SwiftUI может интерполировать требуемые значения opacity.
Подробности и реализация вас ждут тут
#обучалка
В этой статье рассматриваются продвинутые методы создания Swift UI анимации пользовательского интерфейса. Автор рассказывает о протоколах Animatable, animatableData, GeometryEffect и AnimatableModifier.
Разбираемые моменты редко встречаются в статьях и по какой-то причине проигнорированы официальной документацией.
Explicit vs. Implicit
В Swift UI есть два типа анимации — Explicit и Implicit. Implicit анимации — которые указываются с помощью модификатора .animation(). Всякий раз, когда во вью изменяется анимируемый параметр, Swift UI будет анимировать от старого к новому значению. Некоторыми анимируемыми параметрами являются size, offset, color, scale и т.д.
Explicit — это те, которые указаны с помощью Animation { ... }. Будут анимированы только те параметры, которые зависят от значения, измененного внутри Animation.
Как работает анимация
За всеми анимациями SwiftUI стоит Animatable. При анимировании Swift UI каждый раз изменяет параметр анимации, переходя от исходного значения к конечному.
Предположим, создается линейная анимация для opacity. Нужно перейти с 0,3 на 0,8. Фреймворк будет многократно восстанавливать вьюшку, изменяя opacity небольшими шагами. Поскольку opacity выражается в Double, и он соответствует VectorArithmetic, SwiftUI может интерполировать требуемые значения opacity.
Подробности и реализация вас ждут тут
#обучалка
👍5❤3🔥2
🤖🏞️ Автоматизируем тестирование скриншотов для Compose через reflection
Тестирование скриншотов — это ценный метод проверки UI и предотвращения регрессий при обновлении существующих экранов или компонентов. Однако, как и у любого вида тестирования, у него есть недостаток, заключающийся в том, что он требует значительных временных затрат на написание и поддержку тестов.
Showkase
Одним из способов автоматизации тестирования скриншотов является использование Showkase, библиотеки Airbnb, созданной для создания браузера компонентов, который дополнительно позволяет автоматически тестировать все методы, помеченные @Preview, с помощью Paparazzi. Этот способ требует указания Showkase в качестве зависимости для каждого модуля, в котором есть любые превью, которые нужно покрыть тестами. Поскольку Showkase основан на генерации кода, это увеличит время сборки для всех этих модулей. Таким образом, использование его только для скриншот-тестов может оказаться не лучшим решением, поскольку это не его основная функция.
Reflection
Другой альтернативой является использование рефлексии для поиска всех превьюшек во время выполнения и динамического создания тестов. Для тестов будет использоваться библиотека Paparazzi, главным образом из-за того, что для запуска тестов не требуется эмулятор, что делает их более быстрыми и надежными.
Предлагаемое решение может работать с другими библиотеками тестирования скриншотов. Если вам интересны альтернативы — вот вам еще вариант.
Далее вас ждут реализация примера и немного кода.
#туториал
Тестирование скриншотов — это ценный метод проверки UI и предотвращения регрессий при обновлении существующих экранов или компонентов. Однако, как и у любого вида тестирования, у него есть недостаток, заключающийся в том, что он требует значительных временных затрат на написание и поддержку тестов.
Showkase
Одним из способов автоматизации тестирования скриншотов является использование Showkase, библиотеки Airbnb, созданной для создания браузера компонентов, который дополнительно позволяет автоматически тестировать все методы, помеченные @Preview, с помощью Paparazzi. Этот способ требует указания Showkase в качестве зависимости для каждого модуля, в котором есть любые превью, которые нужно покрыть тестами. Поскольку Showkase основан на генерации кода, это увеличит время сборки для всех этих модулей. Таким образом, использование его только для скриншот-тестов может оказаться не лучшим решением, поскольку это не его основная функция.
Reflection
Другой альтернативой является использование рефлексии для поиска всех превьюшек во время выполнения и динамического создания тестов. Для тестов будет использоваться библиотека Paparazzi, главным образом из-за того, что для запуска тестов не требуется эмулятор, что делает их более быстрыми и надежными.
Предлагаемое решение может работать с другими библиотеками тестирования скриншотов. Если вам интересны альтернативы — вот вам еще вариант.
Далее вас ждут реализация примера и немного кода.
#туториал
🥰11😁9❤8👍8👏8
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍6