<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Мышбыръ</title><generator>teletype.in</generator><description><![CDATA[Мечта: сделать игру года]]></description><image><url>https://teletype.in/files/12/30/1230191f-ed1d-4d13-b1b7-1b7582d29828.png</url><title>Мышбыръ</title><link>https://teletype.in/@lomeat</link></image><link>https://teletype.in/@lomeat?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/lomeat?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/lomeat?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Thu, 18 Jun 2026 05:41:28 GMT</pubDate><lastBuildDate>Thu, 18 Jun 2026 05:41:28 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@lomeat/ZLHRetlPRHd</guid><link>https://teletype.in/@lomeat/ZLHRetlPRHd?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat</link><comments>https://teletype.in/@lomeat/ZLHRetlPRHd?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat#comments</comments><dc:creator>lomeat</dc:creator><title>Мои желания и цели</title><pubDate>Fri, 11 Apr 2025 13:49:12 GMT</pubDate><description><![CDATA[Вот]]></description><content:encoded><![CDATA[
  <p id="U7ab">Вот</p>
  <ol id="wRSb">
    <li id="VGqN">Бросить курить</li>
    <li id="6jEt">Похудеть</li>
    <li id="aj8E">Иметь красивое рельефное тело</li>
    <li id="lf3f">Чувствовать себя здоровым и сильным</li>
    <li id="IW3Z">Чувствовать себя хорошо, не тревожиться постоянно, быть спокойным и стрессоустойчивым</li>
    <li id="rgoB">Заботиться о себе, каждый день просыпаться с приятным чувством, что все хорошо независимо от внешних факторов и радоваться жизни</li>
    <li id="GEve">Хорошо говорить по английский и перестать стесняться работы не на русском языке</li>
    <li id="S8N4">Хочу открыто знакомиться с новыми людьми в новых местах без страха и стеснения</li>
    <li id="chnM">Мне очень страшно. Мне чего-то хочется, но я сам же пресекаю многие варианты постоянно: от заниматься новой сферой деятельности, которая не принесет доход первый год или более до пойти в клуб, где будут определенные люди и я там буду странный на фоне всех</li>
    <li id="vY4l">Принять себя. Или не знаю, чтобы себя всегда хорошо чувствовать себя с собой. Мне не хватает уверенности в себе и часто завишу от внешнего. Какой-то внутренний стержень нужен и его нет.</li>
    <li id="hYt8">Хочется славы, популярности и известности. Как? Есть мысли, но о прошлом. Что вот в прошлом надо было то самое делать (ютуб, блог, игры), но я тогда поленился, забил, а чувствовал, что это мое, но мне многие говорили, что это какая-то фигня, да и я сам пошел искать работу в другой сфере (программирование), которая изначально мне не нравилась особо, а теперь не знаю как дальше быть.</li>
    <li id="Onez">А сейчас я уже не получу известность и популярность, потому что таких &quot;блогеров&quot; очень много и сейчас каждый второй снимает какие-то видео. Что я могу сделать лучше для себя и как я могу позитивно выделиться? Не хочу заниматься какой-то дичью, как многие сейчас получают внимание.</li>
    <li id="6St9">Выйти в стабильный заработок денег при этом без выгорания, чтобы оставались силы на хобби и можно было в будущем перейти на заработок с него. </li>
    <li id="DCYj">Найти работу</li>
    <li id="dXHt">Понять чего хочу, потому что вроде бы есть какие-то желания, но все кажется мелочным, а хочется какой-то путь иметь на 1-3-5-10 лет вперед</li>
    <li id="L6kI">С другой стороны я не хочу быть зависим от внимания. Я вообще не хочу гнаться за успешным успехом и быть в состоянии &quot;гонки&quot;, но и не хочу просто висеть где-то в пространстве. По большей части я просто хочу перестать сожалеть о прошлом и при этом наслаждаться тем, что есть, без постоянного негатива в свою сторону от себя (обвинения, сожаления, угрызения)</li>
    <li id="c6nV">Пожить в США</li>
    <li id="LCnE">Пожить на Бали</li>
    <li id="9HzG">Пожить во Вьетнаме</li>
    <li id="8ME7">Найти девушку — интересного стабильного человека, с которым у меня совпадут ценности и интересы. Но я настолько уже устал искать, что все больше начинаю бояться отношений. Порой мне кажется, они мне не нужны, так как я все испорчу, так как не хочется что либо для них делать и мысли об обязательствах в отношениях как раньше меня съедают.</li>
    <li id="HvFi">Не зависеть от внимания женского пола. Вести себя непринужденно в любой компании. Перестать бояться и ставиться под человека, который как-то негативно или холодно ко мне относится, а мне хочется ему понравится. Перестать хотеть всем нравиться</li>
    <li id="Gcx1">Вести свою компанию с разработкой чего-то, что мне нравится под моим началом и мы были успешны на весь мир))</li>
    <li id="fvt8">Завести друзей, которые будут готовы со мной идти куда угодно. А я очень люблю, когда я с кем-то путешествую или мы вместе вдвоем что-то делаем, даже просто играем в игры. Но на постоянной основе хочется.</li>
    <li id="OFSg">Хочу хотеть готовить и увлекаться здоровой пищей.</li>
    <li id="uXI3">Снять квартиру, но это возможно, когда у меня уже будет доход.</li>
    <li id="YIWe">Хочу супер мощный комп, чтобы играть в любые игры и не париться больше о ценах или качестве графики.</li>
    <li id="598R">Хочу классный удобный игровой сетап для игр и видеозаписи. </li>
    <li id="2ndE">Хочу рассказывать про игры и вести блог на тему философии игр вместе с психологией, но не знаю &quot;как&quot; и вообще кажется это неактуально. А еще лень делать много.</li>
    <li id="D37h">Хочу найти способы не лениться. Я постоянно ставлю себе какие-то объемные задачи и у меня просто нет сил их выполнить никогда. Насколько бы амбициозными и крутыми они не были.</li>
    <li id="5hCV">Хочу здоровые зубы.</li>
    <li id="0VFU">Хочу хорошее зрение.</li>
    <li id="C6xY">Хочу секса. Так, кхм, это все хотят так или иначе, я просто выгораю от того, как &quot;другие&quot; намного легче находят себе партнера в принципе, мне тоже кажется, что я легко найду, я же высокий и классный, но 100500 людей проходит, а я так ничего и не нахожу.</li>
    <li id="QpU9">Хочу не зависеть от секса и мыслей о других людях, которые меня отвлекают от того, что мне духовно было бы намного ближе.</li>
    <li id="hGwh">Хочу, чтобы было комфортно, но при этом я куда-то шел. Я не знаю куда идти. Просто плутаю туда сюда или по кругу и вот мне уже 26, а я еще не...</li>
    <li id="jAp7">Перестать зависеть от всяких &quot;как надо&quot; и вообще полагаться на себя, а не постоянно смотреть на окружающих и зависеть от их советов. Вообще научиться быть полностью самостоятельным. </li>
    <li id="OyBP">Управлять своим внимание и сознание, при этом не испытывая груза потери большого количества сил и ответственности</li>
    <li id="sdOd">Принимать окончательные решения без сожаления упущенных возможностей</li>
    <li id="5KNx">Отпустить прошлые &quot;неверные&quot; решения</li>
    <li id="69h4">Купить расклад на будущую жизнь у предсказательницы Вовы</li>
    <li id="mSxe">Вообще я просто устал от постоянных сожалений и требований от себя. Но при этом я ничего не делаю и ленюсь. И это замкнутый цикл.</li>
    <li id="G5GW">А еще я просто хочу радоваться тому, на каком этапе сейчас нахожусь. Постоянно кажется, что лучше будет там впереди (или сзади), но я же знаю, что будучи там, я снова буду так думать. Вот я жил в Тбилиси в крутой квартире, у меня было многое, но я так страдал. А сейчас мне даже лучше по ощущениям (немного), а у меня ничего того, что было там, нет.</li>
  </ol>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@lomeat/features</guid><link>https://teletype.in/@lomeat/features?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat</link><comments>https://teletype.in/@lomeat/features?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat#comments</comments><dc:creator>lomeat</dc:creator><title>features</title><pubDate>Mon, 29 Jan 2024 11:08:12 GMT</pubDate><description><![CDATA[Появляется один раз в день для бесплатной ежедневной прокрутки. Можно выиграть немного внутриигровых денег, как бонусный счет например, купоны и какойто редкий приз. Так же доступно сразу с повышенными коэффициентами при регистрации.]]></description><content:encoded><![CDATA[
  <h2 id="60Ab">Колесо Удачи</h2>
  <p id="MSWX">Появляется один раз в день для бесплатной ежедневной прокрутки. Можно выиграть немного внутриигровых денег, как бонусный счет например, купоны и какойто редкий приз. Так же доступно сразу с повышенными коэффициентами при регистрации. </p>
  <h2 id="2Q6C">NFT аукцион</h2>
  <p id="XyIf">Торговля игроками казино. Кто холдит NFT, тот получает процент с выручки с этого игрока, к которому привязана NFT. Получается отдельно и играть и получать прибыль с других игроков.</p>
  <h2 id="LCIE">Внутренний аукцион</h2>
  <p id="m2lN">Игрок выполняет какой-то пул задач, за это получает награду, которую может только продать на аукционе. </p>
  <h2 id="4ggF">Ежедневные задачи</h2>
  <p id="kcRK">Да и в принципе какие-то задачи, которые ему надо выполнять регулярно, чтобы получить доп бонусы. Тут тоже непросто будет продумать выгодную для казино логику, так чтобы и пользователю было зачем стремиться, но чтобы мы не тратили много на бонусы. Бонусы могут быть не только деньгами, а задачи не только ставками. Например, поделиться казино и рассказать друзьям с пруфом.</p>
  <h2 id="ckXT">Достижения</h2>
  <p id="4PLv">Все этим сказано в принципе. Есть какие-то глобальные достижения на весь проект, которые делаются длительное время. Если все собрать, можно получить какой-то приз. А вообще есть много людей, которые в принципе любят собирать достижения, чтобы их собрать. Можно по-разному их монетизировать. На основе их можно сделать какой-то внутренний прогресс с очками опыта (уже совсем в игровом стиле получается), который повышает игрока по уровню и тут мы переходим к</p>
  <h2 id="M8N5">Уровни</h2>
  <p id="u2wv">Различные уровни &quot;мастерства&quot; с получением постоянных бонусов за их достижение: снижение вейджера бонусных денег, процент бонуса выигрыша, бонус депозита и тд.</p>
  <h2 id="hMN2">Дизайн</h2>
  <p id="EJAq">Учитывая, что как много (99%) казино делают всратый старый дизайн, то новый  красивый, читаемый можно считать полноценной фичей (я регулярно встречаю много отзывов людей, которые играют в жеттон только потому что мы сделали его реально приятным, потому что я пушил делать все качественно и в одном стиле).</p>
  <h2 id="MYiF">Регистрация</h2>
  <p id="Adzk">В зависимости от рынка (это если делать авторизацию через телегу, например, и вообще играть в телеге), конечно, но очень большую роль играет быстрая авторизация без всяких там почт, телефонов и тд. Очень классно, когда можно тыкнуть одну кнопку и ты в игре. Это прям мега важно. </p>
  <h2 id="9xwA">Соревновательный момент</h2>
  <p id="1nHu">Игроки любят соревноваться. В принципе люди любят. Кто-то любит просто крутить и держаться на адреналине выигрыша в последний момент (мне такое вообще не заходит), а кто-то любит быть лучше других (мне такое заходит). Базовая вещь - турниры. Но там речь про кол-во ставок по сути. Идея в том, чтобы сделать какое-то соревнование на игровом уровне. Например, покер. Или дурак, или уно. То есть игровой мультиплеер. Можно вообще использовать не казиношные игры для того, чтобы люди делали ставки на свою или чужую победу.</p>
  <h2 id="qDa9">Ставки на спорт, но не как обычно</h2>
  <p id="8rrK">Помним привычные ставки на забеги собак? А что если делать ставки на забеги игроков? Два игрока соревуются между собой в игре и это отдельно транслируется. Можно делать ставки с коэфициентом, кто победит. А что если сделать трансляцию по турниру? Люди играют в турнир как обычно, но еще есть &quot;другие&quot;, кто голосует за того или иного на первых строчках турнира. Люди там часто меняются местами и не всегда угадаешь, кто заберет &quot;айфон&quot;. Ну правда тут &quot;киты&quot; все могут сломать. Это целая система, которую нужно продумывать.</p>
  <h2 id="vay3">Live чат</h2>
  <p id="KJJy">Люди любят общаться, чат в любом случае нужен будет где-то однажды. Возможно просто через интеграцию с телегой. Интересно было бы сделать игру, где чат это наш чат, а не тот, что предоставляет игра. </p>
  <h2 id="VaAm">Score и соревнование среди друзей</h2>
  <p id="0fxm">Если говорить про чаты и телегу в частности, то интересно было бы сделать возможность делиться одной конкретной игрой в каком-то чате, где люди могут прямо там в нее поиграть конкретно в эту игру и в чате группы будет высвечиваться high score каждого игрока. Про это отдельно проще показать.</p>
  <hr />
  <p id="zKS7">В принципе не очень нравится, что игры все слоты какие-то однобокие, мне кажется их можно как-то немного разбавить, с другой стороны они цепляют своей простотой, что может в них спокойно играть таксист, стоя на светофоре</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@lomeat/ecrypto-admin</guid><link>https://teletype.in/@lomeat/ecrypto-admin?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat</link><comments>https://teletype.in/@lomeat/ecrypto-admin?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat#comments</comments><dc:creator>lomeat</dc:creator><title>E-Crypto: Админка</title><pubDate>Sat, 08 Apr 2023 13:21:11 GMT</pubDate><description><![CDATA[У каждого пользователя должна быть возможность сформировать реферальную ссылку.]]></description><content:encoded><![CDATA[
  <h2 id="aBDU">Роли</h2>
  <ul id="mv6D">
    <li id="ot9X">Пользователь</li>
    <li id="LMuX">Модератор</li>
    <li id="D4Gh">Админ</li>
  </ul>
  <p id="Lep5"></p>
  <h3 id="7kEa">Пользователь</h3>
  <ul id="QK6n">
    <li id="6pQ5">Имеет кошелек</li>
    <li id="In8R">Ввод/вывод кошелька</li>
    <li id="nEyV">Создание и ответ на сделки P2P</li>
    <li id="7O9J">Создание и ответ на сделки C2C</li>
    <li id="sOyK">Смотреть свою статистику (p2p, c2c, ввод/вывод)</li>
    <li id="d6TC">Смотреть статистику человека, который открыл P2P сделку</li>
    <li id="3ix7">Возможность отправить жалобу в P2P</li>
    <li id="eQWL">Возможность поставить лайк человеку после сделки</li>
  </ul>
  <p id="ebBd"></p>
  <h3 id="gRF6">Модератор</h3>
  <ul id="Da1d">
    <li id="dbAY">Не имеет кошелек</li>
    <li id="SkHs">Можем просматривать список всех текущих сделок</li>
    <li id="Qui9">Может редактировать сделки (блокировать крипту, видеть статус подтверждения с двух сторон, отправлять и редактировать жалобу на пользователя, менять статус сделки/закрывать сделку) + поиск, фильтры</li>
    <li id="N01q">Просмотр жалоб на пользователя и сделок</li>
    <li id="4yoW">Статистика каждого человека + фильтры по дате</li>
    <li id="NT3A">Может блокировать пользователей</li>
    <li id="EyO3">Видит список всех пользователей + поиск</li>
    <li id="UZSe">Личная статистика завершенных сделок</li>
    <li id="qi9T">Чат с клиентом в ЛС от имени сообщества, который подал жалобу и на которого подали</li>
  </ul>
  <p id="Ct3Z"></p>
  <h3 id="eroz">Админ</h3>
  <ul id="cj7M">
    <li id="imCL">Возможности модератора, кроме личной статистики</li>
    <li id="DP9M">Глобальная статистика</li>
    <li id="wZ32">Видит список всех модераторов + поиск</li>
    <li id="Q9HZ">Может добавлять и удалять модераторов</li>
    <li id="ODCG">Видит список всех админов + поиск</li>
    <li id="0ymO">Может добавлять и удалять админов</li>
  </ul>
  <p id="7uVZ"></p>
  <hr />
  <p id="cmGM"></p>
  <h2 id="iXuG">Статистика</h2>
  <p id="OAAj"></p>
  <h3 id="yzcW">Локальная статистика пользователя</h3>
  <ul id="1TJt">
    <li id="Ogvm">Количество закрытых P2P сделок </li>
    <li id="Tehh">Рейтинг P2P %</li>
    <li id="kaG2">Количество закрытых C2C сделок</li>
    <li id="aeiZ">История всех P2P и C2C сделок</li>
    <li id="cW1R">В истории сколько купил/продал какой валюты</li>
  </ul>
  <p id="LT2Q"></p>
  <h3 id="Q9jc">Глобальная статистика приложения</h3>
  <ul id="CNMn">
    <li id="jOND">Биржевой кошелек и количество монет на нем</li>
    <li id="q12o">Количество закрытых P2P сделок </li>
    <li id="I72b">Рейтинг P2P %</li>
    <li id="ml8H">Количество закрытых C2C сделок</li>
    <li id="Na1n">История всех P2P и C2C сделок</li>
    <li id="sJ9L">В истории какие именно сделки были закрыты, отклонены, кто в них участвовал</li>
    <li id="txRJ">Прибыль с комиссии за день, неделю, месяц</li>
    <li id="xlrd">Сколько крипты получено/выведено пользователями</li>
    <li id="ugKM">Статистика каждого пользователя</li>
    <li id="Zush">Статистика модераторов по завершенным сделкам, кол-ву сделок всех</li>
  </ul>
  <p id="1FG4"></p>
  <hr />
  <p id="4UrV"></p>
  <h2 id="GZMq">Интерфейс</h2>
  <p id="1f1b"></p>
  <h3 id="GARl">Общее</h3>
  <ul id="laLT">
    <li id="LMeG">Две кнопки: Управление и Статистика для ролей (модератор/админ и амин)</li>
    <li id="MpUm">Кнопка Профиль/ЛК для юзера и модератора</li>
    <li id="MGU0">В профиле общий блок краткой личной статистики, ниже кнопки для p2p, c2c, вывода/ввода для просмотра всех сделок</li>
    <li id="ifzN">Кнопка чата (ссылка на чат с сообществом)</li>
  </ul>
  <p id="lww8"></p>
  <h3 id="WW5b">Управление</h3>
  <ul id="1JpJ">
    <li id="WFoO">В управлении табы навигации для P2P и C2C списков для Сделок</li>
    <li id="pla9">Все, С жалобами, Заблокированные пользователи списком для Пользователи</li>
    <li id="Pwwf">Список всех модераторов (добавление, удаление)</li>
    <li id="Clzy">Список всех админов (добавление, удаление)</li>
  </ul>
  <p id="nSXq"></p>
  <h3 id="yYUH">Статистика</h3>
  <ul id="4Ukv">
    <li id="wAjZ">В статистике как в ЛК, только больше схожих вариантов (в плане дизайна)</li>
  </ul>
  <p id="3D3f"></p>
  <h3 id="Ezu4">Уведомления (в приложении)</h3>
  <ul id="9EcF">
    <li id="godo">Уведомление, когда низкий баланс на биржевом кошельке.</li>
  </ul>
  <p id="nhMG"></p>
  <p id="Dltq"></p>
  <h3 id="Eo2A">Реферальная программа</h3>
  <p id="E37l">У каждого пользователя должна быть возможность сформировать реферальную ссылку.</p>
  <p id="lEcX">Реферальное вознаграждение 10% от комиссии лично приглашённых.</p>
  <p id="XbqD"></p>
  <hr />
  <p id="q4yq"></p>
  <h2 id="Lhxs">Сценарии</h2>
  <p id="I2KI"></p>
  <h3 id="n0wD">Возможности</h3>
  <ul id="NuKe">
    <li id="yCv9">после отправления жалобы, вся сделка блокируется, пока решение не вынесет модератор</li>
    <li id="gjsx">заблокировать можно и вручную, либо автоматически, когда висит 10 жалоб</li>
  </ul>
  <p id="I32I"></p>
  <h3 id="pLcH">Совершение P2P сделки (не перевел на карту фиаты)</h3>
  <ul id="3FxW">
    <li id="7M6V">что-то</li>
  </ul>
  <p id="2FvO"></p>
  <h3 id="jNDV">Совершение P2P сделки (не выпустил крипту после перевода фиатов)</h3>
  <ul id="BhWT">
    <li id="QRXE">что-то</li>
  </ul>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@lomeat/ecrypto</guid><link>https://teletype.in/@lomeat/ecrypto?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat</link><comments>https://teletype.in/@lomeat/ecrypto?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat#comments</comments><dc:creator>lomeat</dc:creator><title>E-Crypto: ТЗ?</title><pubDate>Wed, 15 Mar 2023 11:50:25 GMT</pubDate><description><![CDATA[Нужно реализовать криптовалютную биржу и p2p функционал на внутренней системе для приложения в VK.]]></description><content:encoded><![CDATA[
  <p id="moe1">Нужно реализовать криптовалютную биржу и p2p функционал на внутренней системе для приложения в VK.</p>
  <p id="HyfB">Для общения с блокчейном предоставляется &quot;ядро&quot;, которое имеет документацию и функционал:</p>
  <ol id="tjh9">
    <li id="IYN3">Создание кошелька для пользователя (кастодиальный) - выдача номера кошелька (hash) пользователю (user_id)</li>
    <li id="ku49">Пополнение (прием валюты) - БД получает инфу от &quot;ядра&quot;, кто (user_id) пополнил биржу какой валютой (currency)</li>
    <li id="aBWF">Выпуск криптовалюты (вывод крипты из приложения на внешний некастодиальный кошелек)</li>
  </ol>
  <p id="3PnP"></p>
  <h2 id="Ie6f">Что нужно реализовать</h2>
  <ul id="ZN7e">
    <li id="Wqsi">Биржа</li>
    <li id="3njU">P2P сделки </li>
    <li id="XtgV">Кошелек пользователя</li>
    <li id="K2Jo">Получение крипты</li>
    <li id="g0uB">Отправка крипты</li>
  </ul>
  <p id="pPFi"></p>
  <h3 id="zTtu">Биржа</h3>
  <p id="E0mQ">Типичная биржа, как везде, работающая по принципу peer-to-peer (p2p). Единственное отличие в том, что все сделки обрабатываются автоматически, без взаимодействия двух сторон в реальном времени.</p>
  <p id="poTb">Имеется общий список заявок от разных людей на покупку/продажу чего-то за сколько-то (один токен на другой токен).</p>
  <p id="tPqP">Пример:</p>
  <ul id="chsI">
    <li id="50xP">Куплю 100А за 50Б (цена за единицу)</li>
    <li id="MIno">Куплю 340С за 32А</li>
  </ul>
  <p id="xB2G">Так условно выглядит текущий стакан и может &quot;висеть&quot; в таком состоянии долгое время, прежде, чем появятся пересечения, которые их закроют.</p>
  <p id="uXHk">Появляется: </p>
  <ul id="LaUu">
    <li id="o2lt">Продам 250А за 50Б</li>
  </ul>
  <p id="FfBV">По логике, первый и третий заявки закрываются автоматически друг другом. Тот и тот имеют одинаковую цену и типы токенов. В итоге первый автоматически покупает 100А у третьего за 50Б. При этом третий остается, но с 150А за 50Б, тк у него купили на все. Точно так же работает и когда покупают больше, чем продают.</p>
  <p id="remL">Чтобы купить/продать на бирже, есть два способа:</p>
  <ul id="k1HR">
    <li id="vT9r">Лимитный ордер — указываешь, что продаешь/покупаешь и за какую цену (потом ждешь, когда совпадет)</li>
    <li id="r9uH">Рыночный ордере — указываешь, что продаешь/покупаешь без цены (для срочного, тк работает немного иначе, но сделка закрывается сразу: цена выставляется автоматически по минимальной на покупку/продажу в стакане)</li>
  </ul>
  <p id="24IJ">Пример рыночного:</p>
  <p id="f6OL">Надо купить 10А</p>
  <ul id="0wT7">
    <li id="Rskb">Есть 5А за 100Б</li>
    <li id="sEEe">6А за 90Б </li>
    <li id="Qmni">4 за 80</li>
    <li id="m9sc">3 за 70</li>
  </ul>
  <p id="2Se6">В итоге будут куплены 3*70 + 4*80 + 3*90<br />В стакане останутся 3А за 90 и 5А за 100.</p>
  <p id="2bU1">С продажей работает точно так же.</p>
  <p id="cODZ"></p>
  <h3 id="D4nC">P2P Сделки</h3>
  <p id="x18Y">Похожи на принцип биржи, но есть отличия:</p>
  <ul id="py0O">
    <li id="Z6WH">согласование двух сторон о сделке</li>
    <li id="1ZFL">обмен крипты и реальных денег (в нашем случае)</li>
    <li id="Tzkt">только лимитный ордер</li>
  </ul>
  <p id="seN4">Такой же список заявок (стакан), только теперь мы например продаем рубли и покупаем крипту. Мы выбираем заявку и тому человеку отправляется уведомление о сделке. Он ее принимает и его крипта замораживается беком. Нам приходят его реквизиты для отправки денег. Мы отправляем и жмем подтверждение. Тот человек получает и жмет выпуск валюты. Мы получаем крипту на свой кошелек (необязательно внутренний, то есть может быть некастодиальный).</p>
  <p id="t1tK">Если где-то нарушен этап с подтверждением и одна из сторон хочет удержать деньги, обычно крипту, то тогда обращение в ТП. Замороженную крипту потом все равно вышлют тому, кто покупал.</p>
  <p id="xteJ">От числа успешно закрытых сделок и просто совершенных строится рейтинг человека в процентах.</p>
  <p id="6n0r"></p>
  <h3 id="06fq">Перевод / Получение</h3>
  <p id="6PSK">Перевод n токенов на указанный номер кошелька</p>
  <p id="yDpx">либо</p>
  <p id="GhO6">Видишь номер своего кошелька, чтобы поделиться им для перевода</p>
  <p id="kKkm"></p>
  <p id="Wnfp">Все?)</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@lomeat/astralyx-lead</guid><link>https://teletype.in/@lomeat/astralyx-lead?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat</link><comments>https://teletype.in/@lomeat/astralyx-lead?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat#comments</comments><dc:creator>lomeat</dc:creator><title>Lead Experience Questions</title><pubDate>Wed, 01 Mar 2023 04:36:43 GMT</pubDate><description><![CDATA[Есть ли у вас опыт в организации управления командой? (Если есть - опишите процесс и результат)]]></description><content:encoded><![CDATA[
  <p id="o6pE"><strong>Есть ли у вас опыт в организации управления командой? (Если есть - опишите процесс и результат)</strong></p>
  <ul id="uDnJ">
    <li id="UVXJ">Что я хотел сказать:</li>
  </ul>
  <p id="68bg">Input  однако не лучшее место для полноценного рассуждения.</p>
  <p id="r034">Имхо, многое зависит от существующих ролей на проекте и размера команды. Допустим, с PM и мб CTO уже все обсуждено, а размер команды маленький.</p>
  <p id="BslH">Я в основном был в роли &quot;играющего тренера&quot;, когда контролировал, как саму команду, так и сам активно коммитил.</p>
  <p id="Tsvo">С точки зрения руководства, проводил такие процессы:<br />- ответственность за то, что происходит с командой<br />- проводил дейлики и иногда заменял ПМ<br />- делал ретроспективы в конце спринта, чтобы а) всей команде было понятно, что было сделано (особенно актуально, когда человек работал совсем в другом месте проекта и не знает какие фичи появились).<br />- писал суммари-логи с митов для понимания, где какой прогресс<br />- вводил, назовем их, &quot;теги&quot; и правила для составления и работы с задачами в жире<br />- решал конфликты между людьми, зачастую это было между фронтами и беками<br />- отдельно регулярно созванивался с членами команды либо в качестве помощи, либо в качестве поддержания рабочей дружественный атмосферы<br />- принимал активное участие вообще во всех созвонах, где речь была о проекте и команде<br />- собеседовал новых фронтов под нужды проекта<br />- проводил онбординг</p>
  <p id="88At">С точки зрения кода:<br />- ответственность за то, что происходит с проектом<br />- писал статьи, описывающую архитектуру и дизайн систему проекта<br />- вел документацию важных функций и компонентов<br />- контроль комитов, веток, черри-пики, мержи, вот это все<br />- проверка всех пул-реквестов<br />- тестирование стабильности и скорости рендера</p>
  <p id="WO97"><strong>Что я ответил:</strong></p>
  <p id="l02i">Input однако не лучшее место для полноценного рассуждения. Имхо, многое зависит от существующих ролей на проекте и размера команды. Допустим, с PM и мб CTO уже все обсуждено, а размер команды маленький. Я в основном был в роли &quot;играющего тренера&quot;, поэтому: a) команда, б) проект. а) команда: ответственность за то, что происходит с командой; дейлики, ретроспективы, суммари-логи; созвоны отдельно с каждым коллегой; решение конфликтов, помощь. б) проект: ответственность за то, что происходит с код базой, стабильностью; описание архитектуры, readme/posts; проверка PR; правила проверки/пуши/ведения коммитов/веток;</p>
  <p id="RVxn"></p>
  <p id="T5R3"><strong>Что вы будете делать, когда наступит крайний срок (работа не сделана, а сроки сжаты)</strong></p>
  <p id="Ge2g"><strong>Что я хотел сказать:</strong></p>
  <p id="xJOV">Снова все зависит от разных условий xD. Допустим, что мы четко понимаем все задачи, которые блокируют релиз, их приоритеты и ресурсы команды.</p>
  <p id="uquU">Есть такие варианты:</p>
  <ul id="bra8">
    <li id="SXw6">Веду переговоры  с PM/CTO, в худшем случае с заказчиком, на тему того, чтобы сдвинуть несколько задач на следующий спринт или  даже распределить на несколько</li>
    <li id="1sbn">Сбор ответственных разработчиков за конкретные задачи (либо вся команда) для точного распределения обязанностей ежечасно.</li>
    <li id="ZaH1">Зачем? Если времени ну совсем мало, а это все должно было быть сделано вчера, то у нас есть выход либо сделать максимум, либо договориться. Вот когда договориться не вышло, или вышло &quot;наполовину&quot;, нужно собрать все силы и грамотно направить их на доработку самых ключевых моментов</li>
    <li id="ZZFk">Могут быть &quot;костыльные&quot; решения по типу заглушек и не самой лучшей реализации в плане архитектуры, зато выигрыш по времени в данный момент, но это как говорится unsafe operation.</li>
    <li id="cJ7H">Переработка с договорной оплатой в эти часы для членов команды. Обсуждается все с CTO, когда времени совсем мало.</li>
  </ul>
  <p id="thFJ"><strong>Что я ответил:</strong></p>
  <p id="5UN2">Переговоры с PM/CTO для переноса задач на следующие спринты; точечное планирование для каждого для делегирования, чтобы выжать максимум производительности; возможно переработка; не самые качественные решения в пользу времени — в общем это такой &quot;военный&quot; час для всей команды, самая боевая готовность. Если все устали и нет сил, то говорит о том, что кранч уже был ранее и нужно либо искать еще людей, либо планировать меньше задач спринт.</p>
  <p id="hgXE"></p>
  <p id="e696"><strong>Заняв руководящую должность, запишите свой план действий</strong></p>
  <p id="CLGx"><strong>Что я хотел сказать и ответил:</strong></p>
  <p id="YbND">В первую очередь, конечно знакомство с командой и презентация себя. На данном этапе предполагается, что условия работы уже обсуждены с вышестоящим лицом и есть права на действия. Ознакомление с текущими процессами и изучение документацией. Изучение ТЗ, апи проекта, текущие/будущие задачи. В общем надо сначала освоиться, посмотреть как идут процессы и потом начинать принимать ответственность и решения.</p>
  <p id="BZtR"></p>
  <p id="DRy2"><strong>Мне нужно разработать сайт типа aviasales.ru, чтобы на сайте можно было покупать билеты на транспорт по всему миру. Ссылка на дизайн - Blablacar. Мне нужна только главная страница с покупкой билетов. Оплата билетов криптовалютой. Пропишите техническое задание для разработчика.</strong></p>
  <p id="Z7d6"><strong>Что я хотел сказать:</strong></p>
  <p id="WnSk">Это в принципе уже можно назвать тех заданием) Более развернуто я это вижу тех документом, подробно описывающим все механики приложение, либо задачами в жире, где я уже проанализировал систему, спроектировал примерную архитектуру и дроблю их на атомарные кусочки, описывая принцип действия и соблюдаемые условия.</p>
  <p id="hi3w">Поэтому я просто тут пройдусь поверхностно по общей структуре и технологиям (за базу берем React), опуская &quot;лишний&quot; дизайн с фокусом только на функционал.</p>
  <p id="Yztz">1) Главная страница </p>
  <ul id="4N7V">
    <li id="uHnC">Landing, верстка, респонсив</li>
  </ul>
  <p id="eQjc">2) Форма: селекторы, выбор даты, тип транспорта, число пассажиров, кнопка поиска</p>
  <ul id="MMB5">
    <li id="2vhQ">При надобности точечного контроля за формой и валидации, которая тут не очень нужна, но можно использовать react-hook-form и yup</li>
    <li id="DQy6">Можно использовать Antd / MaterialUI для уменьшения времени разработки</li>
    <li id="aduT">Иначе делать свои селекты с drop-menu результатами поиска по городам</li>
    <li id="DxJX">Делать запрос на бек в момент окончания ввода поиска (debounce), сохранять в глобальный стор не нужно</li>
    <li id="A8IV">Либо antd, либо input type=&quot;date&quot; для даты</li>
    <li id="2zR5">input type=&quot;number&quot;, целочисленный, min={1}</li>
    <li id="1VcG">Submit button, которая делает POST запрос данных формы</li>
    <li id="G9PS">Получаемый токен запроса можно положить либо в стор, либо в sessionStorage</li>
    <li id="CRxn">Так же, если есть потребность шарить ссылки результатов поиска, можно на &quot;новой&quot; странице прокидывать токен в uri options</li>
  </ul>
  <p id="ZYjQ">3) Результаты</p>
  <ul id="TZew">
    <li id="2gGA">Берем токен из стора и делаем GET запрос для получения списка билетов</li>
    <li id="23yD">Есть два главных компонента: список, фильтры</li>
    <li id="abNj">Фильтры отдельно получаем тоже GET запросом один раз и тоже нет смысла использовать лишний раз стор. Фильтры могут быть общим объектом стейта, могут быть сделана через react-hook-form, особо разницы нет. При изменении, новый GET запрос на получение списка билетов с новыми фильтрами — либо снова отправить токен, либо данные предыдущей страницы, если сохранили их в стор</li>
    <li id="y3vx">Список подписывается либо на стор, либо на sessionStorage, куда мы можем сложить json всех билетов (если их мало, мало занимают места). При большем количестве либо пагинация, либо виртуализация (тогда тут session может не подойти), в зависимости от требования заказчика.</li>
  </ul>
  <p id="sTB7">4) Покупка</p>
  <ul id="dP0J">
    <li id="IOau">Если есть какое-то подтверждение данных пользователя, то дополнительно с покупкой нужен токен авторизации, его почта/телефон</li>
    <li id="Q4TN">Далее выполняем транзакцию с помощью Ethers / web3 (rpc / metamask)</li>
  </ul>
  <p id="sB9V"><strong>API</strong></p>
  <figure>
    <script src="https://gist.github.com/lomeat/2ddd1c626597304311cf036c02fe3858.js"></script>
  </figure>
  <p id="LgwW"><strong>Что ответил:</strong></p>
  <p id="mpvG"><em>this</em></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@lomeat/react-pixi</guid><link>https://teletype.in/@lomeat/react-pixi?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat</link><comments>https://teletype.in/@lomeat/react-pixi?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat#comments</comments><dc:creator>lomeat</dc:creator><title>Реактивный пикси</title><pubDate>Wed, 22 Feb 2023 22:45:13 GMT</pubDate><description><![CDATA[Иногда раз в неделю, бывает чаще, бывает реже, я пишу гиперказуалки на Pixi.js. Не доделываю обычно до конца, интересен больше процесс решения сложных ситуаций и поиск выхода: как красивее и проще всего решить конфликт архитектурный (да, я типа нахожу себе головоломки, вместо всяких игр-головоломок, я думаю такие люди как я и делают такие игры).]]></description><content:encoded><![CDATA[
  <p id="rq9Y">Иногда раз в неделю, бывает чаще, бывает реже, я пишу гиперказуалки на Pixi.js. Не доделываю обычно до конца, интересен больше процесс решения сложных ситуаций и поиск выхода: как красивее и проще всего решить конфликт архитектурный (да, я типа нахожу себе головоломки, вместо всяких игр-головоломок, я думаю такие люди как я и делают такие игры).</p>
  <p id="gXgi">Но есть нерешенная проблема, что приходится придумывать геморойный велосипед как писать на Pixi не только функционально, но и реактивно. Не жду прям реакт рендера, но хочется, чтобы оно само красиво обновлялось.</p>
  <p id="Q7lV">Я долго делал обертку через<br /><code>Ticker.shared.tick(() =&gt; {})<br /></code>и придумывал как сделать это с<br /><code>function useState&lt;T&gt;(value: T): [T, (value: T) =&gt; void]<br /></code>потому что нет реактивного обновление стейта у детей</p>
  <p id="ImBc">А потом случайно наткнулся на React Pixi.<br />https://pixijs.io/pixi-react/stage/</p>
  <p id="hsD8">Ох, сколько идей, это можно теперь делать типа игру на привычном компонентном подходе реактивном, но рисовать графику с пикси.</p>
  <hr />
  <h3 id="AyBU"><strong>OLD</strong></h3>
  <p id="fcbo">Есть вот такой пример (1), где мы создаем типа хук, но не хук, функцию, которая возвращает игрока и мы можем у его instance менять скорость, например каждую секунду увеличивать.</p>
  <pre id="o82j" data-lang="typescript">// My old variant with vanilla Pixi. js
export function PlayerShort0) {
  const sprite = Sprite.from(&quot;player.png&quot;);
  
  // init speed
  const [speed, setSpeed] = useState(0);
  
  const newProps = { setSpeed, speed };
  return Object. assign (sprite, newProps);
}

export function SceneShort() {
  const container = new Container();
  
  const player = PlayerShort();
  
  // update speed
  Ticker. shared. tick( (dt) = {
    player.setSpeed (Math. floor(dt));
  };
  
  // result speed
  console.log(player.speed);
  
  container. addChild (player);
}</pre>
  <p id="Dcpd">Надо создавать отдельные инстансы, связывать методы, добавлять к контейнеру как в DOM</p>
  <p id="vxHe">Так же както придумать, как обновлять стейт</p>
  <h3 id="ox2Q"><strong>NEW</strong></h3>
  <p id="isUW">(2)-ой вариант с ReactPixi, где мы контролируем скорость игрока верхнеуровнего, скорее всего делать надо както подругому, чтобы методы были более приватные и логическо относились друг к другу, но</p>
  <pre id="Ia48" data-lang="typescript">// New variant with ReactPixi, React, Pixi. js
export function ReactScene() {
  // init speed
  const [playerSpeed, setPlayerSpeed] = React.useState(0)
  
  const i = ReactPixi.useIteration(1)
  // update speed
  setPlayerSpeed(i)  

  return (
    ‹Container&gt;
      ‹Player speed={speed}&gt;
    &lt;/Container&gt;
  )
}

export function ReactPLayer({ speed }) {
  // result sped
  console.log(speed);
  return ‹Sprite image=&quot;player.png&quot; /&gt;;
}</pre>
  <p id="LwdD">Зато теперь мы просто в дереве как в React используем Player и все, само снова нормально обновляется</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@lomeat/facebook</guid><link>https://teletype.in/@lomeat/facebook?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat</link><comments>https://teletype.in/@lomeat/facebook?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat#comments</comments><dc:creator>lomeat</dc:creator><title>Facebook Live: System Design</title><pubDate>Thu, 05 Jan 2023 23:17:09 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/93/2c/932ccb70-f81a-4b4d-92bd-f1bd4e41fc82.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/43/89/4389e0ad-1391-4882-9ba3-f5914090ced6.png"></img>author: Michael Filipenko
email: lom3at@gmail.com]]></description><content:encoded><![CDATA[
  <p id="MNJe">author: Michael Filipenko<br />email: lom3at@gmail.com</p>
  <p id="Pwyf"></p>
  <h2 id="xN1F">Introduction</h2>
  <p id="xAVY">Here, I put more emphasis on the design of the client (frontend).</p>
  <p id="2O5c"></p>
  <h2 id="xf93">Content</h2>
  <ul id="lFCp">
    <li id="ltuP">Component</li>
    <li id="ldcK">Structure</li>
    <li id="O7xs">Details</li>
    <li id="NCmq">Data flow</li>
    <li id="xvcZ">API</li>
    <li id="6pe5">Code</li>
  </ul>
  <p id="gcZE"></p>
  <h2 id="IKrO">Component</h2>
  <p id="CDma">I skip the rest of app to talk only about the &quot;stream&quot; part. At a glance, I can split the application into several subsystems when we are already at someone&#x27;s stream. Of course the entire app is more complex with more details, but I will speak further about only one component, so I think I can not mention them.</p>
  <figure id="jucK" class="m_column">
    <img src="https://img1.teletype.in/files/43/89/4389e0ad-1391-4882-9ba3-f5914090ced6.png" width="1206" />
  </figure>
  <p id="7glf">The root has 5 systems:</p>
  <ul id="Bst1">
    <li id="R9Ny"><strong>Video stream </strong>— obviously, it is about all video and sound streams that user watches</li>
    <li id="b3Bp"><strong>Social actions </strong>— any user action with streamer for expression his emotions</li>
    <li id="7dm1"><strong>Account interactions </strong>— it can be subscribe or report or some other account/personal stuff</li>
    <li id="ilP5"><strong>Stream information</strong> — literally the data of amount of subscribers or viewers, or how much time passed from start, or anything else</li>
    <li id="KCf8"><strong>Widgets</strong> — it can be some unusual stuff supporting by app natively, for example streamer&#x27;s advertising or special donates alerts, or links, etc.</li>
  </ul>
  <p id="lVgx">I personally was interested how to realize comments section in &quot;social actions&quot;. So I choose to explain how we can make the component/system of <strong>Chat/Comments/Toasts.</strong></p>
  <p id="YQGI"></p>
  <h2 id="PoZT">Structure</h2>
  <p id="jfjR">Lets imagine that we haven&#x27;t realized comments section yet and we have some freedom to think how it can be looks.</p>
  <p id="0PAn">I love to make minimalistic things, build something from scratch with minimum details to create simple easy understandable mechanic/concept/design which we can scale and develop further.</p>
  <p id="7KVg">Also, the user needs the greatest immersion in what he is watching without losing interactivity. I mean we need to figure out how to show actual live comments, while taking care of the free space on the screen.</p>
  <p id="pLBE">We have there some options:</p>
  <ol id="uTGb">
    <li id="Cqpi">Show the comment button at the corner somewhere. When the user clicks on this button he sees the last comments and can chats too. But he doesn&#x27;t see any people opinions when chat is closed.</li>
    <li id="n1z5">Show all messages over the video at some side. But its not comfortable to see this video because of mess on screen.</li>
    <li id="Vw7V">And the last point is creating separate subsystems where we show some slice of limited comments by length or by time over the video at the corner somewhere and also when user clicks or scrolls on it he sees the fullscreen chat with all messages.</li>
  </ol>
  <p id="ojGE">I pick the last one, because it more flexible to setting up and it improves user&#x27;s experience.</p>
  <figure id="2097" class="m_column">
    <img src="https://img3.teletype.in/files/ea/91/ea91914b-360f-4ef8-88a5-3e46ae0de13b.png" width="584" />
  </figure>
  <p id="Zrt2">How it works:</p>
  <ul id="kuPL">
    <li id="8rks">Comments - system that manage the messages/comments by users at stream. Exists separately from view (data flow will be further).</li>
    <li id="GPEY">Chat - sidebar or fullscreen view with all messages and also provides interface to type new own message. It can also have flexible settings for different roles at stream (such as moderators, admins, viewers, etc.)</li>
    <li id="5EXe">Toasts - simple short list of few the last comments that disappear after some time</li>
  </ul>
  <p id="kcgM"></p>
  <h2 id="BWzf">Details</h2>
  <p id="U1Ti">Okay, we made a choice. So, the task sounds simple — just draw the list of comments and provide interactivity to create new messages. But there are some pitfalls.</p>
  <p id="rJxJ">For all developers are obviously that RAM is not endlessly. Furthermore, often user has low-end smartphone with small ram. Then we need to figure out how to store not so many comments at a time.</p>
  <p id="HCsg">We use socket connection with comments room, where we are getting new comments and storing somewhere at project outside the view. By long time, this list will be large and app will crash. Also, we need to toggle view of full list and short toasts list, so what we have there and what we can do:</p>
  <ul id="8U7w">
    <li id="m3qT">get 10 comments (for example) in stream</li>
    <li id="Xu0o">post to server the oldest comment&#x27;s id to get further new comments slice</li>
    <li id="RSSG">show every new comment as a toast with expiring time</li>
    <li id="a1BT">when user wants to open chat, he will see the last 10 comments quickly right now and app starts loading new older comments</li>
    <li id="jM27">when he scrolls the chat, we load new and new, but it can be also large by time, so we can make this list virtualized.</li>
  </ul>
  <p id="T58I">With this conditions we don&#x27;t loose the RAM and can make efficient interface.</p>
  <p id="lDfR">Also we have some options how to realize presentation layer:</p>
  <h3 id="2exR">№1 - Toasts and Chat</h3>
  <p id="lA3W">Separate subsystems, where we use common comments list from store, but they are works independent of each other. </p>
  <figure id="z3JE" class="m_original">
    <img src="https://img2.teletype.in/files/53/f4/53f4a372-2d1c-422b-a564-896c5fa40499.png" width="386" />
  </figure>
  <p id="xnyd">I render it here side by side, but in real app clicking/scrolling the left list should toggle visibility of right list. </p>
  <p id="XHa9">So, left list is the toasts, simple &quot;stupid&quot; presenter that renders the newest comment and hide it when its time expires. </p>
  <p id="PKij">Right list is the &quot;chat&quot; without the input in my example.</p>
  <p id="YN9S">The main idea here is to separate comments by 2 independent subsystems, where we use any toast service to show shortly the last messages and high-load chat view.</p>
  <p id="Wx84">But it has some issues with it, because we working with the same data but in different ways. So we need to keep different information in one domain for different views. For example, we need &quot;expireAt&quot; for toast and it is useless for chat. Also count of comment&#x27;s likes is useless for toast. It can be ok if we use additional tools to map/decrease comments sizes, or we have complex functionality for chat.</p>
  <h3 id="e1qt"><strong>№2 -</strong> Only <strong>Chat</strong></h3>
  <p id="1niC">For shorty list set small height of chat list without input and for chat just increase the height, add background color and show text input.</p>
  <p id="S27e">It is really simpler realization and if we no need complex chat functionality, just get and send messages so it would be the greatest choice to develop.</p>
  <p id="KZB1">It will be looks almost the same if make blur transparent borders on shorty list.</p>
  <p id="2VQa"></p>
  <h2 id="m9Zo">Data flow</h2>
  <figure id="UdoV" class="m_column">
    <img src="https://img4.teletype.in/files/7a/86/7a86d0cc-44c1-4e67-b39a-d1496def4238.png" width="1141" />
  </figure>
  <p id="Cw4A">Legend: </p>
  <ul id="ByHS">
    <li id="QB5X">blue arrow - http/socket messages</li>
    <li id="YFPf">black arrow - local messages</li>
  </ul>
  <p id="Bfro">At the first view looks like we no need a store and work only with service (local state). But it can be helpful in further development while working with chat different view and actions. </p>
  <p id="jHrQ"></p>
  <h2 id="rf8c">API</h2>
  <p id="LucE">Here we are have 4 requests:</p>
  <ol id="rlKT">
    <li id="1mlR">Connect to socket room<br />request { roomId }</li>
    <li id="Ziau">Get older messages by the oldest store comment&#x27;s id<br />request: { amount, lastId, roomId }</li>
  </ol>
  <p id="E5mo">Messages from backend to client via socket</p>
  <ol id="03Ef">
    <li id="4ANT">Get new message from room<br />response { id, author, timestamp, message }</li>
  </ol>
  <p id="8ygX">Messages from client to backend via socket</p>
  <ol id="KZ9d">
    <li id="DfiX">Send new message to room<br />request { message }</li>
  </ol>
  <p id="22vA"></p>
  <h2 id="Pq5A">Code</h2>
  <p id="WJ4k">I introduce the first variant (toast and chat) in code to have better explanation what I talked above.</p>
  <p id="30o2"><a href="https://codesandbox.io/s/toast-chat-implmentaion-drxwz0?file=/src/toaster.jsx" target="_blank">https://codesandbox.io/s/toast-chat-implmentaion-drxwz0?file=/src/toaster.jsx</a></p>
  <p id="pkcW">There are <strong>Toaster</strong> class that provides interface to working with disappearing toasts, <strong>CommentsConnection </strong>to mock asynchronously getting comments data, <strong>Chat</strong> for taking last 10 comments and main wrapper for <strong>Comments, ToasterView, Toast </strong>which are just view presenters.</p>
  <p id="51OT"></p>
  <h2 id="NF5W">Summary of comments</h2>
  <p id="JI7J">Here I described some variants and opportunities how we can make a task with this entire section. It was superficial enough to highlight key points in the design process. Of course at real task needs more conversations with team (back-end at least) to configure more flexible and detailed interface with project components structure, bottleneck moments and other.</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@lomeat/main-post</guid><link>https://teletype.in/@lomeat/main-post?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat</link><comments>https://teletype.in/@lomeat/main-post?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=lomeat#comments</comments><dc:creator>lomeat</dc:creator><title>Отличие и цель</title><pubDate>Thu, 11 Mar 2021 07:05:03 GMT</pubDate><description><![CDATA[Отличие этого блога от основного в том, что тут я пишу технические/материальные конспекты, связанные с работой и ничего общего с психологическими переживаниями. То есть цель — это централизовано вести конспекты по изученным темам, сделать посты/страницы с готовыми ответами для собеседования и в целом как-то систематизировать опыт подготовки. ]]></description><content:encoded><![CDATA[
  <p id="kC4C">Отличие этого блога от основного в том, что тут я пишу технические/материальные конспекты, связанные с работой и ничего общего с психологическими переживаниями. То есть цель — это централизовано вести конспекты по изученным темам, сделать посты/страницы с готовыми ответами для собеседования и в целом как-то систематизировать опыт подготовки. </p>
  <p id="H2SO">Из разряда: было собеседование, записал сюда все вопросы, что спрашивали у меня, после расписал ответы на них, заучил. </p>
  <p id="eelE">Так же изучая какую-то тему, например TypeScript, я тут буду писать/редактировать один пост, но он должен полностью покрывать эту тему. То есть, чтобы я мог быстренько перед собеседованием (или прямо на нем) открыть этот пост и найти то, что у меня спрашивают.</p>
  <p id="GV2L">Так же изучая какую-то тему, например <a href="https://teletype.in/@lomeat/typescript" target="_blank">TypeScript</a>, я пишу/редактирую только этот один пост. То есть по одной и той же не теме не может быть несколько постов. Только редактирование и дополнение уже существующей. Потому что это конспект, а не новость. Даже этот пост переписан уже 3-ий раз.</p>
  <p id="XVbQ">Целевая аудитория блога такая же, что и у предыдущего — я. Иногда приятно, когда кто-то делится мыслью по твоим мыслям, но в целом все тут исключительно из-за меня для меня. Поэтому каждый пост не имеет цели объяснить другим, что это такое. Он исключительно, чтобы мне служить справочником и напоминать то, что можно забыть (обычно это большое кол-во деталей). Если я что-то сам знаю на подкорке, то смысл мне самому себе снова это говорить. Исключение: объявление сабжа на 1-2 абзаца.</p>

]]></content:encoded></item></channel></rss>