Проект с сервисом для общения
65 постов
65 постов
12 постов
39 постов
1 пост
5 постов
Давно лежал у меня старенький мультиметр. Покупал, примерно, лет 20 назад, что только с его помощью не измерял... Сжег у него на заре входа в элтех цепь измерения тока. В общем, много чего с ним было связано, он рабичий, но один из его неродных щупов сломался:
С помощью второго мультиметра определил обрыв жилы. Обрыв в начале щупа. Щуп неразборзный. Разрезал, добрался до провода, зачистил провод и залудил:
Далее припаиваем провода и изолируем синей изолентой (куда без нее):
Как склеить щуп обратно - не знаю. Можно клеем, но вряд ли какой клей будет нормально держать гибкий ПВХ корпус. В итоге берем ту же изоленту и сматываем:
Хотелось бы чтобы щуп был как новый... Но получилось как получилось, работает. Возможно когда-нибудь новый куплю 😂
Может кто знает каким клеем можно склеить ПВХ так, чтобы шов был "спаян". Был бы признателен за подсказку.
Часто под своими ремонтными постами замечаю коментарии достигаторов или зарабатыров (не знаю как правильно) по типу "твой ремонт экономически невыгоден".
Так-то да, весь этот прибор может рублей 100 стоит с учетом его работоспособности. Но это не мешает мне сесть и починить его 🙂
Если что, обычно, пользуюсь вот этим устройством:
Разьем для измерения тока, кстати, так и держу заклеенным, чтобы случайно чего не натворить 😂
В сервисе для общения работаю над контекстным меню. Сейчас немного подправил код отображения вот этих дат (оптимизировал и изменил логику отображения прилипшей сверху даты):
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых. Постепенно буду продолжать делиться успехами разработки сервиса.
На днях решил проверить как приложение будет работать на iPhone 16 и древненьком Huawei P30 Lite. На айфоне более-менее, проблем с производительностью замечено не было (в релизной/продакшен сборке). А вот Huawei P30 Lite начал агитировать в пользу проведения основательной (ну или хотябы какой-то) работы по оптимизации приложения.
Подзабросил оптимизацию, в основном перерисовывал интерфейс методом "перерисуй вообще все сейчас". На мобильных устройствах отрисовка так не работает 😂
В Total Reload занимался программной частью и оптимизация по рендеру сводилась к GPU Instancing, Dynamic/Static Batching, LOD (моделе и шейдеры), render pipeline, настройка количества пост-эффектов и их группировка в одном шейдере. Это основные моменты по оптимизации. В итоге частота кадров 30-60 fps в зависимости от видеокарты:
В flutter не обнаружил почти ничего из того, что использовал в игровой разработке. Во всяком случае из всего вышеперечисленного "напрямую" ничего не использовал. Потому в первое время делал setState() (обновление состояния/внешнего вида виджета на экране) максимально часто. В итоге получил довольно тормознутый интерфейс.
Мощнейшая оптимизация
1) setState теперь стараюсь не вызывать, пытаюсь всюду использовать notifier.
2) обновляю только то, что нужно обновить.
Пожалуй, это вся оптимизация. Этого хватило чтобы интерфейс окна переписки стал отзывчивым. Пришлось немного 😂 переписать код, но с кем не бывает.
Сегодня добавил кнопку промотки истории переписки к самому началу:
Кнопка исчезает/появляется в нужный момент. Промотку можно остановить, если каснуться экрана в процессе промотки. Но это все из области "само собой разумеющееся".
Уже не первый раз спрашивают когда выложу в публичный доступ. Затрудняюсь сказать. Работаю, результаты видите. Можете по постам предположить дату выпуска первой версии 😅 Не могу озвучивать точные сроки тк могу их нарушить.
Еще иногда спрашивают примерно такие вопросы:
Мне неважно сколько человек им будет пользоваться. На данный момент делаю проект для себя, друзей и подписчиков. Не думаю, что оно как-то коммерциализируется, тем более само собой. В любом случае в этом году у меня совершенно нет времени заниматься раскруткой сервиса для общения. А вот работу забрасывать не буду. Скажу больше, во что бы то ни стало в свободные вечера буду заниматься доработкой и улучшением сервиса до выпуска, а после выпуска его поддержкой :)
Продолжаю работу над контекстым меню и взаимодействием с сервером :)
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых. Постепенно буду продолжать делиться успехами разработки сервиса.
Добавил контекстное меню в сервис для общения 🙂
В первую очередь хотелось бы поблагодарить спонсора контекстного меню, а если точнее, то этого разработчика: Dexterfury. Его проект был взят в качестве основы: https://github.com/dexterfury/flutter_chat_reactions




Болванка с гитхаба немного доработана: переделаны анимации, доработаны кнопки, немного изменена механика взаимодействия с сообщениями и вот что получилось:
Думаю получилось неплохо, пока кажется "работает удобно" 🙂
Кстати, исправил выделение сообщений. Ранее при клике на сообщение на который был дан ответ оно выделялось вот такой серой полосой:
Полосу убрал, сейчас сам "бабл" вспыхивает и меняет цвет (на видео выше видно).
Контекстное меню и выбор действий с сообщениями добавил. Осталось (😂, да, осталось) нужно подключить сетевое взаимодействие. Напомню, севрер уже все поддерживает, нужно чтобы клиент корректно отправлял команды на сервер и обрабатывал его ответы. Буду работать над этим 🙂
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых. Постепенно буду продолжать делиться успехами разработки сервиса.
Наконец добил механику прокрутки к заданному сообщению. Система несложная, но не было времени основательно сесть и придумать как прокручивать историю переписки.
Один из ранних вариантов прокрутки истории:
Плюсы:
как-то оно прокручивает к нужному сообщению
Минусы:
на обе ноги хромает производительность
проблемы с визуализацией сообщений (они пропадают в процессе прокрутки)
сломалась механика дат истории переписки (даты не прилипают к верхней части экрана)
сломалась анимация аватарок (тут они перестали корректно реагировать на поле ввода).
Сделано было так: в памяти создается второй массив сообщений и с ним производится поисковая работа параллельно работе интерфейса. Если скролить нужно недалеко, то по производительности терпимо. Если далеко - появляются тормоза.
В целом идея жизнеспособная, скорее всего ее и довел бы до ума, но нашел более простое решение: загружаю пачку сообщений и ищу среди них нужное, если его нет - прокручиваю эту пачку и сразу же загружаю другую пачку. Если сообщение находится, то прокручиваю к найденному сообщению. Теперь все работает, даже под дебагом с логами не тормозит:
Также добавил простенькую анимацию: найденное сообщение подсвечивается
Теперь буду добавлять систему взаимодействия с сообщениями посредством контекстного меню: кликаешь на сообщение и появляется окошко с выбором действий: редактировать, удалить, поставить эмоджи и тп.
Надеюсь сильно не застряну с контекстным меню 😅
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых. Постепенно буду продолжать делиться успехами разработки сервиса.
В последнее время мне приходится много работать с людьми в качестве "типа" волонтера. Большая часть людей - достаточно уважаемые люди (участини СВО или родственники участников, просто пожилые).
И вот, всем этим людям приходится делать копии документов (даже по несколько копий). Документов у них, понятное дело, много. Обычно я направлял их в МФЦ, ну или в том направлении в какую-нибудь копирку. И вот узнал от них, что печать/копирование стоит очень даже и недешево. Чтобы не быть голословным, сам пришел в МФЦ, проверил, сделал фото:
К сожалению фото экрана, где указана стоимость печати одной страницы нет. Стоимость печати страницы стоит 30 руб. Если двухсторонняя печать - 60 руб. 16 страниц, с вас, пожалуйста, 480 руб 😅.
Думаете это предел? Да нет, печать страницы может стоить 30, 50, 80, 100, ... 1000 руб за страницу еще не встречал, а вот 100 руб видел. Жители регионов, вы еще не в шоке от цен? Где из воздуха делают деньги печатают по цене 100 руб за страницу? Например в МФЦ Сахарово. Сам не поверил пока своими глазами не увидел:






Пришел, зашел, проверил
Всех в Сахарово просто так не пускают, для этого должен быть соответствующий уровень доступа. Так что каждый туда не сможет прийти и проверить :/
А вот, пожалуйста, сервис печати черно-белых документов, 100 руб страничка:
Кстати, раньше попадалась эта статья: https://www.mk.ru/social/2024/04/04/nesladkoe-sakharovo-chto-proiskhodit-v-migracionnom-centre-posle-terakta.html
В статье почему-то рассказывается о проблеме с поездкой в МФЦ. На мой взгляд проблема с поездкой если и есть (сам не столкнулся), то это далеко не самая большая проблема. Но оставим Сахарово с его проблемами, иначе тема сильно выйдет за рамки темы поста.
В общм мне это дело с печатью очень не нравится, со своей стороны я могу что-то с этим сделать и сделаю. Повторюсь, часть людей с которыми работаю - пожилые, участники СВО (и члены семей), иностранцы из небогатых стран. Так что решил поставить себе свой МФУ и по себестоимости печатать всем копии. А может они сами даже будут печатать их себе (на своей бумаге). Так и задумал приобрести МФУ.
Дома стоит Pantum M6507W (примерно 14 000 - 16 000 руб он стоит сейчас). Машина хорошая, но у нее есть куча недостатков:
печатает медленно
сканирует еще медленней
нет автоматической двухсторонней печати
он у меня сломался спустя 1,5 года ненапряженной работы (начал рисовать полосы, местами непропечатывать). Смена картриджа не помогла. Разбирал-собирал его, пришел к выводу что нагревательный барабан барахлит. Заниматься его ремонтом некогда, даже если починю, то он работает ну очень медленно.
Нет, для дома он еще вполне неплох, может как-то сканировать и печатать по листику. А вот если требуется чтобы он напечатал "срочно вот сейчас прямо и без проблем", то с этим проблема. Из-за его скорости выстроится очередь как в мавзолей 😂
Нужна машина, которая не будет создавать проблем, желательно вообще:
- быстрая печать и сканирование
- двухсторонняя печать
- работа по Wi-Fi
- простой и понятный интерфейс
Вроде это все что от МФУ и требуется.
В сети нашел разные варианты. Все нахваливают свою продукцию, не знаю что и выбрать. Когда приобретал Pantum, тоже читал положительные отзывы типа "машина зверь". На деле скорее "беззубая кляча" 😂 Не знаю кому и верить.
Посоветуйте хороший МФУ, чтобы работал исправно и быстро.
Что по сервису для общения
Завален работой, застрял на системе пролистывания сообщений к нужному сообщению. Надеюсь на следующей неделе доделаю пролистывание.
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых. Постепенно буду продолжать делиться успехами разработки сервиса.
Возникла ситуация, дано: повреждение стоп обоих ног (точное описание зачитывать не буду, чтобы не пугать). Документ из МСЭ (условно больница) у меня на руках и казалось бы «с больницами вопрос закрыт».
В документе стоит синяя печать и электронная подпись врача. Принёс документ в госорганизацию А и в ней запросили подпись врача от руки, электронная почему-то их не устроила. Хорошо… никогда такого не было и вот опять.
На мой взгляд просто увольняли бы ответственных за такие фокусы и чудес у нас было бы меньше. Но сейчас не об этом, а о том как все прошло.
Пришел на днях в ГБ МСЭ #Х без записи. В документе указано, что документ выдан именно в ней (ну адрес её сверху стоит). Нужно было получить ту самую подпись врача от руки. Поднимаюсь на этаж, а там почти пусто. И к нужному мне врачу сидит одна бабушка. Врач отошел, она его ждёт. Сел рядом, завязался разговор. Говорю бабушке: «да мне всего лишь поставить подпись» и показываю документ 😂
Подходит врач и бабуля говорит: проходите, у вас же быстро это будет. Видать прониклась, посмотрев на бумажку 😢
Захожу в кабинет, во-первых пришел врач мужчина. А электронную подпись ставила женщина. Оказалось, что врач-женщина работает в другой ГБ МСЭ и из неё ставит электронные подписи. А синие печати, наверно, по месту проставляют. Пока мы выясняли кто в итоге будет мне ставить подпись, прошло 10 минут.
В общем, вот так «мне всего лишь поставить подпись» превратилось в 10 мин выяснений. Тратить время врача, бабушки и свое на выяснение не стал. Чувствую там и 30 и 40 мин а может и час бы ушел на поиски этого врача. А ещё доверие бабушки бы разрушил, ведь зашёл всего лишь подпись поставить.
Получил новый адрес врача у главного по больнице (теперь 1000% нужно ехать в МСЭ на ул. Приорова 36), поехал на следующий день тк в этот уже не успевал. Приезжаю, а там этого врача тоже нет! И ещё удивляются чего это я приехал к ним, когда нужный мне врач находится на ул. Докукина д. 11 стр. 2.
Пока до ул. Докукина 11 не добрался, но надеюсь что это последний адрес и по кругу они меня не пустят.
То что я к ним на ногах пришёл со степенью инвалидности 3 согласно документу (будем подавать на 1, 2 точно поставят) их почему-то не удивляет, а вот пришел не по тому адресу… Вот это да, вот именно это странно конечно 🤔 В общем, что я понял, неходячий из-за них будет бегать, незрячий у них прозреет, глухой услышит. И вишенка на торте - немой заговорит, а то и запоет как Магомаев.
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых. Постепенно буду продолжать делиться успехами разработки сервиса.
Планировал за вечер доделать систему ответов. Но не справился. Работал над системой ответов и внезапно всплыл неприятный момент:
1) История сообщений грузятся динамически пачками по Х сообщений. Каждое соообщение может ссылаться на какое-то сообщение из истории переписки.
2) Сообщение на которое ссылается текущее сообщение может не быть загружено. В этом случае его нужно подгрузить. Иначе приложение будет думать, что сообщение удалено:
И тут самый сок. За что я не люблю Flutter/мобильную разработку - это за то, что нельзя просто взять и загрузить то, что недостает:
Начались пляски с бубном на тему того как же оптимальней подгрузить эти недостающие сообщения. Перепробовал разные методы, самый оптимальный (на мой взгляд) - загружать допсообщения в момент, когда грузятся основные сообщения.
Ничего умнее и оптимальнее придумать не смог. Другие вариант подгрузки приводят к ожиданиям из-за обращения к БД в следующем кадре; А еще они приводят к хитровымудренным схемам перестройки интерфейска, что мне совсем не понравилось (работы там и без этого хватает).
Ранее писал что буду переделывать систему вывода таймстемпов т.к. в ней были выявлены ошибки. Переделал:



Таймстемпы теперь всегда в правом нижнем углу
Также состояние доставки перенес в самый правый угол сообщения.
Сейчас сообщения-ответы на сообщения отправляются, приходят и нормально выводятся. Проблем не должно быть.
Далее берусь за работу над контекстым меню сообщений (это когда жмешь на сообщение и возникает меню с вариантами действий). Вот его нужно добить и можно будет редактировать сообщения :)
После контекстного меню буду думать над загрузкой медиа на сервер (для обмена файлами). По идее серверная часть уже реализована, нужно бы научить приложение загружать медиа на сервер и обрабатывать ошибки загрузки :)
Вроде интерфейс получается. Вспомнил первые наброски интерфейса:
Примерно так он выглядит сейчас:
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.
Ранее писал о том как делал механику ответа на сообщения (свайп). Была проблема: любое свайпнутое сообщение сдвигало аватарку пользователя. Исправил этот момент:
Тут на видео видно как работает:
Но это не все успехи :)
Еще добавил в поле ввода отображение сообщения на которое пишется ответ. Вот первая попытка добавить:
А это последняя версия на сегодня. Вроде выглядит неплохо для ранней версии. Во всяком случае полагаю что располагать ответ на сообщение над полем ввода - это удобно и функционально:
Работает так: свайпаем любое сообщение (1) и в поле ввода оно появляется (2). Вроде все просто, у всех примерно так и сделано:
Заметил что сообщения у меня сделаны не лучшим образом: много места занимают отступы (3), медиа небольшого размера, текст сообщения (если есть) находится над медиа (1), зачем-то добавил скругления углов медиа (2) (ну и цвета очень пестрые, яркие):
Исправлял эти моменты сегодня, теперь медиа пытается занять всю ширину сообщений:
Если сообщение содержит ответ или заголовок, то медиа выглядит так:
Видите таймстемп съехах? Да-да, снова под нож пойдет, придется дорабатывать.
Конечно есть много недочетов и мелочей, но в целом дело движется :)
Читаю некоторые ответы под своими постами на тему разработки, интересные реакции на посты. Некоторые люди тут все же раздражают. Наверно они и ставят иконки рвотных масс, каках и тп 😂
Во-первых у кого-то навязчивое желание научить меня тому, что мне не следует писать сервис для общения 😂 Потому что сервисов очень много 😂 Ну что с того что много, я же учусь. Недавно паяльник за 300 руб разобрал и починил, давайте, сойдите с ума 😂😂😂 Могу рассказать как наушники за 50 руб починил, чтобы вообще до бешенства довести :)
А что мне делать по вашему мнению? Ходить баки пинать? Шататься по городу в поисках острых ощущений? Может путешествовать? А может алкогольчиком баловаться? А может зарабатывать тк время=деньги?
Давайте, начинайте учить кому и что в жизни делать. Все только сидят и ждут кто бы научил. В общем, советуйте свои советы себе сами 😂 А мы продолжим постепенно работать.
Возможно опубликую тут что-то интересное по работе, историй с работы у меня не то чтобы много, а очень много. Да еще и такие, что здоровенного кота с здоровенной лампой придется притащить 😂😂😂
Пока на этом все, буду дорабатывать таймстемпы и систему ответа на сообщения. Также доберусь до системы взаимодействия с сообщениями посредством контекстного меню.
Отправка и прием сообщений работают, нужно наконец уже добиться чтобы редактирование, удаление и прочий функционал тоже работал.
--
По вечерам разрабатываю сервис для общения на Go & Flutter. Кому интересно, можете подписаться куда-нибудь на меня, попробуете его в числе первых.
Постепенно буду продолжать делиться успехами разработки сервиса.