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
Однажды Эрнест Хемингуэй поспорил, что сможет написать самый короткий рассказ, способный растрогать любого. Он выиграл спор: "вышел пост на хелоу ворлд, а киберпанк еще нет"
👍
Forwarded from Грокс (Ilya Pestov)
Про свободу слова. Попробуйте в Facebook Messenger кому-нибудь отправить ссылку https://gnews.org/534248/. Она не отправится. Я уже свыкся с мыслью, что социальные платформы превратились в Министерства правды и фильтруют публичный контент как им вздумается, но обращаю ваше внимание, что это личная переписка, которую Facebook якобы не читает.
​​Дженерики в Python

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

Однако, если вы все же хотите внести немного типизации в ваш суровый говнокод, существует решение в виде библиотеки typing, которое будет работать только для версий Python выше 3.5.

Рассмотрим все вышесказанное на примере такой структуры данных как стек. Создадим стек интов. При дальнейшей попытке запушить туда строку возникнет Type error.

@hw_code
Работа

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

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

Кстати на заметку эйчарам — работу я не ищу, но если вакансия релевантная, я с вероятностью в 90% ее опубликую на канале, даже бесплатно, поскольку я понимаю как тяжело порой людям найти работу, а чем больше открытых позиций, тем больше вероятность найма.

На заметку подписчикам — телеграм в плане «нетворкинга» (модное зумерское словечко) является очень хорошим инструментом, если правильно его использовать. Сидите в чатах, помогайте друг другу, и, возможно вас заметят 👀

@hw_code
👍1
​​Возможно кому-то будет полезно, прислали тут код на бесплатный курс по новым возможностям в Python 3.9

Вот ссылка (истекает в течение трех дней):
realpython.com/redeem/d9f4912e-0f75-40f7-b740-3dc30397461f

P.S. отпишитесь в комменты, если заберете, я подредактирую пост.

upd1: забрали.
upd2: вроде пишут что код не одноразовый, пробуйте забрать
Функторы и монады

В этой статье рассмотрим такие концепции функционального программирования как функторы, аппликативные функторы и монады.

ФП вообще штука непростая, поэтому прикрепил пару полезных ссылок в конце статьи.

P.S. прикрепил в инстант вью, как вы просили, хотя имхо он кал.

@hw_code
​​О создании квантового компьютера в 10 млрд раз быстрее машины Google

сообщили недавно китайские ученые. Статья опубликована в журнале Science. Хотя, если вы помните недавний срач IBM с Google (а статья последних, между прочим, опубликована в Nature), то вы понимаете что все это требует проверок, конечно же.

Если нет, то я напомню. Google заявляла о квантовом превосходстве на своем процессоре Sycamore, и согласно расчетам компании, аналогичная задача может быть решена на классической машине примерно за 10,000 лет.

Сразу после этого, IBM заявила что в расчетах Google есть ошибка: самый мощный компьютер Summit (созданный в IBM) посчитает аналогичную задачу всего лишь за каких то 2.5 дня. Нужно просто... увеличить объем оперативной памяти. В Summit, к слову, ее целых 250 петабайт.

Чем больше памяти используется, тем меньше промежуточных вычислений необходимо выполнить. При достаточно большом объеме памяти можно сохранить состояние всей квантовой системы за один раз.

И если обычному читателю схватка Google с IBM скорее напоминает борьбу жаб с гадюками, то мне это лишний раз напоминает что даже в науке не стоит абсолютно всем верить на слово, даже если результат напечатан в Nature.

@hw_code
Видимо чувака из гугла уволили и он быстренько устроился работать в телеграм 😅
😂
Forwarded from Cosy Code
🎄🎄🎄
Ну что, праздники потихоньку проходят, пора возвращаться к работе... Судя по всему, большинство людей именно за короткие посты, поэтому я постараюсь делать их побольше.

Статьи тоже будут, когда я соберусь с мыслями. Всё по теме разработки. В процессе также и новая рубрика, которую я назвал "dev talks", где я беседую с крутым тимлидом из Cardsmobile. Так что, как говорится, stay tuned.

А пока что есть одна мысль. Чтобы пнуть себя в разработку аппок помощнее, организую тут #100DaysOfSwift. Вы тоже можете поучаствовать, это может быть любой язык на ваш вкус, просто делитесь своими успехами в комментариях к постам.

Кстати, если это будет все таки свифт, могу посоветовать это. Насчет пайтона могу порекомендовать это, но не уверен что там есть прям 100-дневная программа.

P.S. полностью перенес все старые статьи в teletype канала. Было бы здорово, если бы вы подписались, площадка быстро развивается и есть возможность попасть на главную страницу, если подписок будет много.
​​Раньше для хранения нечувствительных пользовательских данных (настройки, включен ли темный мод и тд) в приложухах я использовал 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. Используйте с умом.

Вот отличная статья на эту тему.