Убежище qbnk
991 subscribers
469 photos
91 videos
5 files
337 links
Тайное логово стримера-программиста.

Twitch: https://www.twitch.tv/qbnk
Download Telegram
Трансляция запущена!

Я улучшаю Telegram Mini Apps / Разговоры об IT и не только

— Software and Game Development
twitch.tv/qbnk
Привет!

Завтра будет крайний стрим, после которого я примерно на неделю уеду отдыхать в Тюмень. Напоминаю, что в него мы работать не будем. Будем смотреть видео, болтать, обсуждать IT и не-IT темы. В общем, просто отдыхать.

Под этим постом можете оставить те YouTube-видео, которые хотите посмотреть вместе. Давайте придерживаться вот таких правил:
— Не больше 20 минут.
— Кринж можно, но без перебора. Если будет too much, то скип.
— Приветствуются разоблачения от более-менее известных блоггеров, видео IT-направленности, видео развлекательного характера и просто посмеяться.

Это абсолютно бесплатно. У меня есть пара видео, которые я хотел бы вместе глянуть, но они суммарно на 3 часа. Поэтому если предложка не наберется, то не фатально.

Стример оставляет за собой право скипать предложенные видео
This media is not supported in your browser
VIEW IN TELEGRAM
Я утром в душе в понедельник перед началом рабочего дня
Привет. Сейчас в аэропорту в ожидании посадки (которая будет только через 2 часа), поэтому есть время кое-что написать.

Про децентрализацию

В последнее время я всё чаще слышу "децентрализация-децентрализация-децентрализация", как будто это нечто, решающее вообще все проблемы. В этом разделе хотел бы затронуть ту тему, которую мы по касательной задели в конце вчерашней 6-часовой трансляции — децентрализация.

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

Чаще всего мы слышим этот термин в контексте блокчейнов. Как мы знаем, блокчейн (всегда или не всегда, точно не знаю, но как минимум чаще всего) не находится в каком-то конкретном месте, он не принадлежит какой-то конкретной организации. Обычно, его работу обеспечивает большое количество узлов, принадлежащих разным владельцам, чаще всего находящихся в разных странах, а то и на разных континентах.

Этот список узлов отвечает за валидацию транзакций, а также за принятие каких-либо важнейших решений в жизни блокчейна. Чем больше таких узлов, тем выше уровень децентрализации. Иными словами, мы можем сказать, что чем меньше вероятность сговора 51% (то есть большинства) узлов, тем выше этот самый уровень децентрализации. Чтобы сговориться было сложнее, системе необходимо иметь больше узлов, принадлежащих разным владельцам.

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

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

В конечном итоге эта децентрализация может привести пользователя к разбитому корыту.

Что меня больше напрягает в истории с децентрализацией кроме блокчейна, это то, что этот термин пихают уже куда не попадя, будто бы пытаясь добавить немного smoothieness. Где-то услышал утверждение по типу "децентрализованная команда, находимся в разных странах" и после этого задался вопросом — что это вообще значит? Что изменится, если убрать слово "децентрализованная"? Как команда может быть централизованная, если она по сути состоит из "множества точек принятия решений"? Ну и если исходить из этого утверждения, то термин применён неуместно, но звучит модно, анархично.

Вообще у меня децентрализация почему-то прямо ярко ассоциируется с анархией, к которой у меня сугубо негативное отношение.

Давайте еще пример накину.

Какое-то время назад я боролся с тем, чтобы в утилитах для разработчиков на Telegram Mini Apps было меньше децентрализации. Что это значит? Что должно быть меньше организаций, которые прокачивают платформу, особенно когда эти организации на самом деле очень плотно коммуницируют друг с другом и работают по сути совместно. Как контр-аргумент я услышал словосочетание "минимизация рисков". Рисков чего, я так понять и не смог. Ну забанят эту организацию, что дальше? Все репозитории находятся как у мэйнтейнеров, так и контрибьюторов. При необходимости, восстановить предыдущее состояние можно за пару минут от лица кого угодно.

Теперь к минусам, господа.
Во-первых, разработчик голову сломает искать ему нужные утилиты по всему GitHub-у. Это просто колоссальная когнитивная нагрузка, которая отбивает всякое желание там что-то разрабатывать. Лично меня просто дико бесит понимание того, что систему фрагментировали, чтобы запутать "каких-то противников этой системы", а путают по итогу меня как пользователя. Я понимаю применение этого подхода в организации системы компаний, когда "бан" одной из компаний не нарушит огромную систему, которую восстановить будет достаточно сложно. Но это же GitHub, блин. Восстановить кодовую базу — минутное дело.

Во-вторых, представим, что "Telegram Mini Apps разрабывает сообщество". Полная децентрализация. Условный Вася написал библиотеку и впихивает ее сообществу. Сообщество начинает ее использовать, а Вася пропадает. Что делать дальше? Думаете, кто-то продолжит дело Васи? Ошибаетесь. Все, кто пользовался библиотекой, останутся у разбитого корыта до наступления следующего века, когда появится второй такой Вася, который тоже сделает что-то своё. Факт того, что технологию поддерживает не организация, а "сообщество", практически гарантирует, что технологию, как бы пародоксально не звучало, никто не поддерживает. Как говорится, "коллективная безответственность". Лично я боюсь пользоваться библиотеками какого-то Васи, который может пропасть в любой момент, а мне потом придётся либо всё переписывать на другую библиотеку, либо думать как форкать и докручивать. Надо мне это? Конечно, нет.

У меня однозначно больше доверия к организации именно по той причине, что в организации множество людей, что увеличивает шансы на продолжение поддержки продукта. Пропажа одного Васи не повлияет на этот продукт, организация найдет нового Васю, который продолжит дело продукта. Можно это даже назвать "централизованная децентрализация", потому как отвечает за продукт организация (центр), но внутри неё есть множество точек принятия решения (децентрализация).

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

Вчера мы с вами еще успели задеть такую темы, как кликеры, на которые у меня достаточно яркая негативная реакция.

Давайте напомню, что я о них думаю. Кликеры — отличный инструмент для привлечения аудитории в какую-либо среду. Во ВКонтакте был VK Coin, там можно было по сути познакомить пользователей с приложениями внутри ВКонтакте — VK Mini Apps. В Telegram же есть Not Coin, который может познакомить с Telegram Mini Apps. У обоих приложений космические показатели посещаемости, что делает их потенциально хорошим инструментом для знакомства с технологией.

Исходя из своих субъективных ощущений, людей привлекают кликеры по той причине, что там "циферки увеличиваются когда кликаешь". Других — потому, что там заработать можно, но это если мы говорим о 2 вышеупомянутых приложениях. Имея опыт VK Coin за плечами, в котором крутились очень большие деньги, и учитывая тот факт, что все-таки большая часть аудитории Telegram — страны СНГ, которые знают про VK Coin, люди могли перейти в Not Coin в надежде воспроизвести предыдущий опыт и что-нибудь заработать.

Исходя из этих рассуждений, я делаю вывод о том, что авторы проекта дают призрачную надежду на заработок (прямо как казино, гыг), а пользователи на это ведутся. Я более чем уверен, что авторы проекта прекрасно понимают, что делают, потому что "темка проверенная". Сами помните, я вообще большой противник таких признаков в проектах.
Что меня больше всего раздражает в кликерах в Telegram, да и вообще наверное во многих других приложениях — отсутствие души. Вчера задумавшись, это было единственным словосоветанием, которое мне пришло в голову, и при этом превосходно описывало причину моей злости. Я просто не понимаю этого — бездумное, беспорядочное нажатие в одну и ту же область на экране. Я могу понять кликеры, которые есть в AppStore или Google Play, где приложения достаточно красочные, вы там бьете какого-то монстра, после смерти он заменяется другим, более сильным, покапаете idle-персонажей, которые бьют за вас и так дале. В этом есть какая-то идея, какая-то душа. Но исходя из того, что я видел в Telegram, вам просто дается какой-то объект, на который вы бесконечное (почти) количество раз нажимаете, и выглядит это всё абсолютно одинаково. У меня это как-то даже ассоциируется с кадром из фильма Идиократия.

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

Ну и напоследок, оставляю своё сомнение. А пришли ли пользователи в экосистему, а не в кликер? Смогут ли они вырваться из этого приложения и пойти по другим? Очень сложно сказать. Узнаем мы, наверное, ещё нескоро.
Ну вот и подошла к концу моя небольшая поездка в Тюмень.

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

Буду честен, уезжать из Москвы будет непросто. Непросто ментально. И это не потому, что Москва вот такая крутая, а потому, что придется вернуться к условиям, которые чуть хуже предыдущих. Может быть даже правильней будет сказать "к другим условиям". Квартира менее светлая, более тесная, на улицах непривычно мало людей, город более медленный, и так далее. В общем, почти классические ощущения при переезде в другой город. С квартирой вопрос решаемый, но лишь через какое-то время, а до этого момента просто адаптируемся и будем жить, как жили раньше.

Итак, что же меня обрадовало (в очередной раз):
1. Цены в 1.5-2 раза ниже, чем в Москве. Правда, есть такие товары, стоимость которых равна х2 от Москвы. Из таких я обнаружил только мой любимый сидр, который в магазинах стоит 200 рублей, а в местных ресторанах 450-520. В обычном магазине я найти его не смог. В местных кофейнях, когда скажешь, что кофе, стоящее 150 рублей в Тюмени, в Москве стоит 240 рублей, у людей глаза из орбит выпадают.
2. Приятная ностальгия. Тюмень — сравнительно спокойный город, с которым связана просто туча воспоминаний. Эти воспоминания и походы по любимым местам положительно повлияли на ментальное здоровье.
3. Застройка города. Тюмень стремительными темпами застраивается, что не может не радовать. Меня не было всего год, а на моем районе уже появилось несколько новых зданий.
Что меня не обрадовало:
1. Некоторые любимые места стали только хуже. Может быть тут можно применить "в СССР было лучше", но если судить объективно — в этот раз обслуживали хуже и дороже. Но может это просто единичный случай.
2. Цены на квартиры. Сейчас они растут до каких-то космических оценок. Такими темпами квартиру мы купим нескоро 😬

В целом, поездка хорошая, полезная. Уже морально начинаем готовить себя к переезду. Начал представлять, как буду работать на своём привычном месте, а также вонять по поводу того, что "в Москве у нас было 3 комнаты, а тут 1, блин", а это, на самом деле, проблемка.

На этом всё. По классике, под конец поездки я умудрился заболеть и последние дни не очень хорошо себя чувствую. С трансляцией придется подождать какое-то время. Самые внимательные заметили, что последний пост я спилил, и болезнь — одна из причин. Об остальных я расскажу уже на трансляции.

Хорошего дня и пока-пока. Скоро увидимся! 👋
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет. Только что Павел выложил новый пост про Notcoin, а я вот совсем недавно, буквально вчера, посмотрел интересное видео-интервью с Вуди Kingyru, где он рассказывает интересные вещи не только про TON, но и про те самые, мои любимые кликеры.

Удивительно, как много общего можно найти с абсолютно незнакомым тебе человеком. Читаем мои крайние посты про кликеры и смотрим.

P.S. Пока что до сих пор болею, немного охрип. Поэтому стрим на следующей неделе
This media is not supported in your browser
VIEW IN TELEGRAM
Влад вне трансляции разрабатывает tma.js
Привет, бойцы!

Сегодня запускаемся ориентировочно в 19-19:30. Расскажу немного о крайней поездке и последних новостях о tma.js, а после этого на трансляции будем с Ксюшей прототипировать новое приложение, которое делаем для сообщества. Все подробности, конечно же, будут на трансляции.

Бодрого и продуктивного понедельника 👋
Please open Telegram to view this post
VIEW IN TELEGRAM
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-е. Там достаточно понятно про всё это рассказывают.
Привет, подписчики.

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

Буткемп в Москве

Наверняка вы не знаете, но то мероприятие, о котором я говорю, называется The Open League Summer Bootcamps. Этот буткемп нужен для того, чтобы получить рекомендации по развитию своего существующего проекта, финансовую поддержку, а также услышать мнение других членов сообщества.

Это был мой первый офлайн воркшоп в жизни, и несмотря на то, что выступление было вполне себе нормальным, я остался не особо им довольным. В целом, это было ожидаемо, потому что не было понимания, что конкретно нужно сделать, а самое важное, как доставлять такой контент. По сути, моя задача свелась к созданию мини-приложения в режиме реального времени за 1.5 часа максимум. Скажу так, что держать аудиторию во внимании такое большое количество времени — задача совсем непростая. Тем не менее, это был достаточно важный опыт, и после него я выступлю уже значительно лучше.

Буткемп в Питере

Аналогичное мероприятие будет проведено и в Питере с 31 мая по 2 июня. В Питере мы решили отказаться от воркшопов в принципе, и поэтому я явлюсь уже с немного переработанным спичём по Telegram Mini Apps. Увидимся там!
Проекты, деньги, криптовалюта

Пальцев на руках не хватит, чтобы посчитать, сколько раз ко мне подходили с идеями касательно крипто-проектов и предложением принять участие в их разработке. Честно? Меня это вообще не интересует. Вот слушаю я про то, как там люди какие-то тапалки делают с криптой, какой-то футбол на крипте, да практически что угодно на крипте, и мне сразу становится не интересно. Я всё ещё жду, когда ко мне подойдет человек с желанием не "бабки заработать", а просто решить проблему, которая уже у всех в печёнках сидит, а уже потом это как-то монетизировать. Голод по таким людям в последние месяцы стал гораздо более заметным.

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

Еще что меня сильно напрягает — 90% приложений о которых я услышал, про "заходите ко мне в приложение заработать". Это же самая тупая замануха. Какая польза от этих приложений для сообщества? Как такие приложения помогают развитию экосистемы? Да никак. Абсолютно. И я вот этого за последние дни столько наслушался, что уже тошнить тянет. Не уверен, что это так, но приличная такая часть приложений на этом буткемпе в рамках питчинга упомянали у себя реализацию кликера или "майнинг механик". В какой-то момент стало просто больно это слышать.

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

Послесловие

Стрима, вероятно, на этой неделе не будет, извиняйте. Готовлюсь к выступлению и достаточно активно работаю над tma.js. После Питерского буткемпа сразу возвращаемся к обычному режиму и продолжаем работать. Думаю, я еще накидаю каких-нибудь мыслей. Просто пока что сумбур в голове.
Вот, кому интересно, фотографии с мероприятия. Может вас заинтересуете, и вы захотите тоже прийти в следующий раз.

День 1
Дни 2 и 3