This media is not supported in your browser
VIEW IN TELEGRAM
С наступающим, ребята!
Ну что, праздники потихоньку проходят, пора возвращаться к работе... Судя по всему, большинство людей именно за короткие посты, поэтому я постараюсь делать их побольше.
Статьи тоже будут, когда я соберусь с мыслями. Всё по теме разработки. В процессе также и новая рубрика, которую я назвал "dev talks", где я беседую с крутым тимлидом из Cardsmobile. Так что, как говорится, stay tuned.
А пока что есть одна мысль. Чтобы пнуть себя в разработку аппок помощнее, организую тут #100DaysOfSwift. Вы тоже можете поучаствовать, это может быть любой язык на ваш вкус, просто делитесь своими успехами в комментариях к постам.
Кстати, если это будет все таки свифт, могу посоветовать это. Насчет пайтона могу порекомендовать это, но не уверен что там есть прям 100-дневная программа.
P.S. полностью перенес все старые статьи в teletype канала. Было бы здорово, если бы вы подписались, площадка быстро развивается и есть возможность попасть на главную страницу, если подписок будет много.
Статьи тоже будут, когда я соберусь с мыслями. Всё по теме разработки. В процессе также и новая рубрика, которую я назвал "dev talks", где я беседую с крутым тимлидом из Cardsmobile. Так что, как говорится, stay tuned.
А пока что есть одна мысль. Чтобы пнуть себя в разработку аппок помощнее, организую тут #100DaysOfSwift. Вы тоже можете поучаствовать, это может быть любой язык на ваш вкус, просто делитесь своими успехами в комментариях к постам.
Кстати, если это будет все таки свифт, могу посоветовать это. Насчет пайтона могу порекомендовать это, но не уверен что там есть прям 100-дневная программа.
P.S. полностью перенес все старые статьи в teletype канала. Было бы здорово, если бы вы подписались, площадка быстро развивается и есть возможность попасть на главную страницу, если подписок будет много.
Раньше для хранения нечувствительных пользовательских данных (настройки, включен ли темный мод и тд) в приложухах я использовал
Данная штука по сути и есть более удобная обертка над
Под капотом он по сути и содержит тот же самый
Хранить там пароли и ключи разумеется не рекомендуется. Хранить пользовательские настройки в играх, аппках и тд – самое оно.
#100DaysOfSwift
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 вечер буквально, также попробовал неоморфизм, понравилось. Кнопки внизу (таб бар) кликабельны, но
Забились с товарищем что он запилит схожий апп на React & MobX. Возможно я даже сюда это выложу.
P.S. забыл отметить что TextField со строкой вверху кликабелен, его можно легко скопировать в буфер.
#100DaysOfSwift
Данная аппка была совсем простой, накидал за 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.
Особенно хочется отметить
P.S. стоит также отметить тот факт, что на малом количестве данных dask может работать даже медленнее чем тот же
Вот отличная статья на эту тему.
Особенно хочется отметить
delayed
и compute
. Первая позволяет создать "ленивую" функцию для отложенных вычислений, которая потом может быть выполнена параллельно, вторая собственно производит выполнение.P.S. стоит также отметить тот факт, что на малом количестве данных dask может работать даже медленнее чем тот же
np.sum
. Используйте с умом. Вот отличная статья на эту тему.
🐍 Оказывается в 3.8 версии Python добавлены протоколы. Более подробно расписывать про их плюсы и минусы не буду, смотрите статью как их можно применять. Хотя может и распишу. Протоколы это хорошо... Только лично мне непонятно, зачем делать язык с динамической типизацией, а потом добавлять статическую.🤷♂️
Хотя конечно это помогает избегать ошибок и тратить меньше времени на отладку.
В ближайшее время будет еще пост по
iOS
📑 Захватывающее чтиво о том, как uber на Swift переписывали
📝 Улучшаем код на Swift с помощью функций высшего порядка
Android
📲 Инструменты тестирования
🛠️ Декларативный паттерн Compose
🌊 Многомодульная архитектура Android
Хотя конечно это помогает избегать ошибок и тратить меньше времени на отладку.
В ближайшее время будет еще пост по
typing
, но это не точно…iOS
📑 Захватывающее чтиво о том, как uber на Swift переписывали
📝 Улучшаем код на Swift с помощью функций высшего порядка
Android
📲 Инструменты тестирования
🛠️ Декларативный паттерн Compose
🌊 Многомодульная архитектура Android
Запилил для вас статейку в качестве легкого воскресного чтива.
Читать статью.
Кроме того, сердечно попрошу вас подписаться на телетайп, потому что есть надежда на то, что при достаточном числе подписчиков, телетайп будет лучше индексировать страницу моего канала там, и люди оттуда будут подписываться на телеграм канал здесь. Сейчас канал не рекламируется нигде, да и навряд ли будет.
@hw_code
Читать статью.
Кроме того, сердечно попрошу вас подписаться на телетайп, потому что есть надежда на то, что при достаточном числе подписчиков, телетайп будет лучше индексировать страницу моего канала там, и люди оттуда будут подписываться на телеграм канал здесь. Сейчас канал не рекламируется нигде, да и навряд ли будет.
@hw_code
Teletype
Почему Swift станет следующим большим языком для Deep Learning
Если вы занимаетесь deep learning, возможно стоит задуматься о том, чтобы изучить Swift.
dev talks
Эту рубрику тоже давно планировал, и наконец все получилось, и мы закончили статью! Из превьюхи, надеюсь, будет понятно, о чем пойдет речь в самой статье.
Кстати, если вам она понравилась, не стесняйтесь оставить комментарий здесь, или под статьей. Ведь есть и вторая часть! И скорость ее выхода будет зависеть только от вас ☺️
Читать статью 📝
#devtalks
@hw_code
Эту рубрику тоже давно планировал, и наконец все получилось, и мы закончили статью! Из превьюхи, надеюсь, будет понятно, о чем пойдет речь в самой статье.
Кстати, если вам она понравилась, не стесняйтесь оставить комментарий здесь, или под статьей. Ведь есть и вторая часть! И скорость ее выхода будет зависеть только от вас ☺️
Читать статью 📝
#devtalks
@hw_code
Teletype
dev talks
Сегодня у нас в гостях тимлид iOS команды разработки Cardsmobile. Мы поговорим о том, как устроена мобильная разработка крупных российских продуктов.
Hello World
dev talks Эту рубрику тоже давно планировал, и наконец все получилось, и мы закончили статью! Из превьюхи, надеюсь, будет понятно, о чем пойдет речь в самой статье. Кстати, если вам она понравилась, не стесняйтесь оставить комментарий здесь, или под статьей.…
Отдельное спасибо Богдану за интересное интервью! Если вам интересно, можете также подписаться на Cardsmobile.
Небольшой обзор новых фишек, попавших в пропоузал в 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
🏗 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/
https://amitness.com/regex/
Amit Chaudhary
A Visual Guide to Regular Expression
A mental model of how various components of a regular expression work from the bottom-up.
Смотрел тут одну конфу от синьёров на тему "как увеличить зп", и просто вдруг стало интересно. Вы в IT:
Anonymous Poll
24%
ради бабок
51%
ради интереса
25%
просто мимо проходил
🐍 Немножко полезных ссылок по пемтончику:
Туториал по NumPy в контексте дата саенса (подойдет для новичков)
Небольшая полезная статья про Dash, для тех, кто хочет запилить веб интерфейс для отрисовки данных с моделей и прочего
📲 Swift
ARC и управление памятью
Введение в функциональное реактивное программирование
Введение в функциональное программирование (здесь не столько о Swift, сколько о ключевых концепциях ФП)
Еще одна штука, в целом довольно полезная, позволяет с удобством работать с JSON файлами, по сути, создает необходимый код-обертку для его декодирования, и помогает разобраться, если вы вообще не шарите что там в этом жсоне к вам летит вообще, может число, строка, а может nil.
К свифту, кстати, ещё вернемся немного позднее, когда я допилю свои аппы. Тогда и акк разраба подъедет уже. И времени будет побольше. Начал *на всякий случай* прям мощно изучать #100DaysOfSwift, дабы каким то образом систематизировать знания, а не выхватывать разрозненные куски.
Ну а там, глядишь, и материалы по ML появятся, и вторая часть dev talks...
Туториал по NumPy в контексте дата саенса (подойдет для новичков)
Небольшая полезная статья про Dash, для тех, кто хочет запилить веб интерфейс для отрисовки данных с моделей и прочего
📲 Swift
ARC и управление памятью
Введение в функциональное реактивное программирование
Введение в функциональное программирование (здесь не столько о Swift, сколько о ключевых концепциях ФП)
Еще одна штука, в целом довольно полезная, позволяет с удобством работать с JSON файлами, по сути, создает необходимый код-обертку для его декодирования, и помогает разобраться, если вы вообще не шарите что там в этом жсоне к вам летит вообще, может число, строка, а может nil.
К свифту, кстати, ещё вернемся немного позднее, когда я допилю свои аппы. Тогда и акк разраба подъедет уже. И времени будет побольше. Начал *на всякий случай* прям мощно изучать #100DaysOfSwift, дабы каким то образом систематизировать знания, а не выхватывать разрозненные куски.
Ну а там, глядишь, и материалы по ML появятся, и вторая часть dev talks...
Composition over Inheritance
А что, звучит хайпово... Разбиваем столпы ООП о функциональный подход с использованием композиций.
📖 Читать 5 минут, а потом использовать в своем коде, не наступая опять на одни и те же грабли – бесценно!
P.S. Если ты джун и всегда думал, что наследование есть ключевой элемент ООП – бегом читать статью!
Морально уничтожай эйчара на собеседе с помощью этого бесценного знания!
#cleancode #swift
@hw_code
А что, звучит хайпово... Разбиваем столпы ООП о функциональный подход с использованием композиций.
📖 Читать 5 минут, а потом использовать в своем коде, не наступая опять на одни и те же грабли – бесценно!
P.S. Если ты джун и всегда думал, что наследование есть ключевой элемент ООП – бегом читать статью!
Морально уничтожай эйчара на собеседе с помощью этого бесценного знания!
#cleancode #swift
@hw_code
Teletype
Композиция > наследование
У меня давно назревала подобная статья, еще примерно с момента осознания того, почему синглтон это плохо (может когда-нибудь будет...