cookie

We use cookies to improve your browsing experience. By clicking «Accept all», you agree to the use of cookies.

avatar

Убежище qbnk

Тайное логово стримера-программиста. Связаться со мной: @vdkfrost. Twitch: https://www.twitch.tv/qbnk

Show more
Advertising posts
836
Subscribers
+824 hours
+197 days
+5730 days
Posting time distributions

Data loading in progress...

Find out who reads your channel

This graph will show you who besides your subscribers reads your channel and learn about other sources of traffic.
Views Sources
Publication analysis
PostsViews
Shares
Views dynamics
01
Sourcemaps Привет, коллеги. Не так давно у меня появилась задача по генерации sourcemap-ов серверной части нашей новой морды (ya.ru), и как вы уже могли предположить, всё оказалось не так уж и просто. Давайте начнем с того, что такое вообще эти "сурсмапы". Sourcemap-ами принято называть файлы, которые помогают системе (браузеру, например) отразить исходный код программы на сгенерированный. За примером далеко ходить не надо — современные веб-приложения чаще всего проходят стадию сборки, в процессе которой код может измениться до неузнаваемости. То есть изначально у вас всегда есть некий большой набор файлов, а на выходе, зачастую, собранный бандл, единственный файл. Этот бандл чаще всего выглядит как какая-то каша из символов, а именно эта каша отдается клиентам. В случае возникновения в этой каше ошибки, установить реальную причину по стэктрейсу будет достаточно сложно, потому что стэктрейс поведет вас по этой каше из символов. Эту проблему как раз и решают sourcemap-ы — они позволяют понять в какой на самом деле строчке и столбце кода что-то пошло не так. Мы используем Vite и множество кастомных плагинов, многие из которых мутируют код, который к ним попадает. Vite требует, чтобы при мутации кода, плагины возвращали и его sourcemap, но при этом своих встроенных для этого утилит не предлагает. Так вот, недолго покопавшись в доке, я обнаружил, что они ссылаются на такую библиотеку как magic-string, которую я благополучно и заиспользовал. Works like a charm, как говорится. Можете пользоваться ей при необходимости и вне Vite. Чтобы проверить, что sourcemap-ы работают как надо, я использовал еще 2 источника: — Sourcemap explorer: позволяет закинуть sourcemap и посмотреть, что внутри. — Sourcemap visualization: позволяет закинуть sourcemap и сгенерированный код, чтобы посмотреть, как браузер будет выполнять то самое отражение исходного кода на сгенерированный. На этом всё. Подробнее про sourcemap-ы можно почитать на Habr-е. Там достаточно понятно про всё это рассказывают.
3694Loading...
02
Трансляция запущена! Just Chatting Day — Just Chatting — twitch.tv/qbnk
4810Loading...
03
Привет, бойцы! Сегодня запускаемся ориентировочно в 19-19:30. Расскажу немного о крайней поездке и последних новостях о tma.js, а после этого на трансляции будем прототипировать новое приложение, которое делаем для сообщества. Все подробности, конечно же, будут на трансляции. Бодрого и продуктивного понедельника 👋
6060Loading...
04
Влад вне трансляции разрабатывает tma.js
6614Loading...
05
Привет. Только что Павел выложил новый пост про Notcoin, а я вот совсем недавно, буквально вчера, посмотрел интересное видео-интервью с Вуди Кенгуру (надеюсь, правильно написал), где он рассказывает интересные вещи не только про TON, но и про те самые, мои любимые кликеры. Удивительно, как много общего можно найти с абсолютно незнакомым тебе человеком. Читаем мои крайние посты про кликеры и смотрим.
6927Loading...
06
Что меня не обрадовало: 1. Некоторые любимые места стали только хуже. Может быть тут можно применить "в СССР было лучше", но если судить объективно — в этот раз обслуживали хуже и дороже. Но может это просто единичный случай. 2. Цены на квартиры. Сейчас они растут до каких-то космических оценок. Такими темпами квартиру мы купим нескоро 😬 В целом, поездка хорошая, полезная. Уже морально начинаем готовить себя к переезду. Начал представлять, как буду работать на своём привычном месте, а также вонять по поводу того, что "в Москве у нас было 3 комнаты, а тут 1, блин", а это, на самом деле, проблемка. На этом всё. По классике, под конец поездки я умудрился заболеть и последние дни не очень хорошо себя чувствую. С трансляцией придется подождать какое-то время. Самые внимательные заметили, что последний пост я спилил, и болезнь — одна из причин. Об остальных я расскажу уже на трансляции. Хорошего дня и пока-пока. Скоро увидимся! 👋
7911Loading...
07
Ну вот и подошла к концу моя небольшая поездка в Тюмень. В этот раз я ощутимо чаще выбирался из дома как минимум для того, чтобы пройтись по местам, которые когда-то приносили приятные чувства. Но как и бывает (обычно со взрослением), что-то, что раньше нравилось нам, чувств более не вызывает. Тем не менее, от большей части мест все ещё ощущается та приятная аура, которая сопровождала их на протяжении всего времени жизни в Тюмени. Буду честен, уезжать из Москвы будет непросто. Непросто ментально. И это не потому, что Москва вот такая крутая, а потому, что придется вернуться к условиям, которые чуть хуже предыдущих. Может быть даже правильней будет сказать "к другим условиям". Квартира менее светлая, более тесная, на улицах непривычно мало людей, город более медленный, и так далее. В общем, почти классические ощущения при переезде в другой город. С квартирой вопрос решаемый, но лишь через какое-то время, а до этого момента просто адаптируемся и будем жить, как жили раньше. Итак, что же меня обрадовало (в очередной раз): 1. Цены в 1.5-2 раза ниже, чем в Москве. Правда, есть такие товары, стоимость которых равна х2 от Москвы. Из таких я обнаружил только мой любимый сидр, который в магазинах стоит 200 рублей, а в местных ресторанах 450-520. В обычном магазине я найти его не смог. В местных кофейнях, когда скажешь, что кофе, стоящее 150 рублей в Тюмени, в Москве стоит 240 рублей, у людей глаза из орбит выпадают. 2. Приятная ностальгия. Тюмень — сравнительно спокойный город, с которым связана просто туча воспоминаний. Эти воспоминания и походы по любимым местам положительно повлияли на ментальное здоровье. 3. Застройка города. Тюмень стремительными темпами застраивается, что не может не радовать. Меня не было всего год, а на моем районе уже появилось несколько новых зданий.
6512Loading...
08
Привет из пасмурной Тюмени! 15 мая буду выступать на The Trends 2.0 в Москве и очень кратко (понятия не имею пока как, за 12.5 минут) расскажу про Telegram Mini Apps. Также будут и мои коллеги, которые поверхностно расскажут про TON и вещах рядом лежащих. Если вы уже купили билет — приходите послушать. Если же нет, вот ссылка, по которой можно получить 15%-ую скидку. Не стесняйтесь ловить меня, чтобы сделать фото на память 🙂 P.S. Ну я и фотку, конечно, выбрал. Попросили в анфас, а у меня таких вообще нет. Отдал фотку, которую потребовал ВКонтакте при устройстве на работу.
4421Loading...
09
Что меня больше всего раздражает в кликерах в Telegram, да и вообще наверное во многих других приложениях — отсутствие души. Вчера задумавшись, это было единственным словосоветанием, которое мне пришло в голову, и при этом превосходно описывало причину моей злости. Я просто не понимаю этого — бездумное, беспорядочное нажатие в одну и ту же область на экране. Я могу понять кликеры, которые есть в AppStore или Google Play, где приложения достаточно красочные, вы там бьете какого-то монстра, после смерти он заменяется другим, более сильным, покапаете idle-персонажей, которые бьют за вас и так дале. В этом есть какая-то идея, какая-то душа. Но исходя из того, что я видел в Telegram, вам просто дается какой-то объект, на который вы бесконечное (почти) количество раз нажимаете, и выглядит это всё абсолютно одинаково. У меня это как-то даже ассоциируется с кадром из фильма Идиократия. В моей голове кликеры — это прямо крайне тупо, тут думать не надо, просто двигай пальцем и не ошибешься, можешь хоть с закрытыми глазами, в любое время. Каков тут развлекательный аспект, мне тоже ясно, я не понимаю, что тут может развлекать, хоть и правда пробовал играть в такие игры. Для меня это буквально одна из страшных вещей в жизни — прожигание времени. Ну и напоследок, оставляю своё сомнение. А пришли ли пользователи в экосистему, а не в кликер? Смогут ли они вырваться из этого приложения и пойти по другим? Очень сложно сказать. Узнаем мы, наверное, ещё нескоро.
9195Loading...
10
Про приложения-кликеры Вчера мы с вами еще успели задеть такую темы, как кликеры, на которые у меня достаточно яркая негативная реакция. Давайте напомню, что я о них думаю. Кликеры — отличный инструмент для привлечения аудитории в какую-либо среду. Во ВКонтакте был VK Coin, там можно было по сути познакомить пользователей с приложениями внутри ВКонтакте — VK Mini Apps. В Telegram же есть Not Coin, который может познакомить с Telegram Mini Apps. У обоих приложений космические показатели посещаемости, что делает их потенциально хорошим инструментом для знакомства с технологией. Исходя из своих субъективных ощущений, людей привлекают кликеры по той причине, что там "циферки увеличиваются когда кликаешь". Других — потому, что там заработать можно, но это если мы говорим о 2 вышеупомянутых приложениях. Имея опыт VK Coin за плечами, в котором крутились очень большие деньги, и учитывая тот факт, что все-таки большая часть аудитории Telegram — страны СНГ, которые знают про VK Coin, люди могли перейти в Not Coin в надежде воспроизвести предыдущий опыт и что-нибудь заработать. Исходя из этих рассуждений, я делаю вывод о том, что авторы проекта дают призрачную надежду на заработок (прямо как казино, гыг), а пользователи на это ведутся. Я более чем уверен, что авторы проекта прекрасно понимают, что делают, потому что "темка проверенная". Сами помните, я вообще большой противник таких признаков в проектах.
13 00417Loading...
11
Привет. Сейчас в аэропорту в ожидании посадки (которая будет только через 2 часа), поэтому есть время кое-что написать. Про децентрализацию В последнее время я всё чаще слышу "децентрализация-децентрализация-децентрализация", как будто это нечто, решающее вообще все проблемы. В этом разделе хотел бы затронуть ту тему, которую мы по касательной задели в конце вчерашней 6-часовой трансляции — децентрализация. Этот термин я периодически слышу в контексте того, что будто бы децентрализация всегда лучше централизации, мол, точек отказа больше, и нет одного какого-то центра, который принимает решения. Мне хотелось бы немного пофилософствовать на эту тему и подчеркнуть те минусы, которые приносит децентрализация. Чаще всего мы слышим этот термин в контексте блокчейнов. Как мы знаем, блокчейн (всегда или не всегда, точно не знаю, но как минимум чаще всего) не находится в каком-то конкретном месте, он не принадлежит какой-то конкретной организации. Обычно, его работу обеспечивает большое количество узлов, принадлежащих разным владельцам, чаще всего находящихся в разных странах, а то и на разных континентах. Этот список узлов отвечает за валидацию транзакций, а также за принятие каких-либо важнейших решений в жизни блокчейна. Чем больше таких узлов, тем выше уровень децентрализации. Иными словами, мы можем сказать, что чем меньше вероятность сговора 51% (то есть большинства) узлов, тем выше этот самый уровень децентрализации. Чтобы сговориться было сложнее, системе необходимо иметь больше узлов, принадлежащих разным владельцам. То есть блокчейн — это яркий пример децентрализации. Мы имеем множество узлов, соответственно, множество точек отказа, из этого следует более высокая устойчивость такой системы, так как отказ одной точки не повлияет на работоспособность всей системы. Но что с минусами? Самый яркий минус, который я вижу в любой децентрализации — отсутствие той точки, где можно получить поддержку. Децентрализация подразумевает, что за систему отвечают все и никто одновременно. В случае возникновения каких-то проблем с этой системой, спрашивать за них ровным счётом не с кого. Отсутствие единого центра это и плюс и минус одновременно, потому как решения принимаются коллективно, но так же этот коллектив несет ответственность за появляющиеся проблемы. А как мы знаем, никакой коллектив по факту никогда ответственности не несет, эта ответственность рассеяна и спросить не с кого. В конечном итоге эта децентрализация может привести пользователя к разбитому корыту. Что меня больше напрягает в истории с децентрализацией кроме блокчейна, это то, что этот термин пихают уже куда не попадя, будто бы пытаясь добавить немного smoothieness. Где-то услышал утверждение по типу "децентрализованная команда, находимся в разных странах" и после этого задался вопросом — что это вообще значит? Что изменится, если убрать слово "децентрализованная"? Как команда может быть централизованная, если она по сути состоит из "множества точек принятия решений"? Ну и если исходить из этого утверждения, то термин применён неуместно, но звучит модно, анархично. Вообще у меня децентрализация почему-то прямо ярко ассоциируется с анархией, к которой у меня сугубо негативное отношение. Давайте еще пример накину. Какое-то время назад я боролся с тем, чтобы в утилитах для разработчиков на Telegram Mini Apps было меньше децентрализации. Что это значит? Что должно быть меньше организаций, которые прокачивают платформу, особенно когда эти организации на самом деле очень плотно коммуницируют друг с другом и работают по сути совместно. Как контр-аргумент я услышал словосочетание "минимизация рисков". Рисков чего, я так понять и не смог. Ну забанят эту организацию, что дальше? Все репозитории находятся как у мэйнтейнеров, так и контрибьюторов. При необходимости, восстановить предыдущее состояние можно за пару минут от лица кого угодно. Теперь к минусам, господа.
5563Loading...
12
Во-первых, разработчик голову сломает искать ему нужные утилиты по всему GitHub-у. Это просто колоссальная когнитивная нагрузка, которая отбивает всякое желание там что-то разрабатывать. Лично меня просто дико бесит понимание того, что систему фрагментировали, чтобы запутать "каких-то противников этой системы", а путают по итогу меня как пользователя. Я понимаю применение этого подхода в организации системы компаний, когда "бан" одной из компаний не нарушит огромную систему, которую восстановить будет достаточно сложно. Но это же GitHub, блин. Восстановить кодовую базу — минутное дело. Во-вторых, представим, что "Telegram Mini Apps разрабывает сообщество". Полная децентрализация. Условный Вася написал библиотеку и впихивает ее сообществу. Сообщество начинает ее использовать, а Вася пропадает. Что делать дальше? Думаете, кто-то продолжит дело Васи? Ошибаетесь. Все, кто пользовался библиотекой, останутся у разбитого корыта до наступления следующего века, когда появится второй такой Вася, который тоже сделает что-то своё. Факт того, что технологию поддерживает не организация, а "сообщество", практически гарантирует, что технологию, как бы пародоксально не звучало, никто не поддерживает. Как говорится, "коллективная безответственность". Лично я боюсь пользоваться библиотеками какого-то Васи, который может пропасть в любой момент, а мне потом придётся либо всё переписывать на другую библиотеку, либо думать как форкать и докручивать. Надо мне это? Конечно, нет. У меня однозначно больше доверия к организации именно по той причине, что в организации множество людей, что увеличивает шансы на продолжение поддержки продукта. Пропажа одного Васи не повлияет на этот продукт, организация найдет нового Васю, который продолжит дело продукта. Можно это даже назвать "централизованная децентрализация", потому как отвечает за продукт организация (центр), но внутри неё есть множество точек отказа (децентрализация). В общем, всегда помните про то, что на всё необходимо смотреть с разных сторон, искать плюсы и минусы, и оценивать существенность и тех и других. Децентрализация — это не плохо. Просто не всегда хорошо.
7072Loading...
13
Трансляция запущена! Just Chatting Day — Just Chatting — twitch.tv/qbnk
6200Loading...
14
По поводу стрима. Ориентируемся на 19:30-20:00. Продуктивного рабочего дня и жду для совместного просмотра! 👨‍💻
6470Loading...
15
Я утром в душе в понедельник перед началом рабочего дня
78110Loading...
16
Привет! Завтра будет крайний стрим, после которого я примерно на неделю уеду отдыхать в Тюмень. Напоминаю, что в него мы работать не будем. Будем смотреть видео, болтать, обсуждать IT и не-IT темы. В общем, просто отдыхать. Под этим постом можете оставить те YouTube-видео, которые хотите посмотреть вместе. Давайте придерживаться вот таких правил: — Не больше 20 минут. — Кринж можно, но без перебора. Если будет too much, то скип. — Приветствуются разоблачения от более-менее известных блоггеров, видео IT-направленности, видео развлекательного характера и просто посмеяться. Это абсолютно бесплатно. У меня есть пара видео, которые я хотел бы вместе глянуть, но они суммарно на 3 часа. Поэтому если предложка не наберется, то не фатально. Стример оставляет за собой право скипать предложенные видео.
7072Loading...
17
Трансляция запущена! Я улучшаю Telegram Mini Apps / Разговоры об IT и не только — Software and Game Development — twitch.tv/qbnk
7590Loading...
18
День добрый, Господа. Я постепенно заканчиваю работу над [email protected] и очень хочу сегодня с кодовой базой закончить. ✅ @tma.js/sdk ✅ @tma.js/sdk-solid ❌ @tma.js/sdk-react ❌ Шаблон для Solid ❌ Шаблон для React Вчера как-то пытался биндинги для React добить, но в очередной раз убеждаюсь, что React по сравнению с Solid — полное г*вно. Необходимость поддерживать порядок вызова хуков и их количество, это конечно сюр полный. Этим в Solid можно не заниматься, и код становится сильно проще. Сегодня заводимся ориентировочно в +-15:00. Еще кое-какие мелочи по TMA расскажу.
7480Loading...
19
Влад снимает стресс после 10 месяцев без отпуска
7865Loading...
20
While reviewing Telegram design contest submissions, we were impressed by Mini Apps navigation projects. Set 🫡 if you want @durov to implement this. Design Contest Submissions 1 · 2
9033Loading...
21
Голосование здорового человека
7710Loading...
22
Трансляция запущена! Я улучшаю Telegram Mini Apps / Разговоры об IT и не только — Software and Game Development — twitch.tv/qbnk
8190Loading...
23
Трансляция запущена! Я улучшаю Telegram Mini Apps / Разговоры об IT и не только — Software and Game Development — twitch.tv/qbnk
40Loading...
24
Трансляция запущена! Я улучшаю Telegram Mini Apps / Разговоры об IT и не только — Software and Game Development — twitch.tv/qbnk
60Loading...
25
А теперь перечитываем мой пост с беспокойством о помешанности на "финтифлюшках": https://t.me/heyqbnk/1103
6511Loading...
26
While reviewing our design contest submissions, I was inspired by a message effects project. So we reused our reactions UI and animated emoji effects to put together this video demo. Set 🫡 if you want this implemented.
5982Loading...
27
Влад на рабочем созвоне
7241Loading...
28
Параметры запуска в window.location.hash Эта проблема уже частично вытекает из выше описанной проблемы. Параметры запуска Telegram Mini Apps расположены в hash-части URL приложения. Исходя из этого можно понять, что никакой SSR (Server-Side Rendering) работать не будет. Почему? Потому что hash-часть не отправляется на сервер, он не сможет отрисовать на основе него страницу. Получается, что от SSR нет никакого толку. Да и фиг с ним, на самом деле. Максимальная длина URL, если не изменяет память, составляет примерно 2000 символов +-, и учитывая текущий список параметров запуска, через какое-то время поместить в URL его не выйдет. По этой причине команда Telegram решила помещать параметры запуска не в query-параметры, а в hash. Теперь вопрос. Зачем они там? Учитывая тот факт, что hash — client side only, почему бы данные в нем просто не получать через запрос к нативному приложению? А я скажу почему. Потому что тогда загрузка приложения станет асинхронной, и оно точно будет моргать после скрытия лоадера, описанного в предыдущем разделе. В момент выполнения скрипта мини-приложению придется выполнить запросы для получения параметров запуска. Такие запросы не подпадают под категорию "загрузка ресурсов", после которой приложение автоматически показывается. То есть при их выполнении этап "загрузка ресурсов" растянут не будет, и приложение покажется раньше необходимого. Ну и получается такая ситуация, что приложение показалось пользователю, оно там совершает какие-то запросы (которые могут быть даже по 10 ms), и просто моргает, потому что лишь спустя какое-то время получило цветовую палитру, например. Поэтому решили воткнуть костылище в виде "а давайте запихнем палитру в hash, чтобы ее асинхронно не получать". Сейчас hash — это какая-то свалка из параметров, которые передаются мини-приложению. Рассказать решение? Угадайте, на что буду ссылаться. Правильно, на VK Mini Apps. Что если все-таки не показывать приложение, пока оно не сообщило о готовности к показу? Что если получать параметры запуска сугубо по запросу к нативному приложению? Что если после этого можно расширять список параметров запуска вообще как влезет, и не думать о том, что вы нарушаете конвенции? А какие-то из них можно будет вообще выпилить. Что если жизненно необходимые параметры помещать в query-параметры? Init data, например, подпись которых можно проверить. Может быть серверная сторона на основе этого сможет решать, какой контент отдавать (о Боже, да это же SSR!). Это всё невероятно просто, нужно было лишь взглянуть на VK Mini Apps и сделать буквально то же самое в Telegram. Нужно было. Методы — как способ общаться со стеной Опять же, ссылаясь на крайнюю трансляцию, напомню, что вся валидация параметров методов происходит на клиентской стороне, в JS-коде, в Telegram SDK. С чем есть ассоциации? Подскажу — с валидацией параметров не на серверной стороне, а на клиентской. Я даже не знаю, что тут еще добавить. Отправишь невалидный параметр — приложение Telegram либо крашнет, либо вообще просто ничего не произойдет. Здесь же отметим, что никаких событий об ошибках не генерируется. Даже если вы попытаетесь вызвать неизвестный для текущей версии приложения Telegram метод, оно вам никак об этом не сообщит. Просто ничего не произойдет. ...а знаете где эта проблема решена уже >5 лет назад? В VK Mini Apps. Итог Эти проблемы всё ещё можно исправить, пока мы слишком далеко не уехали. С моей точки зрения текущие решения являются костылём, и не потому, что я с VK Mini Apps работал, и работал во ВКонтакте в принципе, а лишь потому, что реализация в VK Mini Apps действительно ощущается правильной и должна браться за референс. Над этой платформой работало просто огромное количество человек, потратило тонны человеко-часов, и игнорить их опыт — огромная ошибка. Что-ж, пошел я за кофе и буду снова плавать в философских рассуждениях о том, как "правильно".
6073Loading...
29
Привет. Сидел вчера допиливал BiometricManager и пришел к интересному умозаключению. Не могу сказать точно, но вроде как бытует мнение о том, что команда Telegram в достаточно оперативном, быстром порядке клепает новые фичи. При том, что штат достаточно маленький. Но как на крайней трансляции я уже и сказал, меньше, как и больше — не значит лучше. Иными словами, размер штата в абсолюте без контекста мало о чем говорит. Важно понимать, а чем вообще этот штат занимается. И вот если уже посмотреть на КПД такого штата, то из этого можно сделать выводы о том, достаточно его или нет. К чему это вообще. Я начал снова работать с параметрами запуска и понял, что команда Telegram допустила 3 критических ошибки. Сугубо из моего субъективного мнения, команда решила не изучать их единственного конкурента — VK Mini Apps. А почему решила не изучать? Потому что либо сотрудников не хватило, либо времени. Либо в принципе с технической стороны на технологию ВКонтакте никто и не посмотрел, а очень зря. Автоматический показ приложения после загрузки ресурсов В Telegram Mini Apps существует механизм, который отвечает за отображение индикации загрузки приложения. То есть пока ваше приложение загружается, вы будете видеть этот лоадер. Когда оно загрузилось, лоадер скрывается. Если мне не изменяет память, то в терминологии Telegram Mini Apps, этап загрузки заканчивается на моменте, когда все ресурсы страницы загрузились. И тут меня до сих пор умиляет предположение о том, что разработчики каждой версии приложения Telegram будто бы работают в вакууме и не коммуницируют друг с другом. Эталоном реализации этого функционала я считаю Telegram для macOS. Тут ребята визуально сделали очень близко к платформе-эталону и показывают нормальный лоадер, на который приятно смотреть. Жаль, конечно, что привязали его к теме ботов, потому что это уже давно не про ботов, но как факт, они сделали хорошо. В Telegram Desktop лоадер — не-лоадер, а просто какой-то индикатор загрузки с огромным пустым блоком, в котором потом отобразится приложение. В Web A вообще нет никакого лоадера, показывается тупо белый блок на полхари, в нем появляется мини-приложение после загрузки. В Web K тоже пустой (но хотя бы не белый) блок и вообще без какой-либо индикации загрузки. В версии для iOS только индикация загрузки, но не лоадер. Короче, меня вообще прямо напрягать начинает, будто у них там децентрализация и каждый делает вообще как захочет, нет никакого Quality Assurance. Тем не менее, суть проблемы не именно в этом. Когда все ресурсы вашего приложения загрузились, приложение Telegram автоматически уберёт лоадер для того, чтобы пользователь увидел ваше приложение. Успело ли оно в этот момент загрузиться (запустить скрипты, построить DOM и так далее), нативному приложению абсолютно плевать. Там могут выполняться какие-то процессы, которые с загрузкой ресурсов никак не связаны, но которые определяют визуал приложения и требуют времени. Тем не менее, команда Telegram придумала метод web_app_ready, который скрывает лоадер при вызове. Кейс применения такой, что даже если ваше приложение еще загружается, вы можете убрать этот лоадер. Насколько кейс применения широкий, решать уже не мне. Я никогда им не пользовался и не считаю, что его можно много где применить. А знаете как это должно работать и работает в VK Mini Apps уже >5 лет? Нативное приложение ВКонтакте не показывает мини-приложение пока оно не вызовет этот самый метод скрытия лоадера. Если мини-приложение не вызывает его в течение 10 секунд, загрузка мини-приложения прерывается и пользователю отображается ошибка. Тайм-аут, в общем. Почему так не сделали в Telegram? Вообще ума не приложу. В итоге надо сидеть и молиться, что приложение не будет моргать, что твой (не нативного приложения Telegram) лоадер загрузки приложения успеет отрисоваться до того момента, как скроется лоадер сверху, да и вообще придется реализовывать свой такой лоадер. Хотя, казалось бы, зачем? Решение простое — не показывать приложение, пока оно не сообщило о том, что готово к показу.
5545Loading...
30
Яндекс Cloud после того, как выдаваемый каждый месяц грант иссяк
5919Loading...
31
Трансляция запущена! Я улучшаю Telegram Mini Apps / Разговоры об IT и не только — Software and Game Development — twitch.tv/qbnk
5921Loading...
32
Привет. Сегодня включаемся. Сейчас сделаю небольшие дела, схожу за порцией кофе и запушу. Ориентируемся на 15:00. Будем допиливать BiometryManager для sdk 3.0, а потом будем править биндинги под React и Solid. До встречи 🙂
5700Loading...
33
Время засёк, решение проблемы заняло 2 дня. По крайней мере, этот баг я больше воспроизвести не могу, как бы не шатал элементы в боковой панели. Держите новый баг. Если открыть любой чат и кликнуть в верхнюю половину кнопки с 3 точками, то покажется popover, который улетает за границы приложения и экрана в целом. Второй баг. При открытии информации о группе, клик слева и справа от блока share интерпретируется как клик по самому блоку. Третий баг. Очень калит, правда. Воспроизвел в очередной раз, пока писал пост. Когда добавляешь изображение к посту, открывается попап, в котором можно продолжить писать сообщение к посту. При закрытии этого попапа информация не сохраняется и приходится писать всё заново. А вообще, как мне кажется, идея использовать здесь попап очень плохая с точки зрения UX. Я не могу переключиться в какой-то чат, чтобы взять оттуда информацию и вернуться к написанию поста, например.
7070Loading...
34
Этот мем отлично описывает мою неделю дежурства. Нашел тут пару минуток пост накидать. Я начал понимать, что Павел начинает подходить вплотную к тому, от чего пытался уйти — от создания социальной сети и выбора в пользу мессенджера. Если исходить из тех обновления, которые команда Telegram привносит в рамках текущего года, складывается впечатление, что Telegram — это теперь самая что ни на есть социальная сеть. Сторисы, даты рождения, мини-приложения — это всё части чего-то куда более сложного чем просто мессенджера. Отмечу, что я ничего против идеи ухода в русло социальной сети не имею, мне она нейтральна, а может даже ближе чем идея просто мессенджера. Тем не менее, решил обратить и ваше внимание на это. Сегодня трансляции не будет, сорян. Ксю завтра уезжает, поэтому вечер проведу с ней. Я начинаю подходить к завершению работы над @tma.js/[email protected]. Я полностью переосмыслил и переписал навигаторы для мини-приложений, написал множество дополнительных тестов. Ну и конечно не забыл помучаться в своих философских размышлениях касательно того, как "правильно". После этого я вернусь к шаблонам и переключу их на новую версию, а на трансляциях будем с вами допинывать тот самый проект-ядро для мини-приложений, который разрабатывали до этого. Ждите анонсов 👨‍💻
6150Loading...
Sourcemaps Привет, коллеги. Не так давно у меня появилась задача по генерации sourcemap-ов серверной части нашей новой морды (ya.ru), и как вы уже могли предположить, всё оказалось не так уж и просто. Давайте начнем с того, что такое вообще эти "сурсмапы". Sourcemap-ами принято называть файлы, которые помогают системе (браузеру, например) отразить исходный код программы на сгенерированный. За примером далеко ходить не надо — современные веб-приложения чаще всего проходят стадию сборки, в процессе которой код может измениться до неузнаваемости. То есть изначально у вас всегда есть некий большой набор файлов, а на выходе, зачастую, собранный бандл, единственный файл. Этот бандл чаще всего выглядит как какая-то каша из символов, а именно эта каша отдается клиентам. В случае возникновения в этой каше ошибки, установить реальную причину по стэктрейсу будет достаточно сложно, потому что стэктрейс поведет вас по этой каше из символов. Эту проблему как раз и решают sourcemap-ы — они позволяют понять в какой на самом деле строчке и столбце кода что-то пошло не так. Мы используем Vite и множество кастомных плагинов, многие из которых мутируют код, который к ним попадает. Vite требует, чтобы при мутации кода, плагины возвращали и его sourcemap, но при этом своих встроенных для этого утилит не предлагает. Так вот, недолго покопавшись в доке, я обнаружил, что они ссылаются на такую библиотеку как magic-string, которую я благополучно и заиспользовал. Works like a charm, как говорится. Можете пользоваться ей при необходимости и вне Vite. Чтобы проверить, что sourcemap-ы работают как надо, я использовал еще 2 источника: — Sourcemap explorer: позволяет закинуть sourcemap и посмотреть, что внутри. — Sourcemap visualization: позволяет закинуть sourcemap и сгенерированный код, чтобы посмотреть, как браузер будет выполнять то самое отражение исходного кода на сгенерированный. На этом всё. Подробнее про sourcemap-ы можно почитать на Habr-е. Там достаточно понятно про всё это рассказывают.
Show all...

🔥 14 6 3
Трансляция запущена! Just Chatting Day — Just Chatting — twitch.tv/qbnk
Show all...
qbnk - Twitch

Веб-разработчик и геймер. Люблю изобретать новые, эффективные и полезные веб-сервисы.

🐳 1🦄 1 1 1
Привет, бойцы! Сегодня запускаемся ориентировочно в 19-19:30. Расскажу немного о крайней поездке и последних новостях о tma.js, а после этого на трансляции будем прототипировать новое приложение, которое делаем для сообщества. Все подробности, конечно же, будут на трансляции. Бодрого и продуктивного понедельника 👋
Show all...
🔥 11👍 3 3
00:20
Video unavailableShow in Telegram
Влад вне трансляции разрабатывает tma.js
Show all...
😁 11 4❤‍🔥 3🫡 1🤪 1
Привет. Только что Павел выложил новый пост про Notcoin, а я вот совсем недавно, буквально вчера, посмотрел интересное видео-интервью с Вуди Кенгуру (надеюсь, правильно написал), где он рассказывает интересные вещи не только про TON, но и про те самые, мои любимые кликеры. Удивительно, как много общего можно найти с абсолютно незнакомым тебе человеком. Читаем мои крайние посты про кликеры и смотрим.
Show all...
Крипта | Причина хайпа Notcoin и что стоит за TON

🚀Оставить заявку на рекламу:

https://forms.gle/tck1dmF8r7GFtNbHA💰Закрытый

инвест-клуб «Хедлайнеры»:

https://t.me/headliners_invest_club_bot🔗Сообщество

- т...

👍 4 4❤‍🔥 1 1
Что меня не обрадовало: 1. Некоторые любимые места стали только хуже. Может быть тут можно применить "в СССР было лучше", но если судить объективно — в этот раз обслуживали хуже и дороже. Но может это просто единичный случай. 2. Цены на квартиры. Сейчас они растут до каких-то космических оценок. Такими темпами квартиру мы купим нескоро 😬 В целом, поездка хорошая, полезная. Уже морально начинаем готовить себя к переезду. Начал представлять, как буду работать на своём привычном месте, а также вонять по поводу того, что "в Москве у нас было 3 комнаты, а тут 1, блин", а это, на самом деле, проблемка. На этом всё. По классике, под конец поездки я умудрился заболеть и последние дни не очень хорошо себя чувствую. С трансляцией придется подождать какое-то время. Самые внимательные заметили, что последний пост я спилил, и болезнь — одна из причин. Об остальных я расскажу уже на трансляции. Хорошего дня и пока-пока. Скоро увидимся! 👋
Show all...
🔥 13 8 3🕊 1
Photo unavailableShow in Telegram
Ну вот и подошла к концу моя небольшая поездка в Тюмень. В этот раз я ощутимо чаще выбирался из дома как минимум для того, чтобы пройтись по местам, которые когда-то приносили приятные чувства. Но как и бывает (обычно со взрослением), что-то, что раньше нравилось нам, чувств более не вызывает. Тем не менее, от большей части мест все ещё ощущается та приятная аура, которая сопровождала их на протяжении всего времени жизни в Тюмени. Буду честен, уезжать из Москвы будет непросто. Непросто ментально. И это не потому, что Москва вот такая крутая, а потому, что придется вернуться к условиям, которые чуть хуже предыдущих. Может быть даже правильней будет сказать "к другим условиям". Квартира менее светлая, более тесная, на улицах непривычно мало людей, город более медленный, и так далее. В общем, почти классические ощущения при переезде в другой город. С квартирой вопрос решаемый, но лишь через какое-то время, а до этого момента просто адаптируемся и будем жить, как жили раньше. Итак, что же меня обрадовало (в очередной раз): 1. Цены в 1.5-2 раза ниже, чем в Москве. Правда, есть такие товары, стоимость которых равна х2 от Москвы. Из таких я обнаружил только мой любимый сидр, который в магазинах стоит 200 рублей, а в местных ресторанах 450-520. В обычном магазине я найти его не смог. В местных кофейнях, когда скажешь, что кофе, стоящее 150 рублей в Тюмени, в Москве стоит 240 рублей, у людей глаза из орбит выпадают. 2. Приятная ностальгия. Тюмень — сравнительно спокойный город, с которым связана просто туча воспоминаний. Эти воспоминания и походы по любимым местам положительно повлияли на ментальное здоровье. 3. Застройка города. Тюмень стремительными темпами застраивается, что не может не радовать. Меня не было всего год, а на моем районе уже появилось несколько новых зданий.
Show all...
🔥 9💯 1
Photo unavailableShow in Telegram
Привет из пасмурной Тюмени! 15 мая буду выступать на The Trends 2.0 в Москве и очень кратко (понятия не имею пока как, за 12.5 минут) расскажу про Telegram Mini Apps. Также будут и мои коллеги, которые поверхностно расскажут про TON и вещах рядом лежащих. Если вы уже купили билет — приходите послушать. Если же нет, вот ссылка, по которой можно получить 15%-ую скидку. Не стесняйтесь ловить меня, чтобы сделать фото на память 🙂 P.S. Ну я и фотку, конечно, выбрал. Попросили в анфас, а у меня таких вообще нет. Отдал фотку, которую потребовал ВКонтакте при устройстве на работу.
Show all...
🔥 11🤩 4👍 3
Что меня больше всего раздражает в кликерах в Telegram, да и вообще наверное во многих других приложениях — отсутствие души. Вчера задумавшись, это было единственным словосоветанием, которое мне пришло в голову, и при этом превосходно описывало причину моей злости. Я просто не понимаю этого — бездумное, беспорядочное нажатие в одну и ту же область на экране. Я могу понять кликеры, которые есть в AppStore или Google Play, где приложения достаточно красочные, вы там бьете какого-то монстра, после смерти он заменяется другим, более сильным, покапаете idle-персонажей, которые бьют за вас и так дале. В этом есть какая-то идея, какая-то душа. Но исходя из того, что я видел в Telegram, вам просто дается какой-то объект, на который вы бесконечное (почти) количество раз нажимаете, и выглядит это всё абсолютно одинаково. У меня это как-то даже ассоциируется с кадром из фильма Идиократия. В моей голове кликеры — это прямо крайне тупо, тут думать не надо, просто двигай пальцем и не ошибешься, можешь хоть с закрытыми глазами, в любое время. Каков тут развлекательный аспект, мне тоже ясно, я не понимаю, что тут может развлекать, хоть и правда пробовал играть в такие игры. Для меня это буквально одна из страшных вещей в жизни — прожигание времени. Ну и напоследок, оставляю своё сомнение. А пришли ли пользователи в экосистему, а не в кликер? Смогут ли они вырваться из этого приложения и пойти по другим? Очень сложно сказать. Узнаем мы, наверное, ещё нескоро.
Show all...
💯 10👍 6 4 1💋 1
Photo unavailableShow in Telegram
Про приложения-кликеры Вчера мы с вами еще успели задеть такую темы, как кликеры, на которые у меня достаточно яркая негативная реакция. Давайте напомню, что я о них думаю. Кликеры — отличный инструмент для привлечения аудитории в какую-либо среду. Во ВКонтакте был VK Coin, там можно было по сути познакомить пользователей с приложениями внутри ВКонтакте — VK Mini Apps. В Telegram же есть Not Coin, который может познакомить с Telegram Mini Apps. У обоих приложений космические показатели посещаемости, что делает их потенциально хорошим инструментом для знакомства с технологией. Исходя из своих субъективных ощущений, людей привлекают кликеры по той причине, что там "циферки увеличиваются когда кликаешь". Других — потому, что там заработать можно, но это если мы говорим о 2 вышеупомянутых приложениях. Имея опыт VK Coin за плечами, в котором крутились очень большие деньги, и учитывая тот факт, что все-таки большая часть аудитории Telegram — страны СНГ, которые знают про VK Coin, люди могли перейти в Not Coin в надежде воспроизвести предыдущий опыт и что-нибудь заработать. Исходя из этих рассуждений, я делаю вывод о том, что авторы проекта дают призрачную надежду на заработок (прямо как казино, гыг), а пользователи на это ведутся. Я более чем уверен, что авторы проекта прекрасно понимают, что делают, потому что "темка проверенная". Сами помните, я вообще большой противник таких признаков в проектах.
Show all...
1