Hello World – Telegram
Hello World
1.68K subscribers
71 photos
6 videos
3 files
161 links
Be so good that you cannot be ignored. And then, go one step beyond.
Download Telegram
​​Раньше для хранения нечувствительных пользовательских данных (настройки, включен ли темный мод и тд) в приложухах я использовал UserDefaults и в принципе был этим удовлетворен. Совсем недавно я увидел property wrapper @AppStorage, что подтолкнуло меня к тому, чтобы прочитать о нем более подробно.

Данная штука по сути и есть более удобная обертка над UserDefaults. Если раньше надо было заводить целый отдельный класс под настройки, наследовать его от ObservableObject, использовать @Published, то есть по сути ударяться в функциональщину модуля Combine, то теперь делается это достаточно просто:

@AppStorage("KEY")
private var NAME: TYPE = DEFAULT VALUE

Под капотом он по сути и содержит тот же самый Combine, поскольку легко позволяет шарить данные между вьхами и следить за их изменениями, если изменятся – перерисовать вьюху. Но пользоваться стало гораздо удобнее. И меньше кода писать.

Хранить там пароли и ключи разумеется не рекомендуется. Хранить пользовательские настройки в играх, аппках и тд – самое оно.

#100DaysOfSwift
This media is not supported in your browser
VIEW IN TELEGRAM
Увидел тут крч где то топ 4 проекта которые должен попробовать каждый начинающий, и одним из таких проектов был генератор паролей. Довольно сомнительная штука на мой взгляд, поскольку встроенные генераторы уже давно существуют, либо же чел херачит один и тот же пароль во всех местах (best practices 😎). Но ради пет проекта почему бы и да.

Данная аппка была совсем простой, накидал за 1 вечер буквально, также попробовал неоморфизм, понравилось. Кнопки внизу (таб бар) кликабельны, но viewRouter, привязанный к ним, пока что не ведет никуда. Исправлю в ближайшее время. Я вообще люблю добавлять ко всем аппкам меню настроек с функцией обратной связи, потому что считаю что отклик от юзера это самая главная вещь.

Забились с товарищем что он запилит схожий апп на React & MobX. Возможно я даже сюда это выложу.

P.S. забыл отметить что TextField со строкой вверху кликабелен, его можно легко скопировать в буфер.

#100DaysOfSwift
​​Все челы: у моей аппки будет миллион инсталлов.
Один единственный чел с реддита:
Forwarded from Грокс (Ilya Pestov)
Трампа забанило ещё большее количество платформ: Reddit, Twitch, Shopify, Snapchat, Youtube, Pinterest, Discord и даже Campaign Monitor (сервис для email рыссылки типа MailChimp). На этом фоне усилился приток пользователей в социальную сеть Parler, которая известна своей непредвзятостью и популярностью среди республиканцев. И как вы думаете, что происходит дальше? — Apple и Google заблокировали приложение Parler. А сегодня Amazon, на серверах которого работает сервис, пообещал приостановить предоставление услуг для Parler и дал команде 24 часа на перенос всех данных.

Как вам такое? Похоже на блокировку соцсети по партийному признаку. Осталось только, чтобы во имя демократии телеком операторы определяли какой трафик правильный, а какой нет. А ещё лучше, чтобы этим занимались энергетические компании и отказывали в поставке электричества датацентрам, хранящим контент сомнительного содержания. И при всём при этом я уже не раз встречал мнение о том, что принцип свободы слова не узурпируется, ибо конституция гарантирует, что именно государство не будет её ограничивать, а частные компании вольны поступать так, как считают нужным.

Вон оно как! Контент действующего президента просто неожиданно начал нарушать пользовательское соглашение всех сервисов. Кстати, платформы называют свои действия не цензурой, а политической сознательностью. И пускай сии корпоративные решения принимались самостоятельно, а не по указу сверху. Меня, признаюсь, нисколько не волнует принцип этого управления и предмет разногласий в чужой стране. Меня беспокоит, что кучка калифорнийских компаний определяет как цензурировать контент во всём мире. Антиутопичные фантазии Джорджа Оруэлла стали явью. #мысливслух
​​Отвлечемся немного от свифта и поговорим о... python библиотеке dask. Dask это такая крутая штука, позволяющая ускорять вычисления с датафреймами и массивами, особенно если размер массива настолько огромный, что не влезает в RAM.

Особенно хочется отметить delayed и compute. Первая позволяет создать "ленивую" функцию для отложенных вычислений, которая потом может быть выполнена параллельно, вторая собственно производит выполнение.

P.S. стоит также отметить тот факт, что на малом количестве данных dask может работать даже медленнее чем тот же np.sum. Используйте с умом.

Вот отличная статья на эту тему.
one day…
🐍 Оказывается в 3.8 версии Python добавлены протоколы. Более подробно расписывать про их плюсы и минусы не буду, смотрите статью как их можно применять. Хотя может и распишу. Протоколы это хорошо... Только лично мне непонятно, зачем делать язык с динамической типизацией, а потом добавлять статическую.🤷‍♂️
Хотя конечно это помогает избегать ошибок и тратить меньше времени на отладку.
В ближайшее время будет еще пост по typing, но это не точно…

iOS

📑 Захватывающее чтиво о том, как uber на Swift переписывали
📝 Улучшаем код на Swift с помощью функций высшего порядка

Android

📲 Инструменты тестирования
🛠️ Декларативный паттерн Compose
🌊 Многомодульная архитектура Android
Запилил для вас статейку в качестве легкого воскресного чтива.

Читать статью.

Кроме того, сердечно попрошу вас подписаться на телетайп, потому что есть надежда на то, что при достаточном числе подписчиков, телетайп будет лучше индексировать страницу моего канала там, и люди оттуда будут подписываться на телеграм канал здесь. Сейчас канал не рекламируется нигде, да и навряд ли будет.

@hw_code
dev talks

Эту рубрику тоже давно планировал, и наконец все получилось, и мы закончили статью! Из превьюхи, надеюсь, будет понятно, о чем пойдет речь в самой статье.

Кстати, если вам она понравилась, не стесняйтесь оставить комментарий здесь, или под статьей. Ведь есть и вторая часть! И скорость ее выхода будет зависеть только от вас ☺️

Читать статью 📝

#devtalks

@hw_code
​​Небольшой обзор новых фишек, попавших в пропоузал в Swift 5.4

🏗 Result builders
https://github.com/apple/swift-evolution/blob/main/proposals/0289-result-builders.md

💫 Extended implicit member syntax
https://github.com/apple/swift-evolution/blob/main/proposals/0287-implicit-member-chains.md

🧩 Multiple variadic parameters
https://github.com/apple/swift-evolution/blob/main/proposals/0284-multiple-variadic-parameters.md

#swift
🐍 Небольшой, но достаточно ёмкий гайд по регуляркам, если вы вдруг его искали.
https://amitness.com/regex/
Смотрел тут одну конфу от синьёров на тему "как увеличить зп", и просто вдруг стало интересно. Вы в IT:
Anonymous Poll
24%
ради бабок
51%
ради интереса
25%
просто мимо проходил
🐍 Немножко полезных ссылок по пемтончику:
Туториал по NumPy в контексте дата саенса (подойдет для новичков)
Небольшая полезная статья про Dash, для тех, кто хочет запилить веб интерфейс для отрисовки данных с моделей и прочего

📲 Swift
ARC и управление памятью
Введение в функциональное реактивное программирование
Введение в функциональное программирование (здесь не столько о Swift, сколько о ключевых концепциях ФП)

Еще одна штука, в целом довольно полезная, позволяет с удобством работать с JSON файлами, по сути, создает необходимый код-обертку для его декодирования, и помогает разобраться, если вы вообще не шарите что там в этом жсоне к вам летит вообще, может число, строка, а может nil.

К свифту, кстати, ещё вернемся немного позднее, когда я допилю свои аппы. Тогда и акк разраба подъедет уже. И времени будет побольше. Начал *на всякий случай* прям мощно изучать #100DaysOfSwift, дабы каким то образом систематизировать знания, а не выхватывать разрозненные куски.

Ну а там, глядишь, и материалы по ML появятся, и вторая часть dev talks...
Composition over Inheritance

А что, звучит хайпово... Разбиваем столпы ООП о функциональный подход с использованием композиций.

📖 Читать 5 минут, а потом использовать в своем коде, не наступая опять на одни и те же грабли – бесценно!

P.S. Если ты джун и всегда думал, что наследование есть ключевой элемент ООП – бегом читать статью!
Морально уничтожай эйчара на собеседе с помощью этого бесценного знания!

#cleancode #swift

@hw_code
Залетайте на подкаст про мобилки, там выступает одна знакомая (крутой андроид разраб, к слову), подкаст если что уже начался.
Forwarded from paradiSEcurity (paradiSEcurityPub)
Завтра в лайт-режиме с ребятами из Mobile People Talks поговорим о нейросетях в мобильных приложениях:

🔥 О том как работает аналитика пользовательского поведения
🔥 Что о вас знает Снепчат и ТикТок
🔥 Как ваши кеки влияют на рекламу, которую вы видите
🔥 И почему гугл камера, когда вы делаете 1 снимок, на самом деле делает 10 и отправляет их напрямую на стол Сергею Брину

Залетайте в 17:00.
В общем, мы тут поразмыслили над форматом подкастов и решили поддаться модной нынче теме – Clubhouse. Я давно уже подумываю о подкастах про разработку, но на ютубе как будто бы не совсем то, а сегодня челы с "Подлодки" провели у себя подкаст, и формат мне зашел.

Без лишних слов хочу заанонсить тему возможного будущего доклада, и спросить будет ли она вам интересна, а также что вы думаете про данную площадку, пишите в комменты, также призываю делиться в комментах инвайтами. У меня инвайтов пока нет, но я слышал что их дают за хостинг комнат там, поэтому возможно позже будет несколько доступных.

Тема: куда развиваться senior-разработчику?
Обсуждать будем, скорее всего, не только разработку мобильных приложений, и не только одну платформу. Кто будет в гостях пока не ясно, но точно будет Богдан с Cardsmobile (он там lead developer, если помните, с ним на канале есть интервью).

Если данная тема интересна, проголосуйте пожалуйста в опросе. Предлагайте также темы для возможного обсуждения. Всех жду в комментах.

P.S. Если вы уже там, можете подписаться на меня: dartrisen. Но все анонсы также будут тут.

P.P.S. Сорри за поздний анонс, надеюсь friday dev drinks, как обычно, у вас уже вовсю идет 😎