Marshal's channel
854 subscribers
288 photos
46 videos
8 files
328 links
About me: @ilya_marshal
Download Telegram
https://github.com/jonschlinkert/is-odd

Баянистый рофл, но заметил только сейчас. В описании к репе есть ответ на вопрос откуда 58м скачиваний.

Пользуясь случаем прошу кого-нибудь объяснить мне на скорую руку что происходит в JS. Что вообще такое JavaScript, что такой Node.JS, что такое ECMAscript и чем отличаются разные года, че по движках. Можно в лс @MarshalX, можно в чатик @MarshalCh, спасибо

А, не буду уже отдельным постом, я короч либу свою пополнил кучей полей и сделал автонотиф в репу при нахождении новых с ТГ бота музыки, воот, зацените https://github.com/MarshalX/yandex-music-api/issues/339
Последние дни я активно изучаю Firebase, годная вещь. Отсюда и интерес к JS. Так вот, я уже записал какой-то войс на 10 мин, где пересказываю плейлист по Cloud Functions их и вот-вот накидаю init commit по работе в новый проект.

Призываю всех вас посмотреть что это такое, ибо я до сих пор не понимаю как это прошло мимо меня.

А вот если прям к сути поста, то хочу сообщить о Firebase Live 2020

https://firebaseonair.withgoogle.com/events/firebase-live20 начало завтра

Вот мой войс, если над тык. На этом у меня так-то всё, но только на сегодня 😈
Статистика бота Яндекс.Музыка

По старой традиции ежемесячный пост просто для сохранения данных и сравнения в будущем.

Всего пользователей: 15573 (+9769)
Не заблокировали бота: 9663 (+7598)
Прошло авторизацию: 1006 (+431)
Пользовалось ботом сегодня: 569 (+299)
Закешировано треков всего до сброса: 101612 (+49220). После сброса уже 29568.

Информация за май месяц.

Обработано сообщений: 219.3к
Получено треков без учета инлайна и массовой загрузки огромных плейлистов: 24.31к (цифра, которая вообще не соответствует реальным загрузкам, надо бы исправить)
Поисковых запросов: 10.14к
Поисковых запросов через inline: 7.73к
Открыто меню под треком (раз): 4.74к
Открыто плейлистов: 2.77к
Открыт чарт: 2.90к
Обработано голосовых сообщений для распознавания: 3.35к
Поставлено отметок "Мне нравится": 642

И куча ещё всякой интересной информаци... На скрине новые пользователи по неделям и сколько из них осталось. Мне, кстати, напомнили по почте, что у меня тг бот для зума есть. Надо уже что-то сделать с ним
Гляньте что себе для TypeScript нашёл случайно

https://github.com/inversify/InversifyJS
https://github.com/inversify/inversify-express-utils

Работал кто? Может кто какой-то фидбек накидать? Хочу попробовать завтра 🤪

Там ещё под это дело и генератор доки (сваггер) написали (но 2 года без обнов и с репортами багов в issue, тут стремаюсь, думаю ручками сделаю), тоже вот так на аннотациях докаются модели, роуты с параметрами, контроллеры

Зацените, что показали https://loopback.io/ выглядит дииико годно. Заслуживает отдельного поста, но после того, как попробую

https://strongloop.com/strongblog/express-to-loopback/
На GitHub стали доступны две feature preview: новый дизайн везде (всё закруглённое стало), новый дизайн на странице репозитория.

Давайте привыкать

Upd. Каждый день допиливают, меняют
This media is not supported in your browser
VIEW IN TELEGRAM
Добавил в ботика текущий трек (да и в библиотеку всё взаимодействие с очередями), что играет на сайте или телефоне. Так же там доступна очередь прослушивания. Работает для тех, кто вошёл в аккаунт. Если не вошли - будет чарт Яндекс.Музыки.

Я давно планировал добавить, ещё до того, как Аня решила расшириться в сторону ЯМ, а не только Spotify, правда-правда.

@music_yandex_bot - делитесь своей музыкой в Telegram с другими
This media is not supported in your browser
VIEW IN TELEGRAM
Выполняем запрос с одним текстом. У нас есть треки в результате, есть количество треков на странице (20 в API), есть total (сколько всего треков) и в аргументе к запросу указывается текущая страница. Когда мы всё время выполняем запрос с тектом "Alan", например, и проходимся по страницам, 0, 10, 20, 30, 40, то значение total (сколько всего треков по запросу) всё РАСТЁТ И РАСТЁТ! Вместе с этим и растет количество страниц конечно же. В какой-то момент, мы передаём получение страницы ~50, а оно говорит - результатов нет!

Мне очень интересно с чем это может быть связано, со стороны бэкенда. Что может происходить с поиском, ошибка ли это или есть объяснение? @MarshalCh

Upd 23.06. Я конечно же сразу тогда зарепортил, сейчас сказали, что баг принят в обработку. Собственно это поведение не считается нормальным и объяснения нет
Вот прямо сейчас надо сказать ВАУ. Новые маки на custom silicon будут. Это единственное, что я вам принёс с WWDC

Разработка под iPad и iPhone приложений прям на маке без подключения устройств (все приложения мобильные с App Store тоже доступны).

Три основные технологии: Universal, Rosetta, Virtualization.
- Новый тип всех приложений.
- Rosetta 2 для поддержки старых приложений под Intel (встроенно в Big Sur, будет автоматически запускаться при установке приложения).
- Для виртуалок, Linux, например.
Опубликовал статью про интересный конкурс и участие нашей команды в нём. Для нас теперь двери закрыты, а вы - дерзайте! В конце статьи вас ждёт задача - попробуйте её решить!

https://habr.com/ru/post/507904/
Пока все хайпят на видеозвонках и анимированных аватарках в Telegram beta, давайте взглянем на PEP 622 от 23 числа (вчера)!

Предлагается добавить операторы для реализации паттерна сопоставления с образцом. Необходимо это для того, чтобы упростить взаимодействие с разнородными данными и не городить if ... elif ... вместе с вечной проверкой на isinstance(). Наши методы/функции очень часто принимают в свои аргументы разные типы данных и данный math нам упростит реализации.

Вот как это будет выглядеть:

match some_expression:
case pattern_1:
...
case pattern_2:
...

Суть в том, что мы проходимся по нашему списку паттернов, если где-то ему соответствуем - заходим внутрь и выполняем перечень операторов. На другие паттерны мы больше не смотрим! Если подходящего паттерна нет, то ничего не происходит и выполняется код ниже самого match.

Никаких поведений по умолчанию нет, но их можно задать самостоятельно (пустой name pattern "").

Предлагаются следующие типы паттернов: name, literal, constant, group, sequence, mapping, class. Отдельным паттерном является guards.

Большинство понятно из названий. Тут вам и case 0: и case name, где name аттрибут объекта и выходит как замена getattr() с пробрасыванием значения внутрь

match greeting:
case name:
print(f"Hi {name}!")

И по константам с Enum с всякими логическими "или" через | (да-да, не через or). Ну и классы конечно же, который имеют новый magic method, стандартная реализация которого следующая:

def __match__(cls, instance):
if isinstance(instance, cls):
return instance

Стоит отметить отдельный от всех паттерн Guard. Он позволяет писать условные выражения внутри case, например:

match input:
case [x, y] if x > MAX_INT and y > MAX_INT:
print("Got a pair of large numbers")

Больше подробностей по другим паттернам и примерам вы найдете в самом PEP'e, а теперь несколько интересных фактов:

1. Данный PEP полностью обратно совместим так как новые ключевые слова (match, case) остаются как soft keywords, а это значит, что их можно продолжать использовать как имена переменных!
2. Литералы с плавающей точкой не запретили, несмотря на их неточность.
3. Ренджи аля 1..6 не добавят, потому что возникает куча вопросов. Один из которых про рендж 'a'..'z', но в Python нет символьного типа, только string, а следовательно это невозможно.
4. Контролировать как-то поведение прохождения по паттернам с помощью continue и break не будет доступно. Строго только та логика, что описана в самом начале данного поста. Потому что, например, если match находится внутри цикла, то понимаете что будет...
5. Несмотря на наличие оператора | (or) оператор & (and) отсутствует. Предлагается использовать Guards.
6. Использовать ! как not нельзя.
7. Тайпхинтинг (аннотации типов) не будет доступен вместе с этими паттернами из-за огромного количества возникающих проблем
Marshal's channel pinned «Опубликовал статью про интересный конкурс и участие нашей команды в нём. Для нас теперь двери закрыты, а вы - дерзайте! В конце статьи вас ждёт задача - попробуйте её решить! https://habr.com/ru/post/507904/»
Нужно ли высшее образование в IT?

Вот такой у меня сейчас ко всем вам вопрос. Опыт у меня маленький и прошу вас поделиться своей информацией в комментариях, заранее спасибо.

Сегодня я получил диплом и являюсь настоящим специалистом 😎 Закончил я колледж и абсолютно ничего не поменялось. Я как работал в IT компании так и продолжу. Появление диплома ничего не изменило (ну да-да, надо переоформиться как молодой специалист, не суть).

У меня сейчас есть прекрасная возможность по внутренним экзаменам пойти в ВУЗ, например, на заочку, но стоит ли оно того? Всем было всё равно откуда я. Вопрос про учреждения образования на собеседованиях видится мне чисто формальным для заполнения личной карточки в будущем. Мне никогда ещё не говорил, что у меня нет образования, поэтому мы тебя не возьмём.

Прошлое поколение всё пытается мне вбить в голову, что без вышки не занять высокопоставленных должностей, что в будущем диплом будет котироваться, но я так не считаю. Всё наоборот идёт в другую сторону. Что думаете вы?
@
ПИЛИШЬ OPEN SOURCE ПРОЕКТ НЕСКОЛЬКО ЛЕТ
@
НАЗЫВАЕШЬ ЕГО APPGET И ЭТО МЕНЕДЖЕР ПАКЕТОВ ДЛЯ WINDOWS
@
СДЕЛАЛ ТАК ХОРОШО И КЛАССНО, ЧТО ТЕБЕ НАПИСАЛИ С MICROSOFT И ПОБЛАГОДАРИЛИ ЗА РАБОТУ, СПРОСИЛИ ЧЕМ МОГУТ ПОМОЧЬ
@
СПУСТЯ ВРЕМЯ (ТЯЖКОЕ ОБЩЕНИЕ С ДОЛГИМИ ОТВЕТАМИ ПО ПОЧТЕ) ПОЛУЧАЕШЬ ПЛАН НА AZURE
@
МАЙКАМ НУ ОЖ ОЧЕНЬ НРАВИТСЯ ТВОЙ ПРОЕКТ, ЧТО ОНИ ХОТЯТ ЭТОТ КОД СЕБЕ С ВОЗМОЖНЫМ ИЗМЕНЕНИЕМ ИМЕНИ ПРОЕКТА
@
ХАЙРЯТ В КОМПАНИЮ, ТЫ НЕ СОВСЕМ ПОНИМАЕШЬ, ЧТО ТАМ БУДЕШЬ ДЕЛАТЬ, НО ХОЧЕШЬ ЗАНИМАТЬСЯ ФУЛЛТАЙМ ПРОЕКТОМ APPGET
@
ГОТОВ ПЕРЕЕХАТЬ, ПРОХОДИШЬ ОБЫЧНЫЕ ТИПИЧНЫЕ СОБЕСЫ С 4 ЛЮДЬМИ В ОДИН ДЕНЬ
@
НИКАКИХ ВЕСТЕЙ АБСОЛЮТНО
@
ПРОХОДИТ 6 МЕСЯЦЕВ, ТЕБЕ СООБЩАЮТ О ТОМ, ЧТО ЗАВТРА ОНИ РЕЛИЗЯТ СВОЙ ПАКЕТНЫЙ МЕНЕДЖЕР, КОТОРЫЙ ТОЖЕ БУДЕТ OPEN SOURCE И ЖДУТ ОТ ТЕБЯ ВКЛАДА В ИХ ПРОЕКТ
@
ЖДЁШЬ СЛЕДУЮЩЕГО ДНЯ ЧТОБЫ ПОБЫСТРЕЕ ПОСМОТРЕТЬ НА ИХ WINGET
@
ПРОСТО ОФИГИВАЕШЬ ОТ НАЛИЧИЯ СВОИХ ПОДХОДОВ, ФОРМАТОВ В ИХ ПРОЕКТЕ, ПРЯМ КАК В APPGET, КОТОРЫЙ ТЫ ДЕЛАЛ СТОЛЬКО ЛЕТ
@
ЖЕНА ПРОСТО В ШОКЕ
@
НЕ НАХОДИШЬ ОТСЫЛОК К СЕБЕ, КАК К ЧЕЛОВЕКУ, КОТОРЫЙ ЭТО ВСЁ ПРИДУМАЛ

https://keivan.io/the-day-appget-died/ - статья автора AppGet.

Да, прошло больше месяца, но я услышал об этом только сейчас. Думаю, что я не один такой
This media is not supported in your browser
VIEW IN TELEGRAM
Zoom конференции в inline моде Telegram

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

Митинги можно создавать и с офф. клиентов, а шарить в Telegram, если нужна гибкая настройка. Помимо этого исправил PMI, переписал код 😎

По-прежнему можно добавлять в группы и использовать команды.

@zoom_us_bot @zoombot 🆕
Telegram Bot Support 1/2 ❤️

3 мая я написал им по поводу бота Яндекс.Музыка, 5 мая дополнил, а вчера написал по поводу Zoom бота, сегодня получил ответ.

Новости следующие:
1. @zoom_us_bot теперь @zoombot
2. @music_yandex_bot так и остаётся на своём месте

Для Zoom'a стоит ждать обновлений и рассматриваются предложения. Второй бот сильно опускается по приоритетам. Перехожу в его поддержку. Так уже было, ничего страшного в этом нет. Продукт считается законченным, а фишки для авторизованных пользователей никому не нужны (сужу по статистике).

Планирую стартануть что-то новое, но нужны идеи. Есть пожелания по новому проекту... Это веб-сервис с мобильными приложениями и/или десктопными. Рассчитан на широкую аудиторию и не зависит от сторонних сервисов других компаний. Я сейчас не про капчу, а про жесткий вендерлок. С таким локом два моих бота, например (привязаны к Яндекс и Zoom соответственно). Если у вас есть идеи и не жаль ими поделиться - @MarshalX. У кого блок - [email protected]
Подкастов нет (пустая страница), приложение в Play маркете ещё недоступно (пишет, что не поддерживается устройством), а так оформляем семейную подписку и слушаем. Кстати, юзернейм свой задать нельзя, рандомная строка из букв и цифр. Теперь у меня Яндекс.Музыка, Ютуб Музыка, Спотифай. Осталось успевать все послушать 🥺